1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
22 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
23 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
24 typedef struct RootObj RootObj;
25 typedef struct TNimType TNimType;
26 typedef struct TNimNode TNimNode;
27 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
28 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
29 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
30 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
31 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
32 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
33 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
34 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
35 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
36 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
37 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
38 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
39 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
40 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
41 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
42 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
43 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
44 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
45 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
46 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
47 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
48 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
49 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
50 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
51 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
52 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
53 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
54 typedef struct NimStringDesc NimStringDesc;
55 typedef struct TGenericSeq TGenericSeq;
56 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
57 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
58 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
59 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
60 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
61 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
62 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
63 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
64 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
65 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
66 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
67 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
68 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
69 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
70 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
71 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
72 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
73 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
74 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
75 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
76 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
77 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
78 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
79 typedef struct tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA;
80 typedef struct tySequence__0thrROz0BxrMaGObPsCz7g tySequence__0thrROz0BxrMaGObPsCz7g;
81 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
82 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
83 typedef struct tyTuple__WXXbhbShJh5y59cjFFL9coaw tyTuple__WXXbhbShJh5y59cjFFL9coaw;
84 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
85 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
86 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
87 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
88 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
89 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
90 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
91 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
92 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
93 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
94 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
95 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
96 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
97 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
98 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
99 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
100 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
101 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
102 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
103 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
104 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
105 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
106 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
107 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
108 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
109 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
110 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
111 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
112 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
113 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
114 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
115 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
116 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
117 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
118 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
119 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
120 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
121 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
122 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
123 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
124 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
125 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
126 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
127 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
128 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
129 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
130 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
131 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
132 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
133 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
134 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
135 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
136 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
137 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
138 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
139 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
140 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
141 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
142 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
143 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
144 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
145 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
146 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
147 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
148 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
149 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
150 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
151 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
152 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
153 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
154 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
155 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
156 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
157 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
158 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
159 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
160 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
161 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
162 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
163 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
164 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
165 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
166 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
167 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
168 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
169 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
170 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
171 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
172 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
173 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
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 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
205 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
206 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
207 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
208 struct TNimType {
209 NI size;
210 NI align;
211 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
212 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
213 TNimType* base;
214 TNimNode* node;
215 void* finalizer;
216 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
217 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
218 };
219 struct RootObj {
220 TNimType* m_type;
221 };
222 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
223 NI32 module;
224 NI32 item;
225 };
226 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
227 RootObj Sup;
228 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
229 };
230 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
231 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
232 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
233 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
234 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
235 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
236 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
237 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
238 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
239 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
240 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
241 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
242 };
243 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
244 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
245 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
246 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
247 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
248 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
249 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
250 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
251 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
252 NI64 size;
253 NI16 align;
254 NI16 paddingAtEnd;
255 NI16 lockLevel;
256 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
257 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
258 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
259 };
260 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
261 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
262 RootObj Sup;
263 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
264 };
265 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
266 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
267 NI counter;
268 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
269 };
270 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
271 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
272 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
273 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
274 typedef struct {
275 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
276 void* ClE_0;
277 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
278 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
279 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);
280 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
281 typedef struct {
282 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
283 void* ClE_0;
284 } tyProc__3cacbJ4la9bDJNibHybQSnA;
285 typedef struct {
286 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);
287 void* ClE_0;
288 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
289 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
290 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
291 NI elems;
292 NI counter;
293 NI max;
294 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
295 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
296 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
297 };
298 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
299 NI counter;
300 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
301 };
302 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
303 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);
304 struct TGenericSeq {
305 NI len;
306 NI reserved;
307 };
308 struct NimStringDesc {
309 TGenericSeq Sup;
310 NIM_CHAR data[SEQ_DECL_SIZE];
311 };
312 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
313 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
314 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
315 NI counter;
316 };
317 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
318 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
319 NI counter;
320 };
321 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
322 NU16 line;
323 NI16 col;
324 NI32 fileIndex;
325 };
326 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
327 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
328 NI counter;
329 };
330 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
331 tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
332 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
333 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
334 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
335 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
336 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
337 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
338 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
339 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
340 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
341 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
342 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
343 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
344 NI instCounter;
345 NI* templInstCounter;
346 NI inGenericContext;
347 NI inStaticContext;
348 NI inUnrolledContext;
349 NI compilesContextId;
350 NI compilesContextIdGenerator;
351 NI inGenericInst;
352 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
353 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
354 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
355 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
356 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
357 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
358 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
359 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
360 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
361 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
362 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
363 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
364 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
365 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
366 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
367 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
368 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
369 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
370 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
371 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
372 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
373 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
374 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
375 NI topStmts;
376 NI lastGenericIdx;
377 NI hloLoopDetector;
378 NI inParallelStmt;
379 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
380 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
381 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
382 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
383 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
384 NimStringDesc* recursiveDep;
385 NIM_BOOL suggestionsMade;
386 NIM_BOOL isAmbiguous;
387 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
388 NI inTypeContext;
389 NI inConceptDecl;
390 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
391 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
392 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
393 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
394 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
395 NI inUncheckedAssignSection;
396 };
397 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
398 struct TNimNode {
399 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
400 NI offset;
401 TNimType* typ;
402 NCSTRING name;
403 NI len;
404 TNimNode** sons;
405 };
406 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
407 NI refcount;
408 TNimType* typ;
409 };
410 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
411 void* bottom;
412 };
413 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
414 NI len;
415 NI cap;
416 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
417 };
418 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
419 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
420 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
421 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
422 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
423 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
424 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
425 };
426 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
427 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
428 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
429 NI key;
430 NI upperBound;
431 NI level;
432 };
433 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
434 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
435 NI Field1;
436 };
437 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
438 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
439 NI len;
440 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
441 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
442 };
443 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
444 NI minLargeObj;
445 NI maxLargeObj;
446 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
447 NU32 flBitmap;
448 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
449 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
450 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
451 NI currMem;
452 NI maxMem;
453 NI freeMem;
454 NI occ;
455 NI lastSize;
456 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
457 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
458 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
459 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
460 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
461 NIM_BOOL locked;
462 NIM_BOOL blockChunkSizeIncrease;
463 NI nextChunkSize;
464 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
465 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
466 };
467 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
468 NI stackScans;
469 NI cycleCollections;
470 NI maxThreshold;
471 NI maxStackSize;
472 NI maxStackCells;
473 NI cycleTableSize;
474 NI64 maxPause;
475 };
476 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
477 NI counter;
478 NI max;
479 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
480 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
481 };
482 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
483 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
484 NI cycleThreshold;
485 NI zctThreshold;
486 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
487 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
488 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
489 NI recGcLock;
490 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
491 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
492 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
493 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
494 NI gcThreadId;
495 };
496 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
497 struct tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA {
498 tySequence__0thrROz0BxrMaGObPsCz7g* inferred;
499 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
500 tyObject_TType__facALICuu8zUj0hjvbTLFg* potentialImplementation;
501 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
502 };
503 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
504 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
505 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
506 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
507 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
508 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
509 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
510 union{
511 struct {NI64 intVal;
512 } _kind_1;
513 struct {NF floatVal;
514 } _kind_2;
515 struct {NimStringDesc* strVal;
516 } _kind_3;
517 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
518 } _kind_4;
519 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
520 } _kind_5;
521 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
522 } _kind_6;
523 };
524 };
525 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
526 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
527 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
528 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
529 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
530 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
531 union{
532 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
534 } _kind_1;
535 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
536 NI bitsize;
537 NI alignment;
538 } _kind_2;
539 };
540 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
541 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
542 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
543 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
544 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
545 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
546 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
547 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
548 NI position;
549 NI offset;
550 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
551 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
552 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
553 };
554 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
555 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
556 struct tyTuple__WXXbhbShJh5y59cjFFL9coaw {
557 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field0;
558 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field1;
559 };
560 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
561 NI32 module;
562 NI32 symId;
563 NI32 typeId_0;
564 NIM_BOOL sealed;
565 };
566 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
567 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
568 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
569 NimStringDesc* Field0;
570 NI Field1;
571 NI Field2;
572 };
573 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
574 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
575 NI counter;
576 };
577 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
578 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
579 NI counter;
580 };
581 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
582 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
583 NI counter;
584 };
585 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
586 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
587 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
588 NI counter;
589 };
590 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
591 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
592 NI counter;
593 };
594 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
595 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
596 NI counter;
597 };
598 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
599 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
600 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
601 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
602 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
603 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
604 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
605 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
606 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
607 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
608 };
609 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
610 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
611 NI counter;
612 };
613 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
614 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
615 NI counter;
616 };
617 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
618 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
619 NI counter;
620 };
621 typedef struct {
622 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
623 void* ClE_0;
624 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
625 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
626 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
627 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
628 NI counter;
629 };
630 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
631 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
632 NI counter;
633 };
634 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
635 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
636 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
637 tySequence__23SMqauuRsbDANhthj9bWlA* data;
638 NI counter;
639 };
640 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
641 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
642 NI counter;
643 };
644 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
645 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
646 NI counter;
647 };
648 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
649 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
650 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
651 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
652 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
653 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
654 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
655 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
656 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
657 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
658 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
659 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
660 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
661 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
662 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
663 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
664 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
665 };
666 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
667 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
668 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
669 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
670 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
671 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
672 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
673 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
674 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
675 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
676 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
677 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
678 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
679 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
680 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
681 NIM_BOOL suggestMode;
682 NIM_BOOL invalidTransitiveClosure;
683 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
684 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
685 RootObj* backend;
686 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
687 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
688 RootObj* vm;
689 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
690 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
691 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
692 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
693 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
694 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
695 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
696 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
697 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
698 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
699 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
700 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
701 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
702 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
703 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
704 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
705 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
706 tySequence__MAQKEADohlpnXTModtugbQ* passes;
707 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
708 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
709 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
710 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
711 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
712 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
713 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
714 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
715 };
716 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
717 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
718 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
719 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
720 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
721 union{
722 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
723 } _mode_2;
724 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
725 } _mode_3;
726 };
727 };
728 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
729 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
730 RootObj* val;
731 };
732 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
733 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
734 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
735 };
736 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
737 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
738 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
739 };
740 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
741 NI Field0;
742 NI Field1;
743 };
744 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
745 NI Field0;
746 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
747 };
748 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
749 NI Field0;
750 NI Field1;
751 NI Field2;
752 };
753 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
754 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
755 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
756 };
757 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
758 NI Field0;
759 NI Field1;
760 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
761 };
762 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
763 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
764 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
765 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
766 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
767 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
768 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
769 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
770 };
771 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
772 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
773 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
774 };
775 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
776 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
777 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
778 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
779 };
780 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
781 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
782 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
783 };
784 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
785 NimStringDesc* definedSymbols;
786 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
787 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
788 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
789 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
790 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
791 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
792 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
793 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
794 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
795 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
796 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
797 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
798 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
799 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
800 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
801 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
802 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
803 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
804 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
805 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
806 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
807 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
808 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
809 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
810 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
811 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
812 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
813 };
814 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
815 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
816 NI counter;
817 };
818 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
819 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
820 NIM_BOOL symsInit;
821 NIM_BOOL typesInit;
822 NIM_BOOL loadedButAliveSetChanged;
823 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
824 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
825 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
826 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
827 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
828 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
829 };
830 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
831 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
832 NI counter;
833 };
834 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
835 NI32 thisModule;
836 NI32 lastFile;
837 NU32 lastLit;
838 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
839 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
840 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
841 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
842 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
843 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
844 };
845 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
846 NU32 module;
847 NI32 item;
848 };
849 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
850 NI module;
851 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
852 };
853 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
854 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
855 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
856 };
857 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
858 NI Field0;
859 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
860 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
861 };
862 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
863 NI module;
864 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
865 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
866 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
867 };
868 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
869 NI Field0;
870 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
871 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
872 };
873 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
874 NI Field0;
875 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
876 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
877 };
878 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
879 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
880 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
881 };
882 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
883 NI Field0;
884 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
885 };
886 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
887 NI Field0;
888 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
889 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
890 };
891 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
892 NI Field0;
893 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
894 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
895 };
896 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
897 NI Field0;
898 NimStringDesc* Field1;
899 NI32 Field2;
900 };
901 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
902 NI Field0;
903 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
904 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
905 };
906 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
907 NI Field0;
908 NI32 Field1;
909 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
910 };
911 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
912 NI Field0;
913 NI32 Field1;
914 NI32 Field2;
915 };
916 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
917 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
918 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
919 };
920 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
921 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
922 NI Field0;
923 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
924 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
925 };
926 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
927 NI Field0;
928 NI Field1;
929 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
930 };
931 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
932 NI Field0;
933 NimStringDesc* Field1;
934 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
935 };
936 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
937 NI Field0;
938 NimStringDesc* Field1;
939 NI64 Field2;
940 };
941 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
942 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
943 NI entries;
944 };
945 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
946 NI Field0;
947 NimStringDesc* Field1;
948 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
949 };
950 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
951 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
952 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
953 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
954 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
955 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
956 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
957 NIM_BOOL Field3;
958 };
959 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
960 NU32 Field0;
961 NimStringDesc* Field1;
962 };
963 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
964 NU16 line;
965 NI16 col;
966 NU32 file;
967 };
968 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
969 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
970 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
971 NI32 operand;
972 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
973 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
974 };
975 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
976 NU32 Field0;
977 NI32 Field1;
978 };
979 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
980 NU32 Field0;
981 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
982 };
983 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
984 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
985 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
986 };
987 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
988 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
989 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
990 };
991 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
992 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
993 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
994 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
995 };
996 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
997 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
998 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
999 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1000 };
1001 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1002 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1003 NI Field1;
1004 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1005 };
1006 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1007 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1008 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1009 NIM_BOOL generated;
1010 NIM_BOOL isOverriden;
1011 NU32 name;
1012 NI32 path;
1013 };
1014 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1015 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1016 NU32 name;
1017 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1018 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1019 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1020 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1021 NI32 ast;
1022 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1023 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1024 NI bitsize;
1025 NI alignment;
1026 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1027 NI position;
1028 NI offset;
1029 NU32 externalName;
1030 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1031 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1032 NI32 constraint;
1033 };
1034 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1035 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1036 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1037 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1038 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1039 NI32 n;
1040 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1041 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1042 NI64 size;
1043 NI16 align;
1044 NI16 paddingAtEnd;
1045 NI16 lockLevel;
1046 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1047 NI32 nonUniqueId;
1048 };
1049 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1050 NI Field0;
1051 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1052 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1053 };
1054 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1055 NI Field0;
1056 NI32 Field1;
1057 NU32 Field2;
1058 };
1059 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1060 TGenericSeq Sup;
1061 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1062 };
1063 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1064 TGenericSeq Sup;
1065 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1066 };
1067 struct tySequence__0thrROz0BxrMaGObPsCz7g {
1068 TGenericSeq Sup;
1069 tyTuple__WXXbhbShJh5y59cjFFL9coaw data[SEQ_DECL_SIZE];
1070 };
1071 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1072 TGenericSeq Sup;
1073 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1074 };
1075 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1076 TGenericSeq Sup;
1077 tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1078 };
1079 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1080 TGenericSeq Sup;
1081 tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1082 };
1083 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1084 TGenericSeq Sup;
1085 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1086 };
1087 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1088 TGenericSeq Sup;
1089 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1090 };
1091 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1092 TGenericSeq Sup;
1093 tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1094 };
1095 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1096 TGenericSeq Sup;
1097 tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1098 };
1099 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1100 TGenericSeq Sup;
1101 tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1102 };
1103 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1104 TGenericSeq Sup;
1105 tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1106 };
1107 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1108 TGenericSeq Sup;
1109 tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1110 };
1111 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1112 TGenericSeq Sup;
1113 tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1114 };
1115 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1116 TGenericSeq Sup;
1117 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1118 };
1119 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1120 TGenericSeq Sup;
1121 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1122 };
1123 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1124 TGenericSeq Sup;
1125 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1126 };
1127 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1128 TGenericSeq Sup;
1129 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1130 };
1131 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1132 TGenericSeq Sup;
1133 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1134 };
1135 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1136 TGenericSeq Sup;
1137 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1138 };
1139 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1140 TGenericSeq Sup;
1141 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1142 };
1143 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1144 TGenericSeq Sup;
1145 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1146 };
1147 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1148 TGenericSeq Sup;
1149 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1150 };
1151 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1152 TGenericSeq Sup;
1153 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1154 };
1155 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1156 TGenericSeq Sup;
1157 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1158 };
1159 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1160 TGenericSeq Sup;
1161 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1162 };
1163 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1164 TGenericSeq Sup;
1165 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1166 };
1167 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1168 TGenericSeq Sup;
1169 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1170 };
1171 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1172 TGenericSeq Sup;
1173 NI32 data[SEQ_DECL_SIZE];
1174 };
1175 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1176 TGenericSeq Sup;
1177 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1178 };
1179 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1180 TGenericSeq Sup;
1181 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1182 };
1183 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1184 TGenericSeq Sup;
1185 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1186 };
1187 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1188 TGenericSeq Sup;
1189 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1190 };
1191 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1192 TGenericSeq Sup;
1193 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1194 };
1195 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1196 TGenericSeq Sup;
1197 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1198 };
1199 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1200 TGenericSeq Sup;
1201 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1202 };
1203 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1204 TGenericSeq Sup;
1205 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1206 };
1207 struct tySequence__MAQKEADohlpnXTModtugbQ {
1208 TGenericSeq Sup;
1209 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1210 };
1211 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1212 TGenericSeq Sup;
1213 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1214 };
1215 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1216 TGenericSeq Sup;
1217 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1218 };
1219 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1220 TGenericSeq Sup;
1221 NU32 data[SEQ_DECL_SIZE];
1222 };
1223 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1224 TGenericSeq Sup;
1225 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1226 };
1227 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1228 TGenericSeq Sup;
1229 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1230 };
1231 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1232 TGenericSeq Sup;
1233 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1234 };
1235 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1236 TGenericSeq Sup;
1237 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1238 };
1239 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1240 TGenericSeq Sup;
1241 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1242 };
1243 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1244 TGenericSeq Sup;
1245 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1246 };
1247 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1248 TGenericSeq Sup;
1249 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1250 };
1251 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1252 TGenericSeq Sup;
1253 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1254 };
1255 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1256 TGenericSeq Sup;
1257 NimStringDesc* data[SEQ_DECL_SIZE];
1258 };
1259 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1260 TGenericSeq Sup;
1261 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1262 };
1263 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1264 TGenericSeq Sup;
1265 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1266 };
1267 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1268 TGenericSeq Sup;
1269 NI64 data[SEQ_DECL_SIZE];
1270 };
1271 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1272 TGenericSeq Sup;
1273 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1274 };
1275 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1276 TGenericSeq Sup;
1277 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1278 };
1279 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1280 TGenericSeq Sup;
1281 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1282 };
1283 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1284 TGenericSeq Sup;
1285 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1286 };
1287 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1288 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1289 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1290 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1291 static N_INLINE(void, asgnRef)(void** dest, void* src);
1292 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1293 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1294 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr);
1295 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1296 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1297 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1298 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1299 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1300 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1301 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1302 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, conceptMatchNode__concepts_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m);
1303 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1304 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchSyms__concepts_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kinds, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m);
1305 N_LIB_PRIVATE N_NIMCALL(tySequence__eHqUwlHGGaPw0TDPDeL79cQ*, searchInScopesFilterBy__lookups_464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter);
1306 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchSym__concepts_444)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m);
1307 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchType__concepts_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m);
1308 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1309 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1310 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1311 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1312 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, existingBinding__concepts_121)(tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* key);
1313 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1314 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1315 static N_NIMCALL(void, Marker_tySequence__0thrROz0BxrMaGObPsCz7g)(void* p, NI op);
1316 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1317 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1318 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1319 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1320 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchReturnType__concepts_434)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m);
1321 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1322 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
1323 N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1324 N_LIB_PRIVATE N_NIMCALL(void, declareSelf__concepts_13)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1325 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCurrOwner__semdata_315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1326 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
1327 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
1328 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1329 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1330 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1331 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
1332 static N_INLINE(void, addDecl__lookups_841)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1333 N_LIB_PRIVATE N_NIMCALL(void, addDeclAt__lookups_815)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1334 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptDecl__concepts_61)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1335 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1336 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);
1337 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1338 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1339 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1340 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1341 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1342 N_LIB_PRIVATE N_NIMCALL(void, rawCloseScope__lookups_99)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1343 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
1344 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__yT8oP4IKFRSvia7t9bb5q3Q_2 = {
1345 0x00, 0x00, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00,
1346 0x00}
1347 ;
1348 N_LIB_PRIVATE TNimType NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_;
1349 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
1350 N_LIB_PRIVATE TNimType NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_;
1351 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__yT8oP4IKFRSvia7t9bb5q3Q_4 = {
1352 0x10, 0x08, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
1353 0x00}
1354 ;
1355 STRING_LITERAL(TM__yT8oP4IKFRSvia7t9bb5q3Q_5, "Self", 4);
1356 STRING_LITERAL(TM__yT8oP4IKFRSvia7t9bb5q3Q_6, "unexpected construct in the new-styled concept: ", 48);
1357 STRING_LITERAL(TM__yT8oP4IKFRSvia7t9bb5q3Q_8, "/home/runner/work/nightlies/nightlies/nim/compiler/concepts.nim", 63);
1358 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__yT8oP4IKFRSvia7t9bb5q3Q_7 = {((NimStringDesc*) &TM__yT8oP4IKFRSvia7t9bb5q3Q_8),
1359 ((NI) 62),
1360 ((NI) 14)}
1361 ;
1362 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5209;
N_INLINE(NIM_BOOL,isSelf__concepts_38)1363 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1364 NIM_BOOL result;
1365 NIM_BOOL T1_;
1366 result = (NIM_BOOL)0;
1367 T1_ = (NIM_BOOL)0;
1368 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
1369 if (!(T1_)) goto LA2_;
1370 T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
1371 LA2_: ;
1372 result = T1_;
1373 return result;
1374 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,makeTypeDesc__concepts_49)1375 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
1376 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1377 result = NIM_NIL;
1378 {
1379 NIM_BOOL T3_;
1380 NIM_BOOL T5_;
1381 T3_ = (NIM_BOOL)0;
1382 T3_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
1383 if (!(T3_)) goto LA4_;
1384 T5_ = (NIM_BOOL)0;
1385 T5_ = isSelf__concepts_38(typ);
1386 T3_ = !(T5_);
1387 LA4_: ;
1388 if (!T3_) goto LA6_;
1389 result = typ;
1390 }
1391 goto LA1_;
1392 LA6_: ;
1393 {
1394 result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), c);
1395 (*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
1396 addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
1397 }
1398 LA1_: ;
1399 return result;
1400 }
N_INLINE(NI,pluspercent___system_696)1401 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1402 NI result;
1403 result = (NI)0;
1404 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1405 return result;
1406 }
N_INLINE(void,incRef__system_5300)1407 static N_INLINE(void, incRef__system_5300)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1408 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1409 }
N_INLINE(NI,minuspercent___system_716)1410 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1411 NI result;
1412 result = (NI)0;
1413 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1414 return result;
1415 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5262)1416 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(void* usr) {
1417 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1418 NI T1_;
1419 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1420 T1_ = (NI)0;
1421 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1422 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1423 return result;
1424 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1425 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1426 NIM_BOOL result;
1427 result = (NIM_BOOL)0;
1428 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1429 return result;
1430 }
N_INLINE(void,rtlAddZCT__system_5305)1431 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1432 addZCT__system_5256((&gch__system_5209.zct), c);
1433 }
N_INLINE(void,decRef__system_5307)1434 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1435 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1436 {
1437 NIM_BOOL T3_;
1438 T3_ = (NIM_BOOL)0;
1439 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1440 if (!T3_) goto LA4_;
1441 rtlAddZCT__system_5305(c);
1442 }
1443 LA4_: ;
1444 }
N_INLINE(void,asgnRef)1445 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1446 {
1447 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1448 if (!!((src == NIM_NIL))) goto LA3_;
1449 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1450 T5_ = usrToCell__system_5262(src);
1451 incRef__system_5300(T5_);
1452 }
1453 LA3_: ;
1454 {
1455 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1456 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1457 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1458 T10_ = usrToCell__system_5262((*dest));
1459 decRef__system_5307(T10_);
1460 }
1461 LA8_: ;
1462 (*dest) = src;
1463 }
N_NIMCALL(void,add__concepts_23)1464 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son) {
1465 NI T1_;
1466 asgnRef((void**) (&(*father).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*father).sons), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
1467 T1_ = (*father).sons->Sup.len++;
1468 asgnRef((void**) (&(*father).sons->data[T1_]), son);
1469 }
N_INLINE(void,nimSetMem__systemZmemory_7)1470 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1471 void* T1_;
1472 T1_ = (void*)0;
1473 T1_ = memset(a, v, ((size_t) (size)));
1474 }
N_INLINE(void,nimZeroMem)1475 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1476 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1477 }
N_INLINE(NI,len__ast_3198)1478 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1479 NI result;
1480 NI T1_;
1481 result = (NI)0;
1482 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1483 result = T1_;
1484 return result;
1485 }
N_INLINE(NI,len__ast_4002)1486 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1487 NI result;
1488 NI T1_;
1489 result = (NI)0;
1490 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1491 result = T1_;
1492 return result;
1493 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,existingBinding__concepts_121)1494 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, existingBinding__concepts_121)(tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* key) {
1495 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1496 { result = NIM_NIL;
1497 {
1498 NI i;
1499 NI colontmp_;
1500 NI T2_;
1501 NI i_2;
1502 i = (NI)0;
1503 colontmp_ = (NI)0;
1504 T2_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
1505 colontmp_ = T2_;
1506 i_2 = ((NI) 0);
1507 {
1508 while (1) {
1509 if (!(i_2 < colontmp_)) goto LA4;
1510 i = i_2;
1511 {
1512 if (!((*m).inferred->data[i].Field0 == key)) goto LA7_;
1513 result = (*m).inferred->data[i].Field1;
1514 goto BeforeRet_;
1515 }
1516 LA7_: ;
1517 i_2 += ((NI) 1);
1518 } LA4: ;
1519 }
1520 }
1521 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
1522 goto BeforeRet_;
1523 }BeforeRet_: ;
1524 return result;
1525 }
N_NIMCALL(void,Marker_tySequence__0thrROz0BxrMaGObPsCz7g)1526 static N_NIMCALL(void, Marker_tySequence__0thrROz0BxrMaGObPsCz7g)(void* p, NI op) {
1527 tySequence__0thrROz0BxrMaGObPsCz7g* a;
1528 NI T1_;
1529 a = (tySequence__0thrROz0BxrMaGObPsCz7g*)p;
1530 T1_ = (NI)0;
1531 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1532 nimGCvisit((void*)a->data[T1_].Field0, op);
1533 nimGCvisit((void*)a->data[T1_].Field1, op);
1534 }
1535 }
N_NIMCALL(NIM_BOOL,matchType__concepts_142)1536 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchType__concepts_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m) {
1537 NIM_BOOL result;
1538 { result = (NIM_BOOL)0;
1539 switch ((*f).kind) {
1540 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
1541 {
1542 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
1543 T2_ = NIM_NIL;
1544 T2_ = lastSon__ast_3743(f);
1545 result = matchType__concepts_142(c, T2_, a, m);
1546 }
1547 break;
1548 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
1549 {
1550 {
1551 NIM_BOOL T6_;
1552 T6_ = (NIM_BOOL)0;
1553 T6_ = isSelf__concepts_38(f);
1554 if (!T6_) goto LA7_;
1555 result = matchType__concepts_142(c, a, (*m).potentialImplementation, m);
1556 }
1557 goto LA4_;
1558 LA7_: ;
1559 {
1560 {
1561 NIM_BOOL T12_;
1562 NI T14_;
1563 NI T15_;
1564 T12_ = (NIM_BOOL)0;
1565 T12_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
1566 if (!(T12_)) goto LA13_;
1567 T14_ = (NI)0;
1568 T14_ = len__ast_4002(f);
1569 T15_ = (NI)0;
1570 T15_ = len__ast_4002(a);
1571 T12_ = (T14_ == T15_);
1572 LA13_: ;
1573 if (!T12_) goto LA16_;
1574 {
1575 NI i;
1576 NI colontmp_;
1577 NI i_2;
1578 i = (NI)0;
1579 colontmp_ = (NI)0;
1580 colontmp_ = len__ast_4002(a);
1581 i_2 = ((NI) 0);
1582 {
1583 while (1) {
1584 if (!(i_2 < colontmp_)) goto LA20;
1585 i = i_2;
1586 {
1587 NIM_BOOL T23_;
1588 T23_ = (NIM_BOOL)0;
1589 T23_ = matchType__concepts_142(c, (*f).sons->data[i], (*a).sons->data[i], m);
1590 if (!!(T23_)) goto LA24_;
1591 result = NIM_FALSE;
1592 goto BeforeRet_;
1593 }
1594 LA24_: ;
1595 i_2 += ((NI) 1);
1596 } LA20: ;
1597 }
1598 }
1599 result = NIM_TRUE;
1600 goto BeforeRet_;
1601 }
1602 LA16_: ;
1603 }
1604 LA4_: ;
1605 }
1606 break;
1607 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
1608 {
1609 {
1610 NIM_BOOL T29_;
1611 T29_ = (NIM_BOOL)0;
1612 T29_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
1613 if (!(T29_)) goto LA30_;
1614 T29_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
1615 LA30_: ;
1616 if (!T29_) goto LA31_;
1617 {
1618 NIM_BOOL T35_;
1619 NI T37_;
1620 NI T38_;
1621 T35_ = (NIM_BOOL)0;
1622 T35_ = sameType__types_1815((*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], 0);
1623 if (!(T35_)) goto LA36_;
1624 T37_ = (NI)0;
1625 T37_ = len__ast_4002(f);
1626 T38_ = (NI)0;
1627 T38_ = len__ast_4002(a);
1628 T35_ = (T37_ == (NI)(T38_ - ((NI) 1)));
1629 LA36_: ;
1630 if (!T35_) goto LA39_;
1631 {
1632 NI i_3;
1633 NI colontmp__2;
1634 NI i_4;
1635 i_3 = (NI)0;
1636 colontmp__2 = (NI)0;
1637 colontmp__2 = len__ast_4002(f);
1638 i_4 = ((NI) 1);
1639 {
1640 while (1) {
1641 if (!(i_4 < colontmp__2)) goto LA43;
1642 i_3 = i_4;
1643 {
1644 NIM_BOOL T46_;
1645 T46_ = (NIM_BOOL)0;
1646 T46_ = matchType__concepts_142(c, (*f).sons->data[i_3], (*a).sons->data[i_3], m);
1647 if (!!(T46_)) goto LA47_;
1648 result = NIM_FALSE;
1649 goto BeforeRet_;
1650 }
1651 LA47_: ;
1652 i_4 += ((NI) 1);
1653 } LA43: ;
1654 }
1655 }
1656 result = NIM_TRUE;
1657 goto BeforeRet_;
1658 }
1659 LA39_: ;
1660 }
1661 LA31_: ;
1662 }
1663 break;
1664 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
1665 {
1666 tyObject_TType__facALICuu8zUj0hjvbTLFg* ak;
1667 ak = skipTypes__ast_3735(a, TM__yT8oP4IKFRSvia7t9bb5q3Q_2);
1668 {
1669 NIM_BOOL T52_;
1670 NIM_BOOL T54_;
1671 T52_ = (NIM_BOOL)0;
1672 T52_ = ((*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
1673 if (!(T52_)) goto LA53_;
1674 T54_ = (NIM_BOOL)0;
1675 T54_ = isSelf__concepts_38(ak);
1676 T52_ = !(T54_);
1677 LA53_: ;
1678 if (!T52_) goto LA55_;
1679 result = NIM_FALSE;
1680 }
1681 goto LA50_;
1682 LA55_: ;
1683 {
1684 tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
1685 old = existingBinding__concepts_121((&(*m)), f);
1686 {
1687 if (!(old == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA60_;
1688 {
1689 NIM_BOOL T64_;
1690 NI T65_;
1691 NI oldLen;
1692 NI T69_;
1693 T64_ = (NIM_BOOL)0;
1694 T65_ = (NI)0;
1695 T65_ = len__ast_4002(f);
1696 T64_ = (((NI) 0) < T65_);
1697 if (!(T64_)) goto LA66_;
1698 T64_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
1699 LA66_: ;
1700 if (!T64_) goto LA67_;
1701 T69_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
1702 oldLen = T69_;
1703 result = matchType__concepts_142(c, (*f).sons->data[((NI) 0)], a, m);
1704 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen))));
1705 {
1706 tyTuple__WXXbhbShJh5y59cjFFL9coaw T74_;
1707 NI T75_;
1708 if (!result) goto LA72_;
1709 nimZeroMem((void*)(&T74_), sizeof(tyTuple__WXXbhbShJh5y59cjFFL9coaw));
1710 T74_.Field0 = f;
1711 T74_.Field1 = ak;
1712 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) incrSeqV3((TGenericSeq*)((*m).inferred), (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_)));
1713 T75_ = (*m).inferred->Sup.len++;
1714 asgnRef((void**) (&(*m).inferred->data[T75_].Field0), T74_.Field0);
1715 asgnRef((void**) (&(*m).inferred->data[T75_].Field1), T74_.Field1);
1716 }
1717 LA72_: ;
1718 }
1719 goto LA62_;
1720 LA67_: ;
1721 {
1722 NIM_BOOL T77_;
1723 tyTuple__WXXbhbShJh5y59cjFFL9coaw T81_;
1724 NI T82_;
1725 T77_ = (NIM_BOOL)0;
1726 T77_ = ((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
1727 if (!(T77_)) goto LA78_;
1728 T77_ = ((*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
1729 LA78_: ;
1730 if (!T77_) goto LA79_;
1731 nimZeroMem((void*)(&T81_), sizeof(tyTuple__WXXbhbShJh5y59cjFFL9coaw));
1732 T81_.Field0 = f;
1733 T81_.Field1 = lastSon__ast_3743(ak);
1734 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) incrSeqV3((TGenericSeq*)((*m).inferred), (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_)));
1735 T82_ = (*m).inferred->Sup.len++;
1736 asgnRef((void**) (&(*m).inferred->data[T82_].Field0), T81_.Field0);
1737 asgnRef((void**) (&(*m).inferred->data[T82_].Field1), T81_.Field1);
1738 result = NIM_TRUE;
1739 }
1740 goto LA62_;
1741 LA79_: ;
1742 {
1743 tyTuple__WXXbhbShJh5y59cjFFL9coaw T84_;
1744 NI T85_;
1745 nimZeroMem((void*)(&T84_), sizeof(tyTuple__WXXbhbShJh5y59cjFFL9coaw));
1746 T84_.Field0 = f;
1747 T84_.Field1 = ak;
1748 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) incrSeqV3((TGenericSeq*)((*m).inferred), (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_)));
1749 T85_ = (*m).inferred->Sup.len++;
1750 asgnRef((void**) (&(*m).inferred->data[T85_].Field0), T84_.Field0);
1751 asgnRef((void**) (&(*m).inferred->data[T85_].Field1), T84_.Field1);
1752 result = NIM_TRUE;
1753 }
1754 LA62_: ;
1755 }
1756 goto LA58_;
1757 LA60_: ;
1758 {
1759 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym32_;
1760 NIM_BOOL T87_;
1761 xX60gensym32_ = old;
1762 T87_ = (NIM_BOOL)0;
1763 T87_ = containsOrIncl__astalgo_402((&(*m).marker), (NI)((NI)((NU32)(((NI) ((*xX60gensym32_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym32_).Sup.itemId.item))));
1764 if (!!(T87_)) goto LA88_;
1765 result = matchType__concepts_142(c, old, ak, m);
1766 {
1767 NIM_BOOL T92_;
1768 T92_ = (NIM_BOOL)0;
1769 T92_ = ((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6));
1770 if (!(T92_)) goto LA93_;
1771 T92_ = ((*ak).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
1772 LA93_: ;
1773 if (!T92_) goto LA94_;
1774 result = NIM_TRUE;
1775 }
1776 LA94_: ;
1777 }
1778 goto LA58_;
1779 LA88_: ;
1780 LA58_: ;
1781 }
1782 LA50_: ;
1783 }
1784 break;
1785 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
1786 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
1787 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
1788 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
1789 {
1790 {
1791 if (!((*a).kind == (*f).kind)) goto LA99_;
1792 result = matchType__concepts_142(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], m);
1793 }
1794 goto LA97_;
1795 LA99_: ;
1796 {
1797 if (!((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA102_;
1798 result = matchType__concepts_142(c, (*f).sons->data[((NI) 0)], a, m);
1799 }
1800 goto LA97_;
1801 LA102_: ;
1802 {
1803 result = NIM_FALSE;
1804 }
1805 LA97_: ;
1806 }
1807 break;
1808 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
1809 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
1810 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
1811 {
1812 result = sameType__types_1815(f, a, 0);
1813 }
1814 break;
1815 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
1816 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
1817 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
1818 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
1819 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
1820 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
1821 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
1822 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
1823 {
1824 tyObject_TType__facALICuu8zUj0hjvbTLFg* T107_;
1825 T107_ = NIM_NIL;
1826 T107_ = skipTypes__ast_3735(a, TM__yT8oP4IKFRSvia7t9bb5q3Q_4);
1827 result = ((*T107_).kind == (*f).kind);
1828 }
1829 break;
1830 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
1831 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
1832 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
1833 {
1834 tyObject_TType__facALICuu8zUj0hjvbTLFg* ak_2;
1835 NIM_BOOL T109_;
1836 NIM_BOOL T110_;
1837 NIM_BOOL T113_;
1838 NIM_BOOL T114_;
1839 NI T116_;
1840 ak_2 = skipTypes__ast_3735(a, TM__yT8oP4IKFRSvia7t9bb5q3Q_4);
1841 T109_ = (NIM_BOOL)0;
1842 T110_ = (NIM_BOOL)0;
1843 T110_ = ((*ak_2).kind == (*f).kind);
1844 if (T110_) goto LA111_;
1845 T110_ = ((*ak_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15));
1846 LA111_: ;
1847 T109_ = T110_;
1848 if (T109_) goto LA112_;
1849 T113_ = (NIM_BOOL)0;
1850 T114_ = (NIM_BOOL)0;
1851 T114_ = ((*ak_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
1852 if (!(T114_)) goto LA115_;
1853 T116_ = (NI)0;
1854 T116_ = len__ast_4002(ak_2);
1855 T114_ = (((NI) 0) < T116_);
1856 LA115_: ;
1857 T113_ = T114_;
1858 if (!(T113_)) goto LA117_;
1859 T113_ = ((*(*ak_2).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15));
1860 LA117_: ;
1861 T109_ = T113_;
1862 LA112_: ;
1863 result = T109_;
1864 }
1865 break;
1866 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
1867 {
1868 NI oldLen_2;
1869 NI T119_;
1870 tyObject_TType__facALICuu8zUj0hjvbTLFg* oldPotentialImplementation;
1871 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
1872 T119_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
1873 oldLen_2 = T119_;
1874 oldPotentialImplementation = (*m).potentialImplementation;
1875 unsureAsgnRef((void**) (&(*m).potentialImplementation), a);
1876 T120_ = NIM_NIL;
1877 T120_ = lastSon__ast_4832((*f).n);
1878 result = conceptMatchNode__concepts_138(c, T120_, m);
1879 unsureAsgnRef((void**) (&(*m).potentialImplementation), oldPotentialImplementation);
1880 {
1881 if (!!(result)) goto LA123_;
1882 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen_2))));
1883 }
1884 LA123_: ;
1885 }
1886 break;
1887 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
1888 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
1889 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
1890 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
1891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
1892 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
1893 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
1894 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
1895 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
1896 {
1897 tyObject_TType__facALICuu8zUj0hjvbTLFg* ak_3;
1898 NI T126_;
1899 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag T127_;
1900 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag T128_;
1901 T126_ = (NI)0;
1902 nimZeroMem(T127_, sizeof(tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag));
1903 T127_[(NU)((*f).kind)>>3] |=(1U<<((NU)((*f).kind)&7U));
1904 for (T126_ = 0; T126_ < 9; T126_++)
1905 T128_[T126_] = TM__yT8oP4IKFRSvia7t9bb5q3Q_4[T126_] & ~ T127_[T126_];
1906 ak_3 = skipTypes__ast_3735(a, T128_);
1907 {
1908 NIM_BOOL T131_;
1909 NI T133_;
1910 NI T134_;
1911 T131_ = (NIM_BOOL)0;
1912 T131_ = ((*ak_3).kind == (*f).kind);
1913 if (!(T131_)) goto LA132_;
1914 T133_ = (NI)0;
1915 T133_ = len__ast_4002(f);
1916 T134_ = (NI)0;
1917 T134_ = len__ast_4002(ak_3);
1918 T131_ = (T133_ == T134_);
1919 LA132_: ;
1920 if (!T131_) goto LA135_;
1921 {
1922 NI i_5;
1923 NI colontmp__3;
1924 NI i_6;
1925 i_5 = (NI)0;
1926 colontmp__3 = (NI)0;
1927 colontmp__3 = len__ast_4002(ak_3);
1928 i_6 = ((NI) 0);
1929 {
1930 while (1) {
1931 if (!(i_6 < colontmp__3)) goto LA139;
1932 i_5 = i_6;
1933 {
1934 NIM_BOOL T142_;
1935 T142_ = (NIM_BOOL)0;
1936 T142_ = matchType__concepts_142(c, (*f).sons->data[i_5], (*ak_3).sons->data[i_5], m);
1937 if (!!(T142_)) goto LA143_;
1938 result = NIM_FALSE;
1939 goto BeforeRet_;
1940 }
1941 LA143_: ;
1942 i_6 += ((NI) 1);
1943 } LA139: ;
1944 }
1945 }
1946 result = NIM_TRUE;
1947 goto BeforeRet_;
1948 }
1949 LA135_: ;
1950 }
1951 break;
1952 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
1953 {
1954 NI oldLen_3;
1955 NI T146_;
1956 T146_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
1957 oldLen_3 = T146_;
1958 {
1959 NI covered;
1960 NI T162_;
1961 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA149_;
1962 covered = ((NI) 0);
1963 {
1964 NI i_7;
1965 NI colontmp__4;
1966 NI i_8;
1967 i_7 = (NI)0;
1968 colontmp__4 = (NI)0;
1969 colontmp__4 = len__ast_4002(f);
1970 i_8 = ((NI) 0);
1971 {
1972 while (1) {
1973 if (!(i_8 < colontmp__4)) goto LA153;
1974 i_7 = i_8;
1975 {
1976 NI j;
1977 NI colontmp__5;
1978 NI i_9;
1979 j = (NI)0;
1980 colontmp__5 = (NI)0;
1981 colontmp__5 = len__ast_4002(a);
1982 i_9 = ((NI) 0);
1983 {
1984 while (1) {
1985 NI oldLenB;
1986 NI T157_;
1987 NIM_BOOL r;
1988 if (!(i_9 < colontmp__5)) goto LA156;
1989 j = i_9;
1990 T157_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
1991 oldLenB = T157_;
1992 r = matchType__concepts_142(c, (*f).sons->data[i_7], (*a).sons->data[j], m);
1993 {
1994 if (!r) goto LA160_;
1995 covered += ((NI) 1);
1996 goto LA154;
1997 }
1998 LA160_: ;
1999 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLenB))));
2000 i_9 += ((NI) 1);
2001 } LA156: ;
2002 }
2003 } LA154: ;
2004 i_8 += ((NI) 1);
2005 } LA153: ;
2006 }
2007 }
2008 T162_ = (NI)0;
2009 T162_ = len__ast_4002(a);
2010 result = (T162_ <= covered);
2011 {
2012 if (!!(result)) goto LA165_;
2013 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen_3))));
2014 }
2015 LA165_: ;
2016 }
2017 goto LA147_;
2018 LA149_: ;
2019 {
2020 {
2021 NI i_10;
2022 NI colontmp__6;
2023 NI i_11;
2024 i_10 = (NI)0;
2025 colontmp__6 = (NI)0;
2026 colontmp__6 = len__ast_4002(f);
2027 i_11 = ((NI) 0);
2028 {
2029 while (1) {
2030 if (!(i_11 < colontmp__6)) goto LA170;
2031 i_10 = i_11;
2032 result = matchType__concepts_142(c, (*f).sons->data[i_10], a, m);
2033 {
2034 if (!result) goto LA173_;
2035 goto LA168;
2036 }
2037 LA173_: ;
2038 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen_3))));
2039 i_11 += ((NI) 1);
2040 } LA170: ;
2041 }
2042 } LA168: ;
2043 }
2044 LA147_: ;
2045 }
2046 break;
2047 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
2048 {
2049 {
2050 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58))) goto LA178_;
2051 result = matchType__concepts_142(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], m);
2052 }
2053 goto LA176_;
2054 LA178_: ;
2055 {
2056 NI oldLen_4;
2057 NI T181_;
2058 NIM_BOOL T182_;
2059 T181_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
2060 oldLen_4 = T181_;
2061 T182_ = (NIM_BOOL)0;
2062 T182_ = matchType__concepts_142(c, (*f).sons->data[((NI) 0)], a, m);
2063 result = !(T182_);
2064 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen_4))));
2065 }
2066 LA176_: ;
2067 }
2068 break;
2069 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
2070 {
2071 result = NIM_TRUE;
2072 }
2073 break;
2074 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2075 {
2076 NIM_BOOL T185_;
2077 T185_ = (NIM_BOOL)0;
2078 T185_ = isOrdinalType__types_299(a, NIM_FALSE);
2079 if (T185_) goto LA186_;
2080 T185_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
2081 LA186_: ;
2082 result = T185_;
2083 }
2084 break;
2085 default:
2086 {
2087 result = NIM_FALSE;
2088 }
2089 break;
2090 }
2091 }BeforeRet_: ;
2092 return result;
2093 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)2094 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2095 NIM_BOOL result;
2096 NIM_BOOL T1_;
2097 result = (NIM_BOOL)0;
2098 T1_ = (NIM_BOOL)0;
2099 T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2100 if (T1_) goto LA2_;
2101 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
2102 LA2_: ;
2103 result = T1_;
2104 return result;
2105 }
N_NIMCALL(NIM_BOOL,matchReturnType__concepts_434)2106 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchReturnType__concepts_434)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m) {
2107 NIM_BOOL result;
2108 result = (NIM_BOOL)0;
2109 {
2110 NIM_BOOL T3_;
2111 T3_ = (NIM_BOOL)0;
2112 T3_ = isEmptyType__ast_4779(f);
2113 if (!T3_) goto LA4_;
2114 result = isEmptyType__ast_4779(a);
2115 }
2116 goto LA1_;
2117 LA4_: ;
2118 {
2119 if (!(a == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
2120 result = NIM_FALSE;
2121 }
2122 goto LA1_;
2123 LA7_: ;
2124 {
2125 result = matchType__concepts_142(c, f, a, m);
2126 }
2127 LA1_: ;
2128 return result;
2129 }
N_NIMCALL(NIM_BOOL,matchSym__concepts_444)2130 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchSym__concepts_444)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m) {
2131 NIM_BOOL result;
2132 NI oldLen;
2133 NI T1_;
2134 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* can;
2135 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* con;
2136 NI common;
2137 NI T8_;
2138 NI T9_;
2139 { result = (NIM_BOOL)0;
2140 T1_ = ((*m).inferred ? (*m).inferred->Sup.len : 0);
2141 oldLen = T1_;
2142 can = (*(*candidate).typ).n;
2143 con = (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).n;
2144 {
2145 NI T4_;
2146 NI T5_;
2147 T4_ = (NI)0;
2148 T4_ = len__ast_3198(can);
2149 T5_ = (NI)0;
2150 T5_ = len__ast_3198(con);
2151 if (!(T4_ < T5_)) goto LA6_;
2152 result = NIM_FALSE;
2153 goto BeforeRet_;
2154 }
2155 LA6_: ;
2156 T8_ = (NI)0;
2157 T8_ = len__ast_3198(can);
2158 T9_ = (NI)0;
2159 T9_ = len__ast_3198(con);
2160 common = ((T8_ <= T9_) ? T8_ : T9_);
2161 {
2162 NI i;
2163 NI i_2;
2164 i = (NI)0;
2165 i_2 = ((NI) 1);
2166 {
2167 while (1) {
2168 if (!(i_2 < common)) goto LA12;
2169 i = i_2;
2170 {
2171 NIM_BOOL T15_;
2172 T15_ = (NIM_BOOL)0;
2173 T15_ = matchType__concepts_142(c, (*(*con)._kind_6.sons->data[i]).typ, (*(*can)._kind_6.sons->data[i]).typ, m);
2174 if (!!(T15_)) goto LA16_;
2175 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen))));
2176 result = NIM_FALSE;
2177 goto BeforeRet_;
2178 }
2179 LA16_: ;
2180 i_2 += ((NI) 1);
2181 } LA12: ;
2182 }
2183 }
2184 {
2185 NIM_BOOL T20_;
2186 T20_ = (NIM_BOOL)0;
2187 T20_ = matchReturnType__concepts_434(c, (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).sons->data[((NI) 0)], (*(*candidate).typ).sons->data[((NI) 0)], m);
2188 if (!!(T20_)) goto LA21_;
2189 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen))));
2190 result = NIM_FALSE;
2191 goto BeforeRet_;
2192 }
2193 LA21_: ;
2194 {
2195 NI i_3;
2196 NI colontmp_;
2197 NI i_4;
2198 i_3 = (NI)0;
2199 colontmp_ = (NI)0;
2200 colontmp_ = len__ast_3198(can);
2201 i_4 = common;
2202 {
2203 while (1) {
2204 if (!(i_4 < colontmp_)) goto LA25;
2205 i_3 = i_4;
2206 {
2207 if (!((*(*(*can)._kind_6.sons->data[i_3])._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA28_;
2208 unsureAsgnRef((void**) (&(*m).inferred), (tySequence__0thrROz0BxrMaGObPsCz7g*) setLengthSeqV2(&((*m).inferred)->Sup, (&NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_), ((NI) (oldLen))));
2209 result = NIM_FALSE;
2210 goto BeforeRet_;
2211 }
2212 LA28_: ;
2213 i_4 += ((NI) 1);
2214 } LA25: ;
2215 }
2216 }
2217 result = NIM_TRUE;
2218 goto BeforeRet_;
2219 }BeforeRet_: ;
2220 return result;
2221 }
N_NIMCALL(NIM_BOOL,matchSyms__concepts_511)2222 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchSyms__concepts_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kinds, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m) {
2223 NIM_BOOL result;
2224 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* candidates;
2225 { result = (NIM_BOOL)0;
2226 candidates = searchInScopesFilterBy__lookups_464(c, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name, kinds);
2227 {
2228 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** candidate;
2229 NI i;
2230 NI L;
2231 NI T2_;
2232 candidate = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
2233 i = ((NI) 0);
2234 T2_ = (candidates ? candidates->Sup.len : 0);
2235 L = T2_;
2236 {
2237 while (1) {
2238 if (!(i < L)) goto LA4;
2239 candidate = &candidates->data[i];
2240 (*m).magic = (*(*candidate)).magic;
2241 {
2242 NIM_BOOL T7_;
2243 T7_ = (NIM_BOOL)0;
2244 T7_ = matchSym__concepts_444(c, (*candidate), n, m);
2245 if (!T7_) goto LA8_;
2246 result = NIM_TRUE;
2247 goto BeforeRet_;
2248 }
2249 LA8_: ;
2250 i += ((NI) 1);
2251 } LA4: ;
2252 }
2253 }
2254 result = NIM_FALSE;
2255 }BeforeRet_: ;
2256 return result;
2257 }
N_NIMCALL(NIM_BOOL,conceptMatchNode__concepts_138)2258 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, conceptMatchNode__concepts_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA* m) {
2259 NIM_BOOL result;
2260 { result = (NIM_BOOL)0;
2261 switch ((*n).kind) {
2262 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
2263 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2264 {
2265 {
2266 NI i;
2267 NI colontmp_;
2268 NI i_2;
2269 i = (NI)0;
2270 colontmp_ = (NI)0;
2271 colontmp_ = len__ast_3198(n);
2272 i_2 = ((NI) 0);
2273 {
2274 while (1) {
2275 if (!(i_2 < colontmp_)) goto LA4;
2276 i = i_2;
2277 {
2278 NIM_BOOL T7_;
2279 T7_ = (NIM_BOOL)0;
2280 T7_ = conceptMatchNode__concepts_138(c, (*n)._kind_6.sons->data[i], m);
2281 if (!!(T7_)) goto LA8_;
2282 result = NIM_FALSE;
2283 goto BeforeRet_;
2284 }
2285 LA8_: ;
2286 i_2 += ((NI) 1);
2287 } LA4: ;
2288 }
2289 }
2290 result = NIM_TRUE;
2291 goto BeforeRet_;
2292 }
2293 break;
2294 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
2295 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2296 {
2297 result = matchSyms__concepts_511(c, n, 487424, m);
2298 }
2299 break;
2300 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
2301 {
2302 result = matchSyms__concepts_511(c, n, 262144, m);
2303 }
2304 break;
2305 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
2306 {
2307 result = matchSyms__concepts_511(c, n, 131072, m);
2308 }
2309 break;
2310 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
2311 {
2312 result = matchSyms__concepts_511(c, n, 65536, m);
2313 }
2314 break;
2315 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
2316 {
2317 result = matchSyms__concepts_511(c, n, 16384, m);
2318 }
2319 break;
2320 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2321 {
2322 result = matchSyms__concepts_511(c, n, 32768, m);
2323 }
2324 break;
2325 default:
2326 {
2327 result = NIM_FALSE;
2328 }
2329 break;
2330 }
2331 }BeforeRet_: ;
2332 return result;
2333 }
N_NIMCALL(NIM_BOOL,conceptMatch__concepts_538)2334 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, conceptMatch__concepts_538)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt, tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* bindings, tyObject_TType__facALICuu8zUj0hjvbTLFg* invocation) {
2335 NIM_BOOL result;
2336 tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA m;
2337 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
2338 result = (NIM_BOOL)0;
2339 nimZeroMem((void*)(&m), sizeof(tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA));
2340 nimZeroMem((void*)(&m), sizeof(tyObject_MatchCon__XAtbGHUSmpZpioS00IpNtA));
2341 m.inferred = NIM_NIL;
2342 m.potentialImplementation = arg;
2343 T1_ = NIM_NIL;
2344 T1_ = lastSon__ast_4832((*concpt).n);
2345 result = conceptMatchNode__concepts_138(c, T1_, (&m));
2346 {
2347 if (!result) goto LA4_;
2348 {
2349 tyObject_TType__facALICuu8zUj0hjvbTLFg** a;
2350 tyObject_TType__facALICuu8zUj0hjvbTLFg** b;
2351 NI i;
2352 NI L;
2353 NI T7_;
2354 a = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
2355 b = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
2356 i = ((NI) 0);
2357 T7_ = (m.inferred ? m.inferred->Sup.len : 0);
2358 L = T7_;
2359 {
2360 while (1) {
2361 if (!(i < L)) goto LA9;
2362 a = &m.inferred->data[i].Field0;
2363 b = &m.inferred->data[i].Field1;
2364 {
2365 tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
2366 if (!((*(*b)).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA12_;
2367 dest = (*b);
2368 {
2369 while (1) {
2370 dest = existingBinding__concepts_121((&m), dest);
2371 {
2372 NIM_BOOL T18_;
2373 T18_ = (NIM_BOOL)0;
2374 T18_ = (dest == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2375 if (T18_) goto LA19_;
2376 T18_ = !(((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
2377 LA19_: ;
2378 if (!T18_) goto LA20_;
2379 goto LA14;
2380 }
2381 LA20_: ;
2382 }
2383 } LA14: ;
2384 {
2385 if (!!((dest == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA24_;
2386 idTablePut__astalgo_70(bindings, &(*a)->Sup, (*((RootObj**) (&(dest)))));
2387 }
2388 LA24_: ;
2389 }
2390 goto LA10_;
2391 LA12_: ;
2392 {
2393 idTablePut__astalgo_70(bindings, &(*a)->Sup, &(*b)->Sup.Sup);
2394 }
2395 LA10_: ;
2396 i += ((NI) 1);
2397 } LA9: ;
2398 }
2399 }
2400 idTablePut__astalgo_70(bindings, &concpt->Sup, &arg->Sup.Sup);
2401 {
2402 NIM_BOOL T29_;
2403 NIM_BOOL T30_;
2404 NI T33_;
2405 NI T34_;
2406 T29_ = (NIM_BOOL)0;
2407 T30_ = (NIM_BOOL)0;
2408 T30_ = !((invocation == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2409 if (!(T30_)) goto LA31_;
2410 T30_ = ((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
2411 LA31_: ;
2412 T29_ = T30_;
2413 if (!(T29_)) goto LA32_;
2414 T33_ = (NI)0;
2415 T33_ = len__ast_4002(invocation);
2416 T34_ = (NI)0;
2417 T34_ = len__ast_4002(arg);
2418 T29_ = (T33_ == (NI)(T34_ - ((NI) 1)));
2419 LA32_: ;
2420 if (!T29_) goto LA35_;
2421 {
2422 NI i_2;
2423 NI colontmp_;
2424 NI i_3;
2425 i_2 = (NI)0;
2426 colontmp_ = (NI)0;
2427 colontmp_ = len__ast_4002(invocation);
2428 i_3 = ((NI) 1);
2429 {
2430 while (1) {
2431 if (!(i_3 < colontmp_)) goto LA39;
2432 i_2 = i_3;
2433 idTablePut__astalgo_70(bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*invocation).sons->data[i_2])))), (*((RootObj**) (&((*arg).sons->data[i_2])))));
2434 i_3 += ((NI) 1);
2435 } LA39: ;
2436 }
2437 }
2438 }
2439 LA35_: ;
2440 }
2441 LA4_: ;
2442 return result;
2443 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)2444 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2445 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2446 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2447 (*x).symId += ((NI) 1);
2448 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2449 result.module = (*x).module;
2450 result.item = (*x).symId;
2451 return result;
2452 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)2453 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
2454 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
2455 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2456 (*x).typeId_0 += ((NI) 1);
2457 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
2458 result.module = (*x).module;
2459 result.item = (*x).typeId_0;
2460 return result;
2461 }
N_INLINE(void,addDecl__lookups_841)2462 static N_INLINE(void, addDecl__lookups_841)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2463 addDeclAt__lookups_815(c, (*c).currentScope, sym, info);
2464 }
N_NIMCALL(void,declareSelf__concepts_13)2465 N_LIB_PRIVATE N_NIMCALL(void, declareSelf__concepts_13)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2466 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow;
2467 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2468 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
2469 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
2470 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
2471 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T4_;
2472 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
2473 ow = getCurrOwner__semdata_315(c);
2474 T1_ = NIM_NIL;
2475 T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__yT8oP4IKFRSvia7t9bb5q3Q_5));
2476 T2_ = nextSymId__ast_3132((*c).Sup.idgen);
2477 s = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T1_, T2_, ow, info, 0);
2478 T3_ = nextTypeId__ast_3151((*c).Sup.idgen);
2479 asgnRef((void**) (&(*s).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T3_, ow));
2480 (*(*s).typ).flags = ((*(*s).typ).flags | 8389120);
2481 T4_ = nextTypeId__ast_3151((*c).Sup.idgen);
2482 T5_ = NIM_NIL;
2483 T5_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), T4_, ow);
2484 add__concepts_23((*s).typ, T5_);
2485 addDecl__lookups_841(c, s, info);
2486 }
N_INLINE(void,nimCopyMem)2487 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2488 void* T1_;
2489 T1_ = (void*)0;
2490 T1_ = memcpy(dest, source, ((size_t) (size)));
2491 }
N_INLINE(void,copyMem__system_1727)2492 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2493 nimCopyMem(dest, source, size);
2494 }
N_INLINE(void,appendString)2495 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2496 {
2497 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2498 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2499 (*dest).Sup.len += (*src).Sup.len;
2500 }
2501 LA3_: ;
2502 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConceptDecl__concepts_61)2503 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptDecl__concepts_61)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2504 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2505 result = NIM_NIL;
2506 switch ((*n).kind) {
2507 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
2508 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
2509 {
2510 result = shallowCopy__ast_4413(n);
2511 {
2512 NI i;
2513 NI colontmp_;
2514 NI i_2;
2515 i = (NI)0;
2516 colontmp_ = (NI)0;
2517 colontmp_ = len__ast_3198(n);
2518 i_2 = ((NI) 0);
2519 {
2520 while (1) {
2521 if (!(i_2 < colontmp_)) goto LA4;
2522 i = i_2;
2523 asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semConceptDecl__concepts_61(c, (*n)._kind_6.sons->data[i]));
2524 i_2 += ((NI) 1);
2525 } LA4: ;
2526 }
2527 }
2528 }
2529 break;
2530 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
2531 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
2532 {
2533 result = (*c).semExpr(c, n, 128);
2534 }
2535 break;
2536 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
2537 {
2538 NI T11_;
2539 NI T12_;
2540 result = shallowCopy__ast_4413(n);
2541 {
2542 NI i_3;
2543 NI colontmp__2;
2544 NI T8_;
2545 NI i_4;
2546 i_3 = (NI)0;
2547 colontmp__2 = (NI)0;
2548 T8_ = (NI)0;
2549 T8_ = len__ast_3198(n);
2550 colontmp__2 = (NI)(T8_ - ((NI) 1));
2551 i_4 = ((NI) 0);
2552 {
2553 while (1) {
2554 if (!(i_4 < colontmp__2)) goto LA10;
2555 i_3 = i_4;
2556 asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), (*n)._kind_6.sons->data[i_3]);
2557 i_4 += ((NI) 1);
2558 } LA10: ;
2559 }
2560 }
2561 T11_ = (NI)0;
2562 T11_ = len__ast_3198(result);
2563 T12_ = (NI)0;
2564 T12_ = len__ast_3198(n);
2565 asgnRef((void**) (&(*result)._kind_6.sons->data[(NI)(T11_ - ((NI) 1))]), semConceptDecl__concepts_61(c, (*n)._kind_6.sons->data[(NI)(T12_ - ((NI) 1))]));
2566 }
2567 break;
2568 default:
2569 {
2570 NimStringDesc* T14_;
2571 NimStringDesc* T15_;
2572 T14_ = NIM_NIL;
2573 T15_ = NIM_NIL;
2574 T15_ = renderTree__renderer_46(n, 0);
2575 T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 48);
2576 appendString(T14_, ((NimStringDesc*) &TM__yT8oP4IKFRSvia7t9bb5q3Q_6));
2577 appendString(T14_, T15_);
2578 liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__yT8oP4IKFRSvia7t9bb5q3Q_7, NIM_FALSE);
2579 result = n;
2580 }
2581 break;
2582 }
2583 return result;
2584 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConceptDeclaration__concepts_97)2585 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptDeclaration__concepts_97)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2586 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2587 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
2588 result = NIM_NIL;
2589 (*c).inConceptDecl += ((NI) 1);
2590 T1_ = NIM_NIL;
2591 T1_ = openScope__lookups_69(c);
2592 declareSelf__concepts_13(c, (*n).info);
2593 result = semConceptDecl__concepts_61(c, n);
2594 rawCloseScope__lookups_99(c);
2595 (*c).inConceptDecl -= ((NI) 1);
2596 return result;
2597 }
N_NIMCALL(void,compiler_conceptsDatInit000)2598 N_LIB_PRIVATE N_NIMCALL(void, compiler_conceptsDatInit000)(void) {
2599 static TNimNode* TM__yT8oP4IKFRSvia7t9bb5q3Q_3_2[2];
2600 static TNimNode TM__yT8oP4IKFRSvia7t9bb5q3Q_0[3];
2601 NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_.size = sizeof(tyTuple__WXXbhbShJh5y59cjFFL9coaw);
2602 NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_.align = NIM_ALIGNOF(tyTuple__WXXbhbShJh5y59cjFFL9coaw);
2603 NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_.kind = 18;
2604 NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_.base = 0;
2605 TM__yT8oP4IKFRSvia7t9bb5q3Q_3_2[0] = &TM__yT8oP4IKFRSvia7t9bb5q3Q_0[1];
2606 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[1].kind = 1;
2607 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[1].offset = offsetof(tyTuple__WXXbhbShJh5y59cjFFL9coaw, Field0);
2608 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[1].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
2609 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[1].name = "Field0";
2610 TM__yT8oP4IKFRSvia7t9bb5q3Q_3_2[1] = &TM__yT8oP4IKFRSvia7t9bb5q3Q_0[2];
2611 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[2].kind = 1;
2612 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[2].offset = offsetof(tyTuple__WXXbhbShJh5y59cjFFL9coaw, Field1);
2613 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[2].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
2614 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[2].name = "Field1";
2615 TM__yT8oP4IKFRSvia7t9bb5q3Q_0[0].len = 2; TM__yT8oP4IKFRSvia7t9bb5q3Q_0[0].kind = 2; TM__yT8oP4IKFRSvia7t9bb5q3Q_0[0].sons = &TM__yT8oP4IKFRSvia7t9bb5q3Q_3_2[0];
2616 NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_.node = &TM__yT8oP4IKFRSvia7t9bb5q3Q_0[0];
2617 NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_.size = sizeof(tySequence__0thrROz0BxrMaGObPsCz7g*);
2618 NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_.align = NIM_ALIGNOF(tySequence__0thrROz0BxrMaGObPsCz7g*);
2619 NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_.kind = 24;
2620 NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_.base = (&NTILptype_ptypeT__WXXbhbShJh5y59cjFFL9coaw_);
2621 NTIseqLLptype_ptypeTT__0thrROz0BxrMaGObPsCz7g_.marker = Marker_tySequence__0thrROz0BxrMaGObPsCz7g;
2622 }
2623
2624