1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
24 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
25 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
26 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
27 typedef struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg;
31 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
32 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
33 typedef struct RootObj RootObj;
34 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
35 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
36 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
37 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
38 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
39 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
40 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
41 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
42 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
43 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
44 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
45 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
46 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
47 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
48 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
49 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
50 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
51 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
52 typedef struct NimStringDesc NimStringDesc;
53 typedef struct TGenericSeq TGenericSeq;
54 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
55 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
56 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
57 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
58 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
59 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
60 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
61 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
62 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
63 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
64 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
65 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
66 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
67 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
68 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
69 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
70 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
71 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
72 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
73 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
74 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
75 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
76 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
77 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
78 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
79 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
80 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
81 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
82 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
83 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
84 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
85 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
86 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
87 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
88 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
89 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
90 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
91 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
92 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
93 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
94 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
95 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
96 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
97 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
98 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
99 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
100 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
101 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
102 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
103 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
104 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
105 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
106 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
107 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
108 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
109 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
110 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
111 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
112 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
113 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
114 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
115 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
116 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
117 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
118 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
119 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
120 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
121 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
122 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
123 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
124 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
125 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
126 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
127 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
128 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
129 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
130 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
131 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
132 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
133 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
134 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
135 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
136 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
137 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
138 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
139 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
140 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
141 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
142 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
143 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
144 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
145 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
146 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
147 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
148 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
149 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
150 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
151 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
152 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
153 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
154 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
155 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
156 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
157 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
158 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
159 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
160 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
161 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
162 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
163 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
164 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
165 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
166 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
167 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
168 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
169 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
170 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
171 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
172 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
173 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
174 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
175 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
176 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
177 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
178 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
179 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
180 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
181 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
182 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
183 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
184 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
185 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
186 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
187 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
188 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
189 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
190 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
191 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
192 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
193 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
194 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
195 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
196 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
197 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
198 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
199 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
200 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
201 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
202 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
203 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
204 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
205 NI counter;
206 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
207 };
208 struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ {
209 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q topLayer;
210 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* nextLayer;
211 };
212 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
213 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
214 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
215 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
216 struct TNimType {
217 NI size;
218 NI align;
219 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
220 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
221 TNimType* base;
222 TNimNode* node;
223 void* finalizer;
224 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
225 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
226 };
227 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
228 struct TNimNode {
229 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
230 NI offset;
231 TNimType* typ;
232 NCSTRING name;
233 NI len;
234 TNimNode** sons;
235 };
236 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
237 NU16 line;
238 NI16 col;
239 NI32 fileIndex;
240 };
241 struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg {
242 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
243 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
244 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
245 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q localCache;
246 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
247 NIM_BOOL allowMetaTypes;
248 NIM_BOOL skipTypedesc;
249 NIM_BOOL isReturnType;
250 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
251 NI recursionLimit;
252 };
253 struct RootObj {
254 TNimType* m_type;
255 };
256 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
257   RootObj Sup;
258 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
259 };
260 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
261 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
262 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
263 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
264 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
265 typedef struct {
266 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
267 void* ClE_0;
268 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
269 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
270 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__qlV9aWvA5wrWVg9bI5PqwJyA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
271 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
272 typedef struct {
273 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
274 void* ClE_0;
275 } tyProc__3cacbJ4la9bDJNibHybQSnA;
276 typedef struct {
277 N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
278 void* ClE_0;
279 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
280 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
281 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
282 NI elems;
283 NI counter;
284 NI max;
285 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
286 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
287 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
288 };
289 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
290 NI counter;
291 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
292 };
293 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
294 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
295 struct TGenericSeq {
296 NI len;
297 NI reserved;
298 };
299 struct NimStringDesc {
300   TGenericSeq Sup;
301 NIM_CHAR data[SEQ_DECL_SIZE];
302 };
303 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
304 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
305 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
306 NI counter;
307 };
308 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
309 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
310 NI counter;
311 };
312 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
313 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
314 NI counter;
315 };
316 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
317   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
318 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
319 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
320 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
321 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
322 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
323 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
324 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
325 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
326 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
327 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
328 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
329 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
330 NI instCounter;
331 NI* templInstCounter;
332 NI inGenericContext;
333 NI inStaticContext;
334 NI inUnrolledContext;
335 NI compilesContextId;
336 NI compilesContextIdGenerator;
337 NI inGenericInst;
338 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
339 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
340 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
341 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
342 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
343 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
344 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
345 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
346 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
347 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
348 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
349 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
350 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
351 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
352 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
353 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
354 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
355 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
356 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
357 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
358 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
359 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
360 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
361 NI topStmts;
362 NI lastGenericIdx;
363 NI hloLoopDetector;
364 NI inParallelStmt;
365 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
366 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
367 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
368 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
369 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
370 NimStringDesc* recursiveDep;
371 NIM_BOOL suggestionsMade;
372 NIM_BOOL isAmbiguous;
373 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
374 NI inTypeContext;
375 NI inConceptDecl;
376 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
377 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
378 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
379 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
380 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
381 NI inUncheckedAssignSection;
382 };
383 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
384 NI32 module;
385 NI32 item;
386 };
387 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
388   RootObj Sup;
389 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
390 };
391 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
392 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
393 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
394 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
395 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
396 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
397 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
398 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
399 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
400 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
401 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
402 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
403 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
404 };
405 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
406   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
407 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
408 union{
409 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
410 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
411 } _kind_1;
412 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
413 NI bitsize;
414 NI alignment;
415 } _kind_2;
416 };
417 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
418 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
419 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
420 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
421 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
422 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
423 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
424 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
425 NI position;
426 NI offset;
427 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
428 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
429 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
430 };
431 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
432 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
433 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
434 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
435 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
436 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
437 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
438 union{
439 struct {NI64 intVal;
440 } _kind_1;
441 struct {NF floatVal;
442 } _kind_2;
443 struct {NimStringDesc* strVal;
444 } _kind_3;
445 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
446 } _kind_4;
447 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
448 } _kind_5;
449 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
450 } _kind_6;
451 };
452 };
453 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
454 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
455 NI counter;
456 };
457 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
458 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
459 NI counter;
460 };
461 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
462 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
463 NI counter;
464 };
465 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
466 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
467 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
468 NI counter;
469 };
470 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
471 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
472 NI counter;
473 };
474 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
475 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
476 NI counter;
477 };
478 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
479 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
480 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
481 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
482 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
483 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
484 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
485 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
486 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
487 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
488 };
489 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
490 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
491 NI counter;
492 };
493 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
494 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
495 NI counter;
496 };
497 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
498 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
499 NI counter;
500 };
501 typedef struct {
502 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
503 void* ClE_0;
504 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
505 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
506 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
507 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
508 NI counter;
509 };
510 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
511 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
512 NI counter;
513 };
514 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
515 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
516 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
517 tySequence__23SMqauuRsbDANhthj9bWlA* data;
518 NI counter;
519 };
520 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
521 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
522 NI counter;
523 };
524 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
525 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
526 NI counter;
527 };
528 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
529 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
530 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
531 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
532 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
533 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
534 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
535 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
536 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
537 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
538 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
539 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
540 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
541 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
542 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
543 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
544 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
545 };
546 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
547 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
548 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
549 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
550 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
551 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
552 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
553 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
554 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
555 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
556 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
557 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
558 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
559 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
560 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
561 NIM_BOOL suggestMode;
562 NIM_BOOL invalidTransitiveClosure;
563 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
564 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
565 RootObj* backend;
566 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
567 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
568 RootObj* vm;
569 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
570 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
571 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
572 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
573 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
574 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
575 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
576 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
577 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
578 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
579 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
580 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
581 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
582 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
583 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
584 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
585 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
586 tySequence__MAQKEADohlpnXTModtugbQ* passes;
587 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
588 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
589 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
590 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
591 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
592 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
593 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
594 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
595 };
596 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
597 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
598 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
599 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
600   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
601 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
602 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
603 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
604 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
605 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
606 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
607 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
608 NI64 size;
609 NI16 align;
610 NI16 paddingAtEnd;
611 NI16 lockLevel;
612 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
613 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
614 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
615 };
616 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
617 NimStringDesc* Field0;
618 NI Field1;
619 NI Field2;
620 };
621 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
622 NU32 module;
623 NI32 item;
624 };
625 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
626 NI module;
627 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
628 };
629 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
630 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
631 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
632 };
633 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
634 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
635 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
636 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
637 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
638 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
639 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
640 NI32 module;
641 NI32 symId;
642 NI32 typeId_0;
643 NIM_BOOL sealed;
644 };
645 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
646 NI refcount;
647 TNimType* typ;
648 };
649 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
650 void* bottom;
651 };
652 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
653 NI len;
654 NI cap;
655 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
656 };
657 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
658 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
659 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
660 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
661 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
662 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
663 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
664 };
665 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
666 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
667 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
668 NI key;
669 NI upperBound;
670 NI level;
671 };
672 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
673 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
674 NI Field1;
675 };
676 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
677 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
678 NI len;
679 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
680 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
681 };
682 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
683 NI minLargeObj;
684 NI maxLargeObj;
685 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
686 NU32 flBitmap;
687 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
688 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
689 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
690 NI currMem;
691 NI maxMem;
692 NI freeMem;
693 NI occ;
694 NI lastSize;
695 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
696 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
697 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
698 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
699 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
700 NIM_BOOL locked;
701 NIM_BOOL blockChunkSizeIncrease;
702 NI nextChunkSize;
703 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
704 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
705 };
706 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
707 NI stackScans;
708 NI cycleCollections;
709 NI maxThreshold;
710 NI maxStackSize;
711 NI maxStackCells;
712 NI cycleTableSize;
713 NI64 maxPause;
714 };
715 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
716 NI counter;
717 NI max;
718 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
719 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
720 };
721 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
722 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
723 NI cycleThreshold;
724 NI zctThreshold;
725 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
726 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
727 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
728 NI recGcLock;
729 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
730 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
731 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
732 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
733 NI gcThreadId;
734 };
735 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
736 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
737 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
738 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
739 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
740 };
741 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
742 NI Field0;
743 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
744 };
745 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
746 NI id;
747 NimStringDesc* s;
748 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
749 NI h;
750 };
751 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
752 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
753 RootObj* val;
754 };
755 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
756 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
757 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
758 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
759 union{
760 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
761 } _mode_2;
762 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
763 } _mode_3;
764 };
765 };
766 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
767 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
768 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
769 };
770 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
771 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
772 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
773 };
774 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
775 NI Field0;
776 NI Field1;
777 };
778 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
779 NI Field0;
780 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
781 };
782 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
783 NI Field0;
784 NI Field1;
785 NI Field2;
786 };
787 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
788 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
789 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
790 };
791 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
792 NI Field0;
793 NI Field1;
794 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
795 };
796 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
797 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
798 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
799 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
800 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
801 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
802 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
803 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
804 };
805 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
806 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
807 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
808 };
809 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
810 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
811 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
812 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
813 };
814 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
815 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
816 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
817 };
818 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
819 NimStringDesc* definedSymbols;
820 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
821 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
822 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
823 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
824 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
825 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
826 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
827 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
828 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
829 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
830 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
831 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
832 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
833 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
834 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
835 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
836 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
837 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
838 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
839 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
840 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
841 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
842 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
843 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
844 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
845 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
846 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
847 };
848 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
849 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
850 NI counter;
851 };
852 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
853 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
854 NIM_BOOL symsInit;
855 NIM_BOOL typesInit;
856 NIM_BOOL loadedButAliveSetChanged;
857 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
858 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
859 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
860 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
861 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
862 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
863 };
864 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
865 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
866 NI counter;
867 };
868 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
869 NI32 thisModule;
870 NI32 lastFile;
871 NU32 lastLit;
872 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
873 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
874 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
875 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
876 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
877 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
878 };
879 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
880 NI Field0;
881 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
882 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
883 };
884 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
885 NI module;
886 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
887 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
888 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
889 };
890 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
891 NI Field0;
892 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
893 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
894 };
895 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
896 NI Field0;
897 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
898 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
899 };
900 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
901 NI Field0;
902 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
903 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
904 };
905 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
906 NI Field0;
907 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
908 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
909 };
910 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
911 NI Field0;
912 NimStringDesc* Field1;
913 NI32 Field2;
914 };
915 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
916 NI Field0;
917 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
918 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
919 };
920 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
921 NI Field0;
922 NI32 Field1;
923 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
924 };
925 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
926 NI Field0;
927 NI32 Field1;
928 NI32 Field2;
929 };
930 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
931 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
932 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
933 };
934 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
935 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
936 NI Field0;
937 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
938 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
939 };
940 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
941 NI Field0;
942 NI Field1;
943 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
944 };
945 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
946 NI Field0;
947 NimStringDesc* Field1;
948 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
949 };
950 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
951 NI Field0;
952 NimStringDesc* Field1;
953 NI64 Field2;
954 };
955 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
956 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
957 NI entries;
958 };
959 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
960 NI Field0;
961 NimStringDesc* Field1;
962 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
963 };
964 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
965 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
966 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
967 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
968 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
969 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
970 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
971 NIM_BOOL Field3;
972 };
973 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
974 NU32 Field0;
975 NimStringDesc* Field1;
976 };
977 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
978 NU16 line;
979 NI16 col;
980 NU32 file;
981 };
982 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
983 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
984 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
985 NI32 operand;
986 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
987 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
988 };
989 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
990 NU32 Field0;
991 NI32 Field1;
992 };
993 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
994 NU32 Field0;
995 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
996 };
997 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
998 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
999 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1000 };
1001 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1002 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1003 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1004 };
1005 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1006 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1007 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1008 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1009 };
1010 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1011 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1012 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1013 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1014 };
1015 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1016 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1017 NI Field1;
1018 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1019 };
1020 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1021 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1022 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1023 NIM_BOOL generated;
1024 NIM_BOOL isOverriden;
1025 NU32 name;
1026 NI32 path;
1027 };
1028 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1029 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1030 NU32 name;
1031 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1032 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1033 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1034 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1035 NI32 ast;
1036 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1037 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1038 NI bitsize;
1039 NI alignment;
1040 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1041 NI position;
1042 NI offset;
1043 NU32 externalName;
1044 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1045 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1046 NI32 constraint;
1047 };
1048 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1049 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1050 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1051 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1052 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1053 NI32 n;
1054 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1055 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1056 NI64 size;
1057 NI16 align;
1058 NI16 paddingAtEnd;
1059 NI16 lockLevel;
1060 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1061 NI32 nonUniqueId;
1062 };
1063 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1064 NI Field0;
1065 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1066 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1067 };
1068 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1069 NI Field0;
1070 NI32 Field1;
1071 NU32 Field2;
1072 };
1073 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1074   TGenericSeq Sup;
1075   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1076 };
1077 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1078   TGenericSeq Sup;
1079   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1080 };
1081 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1082   TGenericSeq Sup;
1083   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1084 };
1085 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1086   TGenericSeq Sup;
1087   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1088 };
1089 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1090   TGenericSeq Sup;
1091   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1092 };
1093 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1094   TGenericSeq Sup;
1095   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1096 };
1097 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1098   TGenericSeq Sup;
1099   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1100 };
1101 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1102   TGenericSeq Sup;
1103   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1104 };
1105 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1106   TGenericSeq Sup;
1107   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1108 };
1109 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1110   TGenericSeq Sup;
1111   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1112 };
1113 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1114   TGenericSeq Sup;
1115   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1116 };
1117 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1118   TGenericSeq Sup;
1119   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1120 };
1121 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1122   TGenericSeq Sup;
1123   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1124 };
1125 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1126   TGenericSeq Sup;
1127   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1128 };
1129 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1130   TGenericSeq Sup;
1131   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1132 };
1133 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1134   TGenericSeq Sup;
1135   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1136 };
1137 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1138   TGenericSeq Sup;
1139   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1140 };
1141 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1142   TGenericSeq Sup;
1143   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1144 };
1145 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1146   TGenericSeq Sup;
1147   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1148 };
1149 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1150   TGenericSeq Sup;
1151   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1152 };
1153 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1154   TGenericSeq Sup;
1155   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1156 };
1157 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1158   TGenericSeq Sup;
1159   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1160 };
1161 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1162   TGenericSeq Sup;
1163   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1164 };
1165 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1166   TGenericSeq Sup;
1167   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1168 };
1169 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1170   TGenericSeq Sup;
1171   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1172 };
1173 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1174   TGenericSeq Sup;
1175   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1176 };
1177 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1178   TGenericSeq Sup;
1179   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1180 };
1181 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1182   TGenericSeq Sup;
1183   NI32 data[SEQ_DECL_SIZE];
1184 };
1185 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1186   TGenericSeq Sup;
1187   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1188 };
1189 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1190   TGenericSeq Sup;
1191   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1192 };
1193 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1194   TGenericSeq Sup;
1195   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1196 };
1197 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1198   TGenericSeq Sup;
1199   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1200 };
1201 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1202   TGenericSeq Sup;
1203   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1204 };
1205 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1206   TGenericSeq Sup;
1207   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1208 };
1209 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1210   TGenericSeq Sup;
1211   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1212 };
1213 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1214   TGenericSeq Sup;
1215   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1216 };
1217 struct tySequence__MAQKEADohlpnXTModtugbQ {
1218   TGenericSeq Sup;
1219   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1220 };
1221 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1222   TGenericSeq Sup;
1223   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1224 };
1225 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1226   TGenericSeq Sup;
1227   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1228 };
1229 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1230   TGenericSeq Sup;
1231   NU32 data[SEQ_DECL_SIZE];
1232 };
1233 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1234   TGenericSeq Sup;
1235   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1236 };
1237 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1238   TGenericSeq Sup;
1239   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1240 };
1241 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1242   TGenericSeq Sup;
1243   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1244 };
1245 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1246   TGenericSeq Sup;
1247   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1248 };
1249 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1250   TGenericSeq Sup;
1251   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1252 };
1253 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1254   TGenericSeq Sup;
1255   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1256 };
1257 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1258   TGenericSeq Sup;
1259   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1260 };
1261 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1262   TGenericSeq Sup;
1263   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1264 };
1265 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1266   TGenericSeq Sup;
1267   NimStringDesc* data[SEQ_DECL_SIZE];
1268 };
1269 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1270   TGenericSeq Sup;
1271   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1272 };
1273 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1274   TGenericSeq Sup;
1275   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1276 };
1277 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1278   TGenericSeq Sup;
1279   NI64 data[SEQ_DECL_SIZE];
1280 };
1281 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1282   TGenericSeq Sup;
1283   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1284 };
1285 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1286   TGenericSeq Sup;
1287   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1288 };
1289 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1290   TGenericSeq Sup;
1291   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1292 };
1293 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1294   TGenericSeq Sup;
1295   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1296 };
1297 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt);
1298 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1299 static N_NIMCALL(void, Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)(void* p, NI op);
1300 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1301 N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src);
1302 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1303 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1304 N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_982)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* Result);
1305 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1306 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
1307 N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
1308 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start);
1309 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1310 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1311 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsTAux__semtypinst_124)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1312 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookup__semtypinst_158)(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TType__facALICuu8zUj0hjvbTLFg* key);
1313 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
1314 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, handleGenericInvocation__semtypinst_509)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1315 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1316 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, searchInstTypes__semtypinst_44)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* key);
1317 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_2995)(tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1318 N_LIB_PRIVATE N_NIMCALL(tySequence__O5RcspOP32YJ4YtU5ppxxA**, X5BX5D___modulegraphs_3311)(tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1319 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, resolveType__modulegraphs_2851)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg* t);
1320 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1321 static N_INLINE(NIM_BOOL, sameFlags__types_2225)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1322 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2668)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1323 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookupTypeVar__semtypinst_464)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1324 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);
1325 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1326 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1327 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1328 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1329 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1330 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1331 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
1332 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1333 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1334 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1335 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1336 N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_8872)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1337 static N_INLINE(void, asgnRef)(void** dest, void* src);
1338 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1339 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1340 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
1341 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1342 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1343 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1344 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1345 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1346 N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner__ast_4219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* elem, NIM_BOOL propagateHasAsgn);
1347 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1348 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1349 N_LIB_PRIVATE N_NIMCALL(void, cacheTypeInst__semtypinst_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst);
1350 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1351 N_LIB_PRIVATE N_NIMCALL(void, addToGenericCache__semdata_2394)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst);
1352 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, newTypeMapLayer__semtypinst_155)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl);
1353 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1354 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2205)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1355 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1356 N_LIB_PRIVATE N_NIMCALL(void, checkPartialConstructedType__semtypinst_13)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1357 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
1358 N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_4407)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
1359 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1360 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_7256)(tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1361 N_LIB_PRIVATE N_NIMCALL(tySequence__159bHWBGAOOs6U7OZ9cQlO0g**, X5BX5D___modulegraphs_7572)(tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
1362 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, resolveSym__modulegraphs_2866)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA* t);
1363 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareNode__semtypinst_182)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1364 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, replaceTypeVarsS__semtypinst_127)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1365 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
1366 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1367 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1368 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1369 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1370 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1371 static N_INLINE(void, nimGCunrefRC1)(void* p);
1372 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
1373 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1374 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1375 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1376 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3360)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1377 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1378 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1379 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1380 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1381 N_LIB_PRIVATE N_NIMCALL(void, propagateFieldFlags__semtypinst_774)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1382 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1383 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1384 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1385 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceObjBranches__semtypinst_277)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1386 N_LIB_PRIVATE N_NIMCALL(void, illFormedAst__semdata_1071)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1387 N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_1077)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1388 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1389 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reResolveCallsWithTypedescParams__semtypinst_246)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1390 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeParam__semtypinst_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1391 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1392 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length);
1393 N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1394 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition);
1395 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1396 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3317)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1397 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3996)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1398 N_LIB_PRIVATE TNimType NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_;
1399 extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_;
1400 N_LIB_PRIVATE TNimType NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_;
1401 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_3, "no generic body", 15);
1402 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_5, "/home/runner/work/nightlies/nightlies/nim/compiler/semtypinst.nim", 65);
1403 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_4 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1404 ((NI) 329),
1405 ((NI) 17)}
1406 ;
1407 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_6, "cannot instantiate: \'", 21);
1408 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_7, "\'", 1);
1409 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_8 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1410 ((NI) 293),
1411 ((NI) 14)}
1412 ;
1413 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_9, "substitution with generic parameter", 35);
1414 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_10 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1415 ((NI) 300),
1416 ((NI) 17)}
1417 ;
1418 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1419 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_11, "type \'var var\' is not allowed", 29);
1420 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_12 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1421 ((NI) 21),
1422 ((NI) 14)}
1423 ;
1424 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_13 = {
1425 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1426 0x00}
1427 ;
1428 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_14, "\'; Maybe generic arguments are missing\?", 39);
1429 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_15 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1430 ((NI) 525),
1431 ((NI) 14)}
1432 ;
1433 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_16 = {
1434 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1435 0x00}
1436 ;
1437 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_17, "cannot instantiate \'", 20);
1438 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_18, "\' inside of type definition: \'", 30);
1439 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_19 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1440 ((NI) 599),
1441 ((NI) 22)}
1442 ;
1443 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_20 = {
1444 0x10, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
1445 0x00}
1446 ;
1447 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_21 = {
1448 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
1449 0x00}
1450 ;
1451 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_22, "(", 1);
1452 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_23, ", ", 2);
1453 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_24, ")", 1);
1454 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_25 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1455 ((NI) 618),
1456 ((NI) 23)}
1457 ;
1458 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1459 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1460 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_26 = {
1461 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
1462 0x00}
1463 ;
1464 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_27, "ReplaceTypeVarsN: when condition not a bool", 43);
1465 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_28 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1466 ((NI) 179),
1467 ((NI) 23)}
1468 ;
1469 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_29 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1470 ((NI) 219),
1471 ((NI) 23)}
1472 ;
1473 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_30 = {
1474 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1475 0x00}
1476 ;
1477 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_31 = {
1478 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1479 0x00}
1480 ;
1481 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__mrkrD9c2e31kE4GdQtpMdaQ_32 = {
1482 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1483 0x00}
1484 ;
1485 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_33 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1486 ((NI) 27),
1487 ((NI) 14)}
1488 ;
1489 STRING_LITERAL(TM__mrkrD9c2e31kE4GdQtpMdaQ_34, "illegal recursion in type \'", 27);
1490 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__mrkrD9c2e31kE4GdQtpMdaQ_35 = {((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_5),
1491 ((NI) 29),
1492 ((NI) 14)}
1493 ;
1494 extern tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw eqTypeFlags__ast_479;
1495 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_NIMCALL(void,Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)1496 static N_NIMCALL(void, Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw)(void* p, NI op) {
1497 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* a;
1498 	a = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*)p;
1499 	nimGCvisit((void*)(*a).topLayer.data, op);
1500 	nimGCvisit((void*)(*a).nextLayer, op);
1501 }
N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ *,initLayeredTypeMap__semtypinst_134)1502 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt) {
1503 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* result;
1504 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T1_;
1505 	result = NIM_NIL;
1506 	T1_ = NIM_NIL;
1507 	T1_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
1508 	result = T1_;
1509 	copyIdTable__ast_3610((&(*result).topLayer), pt);
1510 	return result;
1511 }
N_INLINE(void,nimSetMem__systemZmemory_7)1512 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1513 	void* T1_;
1514 	T1_ = (void*)0;
1515 	T1_ = memset(a, v, ((size_t) (size)));
1516 }
N_INLINE(void,nimZeroMem)1517 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1518 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
1519 }
N_NIMCALL(void,initTypeVars__semtypinst_982)1520 N_LIB_PRIVATE N_NIMCALL(void, initTypeVars__semtypinst_982)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* Result) {
1521 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
1522 	unsureAsgnRef((void**)&(*Result).typeMap, NIM_NIL);
1523 	(*Result).symMap.counter = 0;
1524 	unsureAsgnRef((void**)&(*Result).symMap.data, NIM_NIL);
1525 	(*Result).localCache.counter = 0;
1526 	unsureAsgnRef((void**)&(*Result).localCache.data, NIM_NIL);
1527 	(*Result).info.line = 0;
1528 	(*Result).info.col = 0;
1529 	(*Result).info.fileIndex = 0;
1530 	(*Result).allowMetaTypes = 0;
1531 	(*Result).skipTypedesc = 0;
1532 	(*Result).isReturnType = 0;
1533 	unsureAsgnRef((void**)&(*Result).owner, NIM_NIL);
1534 	(*Result).recursionLimit = 0;
1535 	initIdTable__ast_4096((&(*Result).symMap));
1536 	initIdTable__ast_4096((&(*Result).localCache));
1537 	unsureAsgnRef((void**) (&(*Result).typeMap), typeMap);
1538 	(*Result).info = info;
1539 	unsureAsgnRef((void**) (&(*Result).c), p);
1540 	unsureAsgnRef((void**) (&(*Result).owner), owner);
1541 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,lookup__semtypinst_158)1542 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookup__semtypinst_158)(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap, tyObject_TType__facALICuu8zUj0hjvbTLFg* key) {
1543 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1544 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* tm;
1545 {	result = NIM_NIL;
1546 	tm = typeMap;
1547 	{
1548 		while (1) {
1549 			RootObj* T3_;
1550 			if (!!((tm == ((tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) NIM_NIL)))) goto LA2;
1551 			T3_ = NIM_NIL;
1552 			T3_ = idTableGet__astalgo_64((*tm).topLayer, &key->Sup);
1553 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T3_));
1554 			{
1555 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA6_;
1556 				goto BeforeRet_;
1557 			}
1558 			LA6_: ;
1559 			tm = (*tm).nextLayer;
1560 		} LA2: ;
1561 	}
1562 	}BeforeRet_: ;
1563 	return result;
1564 }
N_INLINE(NI,len__ast_4002)1565 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1566 	NI result;
1567 	NI T1_;
1568 	result = (NI)0;
1569 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1570 	result = T1_;
1571 	return result;
1572 }
N_INLINE(NIM_BOOL,sameFlags__types_2225)1573 static N_INLINE(NIM_BOOL, sameFlags__types_2225)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
1574 	NIM_BOOL result;
1575 	result = (NIM_BOOL)0;
1576 	result = ((eqTypeFlags__ast_479 & (*a).flags) == (eqTypeFlags__ast_479 & (*b).flags));
1577 	return result;
1578 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,searchInstTypes__semtypinst_44)1579 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, searchInstTypes__semtypinst_44)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* key) {
1580 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1581 	tyObject_TType__facALICuu8zUj0hjvbTLFg* genericTyp;
1582 {	result = NIM_NIL;
1583 	genericTyp = (*key).sons->data[((NI) 0)];
1584 	{
1585 		NIM_BOOL T3_;
1586 		T3_ = (NIM_BOOL)0;
1587 		T3_ = ((*genericTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
1588 		if (!(T3_)) goto LA4_;
1589 		T3_ = !(((*genericTyp).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
1590 		LA4_: ;
1591 		if (!!(T3_)) goto LA5_;
1592 		goto BeforeRet_;
1593 	}
1594 	LA5_: ;
1595 	{
1596 		tyObject_TType__facALICuu8zUj0hjvbTLFg* inst;
1597 		inst = NIM_NIL;
1598 		{
1599 			NIM_BOOL T10_;
1600 			tySequence__O5RcspOP32YJ4YtU5ppxxA** x;
1601 			T10_ = (NIM_BOOL)0;
1602 			T10_ = contains__modulegraphs_2995((*g).typeInstCache, (*(*genericTyp).sym).Sup.itemId);
1603 			if (!T10_) goto LA11_;
1604 			x = X5BX5D___modulegraphs_3311((&(*g).typeInstCache), (*(*genericTyp).sym).Sup.itemId);
1605 			{
1606 				tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg* t;
1607 				NI i;
1608 				NI L;
1609 				NI T14_;
1610 				t = (tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg*)0;
1611 				i = ((NI) 0);
1612 				T14_ = ((*x) ? (*x)->Sup.len : 0);
1613 				L = T14_;
1614 				{
1615 					while (1) {
1616 						if (!(i < L)) goto LA16;
1617 						t = (&(*x)->data[i]);
1618 						inst = resolveType__modulegraphs_2851(g, t);
1619 						{
1620 							{
1621 								tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym15_;
1622 								tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym16_;
1623 								xX60gensym15_ = inst;
1624 								xX60gensym16_ = key;
1625 								if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym15_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym15_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym16_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym16_).Sup.itemId.item))))) goto LA20_;
1626 								result = inst;
1627 								goto BeforeRet_;
1628 							}
1629 							LA20_: ;
1630 							{
1631 								NI T24_;
1632 								NI T25_;
1633 								T24_ = (NI)0;
1634 								T24_ = len__ast_4002(inst);
1635 								T25_ = (NI)0;
1636 								T25_ = len__ast_4002(key);
1637 								if (!(T24_ < T25_)) goto LA26_;
1638 								goto BeforeRet_;
1639 							}
1640 							LA26_: ;
1641 							{
1642 								NIM_BOOL T30_;
1643 								T30_ = (NIM_BOOL)0;
1644 								T30_ = sameFlags__types_2225(inst, key);
1645 								if (!!(T30_)) goto LA31_;
1646 								goto LA17;
1647 							}
1648 							LA31_: ;
1649 							{
1650 								{
1651 									NI j;
1652 									NI colontmp_;
1653 									NI T35_;
1654 									NI res;
1655 									j = (NI)0;
1656 									colontmp_ = (NI)0;
1657 									T35_ = (((*key).sons ? (*key).sons->Sup.len : 0)-1);
1658 									colontmp_ = T35_;
1659 									res = ((NI) 1);
1660 									{
1661 										while (1) {
1662 											if (!(res <= colontmp_)) goto LA37;
1663 											j = res;
1664 											{
1665 												NIM_BOOL T40_;
1666 												T40_ = (NIM_BOOL)0;
1667 												T40_ = compareTypes__types_2668((*inst).sons->data[j], (*key).sons->data[j], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0), 136);
1668 												if (!!(T40_)) goto LA41_;
1669 												goto LA33;
1670 											}
1671 											LA41_: ;
1672 											res += ((NI) 1);
1673 										} LA37: ;
1674 									}
1675 								}
1676 								result = inst;
1677 								goto BeforeRet_;
1678 							} LA33: ;
1679 						} LA17: ;
1680 						i += ((NI) 1);
1681 					} LA16: ;
1682 				}
1683 			}
1684 		}
1685 		LA11_: ;
1686 	}
1687 	}BeforeRet_: ;
1688 	return result;
1689 }
N_INLINE(void,nimCopyMem)1690 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1691 	void* T1_;
1692 	T1_ = (void*)0;
1693 	T1_ = memcpy(dest, source, ((size_t) (size)));
1694 }
N_INLINE(void,copyMem__system_1727)1695 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1696 	nimCopyMem(dest, source, size);
1697 }
N_INLINE(void,appendString)1698 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
1699 	{
1700 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
1701 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
1702 		(*dest).Sup.len += (*src).Sup.len;
1703 	}
1704 	LA3_: ;
1705 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,lookupTypeVar__semtypinst_464)1706 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lookupTypeVar__semtypinst_464)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1707 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1708 {	result = NIM_NIL;
1709 	result = lookup__semtypinst_158((*cl).typeMap, t);
1710 	{
1711 		NimStringDesc* T11_;
1712 		NimStringDesc* T12_;
1713 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
1714 		{
1715 			NIM_BOOL T7_;
1716 			T7_ = (NIM_BOOL)0;
1717 			T7_ = (*cl).allowMetaTypes;
1718 			if (T7_) goto LA8_;
1719 			T7_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0);
1720 			LA8_: ;
1721 			if (!T7_) goto LA9_;
1722 			goto BeforeRet_;
1723 		}
1724 		LA9_: ;
1725 		T11_ = NIM_NIL;
1726 		T12_ = NIM_NIL;
1727 		T12_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
1728 		T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 22);
1729 appendString(T11_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_6));
1730 appendString(T11_, T12_);
1731 appendString(T11_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_7));
1732 		liMessage__msgs_1118((*(*(*cl).c).graph).config, (*(*t).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_8, NIM_FALSE);
1733 		result = errorType__semdata_1002((*cl).c);
1734 		idTablePut__astalgo_70((&(*(*cl).typeMap).topLayer), &t->Sup, (*((RootObj**) (&(result)))));
1735 	}
1736 	goto LA1_;
1737 	LA3_: ;
1738 	{
1739 		NIM_BOOL T14_;
1740 		T14_ = (NIM_BOOL)0;
1741 		T14_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
1742 		if (!(T14_)) goto LA15_;
1743 		T14_ = !((*cl).allowMetaTypes);
1744 		LA15_: ;
1745 		if (!T14_) goto LA16_;
1746 		internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*cl).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_9), TM__mrkrD9c2e31kE4GdQtpMdaQ_10);
1747 	}
1748 	goto LA1_;
1749 	LA16_: ;
1750 	LA1_: ;
1751 	}BeforeRet_: ;
1752 	return result;
1753 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)1754 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
1755 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
1756 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1757 	(*x).typeId_0 += ((NI) 1);
1758 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
1759 	result.module = (*x).module;
1760 	result.item = (*x).typeId_0;
1761 	return result;
1762 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,instCopyType__semtypinst_480)1763 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1764 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1765 {	result = NIM_NIL;
1766 	{
1767 		if (!(*cl).allowMetaTypes) goto LA3_;
1768 		result = exactReplica__ast_4051(t);
1769 	}
1770 	goto LA1_;
1771 	LA3_: ;
1772 	{
1773 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
1774 		T6_ = nextTypeId__ast_3151((*(*cl).c).Sup.idgen);
1775 		result = copyType__ast_4046(t, T6_, (*t).owner);
1776 		copyTypeProps__modulegraphs_8872((*(*cl).c).graph, ((NI) ((*(*(*cl).c).Sup.idgen).module)), result, t);
1777 	}
1778 	LA1_: ;
1779 	{
1780 		if (!(*cl).allowMetaTypes) goto LA9_;
1781 		goto BeforeRet_;
1782 	}
1783 	LA9_: ;
1784 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63);
1785 	{
1786 		NIM_BOOL T13_;
1787 		NIM_BOOL T15_;
1788 		T13_ = (NIM_BOOL)0;
1789 		T13_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59));
1790 		if (T13_) goto LA14_;
1791 		T15_ = (NIM_BOOL)0;
1792 		T15_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
1793 		if (!(T15_)) goto LA16_;
1794 		T15_ = ((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
1795 		LA16_: ;
1796 		T13_ = T15_;
1797 		LA14_: ;
1798 		if (!!(T13_)) goto LA17_;
1799 		(*result).flags = ((*result).flags & ~ 2097664);
1800 	}
1801 	goto LA11_;
1802 	LA17_: ;
1803 	{
1804 		(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63));
1805 	}
1806 	LA11_: ;
1807 	}BeforeRet_: ;
1808 	return result;
1809 }
N_INLINE(NI,pluspercent___system_696)1810 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1811 	NI result;
1812 	result = (NI)0;
1813 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
1814 	return result;
1815 }
N_INLINE(void,incRef__system_5338)1816 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1817 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1818 }
N_INLINE(NI,minuspercent___system_716)1819 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1820 	NI result;
1821 	result = (NI)0;
1822 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
1823 	return result;
1824 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)1825 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
1826 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1827 	NI T1_;
1828 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1829 	T1_ = (NI)0;
1830 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
1831 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1832 	return result;
1833 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1834 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1835 	NIM_BOOL result;
1836 	result = (NIM_BOOL)0;
1837 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
1838 	return result;
1839 }
N_INLINE(void,rtlAddZCT__system_5343)1840 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1841 	addZCT__system_5294((&gch__system_5247.zct), c);
1842 }
N_INLINE(void,decRef__system_5345)1843 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1844 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1845 	{
1846 		NIM_BOOL T3_;
1847 		T3_ = (NIM_BOOL)0;
1848 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1849 		if (!T3_) goto LA4_;
1850 		rtlAddZCT__system_5343(c);
1851 	}
1852 	LA4_: ;
1853 }
N_INLINE(void,asgnRef)1854 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1855 	{
1856 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1857 		if (!!((src == NIM_NIL))) goto LA3_;
1858 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1859 		T5_ = usrToCell__system_5300(src);
1860 		incRef__system_5338(T5_);
1861 	}
1862 	LA3_: ;
1863 	{
1864 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1865 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1866 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1867 		T10_ = usrToCell__system_5300((*dest));
1868 		decRef__system_5345(T10_);
1869 	}
1870 	LA8_: ;
1871 	(*dest) = src;
1872 }
N_NIMCALL(void,cacheTypeInst__semtypinst_88)1873 N_LIB_PRIVATE N_NIMCALL(void, cacheTypeInst__semtypinst_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inst) {
1874 	tyObject_TType__facALICuu8zUj0hjvbTLFg* gt;
1875 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
1876 {	gt = (*inst).sons->data[((NI) 0)];
1877 	{
1878 		if (!((*gt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA3_;
1879 		t = lastSon__ast_3743(gt);
1880 	}
1881 	goto LA1_;
1882 	LA3_: ;
1883 	{
1884 		t = gt;
1885 	}
1886 	LA1_: ;
1887 	{
1888 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA8_;
1889 		goto BeforeRet_;
1890 	}
1891 	LA8_: ;
1892 	addToGenericCache__semdata_2394(c, (*gt).sym, inst);
1893 	}BeforeRet_: ;
1894 }
N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ *,newTypeMapLayer__semtypinst_155)1895 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, newTypeMapLayer__semtypinst_155)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl) {
1896 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* result;
1897 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T1_;
1898 	result = NIM_NIL;
1899 	T1_ = NIM_NIL;
1900 	T1_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
1901 	result = T1_;
1902 	asgnRef((void**) (&(*result).nextLayer), (*cl).typeMap);
1903 	initIdTable__ast_4096((&(*result).topLayer));
1904 	return result;
1905 }
N_NIMCALL(void,checkPartialConstructedType__semtypinst_13)1906 N_LIB_PRIVATE N_NIMCALL(void, checkPartialConstructedType__semtypinst_13)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1907 	{
1908 		NIM_BOOL T3_;
1909 		T3_ = (NIM_BOOL)0;
1910 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
1911 		if (!(T3_)) goto LA4_;
1912 		T3_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
1913 		LA4_: ;
1914 		if (!T3_) goto LA5_;
1915 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_11), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_12, NIM_FALSE);
1916 	}
1917 	LA5_: ;
1918 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,handleGenericInvocation__semtypinst_509)1919 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, handleGenericInvocation__semtypinst_509)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1920 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1921 	tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
1922 	tyObject_TType__facALICuu8zUj0hjvbTLFg* header;
1923 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_;
1924 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T45_;
1925 	NIM_BOOL oldSkipTypedesc;
1926 	tyObject_TType__facALICuu8zUj0hjvbTLFg* bbody;
1927 	tyObject_TType__facALICuu8zUj0hjvbTLFg* newbody;
1928 {	result = NIM_NIL;
1929 	body = (*t).sons->data[((NI) 0)];
1930 	{
1931 		if (!!(((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA3_;
1932 		internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*cl).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_3), TM__mrkrD9c2e31kE4GdQtpMdaQ_4);
1933 	}
1934 	LA3_: ;
1935 	header = t;
1936 	{
1937 		RootObj* T9_;
1938 		if (!(*cl).allowMetaTypes) goto LA7_;
1939 		T9_ = NIM_NIL;
1940 		T9_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
1941 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T9_));
1942 	}
1943 	goto LA5_;
1944 	LA7_: ;
1945 	{
1946 		result = searchInstTypes__semtypinst_44((*(*cl).c).graph, t);
1947 	}
1948 	LA5_: ;
1949 	{
1950 		NIM_BOOL T13_;
1951 		T13_ = (NIM_BOOL)0;
1952 		T13_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
1953 		if (!(T13_)) goto LA14_;
1954 		T13_ = sameFlags__types_2225(result, t);
1955 		LA14_: ;
1956 		if (!T13_) goto LA15_;
1957 		goto BeforeRet_;
1958 	}
1959 	LA15_: ;
1960 	{
1961 		NI i;
1962 		NI colontmp_;
1963 		NI i_2;
1964 		i = (NI)0;
1965 		colontmp_ = (NI)0;
1966 		colontmp_ = len__ast_4002(t);
1967 		i_2 = ((NI) 1);
1968 		{
1969 			while (1) {
1970 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
1971 				if (!(i_2 < colontmp_)) goto LA19;
1972 				i = i_2;
1973 				x = (*t).sons->data[i];
1974 				{
1975 					if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA22_;
1976 					x = lookupTypeVar__semtypinst_464(cl, x);
1977 					{
1978 						if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA26_;
1979 						{
1980 							if (!(header == t)) goto LA30_;
1981 							header = instCopyType__semtypinst_480(cl, t);
1982 						}
1983 						LA30_: ;
1984 						asgnRef((void**) (&(*header).sons->data[i]), x);
1985 						propagateToOwner__ast_4219(header, x, NIM_TRUE);
1986 					}
1987 					LA26_: ;
1988 				}
1989 				goto LA20_;
1990 				LA22_: ;
1991 				{
1992 					propagateToOwner__ast_4219(header, x, NIM_TRUE);
1993 				}
1994 				LA20_: ;
1995 				i_2 += ((NI) 1);
1996 			} LA19: ;
1997 		}
1998 	}
1999 	{
2000 		if (!!((header == t))) goto LA35_;
2001 		result = searchInstTypes__semtypinst_44((*(*cl).c).graph, header);
2002 		{
2003 			NIM_BOOL T39_;
2004 			T39_ = (NIM_BOOL)0;
2005 			T39_ = !((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2006 			if (!(T39_)) goto LA40_;
2007 			T39_ = sameFlags__types_2225(result, t);
2008 			LA40_: ;
2009 			if (!T39_) goto LA41_;
2010 			goto BeforeRet_;
2011 		}
2012 		LA41_: ;
2013 	}
2014 	goto LA33_;
2015 	LA35_: ;
2016 	{
2017 		header = instCopyType__semtypinst_480(cl, t);
2018 	}
2019 	LA33_: ;
2020 	T44_ = nextTypeId__ast_3151((*(*cl).c).Sup.idgen);
2021 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11), T44_, (*(*t).sons->data[((NI) 0)]).owner);
2022 	(*result).flags = (*header).flags;
2023 	T45_ = NIM_NIL;
2024 	T45_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
2025 	asgnRef((void**) (&T45_->data[0]), (*header).sons->data[((NI) 0)]);
2026 	asgnRef((void**) (&(*result).sons), T45_);
2027 	{
2028 		if (!!((*cl).allowMetaTypes)) goto LA48_;
2029 		cacheTypeInst__semtypinst_88((*cl).c, result);
2030 	}
2031 	goto LA46_;
2032 	LA48_: ;
2033 	{
2034 		idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2035 	}
2036 	LA46_: ;
2037 	oldSkipTypedesc = (*cl).skipTypedesc;
2038 	(*cl).skipTypedesc = NIM_TRUE;
2039 	unsureAsgnRef((void**) (&(*cl).typeMap), newTypeMapLayer__semtypinst_155(cl));
2040 	{
2041 		NI i_3;
2042 		NI colontmp__2;
2043 		NI i_4;
2044 		i_3 = (NI)0;
2045 		colontmp__2 = (NI)0;
2046 		colontmp__2 = len__ast_4002(t);
2047 		i_4 = ((NI) 1);
2048 		{
2049 			while (1) {
2050 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x_2;
2051 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
2052 				if (!(i_4 < colontmp__2)) goto LA53;
2053 				i_3 = i_4;
2054 				T54_ = NIM_NIL;
2055 				{
2056 					if (!((*(*header).sons->data[i_3]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA57_;
2057 					T54_ = (*t).sons->data[i_3];
2058 				}
2059 				goto LA55_;
2060 				LA57_: ;
2061 				{
2062 					T54_ = (*header).sons->data[i_3];
2063 				}
2064 				LA55_: ;
2065 				x_2 = replaceTypeVarsT__semtypinst_178(cl, T54_);
2066 				asgnRef((void**) (&(*header).sons->data[i_3]), x_2);
2067 				propagateToOwner__ast_4219(header, x_2, NIM_TRUE);
2068 				idTablePut__astalgo_70((&(*(*cl).typeMap).topLayer), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*body).sons->data[(NI)(i_3 - ((NI) 1))])))), (*((RootObj**) (&(x_2)))));
2069 				i_4 += ((NI) 1);
2070 			} LA53: ;
2071 		}
2072 	}
2073 	{
2074 		NI i_5;
2075 		NI colontmp__3;
2076 		NI i_6;
2077 		i_5 = (NI)0;
2078 		colontmp__3 = (NI)0;
2079 		colontmp__3 = len__ast_4002(t);
2080 		i_6 = ((NI) 1);
2081 		{
2082 			while (1) {
2083 				if (!(i_6 < colontmp__3)) goto LA62;
2084 				i_5 = i_6;
2085 				rawAddSon__ast_4288(result, (*header).sons->data[i_5], NIM_FALSE);
2086 				i_6 += ((NI) 1);
2087 			} LA62: ;
2088 		}
2089 	}
2090 	{
2091 		if (!((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA65_;
2092 		goto BeforeRet_;
2093 	}
2094 	LA65_: ;
2095 	bbody = lastSon__ast_3743(body);
2096 	newbody = replaceTypeVarsT__semtypinst_178(cl, bbody);
2097 	(*cl).skipTypedesc = oldSkipTypedesc;
2098 	(*newbody).flags = ((*newbody).flags | (((*t).flags | (*body).flags) & ~ 2097664));
2099 	(*result).flags = (((*result).flags | (*newbody).flags) & ~ 2097664);
2100 	unsureAsgnRef((void**) (&(*cl).typeMap), (*(*cl).typeMap).nextLayer);
2101 	{
2102 		NIM_BOOL T69_;
2103 		T69_ = (NIM_BOOL)0;
2104 		T69_ = isGenericAlias__types_2205(newbody);
2105 		if (!T69_) goto LA70_;
2106 		newbody = skipGenericAlias__types_2219(newbody);
2107 	}
2108 	LA70_: ;
2109 	rawAddSon__ast_4288(result, newbody, NIM_TRUE);
2110 	checkPartialConstructedType__semtypinst_13((*(*(*cl).c).graph).config, (*cl).info, newbody);
2111 	{
2112 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc;
2113 		tyObject_TType__facALICuu8zUj0hjvbTLFg* mm;
2114 		if (!!((*cl).allowMetaTypes)) goto LA74_;
2115 		dc = getAttachedOp__modulegraphs_4011((*(*cl).c).graph, newbody, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
2116 		{
2117 			NIM_BOOL T78_;
2118 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T82_;
2119 			T78_ = (NIM_BOOL)0;
2120 			T78_ = !((dc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2121 			if (!(T78_)) goto LA79_;
2122 			T78_ = !((((*dc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0));
2123 			LA79_: ;
2124 			if (!T78_) goto LA80_;
2125 			T82_ = NIM_NIL;
2126 			T82_ = (*(*cl).c).instTypeBoundOp((*cl).c, dc, result, (*cl).info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), ((NI) 1));
2127 			setAttachedOp__modulegraphs_4407((*(*cl).c).graph, (*(*(*cl).c).module).position, newbody, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), T82_);
2128 		}
2129 		LA80_: ;
2130 		{
2131 			if (!((*newbody).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA85_;
2132 			asgnRef((void**) (&(*newbody).typeInst), result);
2133 			{
2134 				NIM_BOOL T89_;
2135 				T89_ = (NIM_BOOL)0;
2136 				T89_ = (((*newbody).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 34))&63U)))!=0);
2137 				if (!(T89_)) goto LA90_;
2138 				T89_ = !(((*newbody).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
2139 				LA90_: ;
2140 				if (!T89_) goto LA91_;
2141 				{
2142 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T95_;
2143 					T95_ = NIM_NIL;
2144 					T95_ = lastSon__ast_3743(newbody);
2145 					if (!!(((*T95_).typeInst == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA96_;
2146 				}
2147 				goto LA93_;
2148 				LA96_: ;
2149 				{
2150 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T99_;
2151 					T99_ = NIM_NIL;
2152 					T99_ = lastSon__ast_3743(newbody);
2153 					asgnRef((void**) (&(*T99_).typeInst), result);
2154 				}
2155 				LA93_: ;
2156 			}
2157 			LA91_: ;
2158 		}
2159 		LA85_: ;
2160 		mm = skipTypes__ast_3735(bbody, TM__mrkrD9c2e31kE4GdQtpMdaQ_13);
2161 		{
2162 			if (!!((((*mm).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA102_;
2163 			(*mm).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63);
2164 			{
2165 				NI col;
2166 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* meth;
2167 				col = (NI)0;
2168 				meth = NIM_NIL;
2169 				{
2170 					NIM_BOOL T107_;
2171 					T107_ = (NIM_BOOL)0;
2172 					T107_ = contains__modulegraphs_7256((*(*(*cl).c).graph).methodsPerType, (*mm).Sup.itemId);
2173 					if (!T107_) goto LA108_;
2174 					{
2175 						tyTuple__VrD6plbUKJjYKM0lCr3hGQ* it;
2176 						NI i_7;
2177 						NI L;
2178 						tySequence__159bHWBGAOOs6U7OZ9cQlO0g** T111_;
2179 						NI T112_;
2180 						it = (tyTuple__VrD6plbUKJjYKM0lCr3hGQ*)0;
2181 						i_7 = ((NI) 0);
2182 						T111_ = (tySequence__159bHWBGAOOs6U7OZ9cQlO0g**)0;
2183 						T111_ = X5BX5D___modulegraphs_7572((&(*(*(*cl).c).graph).methodsPerType), (*mm).Sup.itemId);
2184 						T112_ = ((*T111_) ? (*T111_)->Sup.len : 0);
2185 						L = T112_;
2186 						{
2187 							while (1) {
2188 								tySequence__159bHWBGAOOs6U7OZ9cQlO0g** T115_;
2189 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T116_;
2190 								if (!(i_7 < L)) goto LA114;
2191 								T115_ = (tySequence__159bHWBGAOOs6U7OZ9cQlO0g**)0;
2192 								T115_ = X5BX5D___modulegraphs_7572((&(*(*(*cl).c).graph).methodsPerType), (*mm).Sup.itemId);
2193 								it = (&(*T115_)->data[i_7]);
2194 								col = (*it).Field0;
2195 								meth = resolveSym__modulegraphs_2866((*(*cl).c).graph, (&(*it).Field1));
2196 								T116_ = NIM_NIL;
2197 								T116_ = (*(*cl).c).instTypeBoundOp((*cl).c, meth, result, (*cl).info, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1), col);
2198 								(void)(T116_);
2199 								i_7 += ((NI) 1);
2200 							} LA114: ;
2201 						}
2202 					}
2203 				}
2204 				LA108_: ;
2205 			}
2206 			(*mm).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8)) & 63));
2207 		}
2208 		LA102_: ;
2209 	}
2210 	LA74_: ;
2211 	}BeforeRet_: ;
2212 	return result;
2213 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)2214 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2215 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2216 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2217 	(*x).symId += ((NI) 1);
2218 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2219 	result.module = (*x).module;
2220 	result.item = (*x).symId;
2221 	return result;
2222 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,replaceTypeVarsS__semtypinst_127)2223 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, replaceTypeVarsS__semtypinst_127)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2224 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2225 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
2226 {	result = NIM_NIL;
2227 	{
2228 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
2229 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2230 		goto BeforeRet_;
2231 	}
2232 	LA3_: ;
2233 	{
2234 		NIM_BOOL T7_;
2235 		T7_ = (NIM_BOOL)0;
2236 		T7_ = !(((*cl).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2237 		if (!(T7_)) goto LA8_;
2238 		T7_ = !(((*s).owner == (*cl).owner));
2239 		LA8_: ;
2240 		if (!T7_) goto LA9_;
2241 		result = s;
2242 		goto BeforeRet_;
2243 	}
2244 	LA9_: ;
2245 	{
2246 		NIM_BOOL T13_;
2247 		T13_ = (NIM_BOOL)0;
2248 		T13_ = ((521984 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
2249 		if (T13_) goto LA14_;
2250 		T13_ = !(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
2251 		LA14_: ;
2252 		if (!T13_) goto LA15_;
2253 		result = s;
2254 		goto BeforeRet_;
2255 	}
2256 	LA15_: ;
2257 	T17_ = nextSymId__ast_3132((*(*cl).c).Sup.idgen);
2258 	result = copySym__ast_4054(s, T17_);
2259 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
2260 	asgnRef((void**) (&(*result).owner), (*s).owner);
2261 	asgnRef((void**) (&(*result).typ), replaceTypeVarsT__semtypinst_178(cl, (*s).typ));
2262 	{
2263 		if (!!(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)))) goto LA20_;
2264 		asgnRef((void**) (&(*result).ast), replaceTypeVarsN__semtypinst_130(cl, (*s).ast, ((NI) 0)));
2265 	}
2266 	LA20_: ;
2267 	}BeforeRet_: ;
2268 	return result;
2269 }
N_INLINE(NI,len__ast_3198)2270 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2271 	NI result;
2272 	NI T1_;
2273 	result = (NI)0;
2274 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2275 	result = T1_;
2276 	return result;
2277 }
N_INLINE(NI,safeLen__ast_3191)2278 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2279 	NI result;
2280 	result = (NI)0;
2281 	{
2282 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
2283 		result = ((NI) 0);
2284 	}
2285 	goto LA1_;
2286 	LA3_: ;
2287 	{
2288 		result = len__ast_3198(n);
2289 	}
2290 	LA1_: ;
2291 	return result;
2292 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareNode__semtypinst_182)2293 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareNode__semtypinst_182)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2294 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2295 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2296 	NIM_BOOL isCall;
2297 {	result = NIM_NIL;
2298 	t = replaceTypeVarsT__semtypinst_178(cl, (*n).typ);
2299 	{
2300 		NIM_BOOL T3_;
2301 		NIM_BOOL T4_;
2302 		T3_ = (NIM_BOOL)0;
2303 		T4_ = (NIM_BOOL)0;
2304 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2305 		if (!(T4_)) goto LA5_;
2306 		T4_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
2307 		LA5_: ;
2308 		T3_ = T4_;
2309 		if (!(T3_)) goto LA6_;
2310 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2311 		LA6_: ;
2312 		if (!T3_) goto LA7_;
2313 		{
2314 			if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA11_;
2315 			result = prepareNode__semtypinst_182(cl, (*t).n);
2316 		}
2317 		goto LA9_;
2318 		LA11_: ;
2319 		{
2320 			result = (*t).n;
2321 		}
2322 		LA9_: ;
2323 		goto BeforeRet_;
2324 	}
2325 	LA7_: ;
2326 	result = copyNode__ast_4336(n);
2327 	asgnRef((void**) (&(*result).typ), t);
2328 	{
2329 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA16_;
2330 		asgnRef((void**) (&(*result)._kind_4.sym), replaceTypeVarsS__semtypinst_127(cl, (*n)._kind_4.sym));
2331 	}
2332 	LA16_: ;
2333 	isCall = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
2334 	{
2335 		NI i;
2336 		NI colontmp_;
2337 		NI i_2;
2338 		i = (NI)0;
2339 		colontmp_ = (NI)0;
2340 		colontmp_ = safeLen__ast_3191(n);
2341 		i_2 = ((NI) 0);
2342 		{
2343 			while (1) {
2344 				if (!(i_2 < colontmp_)) goto LA20;
2345 				i = i_2;
2346 				{
2347 					NIM_BOOL T23_;
2348 					T23_ = (NIM_BOOL)0;
2349 					T23_ = isCall;
2350 					if (!(T23_)) goto LA24_;
2351 					T23_ = (i == ((NI) 0));
2352 					LA24_: ;
2353 					if (!T23_) goto LA25_;
2354 					add__ast_4797(result, (*n)._kind_6.sons->data[i]);
2355 				}
2356 				goto LA21_;
2357 				LA25_: ;
2358 				{
2359 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
2360 					T28_ = NIM_NIL;
2361 					T28_ = prepareNode__semtypinst_182(cl, (*n)._kind_6.sons->data[i]);
2362 					add__ast_4797(result, T28_);
2363 				}
2364 				LA21_: ;
2365 				i_2 += ((NI) 1);
2366 			} LA20: ;
2367 		}
2368 	}
2369 	}BeforeRet_: ;
2370 	return result;
2371 }
N_INLINE(void,nimGCunrefRC1)2372 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2373 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2374 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2375 	T1_ = usrToCell__system_5300(p);
2376 	decRef__system_5345(T1_);
2377 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)2378 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
2379 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2380 	result = NIM_NIL;
2381 	{
2382 		NIM_BOOL T3_;
2383 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
2384 		T3_ = (NIM_BOOL)0;
2385 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2386 		if (!(T3_)) goto LA4_;
2387 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
2388 		LA4_: ;
2389 		if (!T3_) goto LA5_;
2390 		T7_ = nextTypeId__ast_3151(id);
2391 		result = copyType__ast_4046(t, T7_, (*t).owner);
2392 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2393 	}
2394 	goto LA1_;
2395 	LA5_: ;
2396 	{
2397 		result = t;
2398 	}
2399 	LA1_: ;
2400 	return result;
2401 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)2402 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
2403 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
2404 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)2405 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
2406 	NimStringDesc* result;
2407 	result = NIM_NIL;
2408 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
2409 appendString(result, info.Field0);
2410 	{
2411 		if (!(((NI) 0) < info.Field1)) goto LA3_;
2412 		result = resizeString(result, 1);
2413 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_22));
2414 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
2415 		{
2416 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
2417 			result = resizeString(result, 2);
2418 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_23));
2419 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
2420 		}
2421 		LA7_: ;
2422 		result = resizeString(result, 1);
2423 appendString(result, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_24));
2424 	}
2425 	LA3_: ;
2426 	return result;
2427 }
N_NIMCALL(void,propagateFieldFlags__semtypinst_774)2428 N_LIB_PRIVATE N_NIMCALL(void, propagateFieldFlags__semtypinst_774)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2429 {	{
2430 		if (!(n == 0)) goto LA3_;
2431 		goto BeforeRet_;
2432 	}
2433 	LA3_: ;
2434 	switch ((*n).kind) {
2435 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2436 	{
2437 		propagateToOwner__ast_4219(t, (*(*n)._kind_4.sym).typ, NIM_TRUE);
2438 	}
2439 	break;
2440 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
2441 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
2442 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
2443 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2444 	{
2445 		{
2446 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
2447 			son = NIM_NIL;
2448 			{
2449 				NI i;
2450 				NI colontmp_;
2451 				NI i_2;
2452 				i = (NI)0;
2453 				colontmp_ = (NI)0;
2454 				colontmp_ = safeLen__ast_3191(n);
2455 				i_2 = ((NI) 0);
2456 				{
2457 					while (1) {
2458 						if (!(i_2 < colontmp_)) goto LA10;
2459 						i = i_2;
2460 						son = (*n)._kind_6.sons->data[i];
2461 						propagateFieldFlags__semtypinst_774(t, son);
2462 						i_2 += ((NI) 1);
2463 					} LA10: ;
2464 				}
2465 			}
2466 		}
2467 	}
2468 	break;
2469 	default:
2470 	{
2471 	}
2472 	break;
2473 	}
2474 	}BeforeRet_: ;
2475 }
N_NIMCALL(void,eraseVoidParams__semtypinst_682)2476 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2477 	{
2478 		NIM_BOOL T3_;
2479 		T3_ = (NIM_BOOL)0;
2480 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2481 		if (!(T3_)) goto LA4_;
2482 		T3_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
2483 		LA4_: ;
2484 		if (!T3_) goto LA5_;
2485 		asgnRef((void**) (&(*t).sons->data[((NI) 0)]), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2486 	}
2487 	LA5_: ;
2488 	{
2489 		NI i;
2490 		NI colontmp_;
2491 		NI i_2;
2492 		i = (NI)0;
2493 		colontmp_ = (NI)0;
2494 		colontmp_ = len__ast_4002(t);
2495 		i_2 = ((NI) 1);
2496 		{
2497 			while (1) {
2498 				if (!(i_2 < colontmp_)) goto LA9;
2499 				i = i_2;
2500 				{
2501 					NI pos;
2502 					if (!((*(*t).sons->data[i]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA12_;
2503 					pos = i;
2504 					{
2505 						NI j;
2506 						NI colontmp__2;
2507 						NI colontmp__3;
2508 						NI i_3;
2509 						j = (NI)0;
2510 						colontmp__2 = (NI)0;
2511 						colontmp__3 = (NI)0;
2512 						colontmp__2 = (NI)(i + ((NI) 1));
2513 						colontmp__3 = len__ast_4002(t);
2514 						i_3 = colontmp__2;
2515 						{
2516 							while (1) {
2517 								if (!(i_3 < colontmp__3)) goto LA16;
2518 								j = i_3;
2519 								{
2520 									if (!!(((*(*t).sons->data[j]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)))) goto LA19_;
2521 									asgnRef((void**) (&(*t).sons->data[pos]), (*t).sons->data[j]);
2522 									asgnRef((void**) (&(*(*t).n)._kind_6.sons->data[pos]), (*(*t).n)._kind_6.sons->data[j]);
2523 									pos += ((NI) 1);
2524 								}
2525 								LA19_: ;
2526 								i_3 += ((NI) 1);
2527 							} LA16: ;
2528 						}
2529 					}
2530 					asgnRef((void**) (&(*t).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*t).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) (pos))));
2531 					asgnRef((void**) (&(*(*t).n)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*(*t).n)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (pos))));
2532 					goto LA7;
2533 				}
2534 				LA12_: ;
2535 				i_2 += ((NI) 1);
2536 			} LA9: ;
2537 		}
2538 	} LA7: ;
2539 }
N_NIMCALL(void,skipIntLiteralParams__semtypinst_738)2540 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
2541 	{
2542 		NI i;
2543 		NI colontmp_;
2544 		NI i_2;
2545 		i = (NI)0;
2546 		colontmp_ = (NI)0;
2547 		colontmp_ = len__ast_4002(t);
2548 		i_2 = ((NI) 0);
2549 		{
2550 			while (1) {
2551 				if (!(i_2 < colontmp_)) goto LA3;
2552 				i = i_2;
2553 				{
2554 					tyObject_TType__facALICuu8zUj0hjvbTLFg* p;
2555 					tyObject_TType__facALICuu8zUj0hjvbTLFg* skipped;
2556 					p = (*t).sons->data[i];
2557 					{
2558 						if (!(p == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
2559 						goto LA4;
2560 					}
2561 					LA7_: ;
2562 					skipped = skipIntLit__magicsys_124(p, idgen);
2563 					{
2564 						if (!!((skipped == p))) goto LA11_;
2565 						asgnRef((void**) (&(*t).sons->data[i]), skipped);
2566 						{
2567 							if (!(((NI) 0) < i)) goto LA15_;
2568 							asgnRef((void**) (&(*(*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym).typ), skipped);
2569 						}
2570 						LA15_: ;
2571 					}
2572 					LA11_: ;
2573 				} LA4: ;
2574 				i_2 += ((NI) 1);
2575 			} LA3: ;
2576 		}
2577 	}
2578 	{
2579 		NIM_BOOL T19_;
2580 		T19_ = (NIM_BOOL)0;
2581 		T19_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2582 		if (!(T19_)) goto LA20_;
2583 		T19_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
2584 		LA20_: ;
2585 		if (!T19_) goto LA21_;
2586 		asgnRef((void**) (&(*t).sons->data[((NI) 0)]), base__types_63((*t).sons->data[((NI) 0)]));
2587 	}
2588 	LA21_: ;
2589 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceObjBranches__semtypinst_277)2590 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceObjBranches__semtypinst_277)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2591 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2592 	result = NIM_NIL;
2593 	result = n;
2594 	switch ((*n).kind) {
2595 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
2596 	{
2597 	}
2598 	break;
2599 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
2600 	{
2601 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
2602 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
2603 		{
2604 			NI i;
2605 			NI colontmp_;
2606 			NI i_2;
2607 			i = (NI)0;
2608 			colontmp_ = (NI)0;
2609 			colontmp_ = len__ast_3198(n);
2610 			i_2 = ((NI) 0);
2611 			{
2612 				while (1) {
2613 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
2614 					if (!(i_2 < colontmp_)) goto LA5;
2615 					i = i_2;
2616 					it = (*n)._kind_6.sons->data[i];
2617 					{
2618 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA8_;
2619 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
2620 					}
2621 					LA8_: ;
2622 					switch ((*it).kind) {
2623 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
2624 					{
2625 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
2626 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
2627 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*(*cl).c).graph).config);
2628 						cond = (*it)._kind_6.sons->data[((NI) 0)];
2629 						e = (*(*cl).c).semConstExpr((*cl).c, cond);
2630 						{
2631 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA13_;
2632 							internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*e).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_27), TM__mrkrD9c2e31kE4GdQtpMdaQ_28);
2633 						}
2634 						LA13_: ;
2635 						{
2636 							NIM_BOOL T17_;
2637 							T17_ = (NIM_BOOL)0;
2638 							T17_ = !(((*e)._kind_1.intVal == IL64(0)));
2639 							if (!(T17_)) goto LA18_;
2640 							T17_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2641 							LA18_: ;
2642 							if (!T17_) goto LA19_;
2643 							branch = (*it)._kind_6.sons->data[((NI) 1)];
2644 						}
2645 						LA19_: ;
2646 					}
2647 					break;
2648 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
2649 					{
2650 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*(*cl).c).graph).config);
2651 						{
2652 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA24_;
2653 							branch = (*it)._kind_6.sons->data[((NI) 0)];
2654 						}
2655 						LA24_: ;
2656 					}
2657 					break;
2658 					default:
2659 					{
2660 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
2661 					}
2662 					break;
2663 					}
2664 					i_2 += ((NI) 1);
2665 				} LA5: ;
2666 			}
2667 		}
2668 		{
2669 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA29_;
2670 			result = replaceObjBranches__semtypinst_277(cl, branch);
2671 		}
2672 		goto LA27_;
2673 		LA29_: ;
2674 		{
2675 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
2676 		}
2677 		LA27_: ;
2678 	}
2679 	break;
2680 	default:
2681 	{
2682 		{
2683 			NI i_3;
2684 			NI colontmp__2;
2685 			NI i_4;
2686 			i_3 = (NI)0;
2687 			colontmp__2 = (NI)0;
2688 			colontmp__2 = len__ast_3198(n);
2689 			i_4 = ((NI) 0);
2690 			{
2691 				while (1) {
2692 					if (!(i_4 < colontmp__2)) goto LA35;
2693 					i_3 = i_4;
2694 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), replaceObjBranches__semtypinst_277(cl, (*n)._kind_6.sons->data[i_3]));
2695 					i_4 += ((NI) 1);
2696 				} LA35: ;
2697 			}
2698 		}
2699 	}
2700 	break;
2701 	}
2702 	return result;
2703 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,replaceTypeVarsTAux__semtypinst_124)2704 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsTAux__semtypinst_124)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2705 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
2706 {	result = NIM_NIL;
2707 	result = t;
2708 	{
2709 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
2710 		goto BeforeRet_;
2711 	}
2712 	LA3_: ;
2713 	{
2714 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lookup;
2715 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA7_;
2716 		lookup = lookup__semtypinst_158((*cl).typeMap, t);
2717 		{
2718 			if (!!((lookup == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
2719 			result = lookup;
2720 			goto BeforeRet_;
2721 		}
2722 		LA11_: ;
2723 	}
2724 	LA7_: ;
2725 	switch ((*t).kind) {
2726 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
2727 	{
2728 		result = handleGenericInvocation__semtypinst_509(cl, t);
2729 		{
2730 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
2731 			T16_ = NIM_NIL;
2732 			T16_ = lastSon__ast_3743(result);
2733 			if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA17_;
2734 			(*result).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
2735 		}
2736 		LA17_: ;
2737 	}
2738 	break;
2739 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
2740 	{
2741 		NimStringDesc* T20_;
2742 		NimStringDesc* T21_;
2743 		T20_ = NIM_NIL;
2744 		T21_ = NIM_NIL;
2745 		T21_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
2746 		T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 60);
2747 appendString(T20_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_6));
2748 appendString(T20_, T21_);
2749 appendString(T20_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_14));
2750 		liMessage__msgs_1118((*(*(*cl).c).graph).config, (*cl).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_15, NIM_FALSE);
2751 		result = errorType__semdata_1002((*cl).c);
2752 	}
2753 	break;
2754 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
2755 	{
2756 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2757 		{
2758 			if (!(*cl).allowMetaTypes) goto LA25_;
2759 			goto BeforeRet_;
2760 		}
2761 		LA25_: ;
2762 		n = prepareNode__semtypinst_182(cl, (*t).n);
2763 		{
2764 			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
2765 			n = (*(*cl).c).semConstExpr((*cl).c, n);
2766 		}
2767 		LA29_: ;
2768 		{
2769 			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA33_;
2770 			result = skipTypes__ast_3735((*n).typ, TM__mrkrD9c2e31kE4GdQtpMdaQ_16);
2771 		}
2772 		goto LA31_;
2773 		LA33_: ;
2774 		{
2775 			{
2776 				NIM_BOOL T38_;
2777 				T38_ = (NIM_BOOL)0;
2778 				T38_ = !(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
2779 				if (!(T38_)) goto LA39_;
2780 				T38_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4)));
2781 				LA39_: ;
2782 				if (!T38_) goto LA40_;
2783 				result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*cl).c);
2784 				if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
2785 				(*result).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
2786 				asgnRef((void**) (&(*result).sons->data[0]), (*n).typ);
2787 				asgnRef((void**) (&(*result).n), n);
2788 			}
2789 			goto LA36_;
2790 			LA40_: ;
2791 			{
2792 				result = (*n).typ;
2793 			}
2794 			LA36_: ;
2795 		}
2796 		LA31_: ;
2797 	}
2798 	break;
2799 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
2800 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
2801 	{
2802 		result = skipIntLit__magicsys_124(t, (*(*cl).c).Sup.idgen);
2803 	}
2804 	break;
2805 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2806 	{
2807 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lookup_2;
2808 		lookup_2 = lookup__semtypinst_158((*cl).typeMap, t);
2809 		{
2810 			if (!!((lookup_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA47_;
2811 			result = lookup_2;
2812 			{
2813 				if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA51_;
2814 				result = makeTypeDesc__concepts_49((*cl).c, result);
2815 			}
2816 			goto LA49_;
2817 			LA51_: ;
2818 			{
2819 				NIM_BOOL T54_;
2820 				T54_ = (NIM_BOOL)0;
2821 				T54_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
2822 				if (T54_) goto LA55_;
2823 				T54_ = (*cl).skipTypedesc;
2824 				LA55_: ;
2825 				if (!T54_) goto LA56_;
2826 				result = base__types_63(result);
2827 			}
2828 			goto LA49_;
2829 			LA56_: ;
2830 			LA49_: ;
2831 		}
2832 		goto LA45_;
2833 		LA47_: ;
2834 		{
2835 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
2836 			if (!!(((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA59_;
2837 			T61_ = NIM_NIL;
2838 			T61_ = replaceTypeVarsT__semtypinst_178(cl, (*t).sons->data[((NI) 0)]);
2839 			result = makeTypeDesc__concepts_49((*cl).c, T61_);
2840 		}
2841 		goto LA45_;
2842 		LA59_: ;
2843 		LA45_: ;
2844 	}
2845 	break;
2846 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
2847 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
2848 	{
2849 		result = t;
2850 	}
2851 	break;
2852 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
2853 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
2854 	{
2855 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T76_;
2856 		{
2857 			RootObj* T68_;
2858 			if (!(((NI) 100) < (*cl).recursionLimit)) goto LA66_;
2859 			T68_ = NIM_NIL;
2860 			T68_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
2861 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T68_));
2862 			{
2863 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA71_;
2864 				goto BeforeRet_;
2865 			}
2866 			LA71_: ;
2867 		}
2868 		LA66_: ;
2869 		(*cl).recursionLimit += ((NI) 1);
2870 		result = instCopyType__semtypinst_480(cl, t);
2871 		idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2872 		{
2873 			NI i;
2874 			NI colontmp_;
2875 			NI i_2;
2876 			i = (NI)0;
2877 			colontmp_ = (NI)0;
2878 			colontmp_ = len__ast_4002(result);
2879 			i_2 = ((NI) 1);
2880 			{
2881 				while (1) {
2882 					if (!(i_2 < colontmp_)) goto LA75;
2883 					i = i_2;
2884 					asgnRef((void**) (&(*result).sons->data[i]), replaceTypeVarsT__semtypinst_178(cl, (*result).sons->data[i]));
2885 					i_2 += ((NI) 1);
2886 				} LA75: ;
2887 			}
2888 		}
2889 		T76_ = NIM_NIL;
2890 		T76_ = lastSon__ast_3743(result);
2891 		propagateToOwner__ast_4219(result, T76_, NIM_TRUE);
2892 	}
2893 	break;
2894 	default:
2895 	{
2896 		{
2897 			NIM_BOOL T80_;
2898 			T80_ = (NIM_BOOL)0;
2899 			T80_ = containsGenericType__types_3360(t);
2900 			if (!T80_) goto LA81_;
2901 			{
2902 				RootObj* T87_;
2903 				if (!(((NI) 100) < (*cl).recursionLimit)) goto LA85_;
2904 				T87_ = NIM_NIL;
2905 				T87_ = idTableGet__astalgo_64((*cl).localCache, &t->Sup);
2906 				result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T87_));
2907 				{
2908 					if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA90_;
2909 					goto BeforeRet_;
2910 				}
2911 				LA90_: ;
2912 			}
2913 			LA85_: ;
2914 			(*cl).recursionLimit += ((NI) 1);
2915 			result = instCopyType__semtypinst_480(cl, t);
2916 			(*result).size = IL64(-1);
2917 			idTablePut__astalgo_70((&(*cl).localCache), &t->Sup, (*((RootObj**) (&(result)))));
2918 			{
2919 				NI i_3;
2920 				NI colontmp__2;
2921 				NI i_4;
2922 				i_3 = (NI)0;
2923 				colontmp__2 = (NI)0;
2924 				colontmp__2 = len__ast_4002(result);
2925 				i_4 = ((NI) 0);
2926 				{
2927 					while (1) {
2928 						if (!(i_4 < colontmp__2)) goto LA94;
2929 						i_3 = i_4;
2930 						{
2931 							tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
2932 							if (!!(((*result).sons->data[i_3] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA97_;
2933 							{
2934 								tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T103_;
2935 								NimStringDesc* T109_;
2936 								NimStringDesc* T110_;
2937 								if (!((*(*result).sons->data[i_3]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA101_;
2938 								{
2939 									if (!!(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA106_;
2940 									T103_ = (*(*t).sym).info;
2941 								}
2942 								goto LA104_;
2943 								LA106_: ;
2944 								{
2945 									T103_ = (*cl).info;
2946 								}
2947 								LA104_: ;
2948 								T109_ = NIM_NIL;
2949 								T110_ = NIM_NIL;
2950 								T110_ = typeToString__types_50((*result).sons->data[i_3], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
2951 								T109_ = rawNewString((T110_ ? T110_->Sup.len : 0) + ((*(*(*t).owner).name).s ? (*(*(*t).owner).name).s->Sup.len : 0) + 89);
2952 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_17));
2953 appendString(T109_, T110_);
2954 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_18));
2955 appendString(T109_, (*(*(*t).owner).name).s);
2956 appendString(T109_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_14));
2957 								liMessage__msgs_1118((*(*(*cl).c).graph).config, T103_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T109_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_19, NIM_FALSE);
2958 							}
2959 							LA101_: ;
2960 							r = replaceTypeVarsT__semtypinst_178(cl, (*result).sons->data[i_3]);
2961 							{
2962 								tyObject_TType__facALICuu8zUj0hjvbTLFg* r2;
2963 								if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA113_;
2964 								r2 = skipTypes__ast_3735(r, TM__mrkrD9c2e31kE4GdQtpMdaQ_20);
2965 								{
2966 									if (!((*r2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*r2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA117_;
2967 									r = skipTypes__ast_3735(r2, TM__mrkrD9c2e31kE4GdQtpMdaQ_21);
2968 								}
2969 								LA117_: ;
2970 							}
2971 							LA113_: ;
2972 							asgnRef((void**) (&(*result).sons->data[i_3]), r);
2973 							{
2974 								NIM_BOOL T121_;
2975 								T121_ = (NIM_BOOL)0;
2976 								T121_ = !(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16)));
2977 								if (T121_) goto LA122_;
2978 								T121_ = !((i_3 == ((NI) 0)));
2979 								LA122_: ;
2980 								if (!T121_) goto LA123_;
2981 								propagateToOwner__ast_4219(result, r, NIM_TRUE);
2982 							}
2983 							LA123_: ;
2984 						}
2985 						LA97_: ;
2986 						i_4 += ((NI) 1);
2987 					} LA94: ;
2988 				}
2989 			}
2990 			asgnRef((void**) (&(*result).n), replaceTypeVarsN__semtypinst_130(cl, (*result).n, ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))));
2991 			switch ((*result).kind) {
2992 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2993 			{
2994 				tyObject_TType__facALICuu8zUj0hjvbTLFg* idx;
2995 				idx = (*result).sons->data[((NI) 0)];
2996 				{
2997 					NimStringDesc* argX60gensym191_;
2998 					if (!!(!(((*idx).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))))) goto LA128_;
2999 					argX60gensym191_ = toFileLineCol__msgs_615(TM__mrkrD9c2e31kE4GdQtpMdaQ_25);
3000 					internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym191_, TM__mrkrD9c2e31kE4GdQtpMdaQ_25);
3001 				}
3002 				LA128_: ;
3003 			}
3004 			break;
3005 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
3006 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
3007 			{
3008 				propagateFieldFlags__semtypinst_774(result, (*result).n);
3009 				{
3010 					NIM_BOOL T133_;
3011 					T133_ = (NIM_BOOL)0;
3012 					T133_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3013 					if (!(T133_)) goto LA134_;
3014 					T133_ = (*(*cl).c).computeRequiresInit((*cl).c, result);
3015 					LA134_: ;
3016 					if (!T133_) goto LA135_;
3017 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
3018 				}
3019 				LA135_: ;
3020 			}
3021 			break;
3022 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
3023 			{
3024 				eraseVoidParams__semtypinst_682(result);
3025 				skipIntLiteralParams__semtypinst_738(result, (*(*cl).c).Sup.idgen);
3026 			}
3027 			break;
3028 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
3029 			{
3030 				asgnRef((void**) (&(*result).sons->data[((NI) 0)]), skipTypes__ast_3735((*result).sons->data[((NI) 0)], TM__mrkrD9c2e31kE4GdQtpMdaQ_26));
3031 			}
3032 			break;
3033 			default:
3034 			{
3035 			}
3036 			break;
3037 			}
3038 		}
3039 		goto LA78_;
3040 		LA81_: ;
3041 		{
3042 			result = t;
3043 			{
3044 				NIM_BOOL T143_;
3045 				NIM_BOOL T144_;
3046 				NIM_BOOL T145_;
3047 				NI T147_;
3048 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T152_;
3049 				T143_ = (NIM_BOOL)0;
3050 				T144_ = (NIM_BOOL)0;
3051 				T145_ = (NIM_BOOL)0;
3052 				T145_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
3053 				if (!(T145_)) goto LA146_;
3054 				T147_ = (NI)0;
3055 				T147_ = len__ast_4002(t);
3056 				T145_ = (((NI) 0) < T147_);
3057 				LA146_: ;
3058 				T144_ = T145_;
3059 				if (!(T144_)) goto LA148_;
3060 				T144_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3061 				LA148_: ;
3062 				T143_ = T144_;
3063 				if (!(T143_)) goto LA149_;
3064 				T143_ = !(((*(*t).sons->data[((NI) 0)]).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3065 				LA149_: ;
3066 				if (!T143_) goto LA150_;
3067 				T152_ = NIM_NIL;
3068 				T152_ = replaceObjBranches__semtypinst_277((&(*cl)), (*(*t).sons->data[((NI) 0)]).n);
3069 				(void)(T152_);
3070 			}
3071 			goto LA141_;
3072 			LA150_: ;
3073 			{
3074 				NIM_BOOL T154_;
3075 				T154_ = (NIM_BOOL)0;
3076 				T154_ = !(((*result).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3077 				if (!(T154_)) goto LA155_;
3078 				T154_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
3079 				LA155_: ;
3080 				if (!T154_) goto LA156_;
3081 				(*result).size = IL64(-1);
3082 				asgnRef((void**) (&(*result).n), replaceObjBranches__semtypinst_277((&(*cl)), (*result).n));
3083 			}
3084 			goto LA141_;
3085 			LA156_: ;
3086 			LA141_: ;
3087 		}
3088 		LA78_: ;
3089 	}
3090 	break;
3091 	}
3092 	}BeforeRet_: ;
3093 	return result;
3094 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,replaceTypeVarsT__semtypinst_178)3095 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3096 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3097 	result = NIM_NIL;
3098 	result = replaceTypeVarsTAux__semtypinst_124(cl, t);
3099 	return result;
3100 }
N_NIMCALL(NIM_BOOL,isTypeParam__semtypinst_227)3101 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeParam__semtypinst_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3102 	NIM_BOOL result;
3103 	NIM_BOOL T1_;
3104 	NIM_BOOL T3_;
3105 	NIM_BOOL T5_;
3106 {	result = (NIM_BOOL)0;
3107 	T1_ = (NIM_BOOL)0;
3108 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3109 	if (!(T1_)) goto LA2_;
3110 	T3_ = (NIM_BOOL)0;
3111 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4));
3112 	if (T3_) goto LA4_;
3113 	T5_ = (NIM_BOOL)0;
3114 	T5_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
3115 	if (!(T5_)) goto LA6_;
3116 	T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
3117 	LA6_: ;
3118 	T3_ = T5_;
3119 	LA4_: ;
3120 	T1_ = T3_;
3121 	LA2_: ;
3122 	result = T1_;
3123 	goto BeforeRet_;
3124 	}BeforeRet_: ;
3125 	return result;
3126 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,reResolveCallsWithTypedescParams__semtypinst_246)3127 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reResolveCallsWithTypedescParams__semtypinst_246)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3128 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3129 {	result = NIM_NIL;
3130 	{
3131 		NIM_BOOL T3_;
3132 		NIM_BOOL needsFixing;
3133 		T3_ = (NIM_BOOL)0;
3134 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
3135 		if (!(T3_)) goto LA4_;
3136 		T3_ = (((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
3137 		LA4_: ;
3138 		if (!T3_) goto LA5_;
3139 		needsFixing = NIM_FALSE;
3140 		{
3141 			NI i;
3142 			NI colontmp_;
3143 			NI i_2;
3144 			i = (NI)0;
3145 			colontmp_ = (NI)0;
3146 			colontmp_ = safeLen__ast_3191(n);
3147 			i_2 = ((NI) 1);
3148 			{
3149 				while (1) {
3150 					if (!(i_2 < colontmp_)) goto LA9;
3151 					i = i_2;
3152 					{
3153 						NIM_BOOL T12_;
3154 						T12_ = (NIM_BOOL)0;
3155 						T12_ = isTypeParam__semtypinst_227((*n)._kind_6.sons->data[i]);
3156 						if (!T12_) goto LA13_;
3157 						needsFixing = NIM_TRUE;
3158 					}
3159 					LA13_: ;
3160 					i_2 += ((NI) 1);
3161 				} LA9: ;
3162 			}
3163 		}
3164 		{
3165 			if (!needsFixing) goto LA17_;
3166 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).owner));
3167 			result = (*(*cl).c).semOverloadedCall((*cl).c, n, n, 12288, 0);
3168 			goto BeforeRet_;
3169 		}
3170 		LA17_: ;
3171 	}
3172 	LA5_: ;
3173 	{
3174 		NI i_3;
3175 		NI colontmp__2;
3176 		NI i_4;
3177 		i_3 = (NI)0;
3178 		colontmp__2 = (NI)0;
3179 		colontmp__2 = safeLen__ast_3191(n);
3180 		i_4 = ((NI) 0);
3181 		{
3182 			while (1) {
3183 				if (!(i_4 < colontmp__2)) goto LA21;
3184 				i_3 = i_4;
3185 				asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), reResolveCallsWithTypedescParams__semtypinst_246(cl, (*n)._kind_6.sons->data[i_3]));
3186 				i_4 += ((NI) 1);
3187 			} LA21: ;
3188 		}
3189 	}
3190 	result = n;
3191 	goto BeforeRet_;
3192 	}BeforeRet_: ;
3193 	return result;
3194 }
N_NIMCALL(void,newSons__semtypinst_404)3195 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length) {
3196 	asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (length))));
3197 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceTypeVarsN__semtypinst_130)3198 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start) {
3199 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3200 {	result = NIM_NIL;
3201 	{
3202 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
3203 		goto BeforeRet_;
3204 	}
3205 	LA3_: ;
3206 	result = copyNode__ast_4336(n);
3207 	{
3208 		if (!!(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
3209 		asgnRef((void**) (&(*result).typ), replaceTypeVarsT__semtypinst_178(cl, (*n).typ));
3210 	}
3211 	LA7_: ;
3212 	switch ((*n).kind) {
3213 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
3214 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
3215 	{
3216 	}
3217 	break;
3218 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
3219 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
3220 	{
3221 		result = n;
3222 	}
3223 	break;
3224 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3225 	{
3226 		asgnRef((void**) (&(*result)._kind_4.sym), replaceTypeVarsS__semtypinst_127(cl, (*n)._kind_4.sym));
3227 		{
3228 			if (!((*(*(*result)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA14_;
3229 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
3230 		}
3231 		LA14_: ;
3232 	}
3233 	break;
3234 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
3235 	{
3236 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
3237 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
3238 		{
3239 			NI i;
3240 			NI colontmp_;
3241 			NI i_2;
3242 			i = (NI)0;
3243 			colontmp_ = (NI)0;
3244 			colontmp_ = len__ast_3198(n);
3245 			i_2 = ((NI) 0);
3246 			{
3247 				while (1) {
3248 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
3249 					if (!(i_2 < colontmp_)) goto LA19;
3250 					i = i_2;
3251 					it = (*n)._kind_6.sons->data[i];
3252 					{
3253 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA22_;
3254 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
3255 					}
3256 					LA22_: ;
3257 					switch ((*it).kind) {
3258 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
3259 					{
3260 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cond;
3261 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
3262 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*(*cl).c).graph).config);
3263 						cond = prepareNode__semtypinst_182(cl, (*it)._kind_6.sons->data[((NI) 0)]);
3264 						e = (*(*cl).c).semConstExpr((*cl).c, cond);
3265 						{
3266 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA27_;
3267 							internalErrorImpl__msgs_1431((*(*(*cl).c).graph).config, (*e).info, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_27), TM__mrkrD9c2e31kE4GdQtpMdaQ_29);
3268 						}
3269 						LA27_: ;
3270 						{
3271 							NIM_BOOL T31_;
3272 							T31_ = (NIM_BOOL)0;
3273 							T31_ = !(((*e)._kind_1.intVal == IL64(0)));
3274 							if (!(T31_)) goto LA32_;
3275 							T31_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3276 							LA32_: ;
3277 							if (!T31_) goto LA33_;
3278 							branch = (*it)._kind_6.sons->data[((NI) 1)];
3279 						}
3280 						LA33_: ;
3281 					}
3282 					break;
3283 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
3284 					{
3285 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*(*cl).c).graph).config);
3286 						{
3287 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA38_;
3288 							branch = (*it)._kind_6.sons->data[((NI) 0)];
3289 						}
3290 						LA38_: ;
3291 					}
3292 					break;
3293 					default:
3294 					{
3295 						illFormedAst__semdata_1071(n, (*(*(*cl).c).graph).config);
3296 					}
3297 					break;
3298 					}
3299 					i_2 += ((NI) 1);
3300 				} LA19: ;
3301 			}
3302 		}
3303 		{
3304 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA43_;
3305 			result = replaceTypeVarsN__semtypinst_130(cl, branch, ((NI) 0));
3306 		}
3307 		goto LA41_;
3308 		LA43_: ;
3309 		{
3310 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
3311 		}
3312 		LA41_: ;
3313 	}
3314 	break;
3315 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
3316 	{
3317 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
3318 		n_2 = prepareNode__semtypinst_182(cl, n);
3319 		n_2 = reResolveCallsWithTypedescParams__semtypinst_246(cl, n_2);
3320 		{
3321 			if (!(*cl).allowMetaTypes) goto LA49_;
3322 			result = n_2;
3323 		}
3324 		goto LA47_;
3325 		LA49_: ;
3326 		{
3327 			result = (*(*cl).c).semExpr((*cl).c, n_2, 0);
3328 		}
3329 		LA47_: ;
3330 		{
3331 			if (!!((*cl).allowMetaTypes)) goto LA54_;
3332 		}
3333 		LA54_: ;
3334 	}
3335 	break;
3336 	default:
3337 	{
3338 		{
3339 			NI T59_;
3340 			NI T62_;
3341 			T59_ = (NI)0;
3342 			T59_ = len__ast_3198(n);
3343 			if (!(((NI) 0) < T59_)) goto LA60_;
3344 			T62_ = (NI)0;
3345 			T62_ = len__ast_3198(n);
3346 			newSons__semtypinst_404(result, T62_);
3347 			{
3348 				if (!(((NI) 0) < start)) goto LA65_;
3349 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
3350 			}
3351 			LA65_: ;
3352 			{
3353 				NI i_3;
3354 				NI colontmp__2;
3355 				NI i_4;
3356 				i_3 = (NI)0;
3357 				colontmp__2 = (NI)0;
3358 				colontmp__2 = len__ast_3198(n);
3359 				i_4 = start;
3360 				{
3361 					while (1) {
3362 						if (!(i_4 < colontmp__2)) goto LA69;
3363 						i_3 = i_4;
3364 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), replaceTypeVarsN__semtypinst_130(cl, (*n)._kind_6.sons->data[i_3], ((NI) 0)));
3365 						i_4 += ((NI) 1);
3366 					} LA69: ;
3367 				}
3368 			}
3369 		}
3370 		LA60_: ;
3371 	}
3372 	break;
3373 	}
3374 	}BeforeRet_: ;
3375 	return result;
3376 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceTypesInBody__semtypinst_988)3377 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypesInBody__semtypinst_988)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, NIM_BOOL allowMetaTypes) {
3378 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3379 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3380 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3381 	result = NIM_NIL;
3382 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3383 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3384 	initTypeVars__semtypinst_982(p, typeMap, (*n).info, owner, (&cl));
3385 	cl.allowMetaTypes = allowMetaTypes;
3386 	pushInfoContext__msgs_490((*(*p).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
3387 	result = replaceTypeVarsN__semtypinst_130((&cl), n, ((NI) 0));
3388 	popInfoContext__msgs_507((*(*p).graph).config);
3389 	return result;
3390 }
N_NIMCALL(void,recomputeFieldPositions__semtypinst_1006)3391 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition) {
3392 	{
3393 		NIM_BOOL T3_;
3394 		NIM_BOOL T4_;
3395 		NI T6_;
3396 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
3397 		T3_ = (NIM_BOOL)0;
3398 		T4_ = (NIM_BOOL)0;
3399 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3400 		if (!(T4_)) goto LA5_;
3401 		T6_ = (NI)0;
3402 		T6_ = len__ast_4002(t);
3403 		T4_ = (((NI) 0) < T6_);
3404 		LA5_: ;
3405 		T3_ = T4_;
3406 		if (!(T3_)) goto LA7_;
3407 		T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3408 		LA7_: ;
3409 		if (!T3_) goto LA8_;
3410 		b = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__mrkrD9c2e31kE4GdQtpMdaQ_31);
3411 		recomputeFieldPositions__semtypinst_1006(b, (*b).n, currPosition);
3412 	}
3413 	LA8_: ;
3414 	switch ((*obj).kind) {
3415 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3416 	{
3417 		{
3418 			NI i;
3419 			NI colontmp_;
3420 			NI i_2;
3421 			i = (NI)0;
3422 			colontmp_ = (NI)0;
3423 			colontmp_ = len__ast_3198(obj);
3424 			i_2 = ((NI) 0);
3425 			{
3426 				while (1) {
3427 					if (!(i_2 < colontmp_)) goto LA13;
3428 					i = i_2;
3429 					recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[i], currPosition);
3430 					i_2 += ((NI) 1);
3431 				} LA13: ;
3432 			}
3433 		}
3434 	}
3435 	break;
3436 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3437 	{
3438 		recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*obj)._kind_6.sons->data[((NI) 0)], currPosition);
3439 		{
3440 			NI i_3;
3441 			NI colontmp__2;
3442 			NI i_4;
3443 			i_3 = (NI)0;
3444 			colontmp__2 = (NI)0;
3445 			colontmp__2 = len__ast_3198(obj);
3446 			i_4 = ((NI) 1);
3447 			{
3448 				while (1) {
3449 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
3450 					if (!(i_4 < colontmp__2)) goto LA17;
3451 					i_3 = i_4;
3452 					T18_ = NIM_NIL;
3453 					T18_ = lastSon__ast_4832((*obj)._kind_6.sons->data[i_3]);
3454 					recomputeFieldPositions__semtypinst_1006(((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), T18_, currPosition);
3455 					i_4 += ((NI) 1);
3456 				} LA17: ;
3457 			}
3458 		}
3459 	}
3460 	break;
3461 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3462 	{
3463 		(*(*obj)._kind_4.sym).position = (*currPosition);
3464 		(*currPosition) += ((NI) 1);
3465 	}
3466 	break;
3467 	default:
3468 	{
3469 	}
3470 	break;
3471 	}
3472 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,generateTypeInstance__semtypinst_1050)3473 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, generateTypeInstance__semtypinst_1050)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3474 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3475 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3476 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3477 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
3478 	result = NIM_NIL;
3479 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3480 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3481 	initTypeVars__semtypinst_982(p, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
3482 	pushInfoContext__msgs_490((*(*p).graph).config, info, ((NimStringDesc*) NIM_NIL));
3483 	result = replaceTypeVarsT__semtypinst_178((&cl), t);
3484 	popInfoContext__msgs_507((*(*p).graph).config);
3485 	objType = skipTypes__ast_3735(result, TM__mrkrD9c2e31kE4GdQtpMdaQ_30);
3486 	{
3487 		NI position;
3488 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA3_;
3489 		position = ((NI) 0);
3490 		recomputeFieldPositions__semtypinst_1006(objType, (*objType).n, (&position));
3491 	}
3492 	LA3_: ;
3493 	return result;
3494 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,prepareMetatypeForSigmatch__semtypinst_1064)3495 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, prepareMetatypeForSigmatch__semtypinst_1064)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3496 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3497 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
3498 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
3499 	result = NIM_NIL;
3500 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
3501 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
3502 	initTypeVars__semtypinst_982(p, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
3503 	cl.allowMetaTypes = NIM_TRUE;
3504 	pushInfoContext__msgs_490((*(*p).graph).config, info, ((NimStringDesc*) NIM_NIL));
3505 	result = replaceTypeVarsT__semtypinst_178((&cl), t);
3506 	popInfoContext__msgs_507((*(*p).graph).config);
3507 	return result;
3508 }
N_NIMCALL(void,checkConstructedType__semtypinst_26)3509 N_LIB_PRIVATE N_NIMCALL(void, checkConstructedType__semtypinst_26)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
3510 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
3511 	t = skipTypes__ast_3735(typ, TM__mrkrD9c2e31kE4GdQtpMdaQ_32);
3512 	{
3513 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA3_;
3514 	}
3515 	goto LA1_;
3516 	LA3_: ;
3517 	{
3518 		NIM_BOOL T6_;
3519 		T6_ = (NIM_BOOL)0;
3520 		T6_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
3521 		if (!(T6_)) goto LA7_;
3522 		T6_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
3523 		LA7_: ;
3524 		if (!T6_) goto LA8_;
3525 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_11), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_33, NIM_FALSE);
3526 	}
3527 	goto LA1_;
3528 	LA8_: ;
3529 	{
3530 		NIM_BOOL T11_;
3531 		NI64 T12_;
3532 		NimStringDesc* T16_;
3533 		NimStringDesc* T17_;
3534 		T11_ = (NIM_BOOL)0;
3535 		T12_ = (NI64)0;
3536 		T12_ = computeSize__types_3317(conf, t);
3537 		T11_ = (T12_ == IL64(-2));
3538 		if (T11_) goto LA13_;
3539 		T11_ = isTupleRecursive__types_3996(t);
3540 		LA13_: ;
3541 		if (!T11_) goto LA14_;
3542 		T16_ = NIM_NIL;
3543 		T17_ = NIM_NIL;
3544 		T17_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3545 		T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 28);
3546 appendString(T16_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_34));
3547 appendString(T16_, T17_);
3548 appendString(T16_, ((NimStringDesc*) &TM__mrkrD9c2e31kE4GdQtpMdaQ_7));
3549 		liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__mrkrD9c2e31kE4GdQtpMdaQ_35, NIM_FALSE);
3550 	}
3551 	goto LA1_;
3552 	LA14_: ;
3553 	LA1_: ;
3554 }
N_NIMCALL(void,compiler_semtypinstDatInit000)3555 N_LIB_PRIVATE N_NIMCALL(void, compiler_semtypinstDatInit000)(void) {
3556 static TNimNode* TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[2];
3557 static TNimNode TM__mrkrD9c2e31kE4GdQtpMdaQ_0[3];
3558 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.size = sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ);
3559 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.align = NIM_ALIGNOF(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ);
3560 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.kind = 18;
3561 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.base = 0;
3562 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.flags = 2;
3563 TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[0] = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1];
3564 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].kind = 1;
3565 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].offset = offsetof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ, topLayer);
3566 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_);
3567 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[1].name = "topLayer";
3568 TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[1] = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2];
3569 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].kind = 1;
3570 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].offset = offsetof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ, nextLayer);
3571 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].typ = (&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_);
3572 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[2].name = "nextLayer";
3573 TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].len = 2; TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].kind = 2; TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0].sons = &TM__mrkrD9c2e31kE4GdQtpMdaQ_2_2[0];
3574 NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_.node = &TM__mrkrD9c2e31kE4GdQtpMdaQ_0[0];
3575 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.size = sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*);
3576 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.align = NIM_ALIGNOF(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*);
3577 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.kind = 22;
3578 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.base = (&NTIlayeredidtable58objecttype__VAXPousy5FCnCEYMcHN9bDQ_);
3579 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.flags = 2;
3580 NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_.marker = Marker_tyRef__zSq8dodcWpSdfE0WaiBU9cw;
3581 }
3582 
3583