1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <setjmp.h>
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
23 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
24 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
25 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
26 typedef struct RootObj RootObj;
27 typedef struct TNimType TNimType;
28 typedef struct TNimNode TNimNode;
29 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
30 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
31 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
32 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
33 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
34 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
35 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
36 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
37 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
38 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
39 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
40 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
41 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
42 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
43 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
44 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
45 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
46 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
47 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
48 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
49 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
50 typedef struct NimStringDesc NimStringDesc;
51 typedef struct TGenericSeq TGenericSeq;
52 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
53 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
54 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
55 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
56 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
57 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
58 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
59 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
60 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
61 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
62 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
63 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
64 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
65 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
66 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
67 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
68 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
69 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
70 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
71 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
72 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
73 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
74 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
75 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
76 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
77 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
78 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
79 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
80 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
81 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
82 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
83 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
84 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
85 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
86 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
87 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
88 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
89 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
90 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
91 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
92 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
93 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
94 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
95 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
96 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
97 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
98 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
99 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
100 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
101 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
102 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
103 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
104 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
105 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
106 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
107 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
108 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
109 typedef struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ tySequence__i7xpiUsxyv6cQ1xK3JbcGQ;
110 typedef struct Exception Exception;
111 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
112 typedef struct TSafePoint TSafePoint;
113 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
114 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
115 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
116 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
117 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
118 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
119 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
120 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
121 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
122 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
123 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
124 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
125 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
126 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
127 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
128 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
129 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
130 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
131 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
132 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
133 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
134 typedef struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg;
135 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
136 typedef struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ;
137 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
138 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
139 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
140 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
141 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
142 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
143 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
144 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
145 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
146 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
147 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
148 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
149 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
150 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
151 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
152 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
153 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
154 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
155 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
156 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
157 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
158 typedef struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg;
159 typedef struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw;
160 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
161 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
162 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
163 typedef struct tyTuple__8bH5UHA9aimOFoSY4U42gzw tyTuple__8bH5UHA9aimOFoSY4U42gzw;
164 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
165 typedef struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA;
166 typedef struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ;
167 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
168 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
169 typedef struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA;
170 typedef struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA;
171 typedef struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ tySequence__bGUffHlsVXt0g6ZKEF4OfQ;
172 typedef struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw tyTuple__Qqa8F49azZNOOP4FK3LKbhw;
173 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
174 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
175 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
176 typedef struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ;
177 typedef struct tySequence__0dpGN6F4ocevqUQGsaf41w tySequence__0dpGN6F4ocevqUQGsaf41w;
178 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
179 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
180 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
181 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
182 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
183 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
184 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
185 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
186 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
187 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
188 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
189 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
190 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
191 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
192 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
193 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
194 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
195 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
196 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
197 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
198 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
199 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
200 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
201 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
202 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
203 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
204 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
205 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
206 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
207 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
208 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
209 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
210 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
211 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
212 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
213 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
214 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
215 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
216 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
217 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
218 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
219 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
220 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
221 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
222 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
223 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
224 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
225 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
226 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
227 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
228 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
229 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
230 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
231 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
232 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
233 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
234 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
235 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
236 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
237 NU16 line;
238 NI16 col;
239 NI32 fileIndex;
240 };
241 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
242 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
243 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
244 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
245 struct TNimType {
246 NI size;
247 NI align;
248 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
249 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
250 TNimType* base;
251 TNimNode* node;
252 void* finalizer;
253 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
254 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
255 };
256 struct RootObj {
257 TNimType* m_type;
258 };
259 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
260 RootObj Sup;
261 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
262 };
263 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
264 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
265 NI counter;
266 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
267 };
268 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
269 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
270 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
271 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
272 typedef struct {
273 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
274 void* ClE_0;
275 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
276 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
277 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);
278 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
279 typedef struct {
280 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
281 void* ClE_0;
282 } tyProc__3cacbJ4la9bDJNibHybQSnA;
283 typedef struct {
284 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);
285 void* ClE_0;
286 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
287 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
288 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
289 NI elems;
290 NI counter;
291 NI max;
292 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
293 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
294 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
295 };
296 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
297 NI counter;
298 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
299 };
300 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
301 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);
302 struct TGenericSeq {
303 NI len;
304 NI reserved;
305 };
306 struct NimStringDesc {
307 TGenericSeq Sup;
308 NIM_CHAR data[SEQ_DECL_SIZE];
309 };
310 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
311 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
312 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
313 NI counter;
314 };
315 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
316 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
317 NI counter;
318 };
319 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
320 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
321 NI counter;
322 };
323 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
324 tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
325 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
326 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
327 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
328 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
329 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
330 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
331 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
332 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
333 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
334 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
335 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
336 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
337 NI instCounter;
338 NI* templInstCounter;
339 NI inGenericContext;
340 NI inStaticContext;
341 NI inUnrolledContext;
342 NI compilesContextId;
343 NI compilesContextIdGenerator;
344 NI inGenericInst;
345 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
346 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
347 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
348 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
349 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
350 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
351 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
352 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
353 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
354 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
355 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
356 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
357 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
358 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
359 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
360 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
361 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
362 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
363 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
364 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
365 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
366 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
367 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
368 NI topStmts;
369 NI lastGenericIdx;
370 NI hloLoopDetector;
371 NI inParallelStmt;
372 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
373 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
374 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
375 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
376 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
377 NimStringDesc* recursiveDep;
378 NIM_BOOL suggestionsMade;
379 NIM_BOOL isAmbiguous;
380 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
381 NI inTypeContext;
382 NI inConceptDecl;
383 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
384 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
385 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
386 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
387 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
388 NI inUncheckedAssignSection;
389 };
390 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
391 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
392 NI counter;
393 };
394 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
395 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
396 NI counter;
397 };
398 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
399 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
400 NI counter;
401 };
402 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
403 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
404 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
405 NI counter;
406 };
407 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
408 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
409 NI counter;
410 };
411 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
412 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
413 NI counter;
414 };
415 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
416 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
417 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
418 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
419 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
420 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
421 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
422 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
423 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
424 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
425 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
426 };
427 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
428 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
429 NI counter;
430 };
431 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
432 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
433 NI counter;
434 };
435 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
436 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
437 NI counter;
438 };
439 typedef struct {
440 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
441 void* ClE_0;
442 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
443 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
444 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
445 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
446 NI counter;
447 };
448 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
449 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
450 NI counter;
451 };
452 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
453 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
454 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
455 tySequence__23SMqauuRsbDANhthj9bWlA* data;
456 NI counter;
457 };
458 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
459 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
460 NI counter;
461 };
462 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
463 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
464 NI counter;
465 };
466 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
467 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
468 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
469 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
470 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
471 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
472 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
473 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
474 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
475 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
476 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
477 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
478 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
479 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
480 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
481 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
482 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
483 };
484 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
485 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
486 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
487 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
488 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
489 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
490 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
491 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
492 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
493 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
494 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
495 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
496 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
497 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
498 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
499 NIM_BOOL suggestMode;
500 NIM_BOOL invalidTransitiveClosure;
501 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
502 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
503 RootObj* backend;
504 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
505 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
506 RootObj* vm;
507 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
508 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
509 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
510 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
511 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
512 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
513 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
514 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
515 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
516 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
517 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
518 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
519 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
520 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
521 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
522 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
523 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
524 tySequence__MAQKEADohlpnXTModtugbQ* passes;
525 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
526 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
527 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
528 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
529 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
530 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
531 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
532 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
533 };
534 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
535 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
536 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
537 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
538 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
539 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
540 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
541 NI intSize;
542 NI floatSize;
543 NI ptrSize;
544 NimStringDesc* tnl;
545 };
546 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
547 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
548 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
549 NIM_BOOL trackPosAttached;
550 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
551 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
552 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
553 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
554 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
555 NI32 systemFileIdx;
556 };
557 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
558 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
559 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
560 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
561 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
562 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
563 NI counter;
564 };
565 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
566 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
567 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
568 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
569 NI Field0;
570 NI Field1;
571 NI Field2;
572 };
573 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
574 typedef struct {
575 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
576 void* ClE_0;
577 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
578 typedef struct {
579 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
580 void* ClE_0;
581 } tyProc__k2HFjxisIgDALbEUFojxaQ;
582 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
583 typedef struct {
584 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
585 void* ClE_0;
586 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
587 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
588 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
589 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
590 NI linesCompiled;
591 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
592 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
593 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
594 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
595 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
596 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
597 NimStringDesc* unitSep;
598 NI evalTemplateCounter;
599 NI evalMacroCounter;
600 NI8 exitcode;
601 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
602 NimStringDesc* cmdInput;
603 NIM_BOOL projectIsCmd;
604 NIM_BOOL implicitCmd;
605 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
606 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
607 NIM_BOOL hintProcessingDots;
608 NI verbosity;
609 NI numberOfProcessors;
610 NF lastCmdTime;
611 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
612 NI spellSuggestMax;
613 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
614 NimStringDesc* headerFile;
615 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
616 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
617 NimStringDesc* arguments;
618 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
619 NIM_BOOL oldNewlines;
620 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
621 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
622 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
623 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
624 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
625 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
626 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
627 NI mainPackageId;
628 NI errorCounter;
629 NI hintCounter;
630 NI warnCounter;
631 NI errorMax;
632 NI maxLoopIterationsVM;
633 NIM_BOOL isVmTrace;
634 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
635 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
636 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
637 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
638 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
639 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
640 NimStringDesc* outFile;
641 NimStringDesc* outDir;
642 NimStringDesc* jsonBuildFile;
643 NimStringDesc* prefixDir;
644 NimStringDesc* libpath;
645 NimStringDesc* nimcacheDir;
646 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
647 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
648 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
649 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
650 NimStringDesc* projectName;
651 NimStringDesc* projectPath;
652 NimStringDesc* projectFull;
653 NIM_BOOL projectIsStdin;
654 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
655 NI32 projectMainIdx;
656 NI32 projectMainIdx2;
657 NimStringDesc* command;
658 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
659 NimStringDesc* commandLine;
660 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
661 NIM_BOOL keepComments;
662 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
663 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
664 NimStringDesc* docSeeSrcUrl;
665 NimStringDesc* docRoot;
666 NimStringDesc* docCmd;
667 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
668 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
669 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
670 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
671 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
672 NimStringDesc* linkOptionsCmd;
673 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
674 NimStringDesc* linkOptions;
675 NimStringDesc* compileOptions;
676 NimStringDesc* cCompilerPath;
677 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
678 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
679 NI suggestVersion;
680 NI suggestMaxResults;
681 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
682 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
683 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
684 NimStringDesc* cppCustomNamespace;
685 NimStringDesc* nimMainPrefix;
686 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
687 };
688 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
689 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
690 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
691 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
692 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
693 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
694 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
695 union{
696 struct {NI64 intVal;
697 } _kind_1;
698 struct {NF floatVal;
699 } _kind_2;
700 struct {NimStringDesc* strVal;
701 } _kind_3;
702 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
703 } _kind_4;
704 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
705 } _kind_5;
706 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
707 } _kind_6;
708 };
709 };
710 struct Exception {
711 RootObj Sup;
712 Exception* parent;
713 NCSTRING name;
714 NimStringDesc* message;
715 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
716 Exception* up;
717 };
718 struct TSafePoint {
719 TSafePoint* prev;
720 NI status;
721 jmp_buf context;
722 };
723 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
724 struct TNimNode {
725 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
726 NI offset;
727 TNimType* typ;
728 NCSTRING name;
729 NI len;
730 TNimNode** sons;
731 };
732 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
733 NI refcount;
734 TNimType* typ;
735 };
736 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
737 void* bottom;
738 };
739 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
740 NI len;
741 NI cap;
742 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
743 };
744 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
745 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
746 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
747 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
748 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
749 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
750 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
751 };
752 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
753 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
754 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
755 NI key;
756 NI upperBound;
757 NI level;
758 };
759 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
760 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
761 NI Field1;
762 };
763 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
764 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
765 NI len;
766 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
767 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
768 };
769 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
770 NI minLargeObj;
771 NI maxLargeObj;
772 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
773 NU32 flBitmap;
774 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
775 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
776 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
777 NI currMem;
778 NI maxMem;
779 NI freeMem;
780 NI occ;
781 NI lastSize;
782 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
783 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
784 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
785 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
786 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
787 NIM_BOOL locked;
788 NIM_BOOL blockChunkSizeIncrease;
789 NI nextChunkSize;
790 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
791 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
792 };
793 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
794 NI stackScans;
795 NI cycleCollections;
796 NI maxThreshold;
797 NI maxStackSize;
798 NI maxStackCells;
799 NI cycleTableSize;
800 NI64 maxPause;
801 };
802 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
803 NI counter;
804 NI max;
805 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
806 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
807 };
808 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
809 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
810 NI cycleThreshold;
811 NI zctThreshold;
812 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
813 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
814 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
815 NI recGcLock;
816 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
817 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
818 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
819 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
820 NI gcThreadId;
821 };
822 typedef NU8 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q;
823 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
824 NI32 module;
825 NI32 item;
826 };
827 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
828 RootObj Sup;
829 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
830 };
831 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
832 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
833 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
834 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
835 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
836 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
837 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
838 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
839 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
840 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
841 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
842 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
843 };
844 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
845 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
846 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
847 union{
848 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
849 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
850 } _kind_1;
851 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
852 NI bitsize;
853 NI alignment;
854 } _kind_2;
855 };
856 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
857 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
858 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
859 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
860 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
861 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
862 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
863 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
864 NI position;
865 NI offset;
866 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
867 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
868 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
869 };
870 struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg {
871 NI h;
872 };
873 struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw {
874 NI depthLevel;
875 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
876 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* parent;
877 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* allowPrivateAccess;
878 };
879 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
880 NI id;
881 NimStringDesc* s;
882 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
883 NI h;
884 };
885 struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ {
886 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section;
887 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* qualifiedPath;
888 NimStringDesc** name;
889 NimStringDesc* filePath;
890 NI line;
891 NI column;
892 NimStringDesc* doc;
893 NimStringDesc* forth;
894 NI quality;
895 NIM_BOOL isGlobal;
896 NIM_BOOL contextFits;
897 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix;
898 NU8 symkind;
899 NI scope;
900 NI localUsages;
901 NI globalUsages;
902 NI tokenLen;
903 NI version;
904 };
905 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
906 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
907 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
908 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
909 NI a;
910 NI b;
911 };
912 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
913 struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ {
914 RootObj Sup;
915 NI colonstate_;
916 NimStringDesc* line1;
917 };
918 typedef struct {
919 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (NI col, void* ClE_0);
920 void* ClE_0;
921 } tyProc__cOOsXj9cY0bKt2oqNqLbhZw;
922 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_5) (NI col);
923 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_6) (NI col);
924 typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_7) (NI col);
925 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
926 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
927 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
928 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
929 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
930 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
931 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
932 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
933 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
934 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
935 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
936 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
937 NI64 size;
938 NI16 align;
939 NI16 paddingAtEnd;
940 NI16 lockLevel;
941 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
942 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
943 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
944 };
945 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
946 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
947 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
948 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
949 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
950 };
951 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
952 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
953 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
954 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
955 };
956 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
957 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
958 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
959 };
960 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
961 NimStringDesc* definedSymbols;
962 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
963 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
964 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
965 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
966 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
967 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
968 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
969 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
970 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
971 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
972 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
973 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
974 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
975 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
976 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
977 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
978 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
979 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
980 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
981 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
982 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
983 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
984 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
985 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
986 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
987 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
988 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
989 };
990 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
991 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
992 NI counter;
993 };
994 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
995 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
996 NIM_BOOL symsInit;
997 NIM_BOOL typesInit;
998 NIM_BOOL loadedButAliveSetChanged;
999 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
1000 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
1001 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
1002 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1003 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
1004 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
1005 };
1006 struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw {
1007 NI lastModule;
1008 NU32 lastLit;
1009 NI32 lastFile;
1010 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1011 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
1012 };
1013 struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg {
1014 tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw decoder;
1015 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* values;
1016 NI i;
1017 NI module;
1018 };
1019 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
1020 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1021 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
1022 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
1023 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
1024 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
1025 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
1026 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
1027 };
1028 struct tyTuple__8bH5UHA9aimOFoSY4U42gzw {
1029 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1030 NI Field1;
1031 NIM_BOOL Field2;
1032 };
1033 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1034 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1035 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1036 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1037 union{
1038 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1039 } _mode_2;
1040 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1041 } _mode_3;
1042 };
1043 };
1044 typedef NU8 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg;
1045 typedef NU8 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w;
1046 struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ {
1047 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w kind;
1048 NI arg;
1049 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
1050 };
1051 struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA {
1052 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1053 NI exactMatches;
1054 NI genericMatches;
1055 NI subtypeMatches;
1056 NI intConvMatches;
1057 NI convMatches;
1058 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg state;
1059 tyObject_TType__facALICuu8zUj0hjvbTLFg* callee;
1060 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* calleeSym;
1061 NI calleeScope;
1062 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
1063 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
1064 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1065 NIM_BOOL baseTypeMatch;
1066 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fauxMatch;
1067 NIM_BOOL genericConverter;
1068 NIM_BOOL coerceDistincts;
1069 NIM_BOOL typedescMatched;
1070 NIM_BOOL isNoCall;
1071 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* inferredTypes;
1072 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1073 NI inheritancePenalty;
1074 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1075 NIM_BOOL diagnosticsEnabled;
1076 };
1077 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
1078 typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw;
1079 typedef NU8 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1080 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
1081 NI32 module;
1082 NI32 symId;
1083 NI32 typeId_0;
1084 NIM_BOOL sealed;
1085 };
1086 struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg {
1087 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateType;
1088 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prev;
1089 NI depth;
1090 };
1091 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
1092 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
1093 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
1094 };
1095 typedef NU8 tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1096 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
1097 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
1098 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
1099 NimStringDesc* Field0;
1100 NI Field1;
1101 NI Field2;
1102 };
1103 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
1104 typedef NU8 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA;
1105 struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA {
1106 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA Field0;
1107 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw Field1;
1108 };
1109 typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ;
1110 typedef NU8 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ;
1111 struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA {
1112 RootObj Sup;
1113 NI colonstate_;
1114 NimStringDesc* errorPrefix1;
1115 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeClass2;
1116 tyProc__k2HFjxisIgDALbEUFojxaQ oldWriteHook3;
1117 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics4;
1118 };
1119 struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw {
1120 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1121 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field1;
1122 };
1123 typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_40) (NimStringDesc* output);
1124 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_47) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1125 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_48) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1126 typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_54) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1127 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_55) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1128 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
1129 typedef NU8 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag;
1130 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
1131 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
1132 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1133 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1134 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1135 };
1136 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
1137 NI Field0;
1138 NI Field1;
1139 };
1140 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1141 NI Field0;
1142 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1143 };
1144 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
1145 typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2];
1146 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
1147 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
1148 typedef struct {
1149 N_NIMCALL_PTR(NI, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0);
1150 void* ClE_0;
1151 } tyProc__pNH4eLNN9aK2oskAhILvUcw;
1152 typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
1153 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_87) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y);
1154 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_88) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y);
1155 typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0);
1156 typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_90) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result);
1157 typedef NU8 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg;
1158 struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ {
1159 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1160 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1161 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1162 NIM_BOOL enabled;
1163 };
1164 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
1165 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
1166 typedef N_CLOSURE_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_103) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1167 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1168 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1169 RootObj* val;
1170 };
1171 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1172 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1173 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1174 };
1175 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
1176 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1177 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1178 };
1179 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
1180 NI Field0;
1181 NI Field1;
1182 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
1183 };
1184 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
1185 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
1186 NI counter;
1187 };
1188 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
1189 NI32 thisModule;
1190 NI32 lastFile;
1191 NU32 lastLit;
1192 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
1193 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
1194 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
1195 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
1196 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
1197 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1198 };
1199 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
1200 NU32 module;
1201 NI32 item;
1202 };
1203 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
1204 NI module;
1205 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
1206 };
1207 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
1208 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1209 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1210 };
1211 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1212 NI Field0;
1213 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1214 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1215 };
1216 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1217 NI module;
1218 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1219 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1220 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1221 };
1222 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1223 NI Field0;
1224 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1225 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1226 };
1227 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1228 NI Field0;
1229 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1230 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1231 };
1232 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1233 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1234 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1235 };
1236 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1237 NI Field0;
1238 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1239 };
1240 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1241 NI Field0;
1242 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1243 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1244 };
1245 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1246 NI Field0;
1247 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1248 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1249 };
1250 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1251 NI Field0;
1252 NimStringDesc* Field1;
1253 NI32 Field2;
1254 };
1255 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1256 NI Field0;
1257 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1258 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1259 };
1260 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1261 NI Field0;
1262 NI32 Field1;
1263 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1264 };
1265 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1266 NI Field0;
1267 NI32 Field1;
1268 NI32 Field2;
1269 };
1270 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1271 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1272 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1273 };
1274 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1275 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1276 NI Field0;
1277 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1278 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1279 };
1280 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1281 NI Field0;
1282 NI Field1;
1283 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1284 };
1285 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1286 NI Field0;
1287 NimStringDesc* Field1;
1288 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1289 };
1290 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1291 NI Field0;
1292 NimStringDesc* Field1;
1293 NI64 Field2;
1294 };
1295 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1296 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1297 NI entries;
1298 };
1299 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1300 NI Field0;
1301 NimStringDesc* Field1;
1302 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1303 };
1304 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1305 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1306 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1307 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1308 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1309 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1310 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1311 NIM_BOOL Field3;
1312 };
1313 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1314 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1315 NimStringDesc* Field1;
1316 };
1317 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1318 NimStringDesc* fullPath;
1319 NimStringDesc* projPath;
1320 NimStringDesc* shortName;
1321 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1322 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1323 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1324 NimStringDesc* dirtyFile;
1325 NimStringDesc* hash;
1326 NIM_BOOL dirty;
1327 };
1328 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1329 NI Field0;
1330 NimStringDesc* Field1;
1331 };
1332 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1333 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1334 NimStringDesc* nimname;
1335 NimStringDesc* cname;
1336 NimStringDesc* obj;
1337 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1338 NimStringDesc* customArgs;
1339 };
1340 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1341 NCSTRING procname;
1342 NI line;
1343 NCSTRING filename;
1344 };
1345 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1346 NU32 Field0;
1347 NimStringDesc* Field1;
1348 };
1349 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1350 NU16 line;
1351 NI16 col;
1352 NU32 file;
1353 };
1354 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1355 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1356 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1357 NI32 operand;
1358 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1359 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1360 };
1361 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1362 NU32 Field0;
1363 NI32 Field1;
1364 };
1365 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1366 NU32 Field0;
1367 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1368 };
1369 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1370 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1371 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1372 };
1373 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1374 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1375 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1376 };
1377 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1378 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1379 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1380 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1381 };
1382 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1383 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1384 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1385 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1386 };
1387 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1388 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1389 NI Field1;
1390 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1391 };
1392 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1393 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1394 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1395 NIM_BOOL generated;
1396 NIM_BOOL isOverriden;
1397 NU32 name;
1398 NI32 path;
1399 };
1400 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1401 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1402 NU32 name;
1403 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1404 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1405 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1406 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1407 NI32 ast;
1408 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1409 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1410 NI bitsize;
1411 NI alignment;
1412 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1413 NI position;
1414 NI offset;
1415 NU32 externalName;
1416 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1417 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1418 NI32 constraint;
1419 };
1420 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1421 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1422 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1423 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1424 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1425 NI32 n;
1426 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1427 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1428 NI64 size;
1429 NI16 align;
1430 NI16 paddingAtEnd;
1431 NI16 lockLevel;
1432 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1433 NI32 nonUniqueId;
1434 };
1435 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1436 NI Field0;
1437 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1438 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1439 };
1440 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1441 NI Field0;
1442 NI32 Field1;
1443 NU32 Field2;
1444 };
1445 struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ {
1446 TGenericSeq Sup;
1447 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* data[SEQ_DECL_SIZE];
1448 };
1449 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1450 TGenericSeq Sup;
1451 NimStringDesc* data[SEQ_DECL_SIZE];
1452 };
1453 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1454 TGenericSeq Sup;
1455 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1456 };
1457 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1458 TGenericSeq Sup;
1459 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1460 };
1461 struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ {
1462 TGenericSeq Sup;
1463 tyTuple__Qqa8F49azZNOOP4FK3LKbhw data[SEQ_DECL_SIZE];
1464 };
1465 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1466 TGenericSeq Sup;
1467 tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1468 };
1469 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1470 TGenericSeq Sup;
1471 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1472 };
1473 struct tySequence__0dpGN6F4ocevqUQGsaf41w {
1474 TGenericSeq Sup;
1475 tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ data[SEQ_DECL_SIZE];
1476 };
1477 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1478 TGenericSeq Sup;
1479 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1480 };
1481 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1482 TGenericSeq Sup;
1483 tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1484 };
1485 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1486 TGenericSeq Sup;
1487 tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1488 };
1489 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1490 TGenericSeq Sup;
1491 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1492 };
1493 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1494 TGenericSeq Sup;
1495 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1496 };
1497 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1498 TGenericSeq Sup;
1499 tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1500 };
1501 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1502 TGenericSeq Sup;
1503 tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1504 };
1505 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1506 TGenericSeq Sup;
1507 tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1508 };
1509 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1510 TGenericSeq Sup;
1511 tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1512 };
1513 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1514 TGenericSeq Sup;
1515 tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1516 };
1517 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1518 TGenericSeq Sup;
1519 tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1520 };
1521 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1522 TGenericSeq Sup;
1523 tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1524 };
1525 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1526 TGenericSeq Sup;
1527 tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1528 };
1529 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1530 TGenericSeq Sup;
1531 tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1532 };
1533 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1534 TGenericSeq Sup;
1535 tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1536 };
1537 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1538 TGenericSeq Sup;
1539 tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1540 };
1541 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1542 TGenericSeq Sup;
1543 tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1544 };
1545 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1546 TGenericSeq Sup;
1547 tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1548 };
1549 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1550 TGenericSeq Sup;
1551 tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1552 };
1553 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1554 TGenericSeq Sup;
1555 tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1556 };
1557 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1558 TGenericSeq Sup;
1559 tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1560 };
1561 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1562 TGenericSeq Sup;
1563 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1564 };
1565 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1566 TGenericSeq Sup;
1567 tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1568 };
1569 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1570 TGenericSeq Sup;
1571 NI32 data[SEQ_DECL_SIZE];
1572 };
1573 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1574 TGenericSeq Sup;
1575 tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1576 };
1577 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1578 TGenericSeq Sup;
1579 tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1580 };
1581 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1582 TGenericSeq Sup;
1583 tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1584 };
1585 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1586 TGenericSeq Sup;
1587 tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1588 };
1589 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1590 TGenericSeq Sup;
1591 tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1592 };
1593 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1594 TGenericSeq Sup;
1595 tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1596 };
1597 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1598 TGenericSeq Sup;
1599 tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1600 };
1601 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1602 TGenericSeq Sup;
1603 tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1604 };
1605 struct tySequence__MAQKEADohlpnXTModtugbQ {
1606 TGenericSeq Sup;
1607 tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1608 };
1609 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1610 TGenericSeq Sup;
1611 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1612 };
1613 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1614 TGenericSeq Sup;
1615 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1616 };
1617 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1618 TGenericSeq Sup;
1619 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1620 };
1621 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1622 TGenericSeq Sup;
1623 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1624 };
1625 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1626 TGenericSeq Sup;
1627 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1628 };
1629 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1630 TGenericSeq Sup;
1631 tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1632 };
1633 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1634 TGenericSeq Sup;
1635 NU32 data[SEQ_DECL_SIZE];
1636 };
1637 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1638 TGenericSeq Sup;
1639 tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1640 };
1641 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1642 TGenericSeq Sup;
1643 tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1644 };
1645 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1646 TGenericSeq Sup;
1647 tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1648 };
1649 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1650 TGenericSeq Sup;
1651 tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1652 };
1653 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1654 TGenericSeq Sup;
1655 tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1656 };
1657 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1658 TGenericSeq Sup;
1659 tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1660 };
1661 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1662 TGenericSeq Sup;
1663 tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1664 };
1665 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1666 TGenericSeq Sup;
1667 tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1668 };
1669 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1670 TGenericSeq Sup;
1671 tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1672 };
1673 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1674 TGenericSeq Sup;
1675 tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1676 };
1677 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1678 TGenericSeq Sup;
1679 NI64 data[SEQ_DECL_SIZE];
1680 };
1681 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1682 TGenericSeq Sup;
1683 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1684 };
1685 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1686 TGenericSeq Sup;
1687 tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1688 };
1689 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1690 TGenericSeq Sup;
1691 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1692 };
1693 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1694 TGenericSeq Sup;
1695 tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1696 };
1697 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1698 TGenericSeq Sup;
1699 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1700 };
1701 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exactEquals__msgs_997)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
1702 N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1703 N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1704 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1705 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
1706 static N_INLINE(void, popSafePoint)(void);
1707 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
1708 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
1709 static N_INLINE(void, popCurrentException)(void);
1710 static N_INLINE(void, asgnRef)(void** dest, void* src);
1711 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1712 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1713 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1714 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1715 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1716 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1717 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1718 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1719 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
1720 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1721 N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1722 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1723 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1724 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initTabIter__astalgo_3777)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
1725 static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res);
1726 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1727 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__prefixmatches_10)(NimStringDesc* p, NimStringDesc* s);
1728 N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*, symToSuggest__sigmatch_4528)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isLocal, tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI quality, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo);
1729 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
1730 static N_INLINE(void, nimGCunrefRC1)(void* p);
1731 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1732 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
1733 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
1734 static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value);
1735 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
1736 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
1737 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1738 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1739 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1740 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1741 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1742 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
1743 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1744 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1745 N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1746 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1747 static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op);
1748 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, sourceLine__msgs_1101)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
1749 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0);
1750 static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start);
1751 N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b);
1752 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
1753 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
1754 static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i);
1755 N_LIB_PRIVATE N_NIMCALL(NI, identLen__linter_11)(NimStringDesc* line, NI start);
1756 static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start);
1757 N_LIB_PRIVATE N_NIMCALL(void, fastSubstr__pureZparseutils_170)(NimStringDesc* s, NimStringDesc** token, NI start, NI length);
1758 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1759 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1760 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1761 N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1762 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1763 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1764 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1765 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1766 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIter__astalgo_3762)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
1767 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
1768 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module);
1769 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initRodIterAllSyms__icZic_8667)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tySequence__rQHmYk1HzcwNxKBymIFHpA** g, NI32 module, NIM_BOOL importHidden);
1770 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextRodIter__icZic_8962)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tySequence__rQHmYk1HzcwNxKBymIFHpA** g);
1771 N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1772 N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5040)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1773 N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1774 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f);
1775 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1776 N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1777 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1778 N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5194)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1779 static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res);
1780 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_73)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i);
1781 static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg);
1782 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4281)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NIM_BOOL fromHlo);
1783 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
1784 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
1785 static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
1786 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
1787 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatch__sigmatch_3583)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig);
1788 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatchAux__sigmatch_3268)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argSemantized, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig);
1789 N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_3976)(tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1790 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1791 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeFromExpr__semdata_804)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1792 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1793 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
1794 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1795 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRel__sigmatch_202)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig, tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg flags);
1796 static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val);
1797 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
1798 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1799 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1800 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1801 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1802 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
1803 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved);
1804 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypesInBody__semtypinst_988)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, NIM_BOOL allowMetaTypes);
1805 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1806 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
1807 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee);
1808 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent);
1809 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1810 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
1811 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, considerQuotedIdent__lookups_28)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* origin);
1812 static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1813 N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1814 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1815 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1816 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1817 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1818 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1819 N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1440)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1820 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1579)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1821 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1822 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1823 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleRange__sigmatch_476)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag min, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag max);
1824 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1825 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1826 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1827 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1828 static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1829 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1830 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete);
1831 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1832 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1833 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_780)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1834 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1835 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs);
1836 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_821)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons);
1837 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1838 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
1839 N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1840 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic__ast_4956)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1841 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
1842 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);
1843 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1844 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1845 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1846 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b);
1847 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2038)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1848 N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_656)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1849 N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1850 static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1851 static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1852 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1853 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_3495)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1855 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, generateTypeInstance__semtypinst_1050)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1856 static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1857 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3686)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel);
1858 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3416)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
1859 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1860 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, prepareMetatypeForSigmatch__semtypinst_1064)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* p, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1861 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1862 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);
1863 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped);
1864 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_744)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, NI* d, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin);
1865 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1866 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1867 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
1868 static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op);
1869 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1870 N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1871 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);
1872 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1873 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1874 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
1875 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1876 static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op);
1877 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1878 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1879 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);
1880 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0);
1881 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
1882 N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_101)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1883 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
1884 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
1885 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1886 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
1887 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
1888 N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_4390)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1889 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
1890 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
1891 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeStaticExpr__semdata_826)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1892 N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch);
1893 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1894 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitConv__sigmatch_3067)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1895 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1896 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3351)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1897 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getInstantiatedType__sigmatch_3053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f);
1898 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1899 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1900 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newProcNode__ast_3821)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pattern, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* genericParams, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exceptions);
1901 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
1902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, userConvMatch__sigmatch_3095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1903 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_505)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1904 static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1905 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__parampatterns_334)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
1906 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1907 N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1908 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1909 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
1910 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1911 N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1912 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
1913 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1914 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
1915 N_LIB_PRIVATE N_NIMCALL(void, styleCheckUse__linter_192)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1916 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1917 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0);
1918 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc);
1919 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
1920 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
1921 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
1922 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
1923 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1924 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1925 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key);
1926 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc);
1927 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x);
1928 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1929 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1930 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1931 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y);
1932 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1933 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i);
1934 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1936 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1937 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, localConvMatch__sigmatch_3181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
1938 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1939 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1940 N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src);
1941 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1942 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1943 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1944 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1945 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1946 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item);
1947 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item);
1948 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1949 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1950 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1951 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig);
1952 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_189)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
1953 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled);
1954 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, originatingModule__ast_4669)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1955 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipGenericOwner__ast_4658)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1956 N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m);
1957 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1958 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1959 N_LIB_PRIVATE N_NIMCALL(void, matchesAux__sigmatch_3784)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
1960 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1961 N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_903)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1962 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1963 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1964 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1965 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1966 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeRangeType__semdata_1039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI64 first, NI64 last, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* intType);
1967 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1968 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1969 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1970 N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_907)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1971 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getNamedParamFromList__astalgo_293)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
1972 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1973 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1974 N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1975 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1976 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1977 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1978 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1979 N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_905)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1980 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1981 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1982 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1983 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len);
1984 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_4787)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1985 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1986 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b);
1987 N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
1988 N_LIB_PRIVATE N_NIMCALL(void, suggestWriteln__msgs_421)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s);
1989 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest);
1990 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4697)(tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ c);
1991 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1992 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1993 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
1994 N_LIB_PRIVATE N_NIMCALL(void, suggestQuit__msgs_446)(void);
1995 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op);
1996 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1997 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1998 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1999 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2000 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col);
2001 extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_;
2002 extern TNimType NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_;
2003 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
2004 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_3 = {
2005 0x00, 0x00, 0x00, 0x00, 0x72, 0xed, 0x00, 0xf4,
2006 0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
2007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2008 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2009 ;
2010 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
2011 N_LIB_PRIVATE TNimType NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_;
2012 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
2013 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
2014 N_LIB_PRIVATE TNimType NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_;
2015 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_8 = {
2016 0x00, 0x00, 0x00, 0x00, 0x72, 0xef, 0x00, 0xf4,
2017 0x01, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78,
2018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2019 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2020 ;
2021 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_9, "=", 1);
2022 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_10 = {
2023 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
2024 0x00}
2025 ;
2026 extern TNimType NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_;
2027 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_11 = {
2028 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
2029 0x00}
2030 ;
2031 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_12 = {
2032 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
2033 0x00}
2034 ;
2035 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_13 = {
2036 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2037 0x00}
2038 ;
2039 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
2040 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_14 = {
2041 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2042 0x00}
2043 ;
2044 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_15 = {
2045 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x10,
2046 0x00}
2047 ;
2048 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_16 = {
2049 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
2050 0x00}
2051 ;
2052 extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__ast_355;
2053 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_17, "unknown", 7);
2054 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_18, "cannot infer the value of the static param \'", 44);
2055 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_19, "\'", 1);
2056 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_21, "/home/runner/work/nightlies/nightlies/nim/compiler/sigmatch.nim", 63);
2057 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_20 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2058 ((NI) 886),
2059 ((NI) 12)}
2060 ;
2061 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_22 = {
2062 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2063 0x00}
2064 ;
2065 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_23 = {
2066 0x00, 0x08, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00,
2067 0x00}
2068 ;
2069 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_24 = {
2070 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2071 0x00}
2072 ;
2073 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_25 = {
2074 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2075 0x00}
2076 ;
2077 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
2078 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_26, "wrong instantiated type!", 24);
2079 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_27 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2080 ((NI) 1511),
2081 ((NI) 23)}
2082 ;
2083 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_28 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2084 ((NI) 1545),
2085 ((NI) 25)}
2086 ;
2087 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_29 = {
2088 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
2089 0x00}
2090 ;
2091 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_30 = {
2092 0x10, 0x08, 0x10, 0x00, 0x00, 0x60, 0x08, 0x00,
2093 0x00}
2094 ;
2095 N_LIB_PRIVATE TNimType NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_;
2096 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
2097 extern TNimType NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_;
2098 N_LIB_PRIVATE TNimType NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_;
2099 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_32 = {
2100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
2101 0x00}
2102 ;
2103 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_33, " too nested for type matching", 29);
2104 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_34 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2105 ((NI) 670),
2106 ((NI) 16)}
2107 ;
2108 N_LIB_PRIVATE TNimType NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_;
2109 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
2110 N_LIB_PRIVATE TNimType NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_;
2111 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_37, ":", 1);
2112 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_38, "Error:", 6);
2113 static NIM_CONST tyProc__k2HFjxisIgDALbEUFojxaQ TM__EV5hHJmjIY9cla9b9be7fSVJQ_39 = {NIM_NIL,NIM_NIL};
2114 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_41, "(", 1);
2115 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_42, ", ", 2);
2116 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_43, ")", 1);
2117 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_44 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2118 ((NI) 1677),
2119 ((NI) 27)}
2120 ;
2121 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_45, " unknown type kind ", 19);
2122 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
2123 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_46 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2124 ((NI) 1838),
2125 ((NI) 18)}
2126 ;
2127 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_49, "getInstantiatedType", 19);
2128 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_50 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2129 ((NI) 1865),
2130 ((NI) 17)}
2131 ;
2132 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_51 = {
2133 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
2134 0x00}
2135 ;
2136 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_52, "implicitConv", 12);
2137 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_53 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2138 ((NI) 1878),
2139 ((NI) 37)}
2140 ;
2141 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_56 = {
2142 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
2143 0x00}
2144 ;
2145 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_57, "suggest.nim(538, 12) `result == nil or result.kind == nkPragma` ", 64);
2146 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_58, "enum \'", 6);
2147 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_59, "\' which contains field \'", 24);
2148 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_60, "; ", 2);
2149 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_61, " is deprecated", 14);
2150 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_63, "/home/runner/work/nightlies/nightlies/nim/compiler/suggest.nim", 62);
2151 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_62 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2152 ((NI) 550),
2153 ((NI) 15)}
2154 ;
2155 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_64 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2156 ((NI) 552),
2157 ((NI) 9)}
2158 ;
2159 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_65, "$1usage of \'$2\' is an {.error.} defined at $3", 45);
2160 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_66 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2161 ((NI) 563),
2162 ((NI) 12)}
2163 ;
2164 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_67 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2165 ((NI) 565),
2166 ((NI) 6)}
2167 ;
2168 extern TNimType NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_;
2169 N_LIB_PRIVATE TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_;
2170 extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_;
2171 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
2172 N_LIB_PRIVATE TNimType NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_;
2173 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
2174 extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_;
2175 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
2176 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
2177 N_LIB_PRIVATE TNimType NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_;
2178 N_LIB_PRIVATE TNimType NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_;
2179 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_76, "x.state is not csMatch", 22);
2180 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_77 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2181 ((NI) 2237),
2182 ((NI) 21)}
2183 ;
2184 static NIM_CONST tyArray__HU7qaqKu9czJLT84iCBJnsA TM__EV5hHJmjIY9cla9b9be7fSVJQ_78 = {((NI) 0),
2185 ((NI) 256)}
2186 ;
2187 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_79, "sigmatch.nim(2377, 18) `n[a][0].kind == nkEmpty and n[a][1].kind in {nkBracket, nkArgList}` ", 92);
2188 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
2189 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_80, "named parameter has to be an identifier", 39);
2190 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_81 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2191 ((NI) 2394),
2192 ((NI) 18)}
2193 ;
2194 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_82 = {
2195 0x00, 0x88, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
2196 0x00}
2197 ;
2198 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_83, "matches", 7);
2199 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_84 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2200 ((NI) 2462),
2201 ((NI) 23)}
2202 ;
2203 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_85, "cannot convert $1 to $2", 23);
2204 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_86 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2205 ((NI) 2514),
2206 ((NI) 22)}
2207 ;
2208 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_91, "skGlobalVar", 11);
2209 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_92, "skGlobalLet", 11);
2210 extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
2211 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_93, ".", 1);
2212 extern TNimType NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_;
2213 N_LIB_PRIVATE TNimType NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_;
2214 N_LIB_PRIVATE TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_;
2215 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_95, ": ", 2);
2216 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_96, " | ", 3);
2217 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_97, "void", 4);
2218 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_98, "The default parameter \'$1\' has incompatible type with the explicitly requested proc instantiation", 97);
2219 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_99 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2220 ((NI) 2576),
2221 ((NI) 20)}
2222 ;
2223 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_100, "cannot instantiate: \'", 21);
2224 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_101 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2225 ((NI) 2618),
2226 ((NI) 14)}
2227 ;
2228 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_102 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2229 ((NI) 2627),
2230 ((NI) 14)}
2231 ;
2232 extern TSafePoint* excHandler__system_2565;
2233 extern TSafePoint* excHandler__system_2565;
2234 extern TSafePoint* excHandler__system_2565;
2235 extern TSafePoint* excHandler__system_2565;
2236 extern Exception* currException__system_2566;
2237 extern Exception* currException__system_2566;
2238 extern Exception* currException__system_2566;
2239 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(void,pushSafePoint)2240 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
2241 (*s).prev = excHandler__system_2565;
2242 excHandler__system_2565 = s;
2243 }
N_INLINE(void,popSafePoint)2244 static N_INLINE(void, popSafePoint)(void) {
2245 excHandler__system_2565 = (*excHandler__system_2565).prev;
2246 }
N_INLINE(Exception *,nimBorrowCurrentException)2247 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
2248 Exception* result;
2249 result = NIM_NIL;
2250 result = currException__system_2566;
2251 return result;
2252 }
N_INLINE(NI,pluspercent___system_696)2253 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2254 NI result;
2255 result = (NI)0;
2256 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
2257 return result;
2258 }
N_INLINE(void,incRef__system_5308)2259 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2260 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2261 }
N_INLINE(NI,minuspercent___system_716)2262 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2263 NI result;
2264 result = (NI)0;
2265 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
2266 return result;
2267 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)2268 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
2269 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2270 NI T1_;
2271 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2272 T1_ = (NI)0;
2273 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
2274 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2275 return result;
2276 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2277 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2278 NIM_BOOL result;
2279 result = (NIM_BOOL)0;
2280 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
2281 return result;
2282 }
N_INLINE(void,rtlAddZCT__system_5313)2283 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2284 addZCT__system_5264((&gch__system_5217.zct), c);
2285 }
N_INLINE(void,decRef__system_5315)2286 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2287 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2288 {
2289 NIM_BOOL T3_;
2290 T3_ = (NIM_BOOL)0;
2291 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2292 if (!T3_) goto LA4_;
2293 rtlAddZCT__system_5313(c);
2294 }
2295 LA4_: ;
2296 }
N_INLINE(void,asgnRef)2297 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2298 {
2299 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2300 if (!!((src == NIM_NIL))) goto LA3_;
2301 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2302 T5_ = usrToCell__system_5270(src);
2303 incRef__system_5308(T5_);
2304 }
2305 LA3_: ;
2306 {
2307 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2308 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2309 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2310 T10_ = usrToCell__system_5270((*dest));
2311 decRef__system_5315(T10_);
2312 }
2313 LA8_: ;
2314 (*dest) = src;
2315 }
N_INLINE(void,popCurrentException)2316 static N_INLINE(void, popCurrentException)(void) {
2317 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
2318 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,safeSemExpr__sigmatch_6411)2319 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2320 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
2321 TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_2;
2322 result = NIM_NIL;
2323 pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_2);
2324 TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.context);
2325 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status == 0) {
2326 result = (*c).semExpr(c, n, 0);
2327 popSafePoint();
2328 }
2329 else {
2330 popSafePoint();
2331 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
2332 TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = 0;
2333 result = (*(*c).graph).emptyNode;
2334 popCurrentException();
2335 }
2336 }
2337 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status != 0) reraiseException();
2338 return result;
2339 }
N_INLINE(NI,len__ast_3198)2340 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2341 NI result;
2342 NI T1_;
2343 result = (NI)0;
2344 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2345 result = T1_;
2346 return result;
2347 }
N_INLINE(void,nimSetMem__systemZmemory_7)2348 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2349 void* T1_;
2350 T1_ = (void*)0;
2351 T1_ = memset(a, v, ((size_t) (size)));
2352 }
N_INLINE(void,nimZeroMem)2353 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2354 nimSetMem__systemZmemory_7(p, ((int) 0), size);
2355 }
N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q,prefixMatch__sigmatch_4914)2356 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2357 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q result;
2358 result = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
2359 switch ((*n).kind) {
2360 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
2361 {
2362 result = prefixMatch__prefixmatches_10((*(*n)._kind_5.ident).s, (*(*s).name).s);
2363 }
2364 break;
2365 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2366 {
2367 result = prefixMatch__prefixmatches_10((*(*(*n)._kind_4.sym).name).s, (*(*s).name).s);
2368 }
2369 break;
2370 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
2371 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
2372 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
2373 {
2374 {
2375 NI T6_;
2376 T6_ = (NI)0;
2377 T6_ = len__ast_3198(n);
2378 if (!(((NI) 0) < T6_)) goto LA7_;
2379 result = prefixMatch__sigmatch_4914(s, (*n)._kind_6.sons->data[((NI) 0)]);
2380 }
2381 LA7_: ;
2382 }
2383 break;
2384 default:
2385 {
2386 }
2387 break;
2388 }
2389 return result;
2390 }
N_INLINE(NIM_BOOL,filterSym__sigmatch_4909)2391 static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
2392 NIM_BOOL result;
2393 result = (NIM_BOOL)0;
2394 {
2395 if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA3_;
2396 {
2397 if (!!((prefix == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
2398 (*res) = prefixMatch__sigmatch_4914(s, prefix);
2399 result = !(((*res) == ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0)));
2400 }
2401 goto LA5_;
2402 LA7_: ;
2403 {
2404 result = NIM_TRUE;
2405 }
2406 LA5_: ;
2407 }
2408 LA3_: ;
2409 return result;
2410 }
N_INLINE(void,nimGCunrefRC1)2411 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2412 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2413 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2414 T1_ = usrToCell__system_5270(p);
2415 decRef__system_5315(T1_);
2416 }
N_INLINE(void,nimGCunrefNoCycle)2417 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
2418 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2419 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2420 T1_ = usrToCell__system_5270(p);
2421 decRef__system_5315(T1_);
2422 }
N_INLINE(NIM_BOOL,contains__pureZtimes_2283)2423 static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {
2424 NIM_BOOL result;
2425 NIM_BOOL T1_;
2426 result = (NIM_BOOL)0;
2427 T1_ = (NIM_BOOL)0;
2428 T1_ = (s.a <= value);
2429 if (!(T1_)) goto LA2_;
2430 T1_ = (value <= s.b);
2431 LA2_: ;
2432 result = T1_;
2433 return result;
2434 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)2435 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
2436 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
2437 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2438 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2439 result.a = a;
2440 result.b = b;
2441 return result;
2442 }
N_INLINE(void,appendChar)2443 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2444 (*dest).data[(*dest).Sup.len] = c;
2445 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2446 (*dest).Sup.len += ((NI) 1);
2447 }
N_INLINE(void,nimCopyMem)2448 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2449 void* T1_;
2450 T1_ = (void*)0;
2451 T1_ = memcpy(dest, source, ((size_t) (size)));
2452 }
N_INLINE(void,copyMem__system_1727)2453 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2454 nimCopyMem(dest, source, size);
2455 }
N_INLINE(void,appendString)2456 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2457 {
2458 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2459 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2460 (*dest).Sup.len += (*src).Sup.len;
2461 }
2462 LA3_: ;
2463 }
N_INLINE(NI,toLinenumber__msgs_609)2464 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2465 NI result;
2466 result = (NI)0;
2467 result = ((NI) (info.line));
2468 return result;
2469 }
N_INLINE(NI,toColumn__msgs_612)2470 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2471 NI result;
2472 result = (NI)0;
2473 result = ((NI) (info.col));
2474 return result;
2475 }
N_NIMCALL(void,Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)2476 static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op) {
2477 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* a;
2478 a = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*)p;
2479 nimGCvisit((void*)(*a).line1, op);
2480 }
N_CLOSURE(NIM_BOOL,isOpeningBacktick__sigmatch_4458)2481 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0) {
2482 NIM_BOOL result;
2483 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenvP_;
2484 result = (NIM_BOOL)0;
2485 colonenvP_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) ClE_0;
2486 {
2487 NIM_BOOL T3_;
2488 T3_ = (NIM_BOOL)0;
2489 T3_ = (((NI) 0) <= col);
2490 if (!(T3_)) goto LA4_;
2491 T3_ = (col < ((*colonenvP_).line1 ? (*colonenvP_).line1->Sup.len : 0));
2492 LA4_: ;
2493 if (!T3_) goto LA5_;
2494 {
2495 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T11_;
2496 NIM_BOOL T12_;
2497 if (!((NU8)((*colonenvP_).line1->data[col]) == (NU8)(96))) goto LA9_;
2498 nimZeroMem((void*)(&T11_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2499 T11_.ClP_0 = isOpeningBacktick__sigmatch_4458; T11_.ClE_0 = colonenvP_;
2500 T12_ = (NIM_BOOL)0;
2501 T12_ = T11_.ClE_0? T11_.ClP_0((NI)(col - ((NI) 1)), T11_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_5)(T11_.ClP_0))((NI)(col - ((NI) 1)));
2502 result = !(T12_);
2503 }
2504 goto LA7_;
2505 LA9_: ;
2506 {
2507 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T14_;
2508 nimZeroMem((void*)(&T14_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2509 T14_.ClP_0 = isOpeningBacktick__sigmatch_4458; T14_.ClE_0 = colonenvP_;
2510 result = T14_.ClE_0? T14_.ClP_0((NI)(col - ((NI) 1)), T14_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_6)(T14_.ClP_0))((NI)(col - ((NI) 1)));
2511 }
2512 LA7_: ;
2513 }
2514 goto LA1_;
2515 LA5_: ;
2516 {
2517 result = NIM_FALSE;
2518 }
2519 LA1_: ;
2520 return result;
2521 }
N_INLINE(NI,skipUntil__pureZparseutils_148)2522 static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start) {
2523 NI result;
2524 result = (NI)0;
2525 result = ((NI) 0);
2526 {
2527 while (1) {
2528 NIM_BOOL T3_;
2529 T3_ = (NIM_BOOL)0;
2530 T3_ = ((NI)(start + result) < (s ? s->Sup.len : 0));
2531 if (!(T3_)) goto LA4_;
2532 T3_ = !(((NU8)(s->data[(NI)(result + start)]) == (NU8)(until)));
2533 LA4_: ;
2534 if (!T3_) goto LA2;
2535 result += ((NI) 1);
2536 } LA2: ;
2537 }
2538 return result;
2539 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_865)2540 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
2541 NimStringDesc* result;
2542 NI a;
2543 NI L;
2544 result = NIM_NIL;
2545 a = x.a;
2546 L = (NI)((NI)(x.b - a) + ((NI) 1));
2547 result = mnewString(((NI) (L)));
2548 {
2549 NI i;
2550 NI i_2;
2551 i = (NI)0;
2552 i_2 = ((NI) 0);
2553 {
2554 while (1) {
2555 if (!(i_2 < L)) goto LA3;
2556 i = i_2;
2557 result->data[i] = s->data[(NI)(i + a)];
2558 i_2 += ((NI) 1);
2559 } LA3: ;
2560 }
2561 }
2562 return result;
2563 }
N_INLINE(NIM_CHAR,X5BX5D___system_7328)2564 static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i) {
2565 NIM_CHAR result;
2566 result = (NIM_CHAR)0;
2567 result = s->data[(NI)((s ? s->Sup.len : 0) - i)];
2568 return result;
2569 }
N_INLINE(NI,parseWhile__pureZparseutils_226)2570 static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start) {
2571 NI result;
2572 NI i;
2573 result = (NI)0;
2574 i = start;
2575 {
2576 while (1) {
2577 NIM_BOOL T3_;
2578 T3_ = (NIM_BOOL)0;
2579 T3_ = (i < (s ? s->Sup.len : 0));
2580 if (!(T3_)) goto LA4_;
2581 T3_ = ((validChars[(NU)(((NU8)(s->data[i])))>>3] &(1U<<((NU)(((NU8)(s->data[i])))&7U)))!=0);
2582 LA4_: ;
2583 if (!T3_) goto LA2;
2584 i += ((NI) 1);
2585 } LA2: ;
2586 }
2587 result = (NI)(i - start);
2588 fastSubstr__pureZparseutils_170(s, token, start, result);
2589 return result;
2590 }
N_INLINE(int,nimCmpMem)2591 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2592 int result;
2593 result = (int)0;
2594 result = memcmp(a, b, ((size_t) (size)));
2595 return result;
2596 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2597 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2598 NIM_BOOL result;
2599 int T1_;
2600 result = (NIM_BOOL)0;
2601 T1_ = (int)0;
2602 T1_ = nimCmpMem(a, b, size);
2603 result = (T1_ == ((NI32) 0));
2604 return result;
2605 }
N_INLINE(NIM_BOOL,eqStrings)2606 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2607 NIM_BOOL result;
2608 NI alen;
2609 NI blen;
2610 { result = (NIM_BOOL)0;
2611 alen = (a ? a->Sup.len : 0);
2612 blen = (b ? b->Sup.len : 0);
2613 {
2614 if (!(alen == blen)) goto LA3_;
2615 {
2616 if (!(alen == ((NI) 0))) goto LA7_;
2617 result = NIM_TRUE;
2618 goto BeforeRet_;
2619 }
2620 LA7_: ;
2621 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2622 goto BeforeRet_;
2623 }
2624 LA3_: ;
2625 }BeforeRet_: ;
2626 return result;
2627 }
N_NIMCALL(NI,getTokenLenFromSource__sigmatch_4451)2628 N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2629 NI result;
2630 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenv_;
2631 NI column;
2632 result = (NI)0;
2633 colonenv_ = NIM_NIL;
2634 colonenv_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) newObj((&NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_), sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ));
2635 (*colonenv_).Sup.m_type = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
2636 asgnRef((void**) (&(*colonenv_).line1), sourceLine__msgs_1101(conf, info));
2637 column = toColumn__msgs_612(info);
2638 {
2639 if (!(((*colonenv_).line1 ? (*colonenv_).line1->Sup.len : 0) < column)) goto LA3_;
2640 result = ((NI) 0);
2641 }
2642 goto LA1_;
2643 LA3_: ;
2644 {
2645 NIM_BOOL T6_;
2646 NIM_BOOL T7_;
2647 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T10_;
2648 T6_ = (NIM_BOOL)0;
2649 T7_ = (NIM_BOOL)0;
2650 T7_ = (((NI) 0) < column);
2651 if (!(T7_)) goto LA8_;
2652 T7_ = ((NU8)((*colonenv_).line1->data[(NI)(column - ((NI) 1))]) == (NU8)(96));
2653 LA8_: ;
2654 T6_ = T7_;
2655 if (!(T6_)) goto LA9_;
2656 nimZeroMem((void*)(&T10_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2657 T10_.ClP_0 = isOpeningBacktick__sigmatch_4458; T10_.ClE_0 = colonenv_;
2658 T6_ = T10_.ClE_0? T10_.ClP_0((NI)(column - ((NI) 1)), T10_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_7)(T10_.ClP_0))((NI)(column - ((NI) 1)));
2659 LA9_: ;
2660 if (!T6_) goto LA11_;
2661 result = skipUntil__pureZparseutils_148((*colonenv_).line1, 96, column);
2662 {
2663 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T15_;
2664 NimStringDesc* T16_;
2665 NI T17_;
2666 T15_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2667 T16_ = NIM_NIL;
2668 T16_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T15_);
2669 T17_ = (NI)0;
2670 T17_ = nsuCmpIgnoreStyle(T16_, ident);
2671 if (!!((T17_ == ((NI) 0)))) goto LA18_;
2672 result = ((NI) 0);
2673 }
2674 LA18_: ;
2675 }
2676 goto LA1_;
2677 LA11_: ;
2678 {
2679 NIM_BOOL T21_;
2680 NIM_CHAR T23_;
2681 T21_ = (NIM_BOOL)0;
2682 T21_ = (((NU8)(ident->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(255)) || ((NU8)(ident->data[((NI) 0)])) == ((NU8)(95)));
2683 if (!(T21_)) goto LA22_;
2684 T23_ = (NIM_CHAR)0;
2685 T23_ = X5BX5D___system_7328(ident, ((NI) 1));
2686 T21_ = !(((NU8)(T23_) == (NU8)(61)));
2687 LA22_: ;
2688 if (!T21_) goto LA24_;
2689 result = identLen__linter_11((*colonenv_).line1, column);
2690 {
2691 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T28_;
2692 NimStringDesc* T29_;
2693 NI T30_;
2694 T28_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2695 T29_ = NIM_NIL;
2696 T29_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T28_);
2697 T30_ = (NI)0;
2698 T30_ = nsuCmpIgnoreStyle(T29_, ident);
2699 if (!!((T30_ == ((NI) 0)))) goto LA31_;
2700 result = ((NI) 0);
2701 }
2702 LA31_: ;
2703 }
2704 goto LA1_;
2705 LA24_: ;
2706 {
2707 NimStringDesc* sourceIdent;
2708 sourceIdent = NIM_NIL;
2709 result = parseWhile__pureZparseutils_226((*colonenv_).line1, (&sourceIdent), TM__EV5hHJmjIY9cla9b9be7fSVJQ_8, column);
2710 {
2711 NIM_BOOL T36_;
2712 NIM_CHAR T37_;
2713 T36_ = (NIM_BOOL)0;
2714 T37_ = (NIM_CHAR)0;
2715 T37_ = X5BX5D___system_7328(ident, ((NI) 1));
2716 T36_ = ((NU8)(T37_) == (NU8)(61));
2717 if (!(T36_)) goto LA38_;
2718 T36_ = (((NU8)(ident->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(ident->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(ident->data[((NI) 0)])) <= ((NU8)(255)) || ((NU8)(ident->data[((NI) 0)])) == ((NU8)(95)));
2719 LA38_: ;
2720 if (!T36_) goto LA39_;
2721 {
2722 if (!!(eqStrings(sourceIdent, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_9)))) goto LA43_;
2723 result = ((NI) 0);
2724 }
2725 LA43_: ;
2726 }
2727 goto LA34_;
2728 LA39_: ;
2729 {
2730 NIM_BOOL T46_;
2731 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T48_;
2732 NimStringDesc* T49_;
2733 T46_ = (NIM_BOOL)0;
2734 T46_ = ((ident ? ident->Sup.len : 0) < (sourceIdent ? sourceIdent->Sup.len : 0));
2735 if (!(T46_)) goto LA47_;
2736 T48_ = dotdot___pureZunicode_840(((NI) 0), ((ident ? ident->Sup.len : 0)-1));
2737 T49_ = NIM_NIL;
2738 T49_ = X5BX5D___pureZunicode_865(sourceIdent, T48_);
2739 T46_ = eqStrings(T49_, ident);
2740 LA47_: ;
2741 if (!T46_) goto LA50_;
2742 result = (ident ? ident->Sup.len : 0);
2743 }
2744 goto LA34_;
2745 LA50_: ;
2746 {
2747 if (!!(eqStrings(sourceIdent, ident))) goto LA53_;
2748 result = ((NI) 0);
2749 }
2750 goto LA34_;
2751 LA53_: ;
2752 LA34_: ;
2753 }
2754 LA1_: ;
2755 return result;
2756 }
N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ *,symToSuggest__sigmatch_4528)2757 N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*, symToSuggest__sigmatch_4528)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL isLocal, tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI quality, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo) {
2758 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result;
2759 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q infox;
2760 result = NIM_NIL;
2761 result = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*) newObj((&NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_), sizeof(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ));
2762 (*result).section = section;
2763 (*result).quality = quality;
2764 (*result).isGlobal = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
2765 (*result).prefix = prefix;
2766 (*result).contextFits = (inTypeContext == ((144 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
2767 (*result).scope = scope;
2768 (*result).name = (&(*(*s).name).s);
2769 (*result).symkind = ((NU8) ((*s).kind));
2770 {
2771 if (!!((((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0))) goto LA3_;
2772 if ((*result).qualifiedPath) { nimGCunrefRC1((*result).qualifiedPath); (*result).qualifiedPath = NIM_NIL; }
2773 {
2774 NIM_BOOL T7_;
2775 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow;
2776 T7_ = (NIM_BOOL)0;
2777 T7_ = !(isLocal);
2778 if (!(T7_)) goto LA8_;
2779 T7_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2780 LA8_: ;
2781 if (!T7_) goto LA9_;
2782 ow = (*s).owner;
2783 {
2784 NIM_BOOL T13_;
2785 NIM_BOOL T14_;
2786 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow2;
2787 NI T19_;
2788 NimStringDesc* T20_;
2789 T13_ = (NIM_BOOL)0;
2790 T14_ = (NIM_BOOL)0;
2791 T14_ = !((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2792 if (!(T14_)) goto LA15_;
2793 T14_ = !(((*ow).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2794 LA15_: ;
2795 T13_ = T14_;
2796 if (!(T13_)) goto LA16_;
2797 T13_ = !(((*ow).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2798 LA16_: ;
2799 if (!T13_) goto LA17_;
2800 ow2 = (*ow).owner;
2801 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2802 T19_ = (*result).qualifiedPath->Sup.len++;
2803 T20_ = NIM_NIL;
2804 T20_ = (*result).qualifiedPath->data[T19_]; (*result).qualifiedPath->data[T19_] = copyStringRC1((*(*ow2).name).s);
2805 if (T20_) nimGCunrefNoCycle(T20_);
2806 }
2807 LA17_: ;
2808 {
2809 NI T25_;
2810 NimStringDesc* T26_;
2811 if (!!((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23_;
2812 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2813 T25_ = (*result).qualifiedPath->Sup.len++;
2814 T26_ = NIM_NIL;
2815 T26_ = (*result).qualifiedPath->data[T25_]; (*result).qualifiedPath->data[T25_] = copyStringRC1((*(*ow).name).s);
2816 if (T26_) nimGCunrefNoCycle(T26_);
2817 }
2818 LA23_: ;
2819 }
2820 LA9_: ;
2821 {
2822 NIM_BOOL T29_;
2823 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T31_;
2824 NimStringDesc* T34_;
2825 NI T35_;
2826 NimStringDesc* T36_;
2827 T29_ = (NIM_BOOL)0;
2828 T29_ = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_3[(NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))&7U)))!=0);
2829 if (T29_) goto LA30_;
2830 T31_ = dotdot___pureZunicode_840(((NI) 1), ((NI) 66));
2831 T29_ = contains__pureZtimes_2283(T31_, (*(*s).name).id);
2832 LA30_: ;
2833 if (!T29_) goto LA32_;
2834 T34_ = NIM_NIL;
2835 T34_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 2);
2836 appendChar(T34_, 96);
2837 appendString(T34_, (*(*s).name).s);
2838 appendChar(T34_, 96);
2839 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2840 T35_ = (*result).qualifiedPath->Sup.len++;
2841 T36_ = NIM_NIL;
2842 T36_ = (*result).qualifiedPath->data[T35_]; (*result).qualifiedPath->data[T35_] = copyStringRC1(T34_);
2843 if (T36_) nimGCunrefNoCycle(T36_);
2844 }
2845 goto LA27_;
2846 LA32_: ;
2847 {
2848 NI T38_;
2849 NimStringDesc* T39_;
2850 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2851 T38_ = (*result).qualifiedPath->Sup.len++;
2852 T39_ = NIM_NIL;
2853 T39_ = (*result).qualifiedPath->data[T38_]; (*result).qualifiedPath->data[T38_] = copyStringRC1((*(*s).name).s);
2854 if (T39_) nimGCunrefNoCycle(T39_);
2855 }
2856 LA27_: ;
2857 {
2858 if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA42_;
2859 asgnRef((void**) (&(*result).forth), typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0)));
2860 }
2861 goto LA40_;
2862 LA42_: ;
2863 {
2864 asgnRef((void**) (&(*result).forth), ((NimStringDesc*) NIM_NIL));
2865 }
2866 LA40_: ;
2867 }
2868 LA3_: ;
2869 {
2870 NIM_BOOL T47_;
2871 T47_ = (NIM_BOOL)0;
2872 T47_ = useSuppliedInfo;
2873 if (T47_) goto LA48_;
2874 T47_ = ((784 &((NU16)1<<((NU)(section)&15U)))!=0);
2875 LA48_: ;
2876 if (!T47_) goto LA49_;
2877 infox = info;
2878 }
2879 goto LA45_;
2880 LA49_: ;
2881 {
2882 infox = (*s).info;
2883 }
2884 LA45_: ;
2885 asgnRef((void**) (&(*result).filePath), toFullPath__msgs_538((*g).config, infox.fileIndex));
2886 (*result).line = toLinenumber__msgs_609(infox);
2887 (*result).column = toColumn__msgs_612(infox);
2888 (*result).version = (*(*g).config).suggestVersion;
2889 {
2890 if (!!((section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8)))) goto LA54_;
2891 (*result).tokenLen = ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0);
2892 }
2893 goto LA52_;
2894 LA54_: ;
2895 {
2896 (*result).tokenLen = getTokenLenFromSource__sigmatch_4451((*g).config, (*(*s).name).s, infox);
2897 }
2898 LA52_: ;
2899 return result;
2900 }
N_INLINE(NI,len__ast_4002)2901 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2902 NI result;
2903 NI T1_;
2904 result = (NI)0;
2905 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2906 result = T1_;
2907 return result;
2908 }
N_NIMCALL(NI,getQuality__sigmatch_5002)2909 N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2910 NI result;
2911 result = (NI)0;
2912 result = ((NI) 100);
2913 {
2914 NIM_BOOL T3_;
2915 NI T5_;
2916 tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
2917 T3_ = (NIM_BOOL)0;
2918 T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2919 if (!(T3_)) goto LA4_;
2920 T5_ = (NI)0;
2921 T5_ = len__ast_4002((*s).typ);
2922 T3_ = (((NI) 1) < T5_);
2923 LA4_: ;
2924 if (!T3_) goto LA6_;
2925 exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
2926 {
2927 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA10_;
2928 exp_1 = elemType__types_263(exp_1);
2929 }
2930 LA10_: ;
2931 {
2932 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA14_;
2933 result = ((NI) 50);
2934 }
2935 LA14_: ;
2936 }
2937 LA6_: ;
2938 {
2939 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA18_;
2940 result = ((NI) ((NI)(((NI) (result)) - ((NI) 5))));
2941 }
2942 LA18_: ;
2943 return result;
2944 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)2945 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
2946 NIM_BOOL result;
2947 NIM_BOOL T1_;
2948 NI T2_;
2949 result = (NIM_BOOL)0;
2950 T1_ = (NIM_BOOL)0;
2951 T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
2952 T1_ = (module < T2_);
2953 if (!(T1_)) goto LA3_;
2954 T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
2955 LA3_: ;
2956 result = T1_;
2957 return result;
2958 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)2959 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
2960 NIM_BOOL result;
2961 result = (NIM_BOOL)0;
2962 result = isCachedModule__modulegraphs_2697(g, (*m).position);
2963 return result;
2964 }
N_NIMCALL(void,suggestEverything__sigmatch_5217)2965 N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
2966 {
2967 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
2968 NI scopeN;
2969 NIM_BOOL isLocal;
2970 NIM_BOOL isLocal_2;
2971 NI scopeN_2;
2972 it = NIM_NIL;
2973 scopeN = (NI)0;
2974 isLocal = (NIM_BOOL)0;
2975 isLocal_2 = NIM_TRUE;
2976 scopeN_2 = ((NI) 0);
2977 {
2978 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
2979 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
2980 scope = NIM_NIL;
2981 current = (*c).currentScope;
2982 {
2983 while (1) {
2984 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
2985 scope = current;
2986 {
2987 if (!(scope == (*c).topLevelScope)) goto LA7_;
2988 isLocal_2 = NIM_FALSE;
2989 }
2990 LA7_: ;
2991 scopeN_2 -= ((NI) 1);
2992 {
2993 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
2994 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
2995 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2996 item = NIM_NIL;
2997 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
2998 s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
2999 {
3000 while (1) {
3001 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
3002 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3003 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
3004 item = s;
3005 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3006 colontmp_.Field0 = item;
3007 colontmp_.Field1 = scopeN_2;
3008 colontmp_.Field2 = isLocal_2;
3009 it = colontmp_.Field0;
3010 scopeN = colontmp_.Field1;
3011 isLocal = colontmp_.Field2;
3012 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3013 {
3014 NIM_BOOL T14_;
3015 NI T17_;
3016 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
3017 NI T19_;
3018 T14_ = (NIM_BOOL)0;
3019 T14_ = filterSym__sigmatch_4909(it, f, (&pm));
3020 if (!T14_) goto LA15_;
3021 T17_ = (NI)0;
3022 T17_ = getQuality__sigmatch_5002(it);
3023 T18_ = NIM_NIL;
3024 T18_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3025 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3026 T19_ = (*outputs)->Sup.len++;
3027 asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
3028 }
3029 LA15_: ;
3030 s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
3031 } LA11: ;
3032 }
3033 }
3034 current = (*current).parent;
3035 } LA4: ;
3036 }
3037 }
3038 scopeN_2 -= ((NI) 1);
3039 isLocal_2 = NIM_FALSE;
3040 {
3041 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
3042 NI i;
3043 NI L;
3044 NI T21_;
3045 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
3046 i = ((NI) 0);
3047 T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
3048 L = T21_;
3049 {
3050 while (1) {
3051 if (!(i < L)) goto LA23;
3052 im = (&(*c).imports->data[i]);
3053 {
3054 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3055 NIM_BOOL importHidden;
3056 s_2 = NIM_NIL;
3057 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
3058 {
3059 NIM_BOOL T27_;
3060 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
3061 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
3062 T27_ = (NIM_BOOL)0;
3063 T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
3064 if (!T27_) goto LA28_;
3065 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
3066 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
3067 {
3068 while (1) {
3069 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
3070 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
3071 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
3072 s_2 = r;
3073 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3074 colontmp__2.Field0 = s_2;
3075 colontmp__2.Field1 = scopeN_2;
3076 colontmp__2.Field2 = isLocal_2;
3077 it = colontmp__2.Field0;
3078 scopeN = colontmp__2.Field1;
3079 isLocal = colontmp__2.Field2;
3080 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3081 {
3082 NIM_BOOL T34_;
3083 NI T37_;
3084 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
3085 NI T39_;
3086 T34_ = (NIM_BOOL)0;
3087 T34_ = filterSym__sigmatch_4909(it, f, (&pm_2));
3088 if (!T34_) goto LA35_;
3089 T37_ = (NI)0;
3090 T37_ = getQuality__sigmatch_5002(it);
3091 T38_ = NIM_NIL;
3092 T38_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3093 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3094 T39_ = (*outputs)->Sup.len++;
3095 asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
3096 }
3097 LA35_: ;
3098 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
3099 } LA31: ;
3100 }
3101 }
3102 goto LA25_;
3103 LA28_: ;
3104 {
3105 {
3106 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
3107 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
3108 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
3109 NI i_2;
3110 NI L_2;
3111 NI T46_;
3112 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3113 colontmp__3 = NIM_NIL;
3114 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
3115 {
3116 if (!importHidden) goto LA44_;
3117 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
3118 }
3119 LA44_: ;
3120 colontmp__3 = (*retX60gensym17_).data;
3121 i_2 = ((NI) 0);
3122 T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
3123 L_2 = T46_;
3124 {
3125 while (1) {
3126 if (!(i_2 < L_2)) goto LA48;
3127 s_3 = &colontmp__3->data[i_2];
3128 {
3129 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
3130 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
3131 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
3132 s_2 = (*s_3);
3133 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3134 colontmp__4.Field0 = s_2;
3135 colontmp__4.Field1 = scopeN_2;
3136 colontmp__4.Field2 = isLocal_2;
3137 it = colontmp__4.Field0;
3138 scopeN = colontmp__4.Field1;
3139 isLocal = colontmp__4.Field2;
3140 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3141 {
3142 NIM_BOOL T55_;
3143 NI T58_;
3144 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
3145 NI T60_;
3146 T55_ = (NIM_BOOL)0;
3147 T55_ = filterSym__sigmatch_4909(it, f, (&pm_3));
3148 if (!T55_) goto LA56_;
3149 T58_ = (NI)0;
3150 T58_ = getQuality__sigmatch_5002(it);
3151 T59_ = NIM_NIL;
3152 T59_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3153 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3154 T60_ = (*outputs)->Sup.len++;
3155 asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
3156 }
3157 LA56_: ;
3158 }
3159 LA51_: ;
3160 i_2 += ((NI) 1);
3161 } LA48: ;
3162 }
3163 }
3164 }
3165 LA25_: ;
3166 }
3167 i += ((NI) 1);
3168 } LA23: ;
3169 }
3170 }
3171 }
3172 }
N_INLINE(NIM_BOOL,fieldVisible__sigmatch_4944)3173 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
3174 NIM_BOOL result;
3175 NI fmoduleId;
3176 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_;
3177 NIM_BOOL T1_;
3178 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_;
3179 { result = (NIM_BOOL)0;
3180 xX60gensym794_ = getModule__astalgo_216(f);
3181 fmoduleId = (NI)((NI)((NU32)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym794_).Sup.itemId.item)));
3182 T1_ = (NIM_BOOL)0;
3183 T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
3184 if (T1_) goto LA2_;
3185 xX60gensym796_ = (*c).module;
3186 T1_ = (fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym796_).Sup.itemId.item))));
3187 LA2_: ;
3188 result = T1_;
3189 {
3190 if (!!(result)) goto LA5_;
3191 {
3192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module;
3193 NI i;
3194 NI L;
3195 NI T8_;
3196 module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3197 i = ((NI) 0);
3198 T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0);
3199 L = T8_;
3200 {
3201 while (1) {
3202 if (!(i < L)) goto LA10;
3203 module = &(*c).friendModules->data[i];
3204 {
3205 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_;
3206 xX60gensym797_ = (*module);
3207 if (!(fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_;
3208 result = NIM_TRUE;
3209 goto BeforeRet_;
3210 }
3211 LA13_: ;
3212 i += ((NI) 1);
3213 } LA10: ;
3214 }
3215 }
3216 {
3217 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj;
3218 if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_;
3219 symObj = (*f).owner;
3220 {
3221 if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_;
3222 symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym;
3223 }
3224 LA21_: ;
3225 {
3226 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
3227 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
3228 scope = NIM_NIL;
3229 current = (*c).currentScope;
3230 {
3231 while (1) {
3232 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25;
3233 scope = current;
3234 {
3235 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
3236 NI i_2;
3237 NI L_2;
3238 NI T27_;
3239 sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3240 i_2 = ((NI) 0);
3241 T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0);
3242 L_2 = T27_;
3243 {
3244 while (1) {
3245 if (!(i_2 < L_2)) goto LA29;
3246 sym = &(*scope).allowPrivateAccess->data[i_2];
3247 {
3248 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_;
3249 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_;
3250 xX60gensym800_ = symObj;
3251 xX60gensym801_ = (*sym);
3252 if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym801_).Sup.itemId.item))))) goto LA32_;
3253 result = NIM_TRUE;
3254 goto BeforeRet_;
3255 }
3256 LA32_: ;
3257 i_2 += ((NI) 1);
3258 } LA29: ;
3259 }
3260 }
3261 current = (*current).parent;
3262 } LA25: ;
3263 }
3264 }
3265 }
3266 LA17_: ;
3267 }
3268 LA5_: ;
3269 }BeforeRet_: ;
3270 return result;
3271 }
N_NIMCALL(void,suggestField__sigmatch_5026)3272 N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3273 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3274 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3275 {
3276 NIM_BOOL T3_;
3277 NI T7_;
3278 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T8_;
3279 NI T9_;
3280 T3_ = (NIM_BOOL)0;
3281 T3_ = filterSym__sigmatch_4909(s, f, (&pm));
3282 if (!(T3_)) goto LA4_;
3283 T3_ = fieldVisible__sigmatch_4944(c, s);
3284 LA4_: ;
3285 if (!T3_) goto LA5_;
3286 T7_ = (NI)0;
3287 T7_ = getQuality__sigmatch_5002(s);
3288 T8_ = NIM_NIL;
3289 T8_ = symToSuggest__sigmatch_4528((*c).graph, s, NIM_TRUE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T7_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) 0), NIM_FALSE);
3290 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3291 T9_ = (*outputs)->Sup.len++;
3292 asgnRef((void**) (&(*outputs)->data[T9_]), T8_);
3293 }
3294 LA5_: ;
3295 }
N_NIMCALL(void,suggestSymList__sigmatch_5040)3296 N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5040)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3297 {
3298 NI i;
3299 NI colontmp_;
3300 NI i_2;
3301 i = (NI)0;
3302 colontmp_ = (NI)0;
3303 colontmp_ = len__ast_3198(list);
3304 i_2 = ((NI) 0);
3305 {
3306 while (1) {
3307 if (!(i_2 < colontmp_)) goto LA3;
3308 i = i_2;
3309 {
3310 if (!((*(*list)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
3311 suggestField__sigmatch_5026(c, (*(*list)._kind_6.sons->data[i])._kind_4.sym, f, info, outputs);
3312 }
3313 LA6_: ;
3314 i_2 += ((NI) 1);
3315 } LA3: ;
3316 }
3317 }
3318 }
N_NIMCALL(void,suggestObject__sigmatch_5060)3319 N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
3320 switch ((*n).kind) {
3321 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3322 {
3323 {
3324 NI i;
3325 NI colontmp_;
3326 NI i_2;
3327 i = (NI)0;
3328 colontmp_ = (NI)0;
3329 colontmp_ = len__ast_3198(n);
3330 i_2 = ((NI) 0);
3331 {
3332 while (1) {
3333 if (!(i_2 < colontmp_)) goto LA4;
3334 i = i_2;
3335 suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[i], f, info, outputs);
3336 i_2 += ((NI) 1);
3337 } LA4: ;
3338 }
3339 }
3340 }
3341 break;
3342 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3343 {
3344 {
3345 NI T8_;
3346 T8_ = (NI)0;
3347 T8_ = len__ast_3198(n);
3348 if (!(((NI) 0) < T8_)) goto LA9_;
3349 suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[((NI) 0)], f, info, outputs);
3350 {
3351 NI i_3;
3352 NI colontmp__2;
3353 NI i_4;
3354 i_3 = (NI)0;
3355 colontmp__2 = (NI)0;
3356 colontmp__2 = len__ast_3198(n);
3357 i_4 = ((NI) 1);
3358 {
3359 while (1) {
3360 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
3361 if (!(i_4 < colontmp__2)) goto LA13;
3362 i_3 = i_4;
3363 T14_ = NIM_NIL;
3364 T14_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
3365 suggestObject__sigmatch_5060(c, T14_, f, info, outputs);
3366 i_4 += ((NI) 1);
3367 } LA13: ;
3368 }
3369 }
3370 }
3371 LA9_: ;
3372 }
3373 break;
3374 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3375 {
3376 suggestField__sigmatch_5026(c, (*n)._kind_4.sym, f, info, outputs);
3377 }
3378 break;
3379 default:
3380 {
3381 }
3382 break;
3383 }
3384 }
N_INLINE(NIM_BOOL,filterSymNoOpr__sigmatch_4935)3385 static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
3386 NIM_BOOL result;
3387 NIM_BOOL T1_;
3388 NIM_BOOL T2_;
3389 NIM_BOOL T5_;
3390 result = (NIM_BOOL)0;
3391 T1_ = (NIM_BOOL)0;
3392 T2_ = (NIM_BOOL)0;
3393 T2_ = filterSym__sigmatch_4909(s, prefix, res);
3394 if (!(T2_)) goto LA3_;
3395 T2_ = (((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)((*(*s).name).s->data[((NI) 0)])) <= ((NU8)(255)));
3396 LA3_: ;
3397 T1_ = T2_;
3398 if (!(T1_)) goto LA4_;
3399 T5_ = (NIM_BOOL)0;
3400 T5_ = isKeyword__renderer_73((*s).name);
3401 T1_ = !(T5_);
3402 LA4_: ;
3403 result = T1_;
3404 return result;
3405 }
N_INLINE(void,initCandidateAux__sigmatch_94)3406 static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3407 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
3408 unsureAsgnRef((void**) (&(*c).c), ctx);
3409 (*c).exactMatches = ((NI) 0);
3410 (*c).subtypeMatches = ((NI) 0);
3411 (*c).convMatches = ((NI) 0);
3412 (*c).intConvMatches = ((NI) 0);
3413 (*c).genericMatches = ((NI) 0);
3414 (*c).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0);
3415 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3416 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3417 (*c).firstMismatch.kind = T1_.kind;
3418 (*c).firstMismatch.arg = T1_.arg;
3419 unsureAsgnRef((void**) (&(*c).firstMismatch.formal), T1_.formal);
3420 unsureAsgnRef((void**) (&(*c).callee), callee);
3421 unsureAsgnRef((void**) (&(*c).call), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3422 (*c).baseTypeMatch = NIM_FALSE;
3423 (*c).genericConverter = NIM_FALSE;
3424 (*c).inheritancePenalty = ((NI) 0);
3425 }
N_NIMCALL(void,initCandidate__sigmatch_116)3426 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3427 initCandidateAux__sigmatch_94(ctx, c, callee);
3428 unsureAsgnRef((void**) (&(*c).calleeSym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3429 initIdTable__ast_4096((&(*c).bindings));
3430 }
N_NIMCALL(void,newCandidate__sigmatch_195)3431 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
3432 unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
3433 (*Result).exactMatches = 0;
3434 (*Result).genericMatches = 0;
3435 (*Result).subtypeMatches = 0;
3436 (*Result).intConvMatches = 0;
3437 (*Result).convMatches = 0;
3438 (*Result).state = 0;
3439 unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
3440 unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
3441 (*Result).calleeScope = 0;
3442 unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
3443 (*Result).bindings.counter = 0;
3444 unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
3445 (*Result).magic = 0;
3446 (*Result).baseTypeMatch = 0;
3447 (*Result).fauxMatch = 0;
3448 (*Result).genericConverter = 0;
3449 (*Result).coerceDistincts = 0;
3450 (*Result).typedescMatched = 0;
3451 (*Result).isNoCall = 0;
3452 unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
3453 unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
3454 (*Result).inheritancePenalty = 0;
3455 (*Result).firstMismatch.kind = 0;
3456 (*Result).firstMismatch.arg = 0;
3457 unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
3458 (*Result).diagnosticsEnabled = 0;
3459 initCandidate__sigmatch_116(ctx, Result, callee);
3460 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)3461 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3462 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3463 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3464 (*x).typeId_0 += ((NI) 1);
3465 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3466 result.module = (*x).module;
3467 result.item = (*x).typeId_0;
3468 return result;
3469 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)3470 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
3471 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3472 result = NIM_NIL;
3473 {
3474 NIM_BOOL T3_;
3475 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
3476 T3_ = (NIM_BOOL)0;
3477 T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3478 if (!(T3_)) goto LA4_;
3479 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
3480 LA4_: ;
3481 if (!T3_) goto LA5_;
3482 T7_ = nextTypeId__ast_3151(id);
3483 result = copyType__ast_4046(t, T7_, (*t).owner);
3484 asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3485 }
3486 goto LA1_;
3487 LA5_: ;
3488 {
3489 result = t;
3490 }
3491 LA1_: ;
3492 return result;
3493 }
N_INLINE(void,put__sigmatch_120)3494 static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val) {
3495 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3496 T1_ = NIM_NIL;
3497 T1_ = skipIntLit__magicsys_124(val, (*(*c).c).Sup.idgen);
3498 idTablePut__astalgo_70((&(*c).bindings), &key->Sup, &T1_->Sup.Sup);
3499 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryResolvingStaticExpr__sigmatch_1227)3500 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved) {
3501 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3502 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* instantiated;
3503 result = NIM_NIL;
3504 instantiated = replaceTypesInBody__semtypinst_988((*c).c, (*c).bindings, n, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), allowUnresolved);
3505 result = (*(*c).c).semExpr((*c).c, instantiated, 0);
3506 return result;
3507 }
N_INLINE(NI,safeLen__ast_3191)3508 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3509 NI result;
3510 result = (NI)0;
3511 {
3512 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
3513 result = ((NI) 0);
3514 }
3515 goto LA1_;
3516 LA3_: ;
3517 {
3518 result = len__ast_3198(n);
3519 }
3520 LA1_: ;
3521 return result;
3522 }
N_INLINE(NIM_BOOL,eqeq___idents_220)3523 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
3524 NIM_BOOL result;
3525 result = (NIM_BOOL)0;
3526 {
3527 NIM_BOOL T3_;
3528 T3_ = (NIM_BOOL)0;
3529 T3_ = (a == 0);
3530 if (T3_) goto LA4_;
3531 T3_ = (b == 0);
3532 LA4_: ;
3533 if (!T3_) goto LA5_;
3534 result = (a == b);
3535 }
3536 goto LA1_;
3537 LA5_: ;
3538 {
3539 result = ((*a).id == (*b).id);
3540 }
3541 LA1_: ;
3542 return result;
3543 }
N_NIMCALL(NIM_BOOL,shouldSkipDistinct__sigmatch_1199)3544 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent) {
3545 NIM_BOOL result;
3546 { result = (NIM_BOOL)0;
3547 {
3548 if (!((*rules).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA3_;
3549 {
3550 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
3551 r = NIM_NIL;
3552 {
3553 NI i;
3554 NI colontmp_;
3555 NI i_2;
3556 i = (NI)0;
3557 colontmp_ = (NI)0;
3558 colontmp_ = safeLen__ast_3191(rules);
3559 i_2 = ((NI) 0);
3560 {
3561 while (1) {
3562 if (!(i_2 < colontmp_)) goto LA8;
3563 i = i_2;
3564 r = (*rules)._kind_6.sons->data[i];
3565 {
3566 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
3567 NIM_BOOL T12_;
3568 T11_ = NIM_NIL;
3569 T11_ = considerQuotedIdent__lookups_28((*m).c, r, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3570 T12_ = (NIM_BOOL)0;
3571 T12_ = eqeq___idents_220(T11_, callIdent);
3572 if (!T12_) goto LA13_;
3573 result = NIM_TRUE;
3574 goto BeforeRet_;
3575 }
3576 LA13_: ;
3577 i_2 += ((NI) 1);
3578 } LA8: ;
3579 }
3580 }
3581 }
3582 result = NIM_FALSE;
3583 goto BeforeRet_;
3584 }
3585 goto LA1_;
3586 LA3_: ;
3587 {
3588 {
3589 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2;
3590 r_2 = NIM_NIL;
3591 {
3592 NI i_3;
3593 NI colontmp__2;
3594 NI i_4;
3595 i_3 = (NI)0;
3596 colontmp__2 = (NI)0;
3597 colontmp__2 = safeLen__ast_3191(rules);
3598 i_4 = ((NI) 0);
3599 {
3600 while (1) {
3601 if (!(i_4 < colontmp__2)) goto LA19;
3602 i_3 = i_4;
3603 r_2 = (*rules)._kind_6.sons->data[i_3];
3604 {
3605 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T22_;
3606 NIM_BOOL T23_;
3607 T22_ = NIM_NIL;
3608 T22_ = considerQuotedIdent__lookups_28((*m).c, r_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3609 T23_ = (NIM_BOOL)0;
3610 T23_ = eqeq___idents_220(T22_, callIdent);
3611 if (!T23_) goto LA24_;
3612 result = NIM_FALSE;
3613 goto BeforeRet_;
3614 }
3615 LA24_: ;
3616 i_4 += ((NI) 1);
3617 } LA19: ;
3618 }
3619 }
3620 }
3621 result = NIM_TRUE;
3622 goto BeforeRet_;
3623 }
3624 LA1_: ;
3625 }BeforeRet_: ;
3626 return result;
3627 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,maybeSkipDistinct__sigmatch_1210)3628 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee) {
3629 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3630 result = NIM_NIL;
3631 {
3632 NIM_BOOL T3_;
3633 NIM_BOOL T4_;
3634 NIM_BOOL T5_;
3635 T3_ = (NIM_BOOL)0;
3636 T4_ = (NIM_BOOL)0;
3637 T5_ = (NIM_BOOL)0;
3638 T5_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3639 if (!(T5_)) goto LA6_;
3640 T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
3641 LA6_: ;
3642 T4_ = T5_;
3643 if (!(T4_)) goto LA7_;
3644 T4_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3645 LA7_: ;
3646 T3_ = T4_;
3647 if (!(T3_)) goto LA8_;
3648 T3_ = shouldSkipDistinct__sigmatch_1199(m, (*t).n, (*callee).name);
3649 LA8_: ;
3650 if (!T3_) goto LA9_;
3651 result = base__types_63(t);
3652 }
3653 goto LA1_;
3654 LA9_: ;
3655 {
3656 result = t;
3657 }
3658 LA1_: ;
3659 return result;
3660 }
N_INLINE(NIM_BOOL,sameEnumTypes__types_2087)3661 static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
3662 NIM_BOOL result;
3663 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym297_;
3664 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym298_;
3665 result = (NIM_BOOL)0;
3666 xX60gensym297_ = a;
3667 xX60gensym298_ = b;
3668 result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym297_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym297_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym298_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym298_).Sup.itemId.item))));
3669 return result;
3670 }
N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRangeRel__sigmatch_981)3671 N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3672 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3673 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3674 {
3675 NIM_BOOL T3_;
3676 T3_ = (NIM_BOOL)0;
3677 T3_ = isOrdinalType__types_299(f, NIM_FALSE);
3678 if (!T3_) goto LA4_;
3679 {
3680 NIM_BOOL T8_;
3681 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
3682 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
3683 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
3684 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
3685 T8_ = (NIM_BOOL)0;
3686 T9_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3687 T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3688 T8_ = eqeq___int495056_313(T9_, T10_);
3689 if (!(T8_)) goto LA11_;
3690 T12_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3691 T13_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3692 T8_ = eqeq___int495056_313(T12_, T13_);
3693 LA11_: ;
3694 if (!T8_) goto LA14_;
3695 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3696 }
3697 goto LA6_;
3698 LA14_: ;
3699 {
3700 NIM_BOOL T17_;
3701 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3702 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3703 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3704 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3705 T17_ = (NIM_BOOL)0;
3706 T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3707 T19_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3708 T17_ = lteq___int495056_309(T18_, T19_);
3709 if (!(T17_)) goto LA20_;
3710 T21_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3711 T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3712 T17_ = lteq___int495056_309(T21_, T22_);
3713 LA20_: ;
3714 if (!T17_) goto LA23_;
3715 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3716 }
3717 goto LA6_;
3718 LA23_: ;
3719 {
3720 NIM_BOOL T26_;
3721 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T27_;
3722 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
3723 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
3724 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T31_;
3725 T26_ = (NIM_BOOL)0;
3726 T27_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3727 T28_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3728 T26_ = lteq___int495056_309(T27_, T28_);
3729 if (!(T26_)) goto LA29_;
3730 T30_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3731 T31_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3732 T26_ = lteq___int495056_309(T30_, T31_);
3733 LA29_: ;
3734 if (!T26_) goto LA32_;
3735 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3736 }
3737 goto LA6_;
3738 LA32_: ;
3739 {
3740 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3741 }
3742 LA6_: ;
3743 }
3744 goto LA1_;
3745 LA4_: ;
3746 {
3747 {
3748 NIM_BOOL T38_;
3749 NF T39_;
3750 NF T40_;
3751 NF T42_;
3752 NF T43_;
3753 T38_ = (NIM_BOOL)0;
3754 T39_ = (NF)0;
3755 T39_ = firstFloat__types_1440(a);
3756 T40_ = (NF)0;
3757 T40_ = firstFloat__types_1440(f);
3758 T38_ = (T39_ == T40_);
3759 if (!(T38_)) goto LA41_;
3760 T42_ = (NF)0;
3761 T42_ = lastFloat__types_1579(a);
3762 T43_ = (NF)0;
3763 T43_ = lastFloat__types_1579(f);
3764 T38_ = (T42_ == T43_);
3765 LA41_: ;
3766 if (!T38_) goto LA44_;
3767 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3768 }
3769 goto LA36_;
3770 LA44_: ;
3771 {
3772 NIM_BOOL T47_;
3773 NF T48_;
3774 NF T49_;
3775 NF T51_;
3776 NF T52_;
3777 T47_ = (NIM_BOOL)0;
3778 T48_ = (NF)0;
3779 T48_ = firstFloat__types_1440(f);
3780 T49_ = (NF)0;
3781 T49_ = firstFloat__types_1440(a);
3782 T47_ = (T48_ <= T49_);
3783 if (!(T47_)) goto LA50_;
3784 T51_ = (NF)0;
3785 T51_ = lastFloat__types_1579(a);
3786 T52_ = (NF)0;
3787 T52_ = lastFloat__types_1579(f);
3788 T47_ = (T51_ <= T52_);
3789 LA50_: ;
3790 if (!T47_) goto LA53_;
3791 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3792 }
3793 goto LA36_;
3794 LA53_: ;
3795 {
3796 NIM_BOOL T56_;
3797 NF T57_;
3798 NF T58_;
3799 NF T60_;
3800 NF T61_;
3801 T56_ = (NIM_BOOL)0;
3802 T57_ = (NF)0;
3803 T57_ = firstFloat__types_1440(a);
3804 T58_ = (NF)0;
3805 T58_ = lastFloat__types_1579(f);
3806 T56_ = (T57_ <= T58_);
3807 if (!(T56_)) goto LA59_;
3808 T60_ = (NF)0;
3809 T60_ = firstFloat__types_1440(f);
3810 T61_ = (NF)0;
3811 T61_ = lastFloat__types_1579(a);
3812 T56_ = (T60_ <= T61_);
3813 LA59_: ;
3814 if (!T56_) goto LA62_;
3815 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3816 }
3817 goto LA36_;
3818 LA62_: ;
3819 {
3820 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3821 }
3822 LA36_: ;
3823 }
3824 LA1_: ;
3825 return result;
3826 }
N_INLINE(NIM_BOOL,isIntLit__types_186)3827 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3828 NIM_BOOL result;
3829 NIM_BOOL T1_;
3830 NIM_BOOL T2_;
3831 result = (NIM_BOOL)0;
3832 T1_ = (NIM_BOOL)0;
3833 T2_ = (NIM_BOOL)0;
3834 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3835 if (!(T2_)) goto LA3_;
3836 T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3837 LA3_: ;
3838 T1_ = T2_;
3839 if (!(T1_)) goto LA4_;
3840 T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
3841 LA4_: ;
3842 result = T1_;
3843 return result;
3844 }
N_NIMCALL(NIM_BOOL,isConvertibleToRange__sigmatch_548)3845 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3846 NIM_BOOL result;
3847 result = (NIM_BOOL)0;
3848 {
3849 NIM_BOOL T3_;
3850 T3_ = (NIM_BOOL)0;
3851 T3_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
3852 if (!(T3_)) goto LA4_;
3853 T3_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
3854 LA4_: ;
3855 if (!T3_) goto LA5_;
3856 switch ((*f).kind) {
3857 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
3858 {
3859 NIM_BOOL T8_;
3860 T8_ = (NIM_BOOL)0;
3861 T8_ = isIntLit__types_186(a);
3862 if (T8_) goto LA9_;
3863 T8_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
3864 LA9_: ;
3865 result = T8_;
3866 }
3867 break;
3868 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
3869 {
3870 NIM_BOOL T11_;
3871 T11_ = (NIM_BOOL)0;
3872 T11_ = isIntLit__types_186(a);
3873 if (T11_) goto LA12_;
3874 T11_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
3875 LA12_: ;
3876 result = T11_;
3877 }
3878 break;
3879 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
3880 {
3881 NIM_BOOL T14_;
3882 T14_ = (NIM_BOOL)0;
3883 T14_ = isIntLit__types_186(a);
3884 if (T14_) goto LA15_;
3885 T14_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3886 LA15_: ;
3887 result = T14_;
3888 }
3889 break;
3890 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
3891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
3892 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
3893 {
3894 result = NIM_TRUE;
3895 }
3896 break;
3897 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
3898 {
3899 NIM_BOOL T18_;
3900 T18_ = (NIM_BOOL)0;
3901 T18_ = isIntLit__types_186(a);
3902 if (T18_) goto LA19_;
3903 T18_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
3904 LA19_: ;
3905 result = T18_;
3906 }
3907 break;
3908 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
3909 {
3910 NIM_BOOL T21_;
3911 T21_ = (NIM_BOOL)0;
3912 T21_ = isIntLit__types_186(a);
3913 if (T21_) goto LA22_;
3914 T21_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
3915 LA22_: ;
3916 result = T21_;
3917 }
3918 break;
3919 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
3920 {
3921 NIM_BOOL T24_;
3922 T24_ = (NIM_BOOL)0;
3923 T24_ = isIntLit__types_186(a);
3924 if (T24_) goto LA25_;
3925 T24_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
3926 LA25_: ;
3927 result = T24_;
3928 }
3929 break;
3930 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
3931 {
3932 NIM_BOOL T27_;
3933 T27_ = (NIM_BOOL)0;
3934 T27_ = isIntLit__types_186(a);
3935 if (T27_) goto LA28_;
3936 T27_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3937 LA28_: ;
3938 result = T27_;
3939 }
3940 break;
3941 default:
3942 {
3943 result = NIM_FALSE;
3944 }
3945 break;
3946 }
3947 }
3948 goto LA1_;
3949 LA5_: ;
3950 {
3951 NIM_BOOL T33_;
3952 if (!((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39))) goto LA31_;
3953 T33_ = (NIM_BOOL)0;
3954 T33_ = isIntLit__types_186(a);
3955 if (T33_) goto LA34_;
3956 T33_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
3957 LA34_: ;
3958 result = T33_;
3959 }
3960 goto LA1_;
3961 LA31_: ;
3962 LA1_: ;
3963 return result;
3964 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleRange__sigmatch_476)3965 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleRange__sigmatch_476)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag min, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag max) {
3966 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3967 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3968 {
3969 if (!((*a).kind == (*f).kind)) goto LA3_;
3970 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3971 }
3972 goto LA1_;
3973 LA3_: ;
3974 {
3975 tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
3976 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
3977 ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
3978 k = (*ab).kind;
3979 {
3980 if (!(k == (*f).kind)) goto LA8_;
3981 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
3982 }
3983 goto LA6_;
3984 LA8_: ;
3985 {
3986 NIM_BOOL T11_;
3987 NIM_BOOL T12_;
3988 NIM_BOOL T13_;
3989 NIM_BOOL T14_;
3990 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3991 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3992 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3993 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3994 T11_ = (NIM_BOOL)0;
3995 T12_ = (NIM_BOOL)0;
3996 T13_ = (NIM_BOOL)0;
3997 T14_ = (NIM_BOOL)0;
3998 T14_ = (k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3999 if (!(T14_)) goto LA15_;
4000 T14_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4001 LA15_: ;
4002 T13_ = T14_;
4003 if (!(T13_)) goto LA16_;
4004 T13_ = isIntLit__types_186(ab);
4005 LA16_: ;
4006 T12_ = T13_;
4007 if (!(T12_)) goto LA17_;
4008 T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4009 T19_ = getInt__ast_4592((*ab).n);
4010 T12_ = lteq___int495056_309(T18_, T19_);
4011 LA17_: ;
4012 T11_ = T12_;
4013 if (!(T11_)) goto LA20_;
4014 T21_ = getInt__ast_4592((*ab).n);
4015 T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4016 T11_ = lteq___int495056_309(T21_, T22_);
4017 LA20_: ;
4018 if (!T11_) goto LA23_;
4019 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4020 }
4021 goto LA6_;
4022 LA23_: ;
4023 {
4024 NIM_BOOL T26_;
4025 T26_ = (NIM_BOOL)0;
4026 T26_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4027 if (!(T26_)) goto LA27_;
4028 T26_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4029 LA27_: ;
4030 if (!T26_) goto LA28_;
4031 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4032 }
4033 goto LA6_;
4034 LA28_: ;
4035 {
4036 NIM_BOOL T31_;
4037 T31_ = (NIM_BOOL)0;
4038 T31_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
4039 if (!(T31_)) goto LA32_;
4040 T31_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4041 LA32_: ;
4042 if (!T31_) goto LA33_;
4043 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4044 }
4045 goto LA6_;
4046 LA33_: ;
4047 {
4048 NIM_BOOL T36_;
4049 T36_ = (NIM_BOOL)0;
4050 T36_ = (min <= k);
4051 if (!(T36_)) goto LA37_;
4052 T36_ = (k <= max);
4053 LA37_: ;
4054 if (!T36_) goto LA38_;
4055 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4056 }
4057 goto LA6_;
4058 LA38_: ;
4059 {
4060 NIM_BOOL T41_;
4061 NIM_BOOL T42_;
4062 NIM_BOOL T43_;
4063 NIM_BOOL T45_;
4064 NIM_BOOL T46_;
4065 NIM_BOOL T49_;
4066 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
4067 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T54_;
4068 T41_ = (NIM_BOOL)0;
4069 T42_ = (NIM_BOOL)0;
4070 T43_ = (NIM_BOOL)0;
4071 T43_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
4072 if (!(T43_)) goto LA44_;
4073 T45_ = (NIM_BOOL)0;
4074 T46_ = (NIM_BOOL)0;
4075 T46_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4076 if (!(T46_)) goto LA47_;
4077 T46_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4078 LA47_: ;
4079 T45_ = T46_;
4080 if (T45_) goto LA48_;
4081 T49_ = (NIM_BOOL)0;
4082 T49_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4083 if (!(T49_)) goto LA50_;
4084 T49_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4085 LA50_: ;
4086 T45_ = T49_;
4087 LA48_: ;
4088 T43_ = T45_;
4089 LA44_: ;
4090 T42_ = T43_;
4091 if (!(T42_)) goto LA51_;
4092 T52_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4093 T42_ = lteq___int495056_745(T52_, (*(*(*a).n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
4094 LA51_: ;
4095 T41_ = T42_;
4096 if (!(T41_)) goto LA53_;
4097 T54_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4098 T41_ = lteq___int495056_752((*(*(*a).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal, T54_);
4099 LA53_: ;
4100 if (!T41_) goto LA55_;
4101 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4102 }
4103 goto LA6_;
4104 LA55_: ;
4105 {
4106 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4107 }
4108 LA6_: ;
4109 }
4110 LA1_: ;
4111 return result;
4112 }
N_INLINE(NIM_BOOL,isFloatLit__types_201)4113 static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4114 NIM_BOOL result;
4115 NIM_BOOL T1_;
4116 NIM_BOOL T2_;
4117 result = (NIM_BOOL)0;
4118 T1_ = (NIM_BOOL)0;
4119 T2_ = (NIM_BOOL)0;
4120 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
4121 if (!(T2_)) goto LA3_;
4122 T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4123 LA3_: ;
4124 T1_ = T2_;
4125 if (!(T1_)) goto LA4_;
4126 T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16));
4127 LA4_: ;
4128 result = T1_;
4129 return result;
4130 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleFloatRange__sigmatch_596)4131 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4132 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4133 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4134 {
4135 if (!((*a).kind == (*f).kind)) goto LA3_;
4136 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4137 }
4138 goto LA1_;
4139 LA3_: ;
4140 {
4141 tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
4142 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
4143 ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
4144 k = (*ab).kind;
4145 {
4146 if (!(k == (*f).kind)) goto LA8_;
4147 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
4148 }
4149 goto LA6_;
4150 LA8_: ;
4151 {
4152 NIM_BOOL T11_;
4153 T11_ = (NIM_BOOL)0;
4154 T11_ = isFloatLit__types_201(ab);
4155 if (!T11_) goto LA12_;
4156 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4157 }
4158 goto LA6_;
4159 LA12_: ;
4160 {
4161 NIM_BOOL T15_;
4162 T15_ = (NIM_BOOL)0;
4163 T15_ = isIntLit__types_186(ab);
4164 if (!T15_) goto LA16_;
4165 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4166 }
4167 goto LA6_;
4168 LA16_: ;
4169 {
4170 NIM_BOOL T19_;
4171 T19_ = (NIM_BOOL)0;
4172 T19_ = (((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) <= k);
4173 if (!(T19_)) goto LA20_;
4174 T19_ = (k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
4175 LA20_: ;
4176 if (!T19_) goto LA21_;
4177 {
4178 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA25_;
4179 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4180 }
4181 goto LA23_;
4182 LA25_: ;
4183 {
4184 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4185 }
4186 LA23_: ;
4187 }
4188 goto LA6_;
4189 LA21_: ;
4190 {
4191 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4192 }
4193 LA6_: ;
4194 }
4195 LA1_: ;
4196 return result;
4197 }
N_NIMCALL(NIM_BOOL,isCovariantPtr__sigmatch_1405)4198 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4199 NIM_BOOL result;
4200 { result = (NIM_BOOL)0;
4201 switch ((*f).kind) {
4202 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
4203 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
4204 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
4205 {
4206 NIM_BOOL T2_;
4207 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
4208 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4209 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4210 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T7_;
4211 T2_ = (NIM_BOOL)0;
4212 T3_ = NIM_NIL;
4213 T3_ = base__types_63(f);
4214 T2_ = !(((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4215 if (!(T2_)) goto LA4_;
4216 T5_ = NIM_NIL;
4217 T5_ = base__types_63(f);
4218 T6_ = NIM_NIL;
4219 T6_ = base__types_63(a);
4220 T7_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4221 T7_ = typeRel__sigmatch_202(c, T5_, T6_, 2);
4222 T2_ = (T7_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4223 LA4_: ;
4224 result = T2_;
4225 goto BeforeRet_;
4226 }
4227 break;
4228 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4229 {
4230 tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
4231 NIM_BOOL T9_;
4232 NIM_BOOL T10_;
4233 NIM_BOOL T11_;
4234 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4235 NI T14_;
4236 NIM_BOOL T17_;
4237 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T19_;
4238 body = base__types_63(f);
4239 T9_ = (NIM_BOOL)0;
4240 T10_ = (NIM_BOOL)0;
4241 T11_ = (NIM_BOOL)0;
4242 T12_ = NIM_NIL;
4243 T12_ = base__types_63(a);
4244 T11_ = (body == T12_);
4245 if (!(T11_)) goto LA13_;
4246 T14_ = (NI)0;
4247 T14_ = len__ast_4002(a);
4248 T11_ = (T14_ == ((NI) 3));
4249 LA13_: ;
4250 T10_ = T11_;
4251 if (!(T10_)) goto LA15_;
4252 T10_ = !((((*(*body).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0));
4253 LA15_: ;
4254 T9_ = T10_;
4255 if (!(T9_)) goto LA16_;
4256 T17_ = (NIM_BOOL)0;
4257 T17_ = !(((*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*f).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
4258 if (!(T17_)) goto LA18_;
4259 T19_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4260 T19_ = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 1)], (*a).sons->data[((NI) 1)], 2);
4261 T17_ = (T19_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4262 LA18_: ;
4263 T9_ = T17_;
4264 LA16_: ;
4265 result = T9_;
4266 goto BeforeRet_;
4267 }
4268 break;
4269 default:
4270 {
4271 result = NIM_FALSE;
4272 goto BeforeRet_;
4273 }
4274 break;
4275 }
4276 }BeforeRet_: ;
4277 return result;
4278 }
N_NIMCALL(NIM_BOOL,inferStaticParam__sigmatch_1235)4279 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs) {
4280 NIM_BOOL result;
4281 { result = (NIM_BOOL)0;
4282 {
4283 NIM_BOOL T3_;
4284 T3_ = (NIM_BOOL)0;
4285 T3_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
4286 if (!(T3_)) goto LA4_;
4287 T3_ = ((*(*lhs)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4288 LA4_: ;
4289 if (!T3_) goto LA5_;
4290 switch ((*(*(*lhs)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
4291 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4292 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
4293 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4294 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4295 {
4296 {
4297 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA10_;
4298 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4299 goto BeforeRet_;
4300 }
4301 goto LA8_;
4302 LA10_: ;
4303 {
4304 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA13_;
4305 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4306 goto BeforeRet_;
4307 }
4308 goto LA8_;
4309 LA13_: ;
4310 LA8_: ;
4311 }
4312 break;
4313 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4314 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4315 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
4316 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4317 {
4318 {
4319 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA18_;
4320 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - rhs));
4321 goto BeforeRet_;
4322 }
4323 goto LA16_;
4324 LA18_: ;
4325 {
4326 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA21_;
4327 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs + (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4328 goto BeforeRet_;
4329 }
4330 goto LA16_;
4331 LA21_: ;
4332 LA16_: ;
4333 }
4334 break;
4335 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
4336 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
4337 {
4338 {
4339 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4340 {
4341 if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal) == IL64(0))) goto LA30_;
4342 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4343 goto BeforeRet_;
4344 }
4345 LA30_: ;
4346 }
4347 goto LA24_;
4348 LA26_: ;
4349 {
4350 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA33_;
4351 {
4352 if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal) == IL64(0))) goto LA37_;
4353 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4354 goto BeforeRet_;
4355 }
4356 LA37_: ;
4357 }
4358 goto LA24_;
4359 LA33_: ;
4360 LA24_: ;
4361 }
4362 break;
4363 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
4364 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
4365 {
4366 {
4367 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA42_;
4368 {
4369 if (!((NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal % rhs) == IL64(0))) goto LA46_;
4370 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal / rhs));
4371 goto BeforeRet_;
4372 }
4373 LA46_: ;
4374 }
4375 goto LA40_;
4376 LA42_: ;
4377 {
4378 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA49_;
4379 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal * rhs));
4380 goto BeforeRet_;
4381 }
4382 goto LA40_;
4383 LA49_: ;
4384 LA40_: ;
4385 }
4386 break;
4387 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
4388 {
4389 {
4390 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA54_;
4391 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4392 goto BeforeRet_;
4393 }
4394 LA54_: ;
4395 }
4396 break;
4397 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
4398 {
4399 {
4400 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA59_;
4401 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NU64)(rhs) << (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4402 goto BeforeRet_;
4403 }
4404 LA59_: ;
4405 }
4406 break;
4407 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
4408 {
4409 {
4410 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA64_;
4411 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)));
4412 goto BeforeRet_;
4413 }
4414 LA64_: ;
4415 }
4416 break;
4417 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
4418 {
4419 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], -(rhs));
4420 goto BeforeRet_;
4421 }
4422 break;
4423 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
4424 {
4425 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], rhs);
4426 goto BeforeRet_;
4427 }
4428 break;
4429 default:
4430 {
4431 }
4432 break;
4433 }
4434 }
4435 goto LA1_;
4436 LA5_: ;
4437 {
4438 NIM_BOOL T70_;
4439 NIM_BOOL T71_;
4440 tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
4441 T70_ = (NIM_BOOL)0;
4442 T71_ = (NIM_BOOL)0;
4443 T71_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4444 if (!(T71_)) goto LA72_;
4445 T71_ = ((*(*lhs).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
4446 LA72_: ;
4447 T70_ = T71_;
4448 if (!(T70_)) goto LA73_;
4449 T70_ = ((*(*lhs).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4450 LA73_: ;
4451 if (!T70_) goto LA74_;
4452 inferred = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*(*lhs).typ).sons);
4453 asgnRef((void**) (&(*inferred).n), newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), rhs));
4454 put__sigmatch_120(c, (*lhs).typ, inferred);
4455 {
4456 if (!!(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA78_;
4457 asgnRef((void**) (&(*(*lhs).typ).n), (*inferred).n);
4458 }
4459 LA78_: ;
4460 result = NIM_TRUE;
4461 goto BeforeRet_;
4462 }
4463 goto LA1_;
4464 LA74_: ;
4465 LA1_: ;
4466 result = NIM_FALSE;
4467 goto BeforeRet_;
4468 }BeforeRet_: ;
4469 return result;
4470 }
N_NIMCALL(void,failureToInferStaticParam__sigmatch_1361)4471 N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4472 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* staticParam;
4473 NimStringDesc* name;
4474 NimStringDesc* T6_;
4475 staticParam = findUnresolvedStatic__ast_4956(n);
4476 {
4477 if (!!((staticParam == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
4478 name = (*(*(*staticParam)._kind_4.sym).name).s;
4479 }
4480 goto LA1_;
4481 LA3_: ;
4482 {
4483 name = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_17));
4484 }
4485 LA1_: ;
4486 T6_ = NIM_NIL;
4487 T6_ = rawNewString((name ? name->Sup.len : 0) + 45);
4488 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_18));
4489 appendString(T6_, name);
4490 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
4491 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_20, NIM_FALSE);
4492 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,inferStaticsInRange__sigmatch_1370)4493 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete) {
4494 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4495 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowerBound;
4496 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upperBound;
4497 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4498 lowerBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 0)], NIM_TRUE);
4499 upperBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
4500 {
4501 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym222_;
4502 tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym222_;
4503 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T16_;
4504 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
4505 if (!((*lowerBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA3_;
4506 {
4507 if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA7_;
4508 {
4509 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
4510 NIM_BOOL T12_;
4511 T11_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4512 T12_ = (NIM_BOOL)0;
4513 T12_ = eqeq___int495056_759(T11_, (NI64)((NI64)((*upperBound)._kind_1.intVal - (*lowerBound)._kind_1.intVal) + IL64(1)));
4514 if (!T12_) goto LA13_;
4515 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4516 goto BeforeRet_;
4517 }
4518 goto LA9_;
4519 LA13_: ;
4520 {
4521 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4522 goto BeforeRet_;
4523 }
4524 LA9_: ;
4525 }
4526 LA7_: ;
4527 expX60gensym222_ = upperBound;
4528 T16_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4529 T17_ = plus___int495056_794(T16_, (*lowerBound)._kind_1.intVal);
4530 rhsX60gensym222_ = minus___int495056_780(T17_, IL64(1));
4531 {
4532 NI64 T20_;
4533 NIM_BOOL T21_;
4534 T20_ = (NI64)0;
4535 T20_ = toInt64__int495056_88(rhsX60gensym222_);
4536 T21_ = (NIM_BOOL)0;
4537 T21_ = inferStaticParam__sigmatch_1235(c, expX60gensym222_, T20_);
4538 if (!T21_) goto LA22_;
4539 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4540 goto BeforeRet_;
4541 }
4542 goto LA18_;
4543 LA22_: ;
4544 {
4545 failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym222_);
4546 }
4547 LA18_: ;
4548 }
4549 goto LA1_;
4550 LA3_: ;
4551 {
4552 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym225_;
4553 tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym225_;
4554 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
4555 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_;
4556 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
4557 if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4558 expX60gensym225_ = lowerBound;
4559 T28_ = getInt__ast_4592(upperBound);
4560 T29_ = plus___int495056_794(T28_, IL64(1));
4561 T30_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete);
4562 rhsX60gensym225_ = minus___int495056_474(T29_, T30_);
4563 {
4564 NI64 T33_;
4565 NIM_BOOL T34_;
4566 T33_ = (NI64)0;
4567 T33_ = toInt64__int495056_88(rhsX60gensym225_);
4568 T34_ = (NIM_BOOL)0;
4569 T34_ = inferStaticParam__sigmatch_1235(c, expX60gensym225_, T33_);
4570 if (!T34_) goto LA35_;
4571 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4572 goto BeforeRet_;
4573 }
4574 goto LA31_;
4575 LA35_: ;
4576 {
4577 failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym225_);
4578 }
4579 LA31_: ;
4580 }
4581 goto LA1_;
4582 LA26_: ;
4583 LA1_: ;
4584 }BeforeRet_: ;
4585 return result;
4586 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,minRel__sigmatch_798)4587 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b) {
4588 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4589 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4590 {
4591 if (!(a <= b)) goto LA3_;
4592 result = a;
4593 }
4594 goto LA1_;
4595 LA3_: ;
4596 {
4597 result = b;
4598 }
4599 LA1_: ;
4600 return result;
4601 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,recordRel__sigmatch_806)4602 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4603 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4604 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4605 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4606 {
4607 NIM_BOOL T3_;
4608 T3_ = (NIM_BOOL)0;
4609 T3_ = sameType__types_1815(f, a, 0);
4610 if (!T3_) goto LA4_;
4611 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4612 }
4613 goto LA1_;
4614 LA4_: ;
4615 {
4616 NI T7_;
4617 NI T8_;
4618 NI firstField;
4619 T7_ = (NI)0;
4620 T7_ = len__ast_4002(a);
4621 T8_ = (NI)0;
4622 T8_ = len__ast_4002(f);
4623 if (!(T7_ == T8_)) goto LA9_;
4624 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4625 {
4626 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA13_;
4627 firstField = ((NI) 0);
4628 }
4629 goto LA11_;
4630 LA13_: ;
4631 {
4632 firstField = ((NI) 1);
4633 }
4634 LA11_: ;
4635 {
4636 NI i;
4637 NI colontmp_;
4638 NI i_2;
4639 i = (NI)0;
4640 colontmp_ = (NI)0;
4641 colontmp_ = len__ast_4002(f);
4642 i_2 = firstField;
4643 {
4644 while (1) {
4645 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw m;
4646 if (!(i_2 < colontmp_)) goto LA18;
4647 i = i_2;
4648 m = typeRel__sigmatch_202(c, (*f).sons->data[i], (*a).sons->data[i], 0);
4649 {
4650 if (!(m < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA21_;
4651 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4652 goto BeforeRet_;
4653 }
4654 LA21_: ;
4655 result = minRel__sigmatch_798(result, m);
4656 i_2 += ((NI) 1);
4657 } LA18: ;
4658 }
4659 }
4660 {
4661 NIM_BOOL T25_;
4662 T25_ = (NIM_BOOL)0;
4663 T25_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4664 if (!(T25_)) goto LA26_;
4665 T25_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4666 LA26_: ;
4667 if (!T25_) goto LA27_;
4668 {
4669 NI i_3;
4670 NI colontmp__2;
4671 NI i_4;
4672 i_3 = (NI)0;
4673 colontmp__2 = (NI)0;
4674 colontmp__2 = len__ast_3198((*f).n);
4675 i_4 = ((NI) 0);
4676 {
4677 while (1) {
4678 if (!(i_4 < colontmp__2)) goto LA31;
4679 i_3 = i_4;
4680 {
4681 if (!!(((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
4682 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4683 goto BeforeRet_;
4684 }
4685 goto LA32_;
4686 LA34_: ;
4687 {
4688 if (!!(((*(*(*a).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA37_;
4689 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4690 goto BeforeRet_;
4691 }
4692 goto LA32_;
4693 LA37_: ;
4694 {
4695 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
4696 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* y;
4697 x = (*(*(*f).n)._kind_6.sons->data[i_3])._kind_4.sym;
4698 y = (*(*(*a).n)._kind_6.sons->data[i_3])._kind_4.sym;
4699 {
4700 NIM_BOOL T42_;
4701 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T44_;
4702 T42_ = (NIM_BOOL)0;
4703 T42_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
4704 if (!(T42_)) goto LA43_;
4705 T44_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4706 T44_ = typeRel__sigmatch_202(c, (*x).typ, (*y).typ, 0);
4707 T42_ = (T44_ < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4708 LA43_: ;
4709 if (!T42_) goto LA45_;
4710 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4711 goto BeforeRet_;
4712 }
4713 LA45_: ;
4714 {
4715 if (!!(((*(*x).name).id == (*(*y).name).id))) goto LA49_;
4716 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4717 goto BeforeRet_;
4718 }
4719 LA49_: ;
4720 }
4721 LA32_: ;
4722 i_4 += ((NI) 1);
4723 } LA31: ;
4724 }
4725 }
4726 }
4727 LA27_: ;
4728 }
4729 goto LA1_;
4730 LA9_: ;
4731 LA1_: ;
4732 }BeforeRet_: ;
4733 return result;
4734 }
N_NIMCALL(void,genericParamPut__sigmatch_622)4735 N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
4736 {
4737 NIM_BOOL T3_;
4738 NIM_BOOL T4_;
4739 NI T7_;
4740 NI T8_;
4741 T3_ = (NIM_BOOL)0;
4742 T4_ = (NIM_BOOL)0;
4743 T4_ = !((fGenericOrigin == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4744 if (!(T4_)) goto LA5_;
4745 T4_ = ((*last).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
4746 LA5_: ;
4747 T3_ = T4_;
4748 if (!(T3_)) goto LA6_;
4749 T7_ = (NI)0;
4750 T7_ = len__ast_4002(last);
4751 T8_ = (NI)0;
4752 T8_ = len__ast_4002(fGenericOrigin);
4753 T3_ = ((NI)(T7_ - ((NI) 1)) == T8_);
4754 LA6_: ;
4755 if (!T3_) goto LA9_;
4756 {
4757 NI i;
4758 NI colontmp_;
4759 NI i_2;
4760 i = (NI)0;
4761 colontmp_ = (NI)0;
4762 colontmp_ = len__ast_4002(fGenericOrigin);
4763 i_2 = ((NI) 1);
4764 {
4765 while (1) {
4766 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
4767 RootObj* T14_;
4768 if (!(i_2 < colontmp_)) goto LA13;
4769 i = i_2;
4770 T14_ = NIM_NIL;
4771 T14_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*fGenericOrigin).sons->data[i])))));
4772 x = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T14_));
4773 {
4774 if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA17_;
4775 put__sigmatch_120(c, (*fGenericOrigin).sons->data[i], (*last).sons->data[i]);
4776 }
4777 LA17_: ;
4778 i_2 += ((NI) 1);
4779 } LA13: ;
4780 }
4781 }
4782 }
4783 LA9_: ;
4784 }
N_NIMCALL(NI,isObjectSubtype__sigmatch_656)4785 N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_656)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
4786 NI result;
4787 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4788 NI depth;
4789 tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
4790 result = (NI)0;
4791 t = a;
4792 depth = ((NI) 0);
4793 last = a;
4794 {
4795 while (1) {
4796 NIM_BOOL T3_;
4797 NIM_BOOL T5_;
4798 T3_ = (NIM_BOOL)0;
4799 T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4800 if (!(T3_)) goto LA4_;
4801 T5_ = (NIM_BOOL)0;
4802 T5_ = sameObjectTypes__types_2038(f, t);
4803 T3_ = !(T5_);
4804 LA4_: ;
4805 if (!T3_) goto LA2;
4806 t = (*t).sons->data[((NI) 0)];
4807 {
4808 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
4809 goto LA1;
4810 }
4811 LA8_: ;
4812 last = t;
4813 t = skipTypes__ast_3735(t, TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
4814 depth += ((NI) 1);
4815 } LA2: ;
4816 } LA1: ;
4817 {
4818 if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
4819 genericParamPut__sigmatch_622(c, last, fGenericOrigin);
4820 result = depth;
4821 }
4822 goto LA10_;
4823 LA12_: ;
4824 {
4825 result = ((NI) -1);
4826 }
4827 LA10_: ;
4828 return result;
4829 }
N_INLINE(NIM_BOOL,sameDistinctTypes__types_2083)4830 static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
4831 NIM_BOOL result;
4832 result = (NIM_BOOL)0;
4833 result = sameObjectTypes__types_2038(a, b);
4834 return result;
4835 }
N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,allowsNil__sigmatch_875)4836 static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
4837 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4838 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4839 {
4840 if (!!((((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0))) goto LA3_;
4841 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
4842 }
4843 goto LA1_;
4844 LA3_: ;
4845 {
4846 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4847 }
4848 LA1_: ;
4849 return result;
4850 }
N_INLINE(NIM_BOOL,inconsistentVarTypes__sigmatch_882)4851 static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4852 NIM_BOOL result;
4853 NIM_BOOL T1_;
4854 NIM_BOOL T3_;
4855 result = (NIM_BOOL)0;
4856 T1_ = (NIM_BOOL)0;
4857 T1_ = !(((*f).kind == (*a).kind));
4858 if (!(T1_)) goto LA2_;
4859 T3_ = (NIM_BOOL)0;
4860 T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4861 if (T3_) goto LA4_;
4862 T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4863 LA4_: ;
4864 T1_ = T3_;
4865 LA2_: ;
4866 result = T1_;
4867 return result;
4868 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procParamTypeRel__sigmatch_898)4869 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4870 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4871 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
4872 tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
4873 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4874 f_2 = f;
4875 a_2 = a;
4876 {
4877 NIM_BOOL T3_;
4878 tyObject_TType__facALICuu8zUj0hjvbTLFg* aResolved;
4879 RootObj* T6_;
4880 T3_ = (NIM_BOOL)0;
4881 T3_ = isMetaType__ast_3495(a_2);
4882 if (!T3_) goto LA4_;
4883 T6_ = NIM_NIL;
4884 T6_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(a_2)))));
4885 aResolved = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T6_));
4886 {
4887 if (!!((aResolved == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4888 a_2 = aResolved;
4889 }
4890 LA9_: ;
4891 }
4892 LA4_: ;
4893 {
4894 NIM_BOOL T13_;
4895 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw reverseRel;
4896 T13_ = (NIM_BOOL)0;
4897 T13_ = isMetaType__ast_3495(a_2);
4898 if (!T13_) goto LA14_;
4899 {
4900 NIM_BOOL T18_;
4901 T18_ = (NIM_BOOL)0;
4902 T18_ = isMetaType__ast_3495(f_2);
4903 if (!T18_) goto LA19_;
4904 {
4905 if (!!(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
4906 f_2 = generateTypeInstance__semtypinst_1050((*c).c, (*c).bindings, (*(*c).call).info, f_2);
4907 }
4908 goto LA21_;
4909 LA23_: ;
4910 {
4911 f_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
4912 }
4913 LA21_: ;
4914 {
4915 NIM_BOOL T28_;
4916 T28_ = (NIM_BOOL)0;
4917 T28_ = (f_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4918 if (T28_) goto LA29_;
4919 T28_ = isMetaType__ast_3495(f_2);
4920 LA29_: ;
4921 if (!T28_) goto LA30_;
4922 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5);
4923 goto BeforeRet_;
4924 }
4925 LA30_: ;
4926 }
4927 LA19_: ;
4928 reverseRel = typeRel__sigmatch_202(c, a_2, f_2, 0);
4929 {
4930 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= reverseRel)) goto LA34_;
4931 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6);
4932 }
4933 LA34_: ;
4934 }
4935 goto LA11_;
4936 LA14_: ;
4937 {
4938 result = typeRel__sigmatch_202(c, f_2, a_2, 0);
4939 }
4940 LA11_: ;
4941 {
4942 NIM_BOOL T39_;
4943 T39_ = (NIM_BOOL)0;
4944 T39_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
4945 if (T39_) goto LA40_;
4946 T39_ = inconsistentVarTypes__sigmatch_882(f_2, a_2);
4947 LA40_: ;
4948 if (!T39_) goto LA41_;
4949 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4950 }
4951 LA41_: ;
4952 }BeforeRet_: ;
4953 return result;
4954 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procTypeRel__sigmatch_927)4955 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4956 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4957 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4958 switch ((*a).kind) {
4959 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4960 {
4961 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T33_;
4962 {
4963 NI T4_;
4964 NI T5_;
4965 T4_ = (NI)0;
4966 T4_ = len__ast_4002(f);
4967 T5_ = (NI)0;
4968 T5_ = len__ast_4002(a);
4969 if (!!((T4_ == T5_))) goto LA6_;
4970 goto BeforeRet_;
4971 }
4972 LA6_: ;
4973 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4974 {
4975 NI i;
4976 NI colontmp_;
4977 NI i_2;
4978 i = (NI)0;
4979 colontmp_ = (NI)0;
4980 colontmp_ = len__ast_4002(f);
4981 i_2 = ((NI) 1);
4982 {
4983 while (1) {
4984 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T11_;
4985 if (!(i_2 < colontmp_)) goto LA10;
4986 i = i_2;
4987 T11_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4988 T11_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[i], (*a).sons->data[i]);
4989 result = minRel__sigmatch_798(result, T11_);
4990 {
4991 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA14_;
4992 goto BeforeRet_;
4993 }
4994 LA14_: ;
4995 i_2 += ((NI) 1);
4996 } LA10: ;
4997 }
4998 }
4999 {
5000 if (!!(((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
5001 {
5002 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T24_;
5003 if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA22_;
5004 T24_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5005 T24_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)]);
5006 result = minRel__sigmatch_798(result, T24_);
5007 {
5008 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA27_;
5009 goto BeforeRet_;
5010 }
5011 LA27_: ;
5012 }
5013 goto LA20_;
5014 LA22_: ;
5015 {
5016 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5017 goto BeforeRet_;
5018 }
5019 LA20_: ;
5020 }
5021 goto LA16_;
5022 LA18_: ;
5023 {
5024 if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA31_;
5025 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5026 goto BeforeRet_;
5027 }
5028 goto LA16_;
5029 LA31_: ;
5030 LA16_: ;
5031 T33_ = getProcConvMismatch__types_3686((*(*(*c).c).graph).config, f, a, result);
5032 result = T33_.Field1;
5033 {
5034 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T36_;
5035 T36_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
5036 T36_ = compatibleEffects__types_3416(f, a);
5037 if (!!((T36_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)))) goto LA37_;
5038 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5039 goto BeforeRet_;
5040 }
5041 LA37_: ;
5042 }
5043 break;
5044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
5045 {
5046 result = allowsNil__sigmatch_875(f);
5047 }
5048 break;
5049 default:
5050 {
5051 }
5052 break;
5053 }
5054 }BeforeRet_: ;
5055 return result;
5056 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipToObject__sigmatch_703)5057 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped) {
5058 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5059 tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5060 NI ptrs;
5061 result = NIM_NIL;
5062 r = t;
5063 ptrs = ((NI) 0);
5064 {
5065 while (1) {
5066 if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
5067 switch ((*r).kind) {
5068 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5069 {
5070 r = (*r).sons->data[((NI) 0)];
5071 }
5072 break;
5073 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
5074 {
5075 ptrs += ((NI) 1);
5076 (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 1);
5077 r = lastSon__ast_3743(r);
5078 }
5079 break;
5080 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
5081 {
5082 ptrs += ((NI) 1);
5083 (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 2);
5084 r = lastSon__ast_3743(r);
5085 }
5086 break;
5087 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
5088 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5089 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5090 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5091 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5092 {
5093 r = lastSon__ast_3743(r);
5094 }
5095 break;
5096 default:
5097 {
5098 goto LA1;
5099 }
5100 break;
5101 }
5102 } LA2: ;
5103 } LA1: ;
5104 {
5105 NIM_BOOL T10_;
5106 T10_ = (NIM_BOOL)0;
5107 T10_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5108 if (!(T10_)) goto LA11_;
5109 T10_ = (ptrs <= ((NI) 1));
5110 LA11_: ;
5111 if (!T10_) goto LA12_;
5112 result = r;
5113 }
5114 LA12_: ;
5115 return result;
5116 }
N_NIMCALL(NIM_BOOL,isGenericSubtype__sigmatch_744)5117 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_744)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, NI* d, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
5118 NIM_BOOL result;
5119 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
5120 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
5121 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5122 tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5123 NI depth;
5124 tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
5125 { result = (NIM_BOOL)0;
5126 askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5127 fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5128 t = skipToObject__sigmatch_703(a, (&askip));
5129 r = skipToObject__sigmatch_703(f, (&fskip));
5130 {
5131 if (!(r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5132 result = NIM_FALSE;
5133 goto BeforeRet_;
5134 }
5135 LA3_: ;
5136 depth = ((NI) 0);
5137 last = a;
5138 {
5139 while (1) {
5140 NIM_BOOL T7_;
5141 NIM_BOOL T8_;
5142 T7_ = (NIM_BOOL)0;
5143 T8_ = (NIM_BOOL)0;
5144 T8_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5145 if (!(T8_)) goto LA9_;
5146 T8_ = !(((*r).sym == (*t).sym));
5147 LA9_: ;
5148 T7_ = T8_;
5149 if (!(T7_)) goto LA10_;
5150 T7_ = (askip == fskip);
5151 LA10_: ;
5152 if (!T7_) goto LA6;
5153 t = (*t).sons->data[((NI) 0)];
5154 {
5155 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA13_;
5156 goto LA5;
5157 }
5158 LA13_: ;
5159 last = t;
5160 t = skipToObject__sigmatch_703(t, (&askip));
5161 depth += ((NI) 1);
5162 } LA6: ;
5163 } LA5: ;
5164 {
5165 NIM_BOOL T17_;
5166 T17_ = (NIM_BOOL)0;
5167 T17_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5168 if (!(T17_)) goto LA18_;
5169 T17_ = (askip == fskip);
5170 LA18_: ;
5171 if (!T17_) goto LA19_;
5172 genericParamPut__sigmatch_622(c, last, fGenericOrigin);
5173 (*d) = depth;
5174 result = NIM_TRUE;
5175 }
5176 LA19_: ;
5177 }BeforeRet_: ;
5178 return result;
5179 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,concreteType__sigmatch_443)5180 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
5181 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5182 result = NIM_NIL;
5183 switch ((*t).kind) {
5184 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5185 {
5186 {
5187 if (!(*c).isNoCall) goto LA4_;
5188 result = t;
5189 }
5190 goto LA2_;
5191 LA4_: ;
5192 {
5193 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5194 }
5195 LA2_: ;
5196 }
5197 break;
5198 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5199 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
5200 {
5201 {
5202 if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA10_;
5203 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5204 }
5205 goto LA8_;
5206 LA10_: ;
5207 {
5208 result = t;
5209 }
5210 LA8_: ;
5211 }
5212 break;
5213 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5214 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5215 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
5216 {
5217 result = t;
5218 {
5219 while (1) {
5220 RootObj* T16_;
5221 T16_ = NIM_NIL;
5222 T16_ = idTableGet__astalgo_64((*c).bindings, &t->Sup);
5223 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T16_));
5224 {
5225 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
5226 goto LA14;
5227 }
5228 LA19_: ;
5229 {
5230 if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA23_;
5231 goto LA14;
5232 }
5233 LA23_: ;
5234 }
5235 } LA14: ;
5236 }
5237 break;
5238 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5239 {
5240 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5241 }
5242 break;
5243 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5244 {
5245 {
5246 NIM_BOOL T29_;
5247 NIM_BOOL T30_;
5248 NI T32_;
5249 tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
5250 T29_ = (NIM_BOOL)0;
5251 T30_ = (NIM_BOOL)0;
5252 T30_ = !((f == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5253 if (!(T30_)) goto LA31_;
5254 T32_ = (NI)0;
5255 T32_ = len__ast_4002(f);
5256 T30_ = (((NI) 0) < T32_);
5257 LA31_: ;
5258 T29_ = T30_;
5259 if (!(T29_)) goto LA33_;
5260 T34_ = NIM_NIL;
5261 T34_ = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_29);
5262 T29_ = ((*T34_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
5263 LA33_: ;
5264 if (!T29_) goto LA35_;
5265 result = lastSon__ast_3743(t);
5266 }
5267 goto LA27_;
5268 LA35_: ;
5269 {
5270 result = t;
5271 }
5272 LA27_: ;
5273 }
5274 break;
5275 default:
5276 {
5277 result = t;
5278 }
5279 break;
5280 }
5281 return result;
5282 }
N_NIMCALL(void,Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)5283 static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op) {
5284 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* a;
5285 a = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*)p;
5286 nimGCvisit((void*)(*a).errorPrefix1, op);
5287 nimGCvisit((void*)(*a).typeClass2, op);
5288 nimGCvisit((void*)(*a).oldWriteHook3.ClE_0, op);
5289 nimGCvisit((void*)(*a).diagnostics4, op);
5290 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)5291 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5292 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5293 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5294 (*x).symId += ((NI) 1);
5295 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5296 result.module = (*x).module;
5297 result.item = (*x).symId;
5298 return result;
5299 }
N_NIMCALL(void,Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)5300 static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op) {
5301 tySequence__bGUffHlsVXt0g6ZKEF4OfQ* a;
5302 NI T1_;
5303 a = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*)p;
5304 T1_ = (NI)0;
5305 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
5306 nimGCvisit((void*)a->data[T1_].Field0, op);
5307 nimGCvisit((void*)a->data[T1_].Field1, op);
5308 }
5309 }
N_INLINE(void,addDeclAt__lookups_837)5310 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5311 addDeclAt__lookups_815(c, scope, sym, (*sym).info);
5312 }
N_INLINE(void,addDecl__lookups_845)5313 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5314 addDeclAt__lookups_837(c, (*c).currentScope, sym);
5315 }
N_CLOSURE(void,colonanonymous___sigmatch_1102)5316 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0) {
5317 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenvP_;
5318 NimStringDesc* msg;
5319 NI T10_;
5320 NimStringDesc* T11_;
5321 colonenvP_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) ClE_0;
5322 {
5323 NimStringDesc* T5_;
5324 if (!(((*colonenvP_).errorPrefix1 ? (*colonenvP_).errorPrefix1->Sup.len : 0) == ((NI) 0))) goto LA3_;
5325 T5_ = NIM_NIL;
5326 T5_ = rawNewString(((*(*(*(*colonenvP_).typeClass2).sym).name).s ? (*(*(*(*colonenvP_).typeClass2).sym).name).s->Sup.len : 0) + 1);
5327 appendString(T5_, (*(*(*(*colonenvP_).typeClass2).sym).name).s);
5328 appendString(T5_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_37));
5329 asgnRef((void**) (&(*colonenvP_).errorPrefix1), T5_);
5330 }
5331 LA3_: ;
5332 msg = nsuReplaceStr(s, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_38), (*colonenvP_).errorPrefix1);
5333 {
5334 if (!!(((*colonenvP_).oldWriteHook3.ClP_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClP_0 && (*colonenvP_).oldWriteHook3.ClE_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClE_0))) goto LA8_;
5335 (*colonenvP_).oldWriteHook3.ClE_0? (*colonenvP_).oldWriteHook3.ClP_0(msg, (*colonenvP_).oldWriteHook3.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_40)((*colonenvP_).oldWriteHook3.ClP_0))(msg);
5336 }
5337 LA8_: ;
5338 asgnRef((void**) (&(*colonenvP_).diagnostics4), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenvP_).diagnostics4), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5339 T10_ = (*colonenvP_).diagnostics4->Sup.len++;
5340 T11_ = NIM_NIL;
5341 T11_ = (*colonenvP_).diagnostics4->data[T10_]; (*colonenvP_).diagnostics4->data[T10_] = copyStringRC1(msg);
5342 if (T11_) nimGCunrefNoCycle(T11_);
5343 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,matchUserTypeClass__sigmatch_993)5344 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
5345 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5346 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenv_;
5347 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
5348 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5349 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg matchedConceptContext;
5350 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prevMatchedConcept;
5351 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevCandidateType;
5352 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T11_;
5353 TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_35;
5354 tySequence__bGUffHlsVXt0g6ZKEF4OfQ* typeParams;
5355 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
5356 NIM_BOOL collectDiagnostics;
5357 NIM_BOOL T56_;
5358 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkedBody;
5359 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
5360 { result = NIM_NIL;
5361 colonenv_ = NIM_NIL;
5362 colonenv_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) newObj((&NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_), sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA));
5363 (*colonenv_).Sup.m_type = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
5364 c = (*m).c;
5365 asgnRef((void**) (&(*colonenv_).typeClass2), skipTypes__ast_3735(ff, TM__EV5hHJmjIY9cla9b9be7fSVJQ_32));
5366 body = (*(*(*colonenv_).typeClass2).n)._kind_6.sons->data[((NI) 3)];
5367 nimZeroMem((void*)(&matchedConceptContext), sizeof(tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg));
5368 prevMatchedConcept = (*c).matchedConcept;
5369 prevCandidateType = (*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)];
5370 {
5371 if (!!((prevMatchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA3_;
5372 matchedConceptContext.prev = prevMatchedConcept;
5373 matchedConceptContext.depth = (NI)((*prevMatchedConcept).depth + ((NI) 1));
5374 {
5375 NimStringDesc* T9_;
5376 NimStringDesc* T10_;
5377 if (!(((NI) 4) < (*prevMatchedConcept).depth)) goto LA7_;
5378 T9_ = NIM_NIL;
5379 T10_ = NIM_NIL;
5380 T10_ = dollar___renderer_2106(body);
5381 T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 29);
5382 appendString(T9_, T10_);
5383 appendString(T9_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_33));
5384 liMessage__msgs_1118((*(*(*m).c).graph).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_34, NIM_FALSE);
5385 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5386 goto BeforeRet_;
5387 }
5388 LA7_: ;
5389 }
5390 LA3_: ;
5391 T11_ = NIM_NIL;
5392 T11_ = openScope__lookups_69(c);
5393 matchedConceptContext.candidateType = a;
5394 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), a);
5395 (*c).matchedConcept = (&matchedConceptContext);
5396 pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_35);
5397 TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status = setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.context);
5398 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status == 0) {
5399 typeParams = NIM_NIL;
5400 {
5401 if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA14_;
5402 {
5403 NI i;
5404 NI colontmp_;
5405 NI T17_;
5406 NI i_2;
5407 i = (NI)0;
5408 colontmp_ = (NI)0;
5409 T17_ = (NI)0;
5410 T17_ = len__ast_4002(ff);
5411 colontmp_ = (NI)(T17_ - ((NI) 1));
5412 i_2 = ((NI) 1);
5413 {
5414 while (1) {
5415 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typeParamName;
5416 tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
5417 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5418 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
5419 tyObject_TType__facALICuu8zUj0hjvbTLFg* alreadyBound;
5420 RootObj* T21_;
5421 if (!(i_2 < colontmp_)) goto LA19;
5422 i = i_2;
5423 T20_ = NIM_NIL;
5424 T20_ = base__types_63(ff);
5425 typeParamName = (*(*(*T20_).sons->data[(NI)(i - ((NI) 1))]).sym).name;
5426 typ = (*ff).sons->data[i];
5427 param = NIM_NIL;
5428 T21_ = NIM_NIL;
5429 T21_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(typ)))));
5430 alreadyBound = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T21_));
5431 {
5432 if (!!((alreadyBound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA24_;
5433 typ = alreadyBound;
5434 }
5435 LA24_: ;
5436 {
5437 tyTuple__Qqa8F49azZNOOP4FK3LKbhw T54_;
5438 NI T55_;
5439 {
5440 tyTuple__Qqa8F49azZNOOP4FK3LKbhw* prev;
5441 NI i_3;
5442 NI L;
5443 NI T28_;
5444 prev = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5445 i_3 = ((NI) 0);
5446 T28_ = (typeParams ? typeParams->Sup.len : 0);
5447 L = T28_;
5448 {
5449 while (1) {
5450 if (!(i_3 < L)) goto LA30;
5451 prev = (&typeParams->data[i_3]);
5452 {
5453 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym159_;
5454 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym160_;
5455 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T35_;
5456 xX60gensym159_ = (*prev).Field1;
5457 xX60gensym160_ = typ;
5458 if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym159_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym159_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym160_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym160_).Sup.itemId.item))))) goto LA33_;
5459 T35_ = nextSymId__ast_3132((*c).Sup.idgen);
5460 param = newSym__ast_3445((*(*prev).Field0).kind, typeParamName, T35_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5461 asgnRef((void**) (&(*param).typ), (*(*prev).Field0).typ);
5462 goto LA26;
5463 }
5464 LA33_: ;
5465 i_3 += ((NI) 1);
5466 } LA30: ;
5467 }
5468 }
5469 switch ((*typ).kind) {
5470 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5471 {
5472 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T37_;
5473 T37_ = nextSymId__ast_3132((*c).Sup.idgen);
5474 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typeParamName, T37_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5475 asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5476 {
5477 if (!((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA40_;
5478 (*(*param).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63);
5479 }
5480 goto LA38_;
5481 LA40_: ;
5482 {
5483 asgnRef((void**) (&(*param).ast), (*typ).n);
5484 }
5485 LA38_: ;
5486 }
5487 break;
5488 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5489 {
5490 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_;
5491 T44_ = nextSymId__ast_3132((*c).Sup.idgen);
5492 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), typeParamName, T44_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5493 asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5494 }
5495 break;
5496 default:
5497 {
5498 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T46_;
5499 T46_ = nextSymId__ast_3132((*c).Sup.idgen);
5500 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), typeParamName, T46_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5501 {
5502 NIM_BOOL T49_;
5503 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T52_;
5504 T49_ = (NIM_BOOL)0;
5505 T49_ = isMetaType__ast_3495(typ);
5506 if (!T49_) goto LA50_;
5507 T52_ = NIM_NIL;
5508 T52_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
5509 asgnRef((void**) (&T52_->data[0]), typ);
5510 asgnRef((void**) (&(*param).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55), T52_));
5511 }
5512 goto LA47_;
5513 LA50_: ;
5514 {
5515 asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, typ));
5516 }
5517 LA47_: ;
5518 }
5519 break;
5520 }
5521 nimZeroMem((void*)(&T54_), sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw));
5522 T54_.Field0 = param;
5523 T54_.Field1 = typ;
5524 typeParams = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*) incrSeqV3((TGenericSeq*)(typeParams), (&NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_));
5525 T55_ = typeParams->Sup.len++;
5526 asgnRef((void**) (&typeParams->data[T55_].Field0), T54_.Field0);
5527 asgnRef((void**) (&typeParams->data[T55_].Field1), T54_.Field1);
5528 } LA26: ;
5529 addDecl__lookups_845(c, param);
5530 i_2 += ((NI) 1);
5531 } LA19: ;
5532 }
5533 }
5534 }
5535 LA14_: ;
5536 nimZeroMem((void*)(&(*colonenv_).oldWriteHook3), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5537 asgnRef((void**) (&(*colonenv_).diagnostics4), NIM_NIL);
5538 asgnRef((void**) (&(*colonenv_).errorPrefix1), NIM_NIL);
5539 flags = 0;
5540 T56_ = (NIM_BOOL)0;
5541 T56_ = (*m).diagnosticsEnabled;
5542 if (T56_) goto LA57_;
5543 T56_ = (((*(*(*colonenv_).typeClass2).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0);
5544 LA57_: ;
5545 collectDiagnostics = T56_;
5546 {
5547 tyProc__k2HFjxisIgDALbEUFojxaQ T62_;
5548 if (!collectDiagnostics) goto LA60_;
5549 asgnRef((void**) (&(*colonenv_).oldWriteHook3.ClE_0), (*(*(*(*m).c).graph).config).writelnHook.ClE_0);
5550 (*colonenv_).oldWriteHook3.ClP_0 = (*(*(*(*m).c).graph).config).writelnHook.ClP_0;
5551 if ((*colonenv_).diagnostics4) { nimGCunrefRC1((*colonenv_).diagnostics4); (*colonenv_).diagnostics4 = NIM_NIL; }
5552 flags = 1024;
5553 nimZeroMem((void*)(&T62_), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5554 T62_.ClP_0 = colonanonymous___sigmatch_1102; T62_.ClE_0 = colonenv_;
5555 asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), T62_.ClE_0);
5556 (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = T62_.ClP_0;
5557 }
5558 LA60_: ;
5559 T63_ = NIM_NIL;
5560 T63_ = copyTree__ast_4431(body);
5561 checkedBody = (*c).semTryExpr(c, T63_, flags);
5562 {
5563 if (!collectDiagnostics) goto LA66_;
5564 asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), (*colonenv_).oldWriteHook3.ClE_0);
5565 (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = (*colonenv_).oldWriteHook3.ClP_0;
5566 {
5567 NimStringDesc** msg;
5568 NI i_4;
5569 NI L_2;
5570 NI T69_;
5571 msg = (NimStringDesc**)0;
5572 i_4 = ((NI) 0);
5573 T69_ = ((*colonenv_).diagnostics4 ? (*colonenv_).diagnostics4->Sup.len : 0);
5574 L_2 = T69_;
5575 {
5576 while (1) {
5577 NI T72_;
5578 NimStringDesc* T73_;
5579 if (!(i_4 < L_2)) goto LA71;
5580 msg = (&(*colonenv_).diagnostics4->data[i_4]);
5581 unsureAsgnRef((void**) (&(*m).diagnostics), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*m).diagnostics), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5582 T72_ = (*m).diagnostics->Sup.len++;
5583 T73_ = NIM_NIL;
5584 T73_ = (*m).diagnostics->data[T72_]; (*m).diagnostics->data[T72_] = copyStringRC1((*msg));
5585 if (T73_) nimGCunrefNoCycle(T73_);
5586 (*m).diagnosticsEnabled = NIM_TRUE;
5587 i_4 += ((NI) 1);
5588 } LA71: ;
5589 }
5590 }
5591 }
5592 LA66_: ;
5593 {
5594 if (!(checkedBody == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA76_;
5595 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5596 popSafePoint();
5597 (*c).matchedConcept = prevMatchedConcept;
5598 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5599 closeScope__lookups_101(c);
5600 goto BeforeRet_;
5601 }
5602 LA76_: ;
5603 {
5604 tyTuple__Qqa8F49azZNOOP4FK3LKbhw* p;
5605 NI i_5;
5606 NI L_3;
5607 NI T79_;
5608 p = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5609 i_5 = ((NI) 0);
5610 T79_ = (typeParams ? typeParams->Sup.len : 0);
5611 L_3 = T79_;
5612 {
5613 while (1) {
5614 if (!(i_5 < L_3)) goto LA81;
5615 p = (&typeParams->data[i_5]);
5616 put__sigmatch_120(m, (*p).Field1, (*(*p).Field0).typ);
5617 i_5 += ((NI) 1);
5618 } LA81: ;
5619 }
5620 }
5621 {
5622 if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA84_;
5623 result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*(*(*colonenv_).typeClass2).sym).info, ff);
5624 }
5625 goto LA82_;
5626 LA84_: ;
5627 {
5628 result = exactReplica__ast_4051(ff);
5629 }
5630 LA82_: ;
5631 asgnRef((void**) (&(*result).n), checkedBody);
5632 popSafePoint();
5633 }
5634 else {
5635 popSafePoint();
5636 }
5637 {
5638 (*c).matchedConcept = prevMatchedConcept;
5639 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5640 closeScope__lookups_101(c);
5641 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) nimLeaveFinally();
5642 }
5643 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) reraiseException();
5644 }BeforeRet_: ;
5645 return result;
5646 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)5647 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
5648 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
5649 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)5650 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
5651 NimStringDesc* result;
5652 result = NIM_NIL;
5653 result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
5654 appendString(result, info.Field0);
5655 {
5656 if (!(((NI) 0) < info.Field1)) goto LA3_;
5657 result = resizeString(result, 1);
5658 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
5659 addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
5660 {
5661 if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
5662 result = resizeString(result, 2);
5663 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
5664 addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
5665 }
5666 LA7_: ;
5667 result = resizeString(result, 1);
5668 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
5669 }
5670 LA3_: ;
5671 return result;
5672 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRel__sigmatch_202)5673 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRel__sigmatch_202)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig, tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg flags) {
5674 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
5675 NIM_BOOL useTypeLoweringRuleInTypeClass;
5676 NIM_BOOL T9_;
5677 NIM_BOOL T10_;
5678 NIM_BOOL T11_;
5679 NIM_BOOL T12_;
5680 tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig_2;
5681 tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
5682 tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
5683 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5684 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5685 {
5686 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA3_;
5687 {
5688 if (!!((aOrig == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
5689 put__sigmatch_120(c, f, aOrig);
5690 }
5691 LA7_: ;
5692 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5693 goto BeforeRet_;
5694 }
5695 LA3_: ;
5696 T9_ = (NIM_BOOL)0;
5697 T10_ = (NIM_BOOL)0;
5698 T11_ = (NIM_BOOL)0;
5699 T12_ = (NIM_BOOL)0;
5700 T12_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
5701 if (!(T12_)) goto LA13_;
5702 T12_ = !((*c).isNoCall);
5703 LA13_: ;
5704 T11_ = T12_;
5705 if (!(T11_)) goto LA14_;
5706 T11_ = !(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
5707 LA14_: ;
5708 T10_ = T11_;
5709 if (!(T10_)) goto LA15_;
5710 T10_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0));
5711 LA15_: ;
5712 T9_ = T10_;
5713 if (!(T9_)) goto LA16_;
5714 T9_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28))&63U)))!=0));
5715 LA16_: ;
5716 useTypeLoweringRuleInTypeClass = T9_;
5717 {
5718 if (!useTypeLoweringRuleInTypeClass) goto LA19_;
5719 aOrig_2 = skipTypes__ast_3735(aOrig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
5720 }
5721 goto LA17_;
5722 LA19_: ;
5723 {
5724 aOrig_2 = aOrig;
5725 }
5726 LA17_: ;
5727 {
5728 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev;
5729 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55))) goto LA24_;
5730 {
5731 NI T28_;
5732 T28_ = ((*aOrig_2).sons ? (*aOrig_2).sons->Sup.len : 0);
5733 if (!(((NI) 1) < T28_)) goto LA29_;
5734 prev = lastSon__ast_3743(aOrig_2);
5735 }
5736 goto LA26_;
5737 LA29_: ;
5738 {
5739 prev = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5740 }
5741 LA26_: ;
5742 {
5743 if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
5744 result = typeRel__sigmatch_202(c, f, prev, flags);
5745 goto BeforeRet_;
5746 }
5747 goto LA32_;
5748 LA34_: ;
5749 {
5750 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidate;
5751 tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
5752 candidate = f;
5753 switch ((*f).kind) {
5754 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5755 {
5756 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_2;
5757 RootObj* T38_;
5758 T38_ = NIM_NIL;
5759 T38_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
5760 prev_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T38_));
5761 {
5762 if (!!((prev_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA41_;
5763 candidate = prev_2;
5764 }
5765 LA41_: ;
5766 }
5767 break;
5768 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5769 {
5770 tyObject_TType__facALICuu8zUj0hjvbTLFg* computedType;
5771 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
5772 T44_ = NIM_NIL;
5773 T44_ = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
5774 computedType = (*T44_).typ;
5775 switch ((*computedType).kind) {
5776 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5777 {
5778 candidate = base__types_63(computedType);
5779 }
5780 break;
5781 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5782 {
5783 candidate = computedType;
5784 }
5785 break;
5786 default:
5787 {
5788 }
5789 break;
5790 }
5791 }
5792 break;
5793 default:
5794 {
5795 }
5796 break;
5797 }
5798 T49_ = NIM_NIL;
5799 T49_ = base__types_63(aOrig_2);
5800 result = typeRel__sigmatch_202(c, T49_, candidate, flags);
5801 {
5802 NI T54_;
5803 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA52_;
5804 unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
5805 T54_ = (*c).inferredTypes->Sup.len++;
5806 asgnRef((void**) (&(*c).inferredTypes->data[T54_]), aOrig_2);
5807 add__concepts_23(aOrig_2, candidate);
5808 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
5809 }
5810 LA52_: ;
5811 goto BeforeRet_;
5812 }
5813 LA32_: ;
5814 }
5815 LA24_: ;
5816 T55_ = NIM_NIL;
5817 T55_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5818 a = maybeSkipDistinct__sigmatch_1210((&(*c)), T55_, (*c).calleeSym);
5819 {
5820 tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
5821 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA58_;
5822 T60_ = NIM_NIL;
5823 T60_ = lastSon__ast_3743(aOrig_2);
5824 result = typeRel__sigmatch_202(c, f, T60_, flags);
5825 goto BeforeRet_;
5826 }
5827 LA58_: ;
5828 {
5829 NIM_BOOL T63_;
5830 tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
5831 tyObject_TType__facALICuu8zUj0hjvbTLFg* T68_;
5832 T63_ = (NIM_BOOL)0;
5833 T63_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
5834 if (!(T63_)) goto LA64_;
5835 T65_ = NIM_NIL;
5836 T65_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5837 T63_ = !(((*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54) || (*T65_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) && (*T65_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59)));
5838 LA64_: ;
5839 if (!T63_) goto LA66_;
5840 T68_ = NIM_NIL;
5841 T68_ = lastSon__ast_3743(a);
5842 result = typeRel__sigmatch_202(c, f, T68_, flags);
5843 goto BeforeRet_;
5844 }
5845 LA66_: ;
5846 {
5847 tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
5848 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA71_;
5849 T73_ = NIM_NIL;
5850 T73_ = lastSon__ast_3743(a);
5851 result = typeRel__sigmatch_202(c, f, T73_, flags);
5852 goto BeforeRet_;
5853 }
5854 LA71_: ;
5855 switch ((*a).kind) {
5856 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
5857 {
5858 (*c).typedescMatched = NIM_TRUE;
5859 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5860 {
5861 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
5862 NI i;
5863 NI L;
5864 NI T76_;
5865 branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5866 i = ((NI) 0);
5867 T76_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5868 L = T76_;
5869 {
5870 while (1) {
5871 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x;
5872 if (!(i < L)) goto LA78;
5873 branch = &(*a).sons->data[i];
5874 x = typeRel__sigmatch_202(c, f, (*branch), (flags | 1));
5875 {
5876 if (!(x == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA81_;
5877 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5878 goto BeforeRet_;
5879 }
5880 LA81_: ;
5881 {
5882 if (!(x < result)) goto LA85_;
5883 result = x;
5884 }
5885 LA85_: ;
5886 i += ((NI) 1);
5887 } LA78: ;
5888 }
5889 }
5890 goto BeforeRet_;
5891 }
5892 break;
5893 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
5894 {
5895 (*c).typedescMatched = NIM_TRUE;
5896 {
5897 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_2;
5898 NI i_2;
5899 NI L_2;
5900 NI T89_;
5901 branch_2 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5902 i_2 = ((NI) 0);
5903 T89_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5904 L_2 = T89_;
5905 {
5906 while (1) {
5907 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_2;
5908 if (!(i_2 < L_2)) goto LA91;
5909 branch_2 = &(*a).sons->data[i_2];
5910 x_2 = typeRel__sigmatch_202(c, f, (*branch_2), (flags | 1));
5911 {
5912 if (!!((x_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA94_;
5913 {
5914 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_2)) goto LA98_;
5915 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5916 }
5917 goto LA96_;
5918 LA98_: ;
5919 {
5920 result = x_2;
5921 }
5922 LA96_: ;
5923 goto BeforeRet_;
5924 }
5925 LA94_: ;
5926 i_2 += ((NI) 1);
5927 } LA91: ;
5928 }
5929 }
5930 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5931 goto BeforeRet_;
5932 }
5933 break;
5934 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
5935 {
5936 {
5937 if (!!(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64)))) goto LA104_;
5938 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5939 goto BeforeRet_;
5940 }
5941 LA104_: ;
5942 }
5943 break;
5944 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5945 {
5946 switch ((*f).kind) {
5947 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5948 {
5949 tyObject_TType__facALICuu8zUj0hjvbTLFg* T108_;
5950 tyObject_TType__facALICuu8zUj0hjvbTLFg* T109_;
5951 T108_ = NIM_NIL;
5952 T108_ = lastSon__ast_3743(a);
5953 T109_ = NIM_NIL;
5954 T109_ = lastSon__ast_3743(f);
5955 result = typeRel__sigmatch_202(c, T108_, T109_, flags);
5956 goto BeforeRet_;
5957 }
5958 break;
5959 default:
5960 {
5961 {
5962 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA113_;
5963 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5964 }
5965 goto LA111_;
5966 LA113_: ;
5967 {
5968 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5969 }
5970 LA111_: ;
5971 goto BeforeRet_;
5972 }
5973 break;
5974 }
5975 }
5976 break;
5977 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5978 {
5979 {
5980 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA119_;
5981 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5982 goto BeforeRet_;
5983 }
5984 goto LA117_;
5985 LA119_: ;
5986 {
5987 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5988 goto BeforeRet_;
5989 }
5990 LA117_: ;
5991 }
5992 break;
5993 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
5994 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5995 {
5996 {
5997 NIM_BOOL T125_;
5998 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_3;
5999 T125_ = (NIM_BOOL)0;
6000 T125_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6001 if (!(T125_)) goto LA126_;
6002 T125_ = ((*(*(*c).c).matchedConcept).depth <= ((NI) 4));
6003 LA126_: ;
6004 if (!T125_) goto LA127_;
6005 (*(*(*c).c).matchedConcept).depth += ((NI) 1);
6006 x_3 = typeRel__sigmatch_202(c, a, f, (flags | 1));
6007 {
6008 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_3)) goto LA131_;
6009 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6010 goto BeforeRet_;
6011 }
6012 LA131_: ;
6013 }
6014 LA127_: ;
6015 }
6016 break;
6017 default:
6018 {
6019 }
6020 break;
6021 }
6022 switch ((*f).kind) {
6023 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
6024 {
6025 {
6026 NIM_BOOL T137_;
6027 T137_ = (NIM_BOOL)0;
6028 T137_ = ((*a).kind == (*f).kind);
6029 if (!(T137_)) goto LA138_;
6030 T137_ = sameEnumTypes__types_2087(f, a);
6031 LA138_: ;
6032 if (!T137_) goto LA139_;
6033 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6034 }
6035 goto LA135_;
6036 LA139_: ;
6037 {
6038 tyObject_TType__facALICuu8zUj0hjvbTLFg* T142_;
6039 NIM_BOOL T143_;
6040 T142_ = NIM_NIL;
6041 T142_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6042 T143_ = (NIM_BOOL)0;
6043 T143_ = sameEnumTypes__types_2087(f, T142_);
6044 if (!T143_) goto LA144_;
6045 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6046 }
6047 goto LA135_;
6048 LA144_: ;
6049 LA135_: ;
6050 }
6051 break;
6052 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
6053 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
6054 {
6055 {
6056 if (!((*a).kind == (*f).kind)) goto LA149_;
6057 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6058 }
6059 goto LA147_;
6060 LA149_: ;
6061 {
6062 tyObject_TType__facALICuu8zUj0hjvbTLFg* T152_;
6063 T152_ = NIM_NIL;
6064 T152_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6065 if (!((*T152_).kind == (*f).kind)) goto LA153_;
6066 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6067 }
6068 goto LA147_;
6069 LA153_: ;
6070 LA147_: ;
6071 }
6072 break;
6073 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
6074 {
6075 {
6076 tyObject_TType__facALICuu8zUj0hjvbTLFg* T165_;
6077 tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
6078 if (!((*a).kind == (*f).kind)) goto LA158_;
6079 {
6080 tyObject_TType__facALICuu8zUj0hjvbTLFg* T162_;
6081 T162_ = NIM_NIL;
6082 T162_ = base__types_63(f);
6083 if (!((*T162_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA163_;
6084 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6085 goto BeforeRet_;
6086 }
6087 LA163_: ;
6088 T165_ = NIM_NIL;
6089 T165_ = base__types_63(f);
6090 T166_ = NIM_NIL;
6091 T166_ = base__types_63(a);
6092 result = typeRel__sigmatch_202(c, T165_, T166_, flags);
6093 {
6094 if (!!(((257 &((NU16)1<<((NU)(result)&15U)))!=0))) goto LA169_;
6095 {
6096 NI i_3;
6097 NI res;
6098 i_3 = (NI)0;
6099 res = ((NI) 0);
6100 {
6101 while (1) {
6102 if (!(res <= ((NI) 1))) goto LA173;
6103 i_3 = res;
6104 {
6105 if (!((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62))) goto LA176_;
6106 asgnRef((void**) (&(*(*f).n)._kind_6.sons->data[i_3]), tryResolvingStaticExpr__sigmatch_1227(c, (*(*f).n)._kind_6.sons->data[i_3], NIM_FALSE));
6107 }
6108 LA176_: ;
6109 res += ((NI) 1);
6110 } LA173: ;
6111 }
6112 }
6113 result = typeRangeRel__sigmatch_981(f, a);
6114 }
6115 LA169_: ;
6116 }
6117 goto LA156_;
6118 LA158_: ;
6119 {
6120 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
6121 f_2 = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6122 {
6123 NIM_BOOL T181_;
6124 NIM_BOOL T183_;
6125 T181_ = (NIM_BOOL)0;
6126 T181_ = ((*f_2).kind == (*a).kind);
6127 if (!(T181_)) goto LA182_;
6128 T183_ = (NIM_BOOL)0;
6129 T183_ = !(((*f_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
6130 if (T183_) goto LA184_;
6131 T183_ = sameEnumTypes__types_2087(f_2, a);
6132 LA184_: ;
6133 T181_ = T183_;
6134 LA182_: ;
6135 if (!T181_) goto LA185_;
6136 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
6137 }
6138 goto LA179_;
6139 LA185_: ;
6140 {
6141 NIM_BOOL T188_;
6142 T188_ = (NIM_BOOL)0;
6143 T188_ = isConvertibleToRange__sigmatch_548(f_2, a);
6144 if (!T188_) goto LA189_;
6145 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6146 }
6147 goto LA179_;
6148 LA189_: ;
6149 LA179_: ;
6150 }
6151 LA156_: ;
6152 }
6153 break;
6154 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
6155 {
6156 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6157 }
6158 break;
6159 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
6160 {
6161 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
6162 }
6163 break;
6164 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
6165 {
6166 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
6167 }
6168 break;
6169 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
6170 {
6171 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6172 }
6173 break;
6174 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
6175 {
6176 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
6177 }
6178 break;
6179 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
6180 {
6181 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6182 }
6183 break;
6184 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
6185 {
6186 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
6187 }
6188 break;
6189 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
6190 {
6191 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
6192 }
6193 break;
6194 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
6195 {
6196 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6197 }
6198 break;
6199 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
6200 {
6201 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
6202 }
6203 break;
6204 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
6205 {
6206 result = handleFloatRange__sigmatch_596(f, a);
6207 }
6208 break;
6209 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
6210 {
6211 result = handleFloatRange__sigmatch_596(f, a);
6212 }
6213 break;
6214 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
6215 {
6216 result = handleFloatRange__sigmatch_596(f, a);
6217 }
6218 break;
6219 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
6220 {
6221 result = handleFloatRange__sigmatch_596(f, a);
6222 }
6223 break;
6224 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
6225 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
6226 {
6227 {
6228 tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_;
6229 tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_;
6230 if (!((*aOrig_2).kind == (*f).kind)) goto LA208_;
6231 T210_ = NIM_NIL;
6232 T210_ = base__types_63(f);
6233 T211_ = NIM_NIL;
6234 T211_ = base__types_63(aOrig_2);
6235 result = typeRel__sigmatch_202(c, T210_, T211_, flags);
6236 }
6237 goto LA206_;
6238 LA208_: ;
6239 {
6240 tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
6241 T213_ = NIM_NIL;
6242 T213_ = base__types_63(f);
6243 result = typeRel__sigmatch_202(c, T213_, aOrig_2, (flags | 2));
6244 }
6245 LA206_: ;
6246 {
6247 NIM_BOOL T216_;
6248 tyObject_TType__facALICuu8zUj0hjvbTLFg* T218_;
6249 tyObject_TType__facALICuu8zUj0hjvbTLFg* T219_;
6250 T216_ = (NIM_BOOL)0;
6251 T216_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6252 if (!(T216_)) goto LA217_;
6253 T218_ = NIM_NIL;
6254 T218_ = lastSon__ast_3743(f);
6255 T219_ = NIM_NIL;
6256 T219_ = skipTypes__ast_3735(T218_, abstractInst__ast_355);
6257 T216_ = ((*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T219_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
6258 LA217_: ;
6259 if (!T216_) goto LA220_;
6260 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6261 }
6262 LA220_: ;
6263 }
6264 break;
6265 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6266 {
6267 switch ((*a).kind) {
6268 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6269 {
6270 tyObject_TType__facALICuu8zUj0hjvbTLFg* fRange;
6271 tyObject_TType__facALICuu8zUj0hjvbTLFg* aRange;
6272 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff;
6273 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
6274 fRange = (*f).sons->data[((NI) 0)];
6275 aRange = (*a).sons->data[((NI) 0)];
6276 {
6277 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_3;
6278 RootObj* T228_;
6279 if (!((*fRange).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA226_;
6280 T228_ = NIM_NIL;
6281 T228_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(fRange)))));
6282 prev_3 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T228_));
6283 {
6284 if (!(prev_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA231_;
6285 put__sigmatch_120(c, fRange, (*a).sons->data[((NI) 0)]);
6286 fRange = a;
6287 }
6288 goto LA229_;
6289 LA231_: ;
6290 {
6291 fRange = prev_3;
6292 }
6293 LA229_: ;
6294 }
6295 LA226_: ;
6296 ff = skipTypes__ast_3735((*f).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
6297 aa = (*a).sons->data[((NI) 1)];
6298 {
6299 NIM_BOOL T236_;
6300 T236_ = (NIM_BOOL)0;
6301 T236_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6302 if (!(T236_)) goto LA237_;
6303 T236_ = ((*aa).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6304 LA237_: ;
6305 if (!T236_) goto LA238_;
6306 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6307 }
6308 goto LA234_;
6309 LA238_: ;
6310 {
6311 result = typeRel__sigmatch_202(c, ff, aa, flags);
6312 }
6313 LA234_: ;
6314 {
6315 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA243_;
6316 {
6317 NIM_BOOL T247_;
6318 NIM_BOOL T248_;
6319 NIM_BOOL T249_;
6320 T247_ = (NIM_BOOL)0;
6321 T248_ = (NIM_BOOL)0;
6322 T249_ = (NIM_BOOL)0;
6323 T249_ = NIM_FALSE;
6324 if (!(T249_)) goto LA250_;
6325 T249_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6326 LA250_: ;
6327 T248_ = T249_;
6328 if (!(T248_)) goto LA251_;
6329 T248_ = ((*ff).kind == (*aa).kind);
6330 LA251_: ;
6331 T247_ = T248_;
6332 if (!(T247_)) goto LA252_;
6333 T247_ = isCovariantPtr__sigmatch_1405(c, ff, aa);
6334 LA252_: ;
6335 if (!T247_) goto LA253_;
6336 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6337 }
6338 goto LA245_;
6339 LA253_: ;
6340 {
6341 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6342 goto BeforeRet_;
6343 }
6344 LA245_: ;
6345 }
6346 LA243_: ;
6347 {
6348 if (!(((*fRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA258_;
6349 result = inferStaticsInRange__sigmatch_1370(c, fRange, a);
6350 goto BeforeRet_;
6351 }
6352 goto LA256_;
6353 LA258_: ;
6354 {
6355 NIM_BOOL T261_;
6356 T261_ = (NIM_BOOL)0;
6357 T261_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6358 if (!(T261_)) goto LA262_;
6359 T261_ = (((*aRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
6360 LA262_: ;
6361 if (!T261_) goto LA263_;
6362 result = inferStaticsInRange__sigmatch_1370(c, aRange, f);
6363 goto BeforeRet_;
6364 }
6365 goto LA256_;
6366 LA263_: ;
6367 {
6368 {
6369 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T268_;
6370 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T269_;
6371 NIM_BOOL T270_;
6372 T268_ = lengthOrd__types_1652((*(*(*c).c).graph).config, fRange);
6373 T269_ = lengthOrd__types_1652((*(*(*c).c).graph).config, aRange);
6374 T270_ = (NIM_BOOL)0;
6375 T270_ = eqeq___int495056_313(T268_, T269_);
6376 if (!!(T270_)) goto LA271_;
6377 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6378 }
6379 LA271_: ;
6380 }
6381 LA256_: ;
6382 }
6383 break;
6384 default:
6385 {
6386 }
6387 break;
6388 }
6389 }
6390 break;
6391 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
6392 {
6393 {
6394 tyObject_TType__facALICuu8zUj0hjvbTLFg* T279_;
6395 tyObject_TType__facALICuu8zUj0hjvbTLFg* T280_;
6396 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49))) goto LA277_;
6397 T279_ = NIM_NIL;
6398 T279_ = base__types_63(f);
6399 T280_ = NIM_NIL;
6400 T280_ = base__types_63(a);
6401 result = typeRel__sigmatch_202(c, T279_, T280_, flags);
6402 {
6403 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA283_;
6404 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6405 }
6406 LA283_: ;
6407 }
6408 goto LA275_;
6409 LA277_: ;
6410 {
6411 }
6412 LA275_: ;
6413 }
6414 break;
6415 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6416 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6417 {
6418 {
6419 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA289_;
6420 {
6421 tyObject_TType__facALICuu8zUj0hjvbTLFg* T295_;
6422 tyObject_TType__facALICuu8zUj0hjvbTLFg* T296_;
6423 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA293_;
6424 T295_ = NIM_NIL;
6425 T295_ = base__types_63(f);
6426 T296_ = NIM_NIL;
6427 T296_ = lastSon__ast_3743(a);
6428 result = typeRel__sigmatch_202(c, T295_, T296_, flags);
6429 goto BeforeRet_;
6430 }
6431 LA293_: ;
6432 {
6433 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA299_;
6434 goto BeforeRet_;
6435 }
6436 LA299_: ;
6437 }
6438 LA289_: ;
6439 switch ((*a).kind) {
6440 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6441 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6442 {
6443 tyObject_TType__facALICuu8zUj0hjvbTLFg* T302_;
6444 tyObject_TType__facALICuu8zUj0hjvbTLFg* T303_;
6445 T302_ = NIM_NIL;
6446 T302_ = base__types_63(f);
6447 T303_ = NIM_NIL;
6448 T303_ = base__types_63(a);
6449 result = typeRel__sigmatch_202(c, T302_, T303_, flags);
6450 {
6451 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA306_;
6452 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6453 }
6454 LA306_: ;
6455 }
6456 break;
6457 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6458 {
6459 tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym291_;
6460 tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym291_;
6461 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym291_;
6462 {
6463 NIM_BOOL T311_;
6464 T311_ = (NIM_BOOL)0;
6465 T311_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6466 if (!(T311_)) goto LA312_;
6467 T311_ = ((*(*a).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6468 LA312_: ;
6469 if (!T311_) goto LA313_;
6470 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6471 goto BeforeRet_;
6472 }
6473 LA313_: ;
6474 ffX60gensym291_ = base__types_63(f);
6475 aaX60gensym291_ = (*a).sons->data[((NI) 1)];
6476 baseRelX60gensym291_ = typeRel__sigmatch_202(c, ffX60gensym291_, aaX60gensym291_, flags);
6477 {
6478 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym291_)) goto LA317_;
6479 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6480 }
6481 goto LA315_;
6482 LA317_: ;
6483 {
6484 NIM_BOOL T320_;
6485 NIM_BOOL T321_;
6486 NIM_BOOL T322_;
6487 T320_ = (NIM_BOOL)0;
6488 T321_ = (NIM_BOOL)0;
6489 T322_ = (NIM_BOOL)0;
6490 T322_ = NIM_FALSE;
6491 if (!(T322_)) goto LA323_;
6492 T322_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6493 LA323_: ;
6494 T321_ = T322_;
6495 if (!(T321_)) goto LA324_;
6496 T321_ = ((*ffX60gensym291_).kind == (*aaX60gensym291_).kind);
6497 LA324_: ;
6498 T320_ = T321_;
6499 if (!(T320_)) goto LA325_;
6500 T320_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym291_, aaX60gensym291_);
6501 LA325_: ;
6502 if (!T320_) goto LA326_;
6503 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6504 }
6505 goto LA315_;
6506 LA326_: ;
6507 LA315_: ;
6508 }
6509 break;
6510 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6511 {
6512 tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym298_;
6513 tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym298_;
6514 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym298_;
6515 {
6516 NIM_BOOL T331_;
6517 T331_ = (NIM_BOOL)0;
6518 T331_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6519 if (!(T331_)) goto LA332_;
6520 T331_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6521 LA332_: ;
6522 if (!T331_) goto LA333_;
6523 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6524 goto BeforeRet_;
6525 }
6526 LA333_: ;
6527 ffX60gensym298_ = base__types_63(f);
6528 aaX60gensym298_ = (*a).sons->data[((NI) 0)];
6529 baseRelX60gensym298_ = typeRel__sigmatch_202(c, ffX60gensym298_, aaX60gensym298_, flags);
6530 {
6531 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym298_)) goto LA337_;
6532 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6533 }
6534 goto LA335_;
6535 LA337_: ;
6536 {
6537 NIM_BOOL T340_;
6538 NIM_BOOL T341_;
6539 NIM_BOOL T342_;
6540 T340_ = (NIM_BOOL)0;
6541 T341_ = (NIM_BOOL)0;
6542 T342_ = (NIM_BOOL)0;
6543 T342_ = NIM_FALSE;
6544 if (!(T342_)) goto LA343_;
6545 T342_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6546 LA343_: ;
6547 T341_ = T342_;
6548 if (!(T341_)) goto LA344_;
6549 T341_ = ((*ffX60gensym298_).kind == (*aaX60gensym298_).kind);
6550 LA344_: ;
6551 T340_ = T341_;
6552 if (!(T340_)) goto LA345_;
6553 T340_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym298_, aaX60gensym298_);
6554 LA345_: ;
6555 if (!T340_) goto LA346_;
6556 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6557 }
6558 goto LA335_;
6559 LA346_: ;
6560 LA335_: ;
6561 }
6562 break;
6563 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
6564 {
6565 {
6566 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA351_;
6567 {
6568 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA355_;
6569 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6570 }
6571 goto LA353_;
6572 LA355_: ;
6573 {
6574 NIM_BOOL T358_;
6575 NIM_BOOL T359_;
6576 NI T361_;
6577 tyObject_TType__facALICuu8zUj0hjvbTLFg* T363_;
6578 tyObject_TType__facALICuu8zUj0hjvbTLFg* T364_;
6579 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T365_;
6580 T358_ = (NIM_BOOL)0;
6581 T359_ = (NIM_BOOL)0;
6582 T359_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
6583 if (!(T359_)) goto LA360_;
6584 T361_ = (NI)0;
6585 T361_ = len__ast_4002(a);
6586 T359_ = (((NI) 0) < T361_);
6587 LA360_: ;
6588 T358_ = T359_;
6589 if (!(T358_)) goto LA362_;
6590 T363_ = NIM_NIL;
6591 T363_ = base__types_63(f);
6592 T364_ = NIM_NIL;
6593 T364_ = base__types_63(a);
6594 T365_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6595 T365_ = typeRel__sigmatch_202(c, T363_, T364_, flags);
6596 T358_ = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= T365_);
6597 LA362_: ;
6598 if (!T358_) goto LA366_;
6599 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6600 }
6601 goto LA353_;
6602 LA366_: ;
6603 LA353_: ;
6604 }
6605 LA351_: ;
6606 }
6607 break;
6608 default:
6609 {
6610 }
6611 break;
6612 }
6613 }
6614 break;
6615 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6616 {
6617 switch ((*a).kind) {
6618 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6619 {
6620 {
6621 NIM_BOOL T373_;
6622 T373_ = (NIM_BOOL)0;
6623 T373_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6624 if (!(T373_)) goto LA374_;
6625 T373_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6626 LA374_: ;
6627 if (!T373_) goto LA375_;
6628 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6629 }
6630 goto LA371_;
6631 LA375_: ;
6632 {
6633 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_2;
6634 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_2;
6635 ff_2 = (*f).sons->data[((NI) 0)];
6636 aa_2 = (*a).sons->data[((NI) 0)];
6637 result = typeRel__sigmatch_202(c, ff_2, aa_2, flags);
6638 {
6639 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA380_;
6640 {
6641 NIM_BOOL T384_;
6642 NIM_BOOL T385_;
6643 NIM_BOOL T386_;
6644 T384_ = (NIM_BOOL)0;
6645 T385_ = (NIM_BOOL)0;
6646 T386_ = (NIM_BOOL)0;
6647 T386_ = NIM_FALSE;
6648 if (!(T386_)) goto LA387_;
6649 T386_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6650 LA387_: ;
6651 T385_ = T386_;
6652 if (!(T385_)) goto LA388_;
6653 T385_ = ((*ff_2).kind == (*aa_2).kind);
6654 LA388_: ;
6655 T384_ = T385_;
6656 if (!(T384_)) goto LA389_;
6657 T384_ = isCovariantPtr__sigmatch_1405(c, ff_2, aa_2);
6658 LA389_: ;
6659 if (!T384_) goto LA390_;
6660 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6661 }
6662 goto LA382_;
6663 LA390_: ;
6664 {
6665 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6666 }
6667 LA382_: ;
6668 }
6669 goto LA378_;
6670 LA380_: ;
6671 {
6672 NIM_BOOL T394_;
6673 T394_ = (NIM_BOOL)0;
6674 T394_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6675 if (!(T394_)) goto LA395_;
6676 T394_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6677 LA395_: ;
6678 if (!T394_) goto LA396_;
6679 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6680 }
6681 goto LA378_;
6682 LA396_: ;
6683 LA378_: ;
6684 }
6685 LA371_: ;
6686 }
6687 break;
6688 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6689 {
6690 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6691 }
6692 break;
6693 default:
6694 {
6695 }
6696 break;
6697 }
6698 }
6699 break;
6700 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
6701 {
6702 {
6703 NIM_BOOL T403_;
6704 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_4;
6705 T403_ = (NIM_BOOL)0;
6706 T403_ = isOrdinalType__types_299(a, (((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
6707 if (!T403_) goto LA404_;
6708 {
6709 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15))) goto LA408_;
6710 x_4 = (*a).sons->data[((NI) 0)];
6711 }
6712 goto LA406_;
6713 LA408_: ;
6714 {
6715 x_4 = a;
6716 }
6717 LA406_: ;
6718 {
6719 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA413_;
6720 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6721 }
6722 goto LA411_;
6723 LA413_: ;
6724 {
6725 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], x_4, flags);
6726 {
6727 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA418_;
6728 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6729 }
6730 LA418_: ;
6731 }
6732 LA411_: ;
6733 }
6734 goto LA401_;
6735 LA404_: ;
6736 {
6737 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA421_;
6738 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6739 }
6740 goto LA401_;
6741 LA421_: ;
6742 LA401_: ;
6743 }
6744 break;
6745 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
6746 {
6747 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6748 }
6749 break;
6750 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6751 {
6752 {
6753 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA427_;
6754 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6755 }
6756 LA427_: ;
6757 {
6758 if (!((*a).kind == (*f).kind)) goto LA431_;
6759 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6760 }
6761 LA431_: ;
6762 }
6763 break;
6764 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
6765 {
6766 {
6767 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA436_;
6768 result = recordRel__sigmatch_806(c, f, a);
6769 }
6770 LA436_: ;
6771 }
6772 break;
6773 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
6774 {
6775 {
6776 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA441_;
6777 {
6778 NIM_BOOL T445_;
6779 T445_ = (NIM_BOOL)0;
6780 T445_ = sameObjectTypes__types_2038(f, a);
6781 if (!T445_) goto LA446_;
6782 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6783 }
6784 goto LA443_;
6785 LA446_: ;
6786 {
6787 NI depth;
6788 depth = isObjectSubtype__sigmatch_656(c, a, f, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
6789 {
6790 if (!(((NI) 0) < depth)) goto LA451_;
6791 (*c).inheritancePenalty += depth;
6792 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6793 }
6794 LA451_: ;
6795 }
6796 LA443_: ;
6797 }
6798 LA441_: ;
6799 }
6800 break;
6801 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
6802 {
6803 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_23);
6804 {
6805 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA456_;
6806 {
6807 NIM_BOOL T460_;
6808 T460_ = (NIM_BOOL)0;
6809 T460_ = sameDistinctTypes__types_2083(f, a);
6810 if (!T460_) goto LA461_;
6811 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6812 }
6813 goto LA458_;
6814 LA461_: ;
6815 {
6816 tyObject_TType__facALICuu8zUj0hjvbTLFg* T466_;
6817 if (!(*c).coerceDistincts) goto LA464_;
6818 T466_ = NIM_NIL;
6819 T466_ = base__types_63(f);
6820 result = typeRel__sigmatch_202(c, T466_, a, flags);
6821 }
6822 goto LA458_;
6823 LA464_: ;
6824 LA458_: ;
6825 }
6826 goto LA454_;
6827 LA456_: ;
6828 {
6829 NIM_BOOL T468_;
6830 tyObject_TType__facALICuu8zUj0hjvbTLFg* T470_;
6831 T468_ = (NIM_BOOL)0;
6832 T468_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
6833 if (!(T468_)) goto LA469_;
6834 T470_ = NIM_NIL;
6835 T470_ = base__types_63(f);
6836 T468_ = ((*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*T470_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
6837 LA469_: ;
6838 if (!T468_) goto LA471_;
6839 result = allowsNil__sigmatch_875(f);
6840 }
6841 goto LA454_;
6842 LA471_: ;
6843 {
6844 tyObject_TType__facALICuu8zUj0hjvbTLFg* T476_;
6845 if (!(*c).coerceDistincts) goto LA474_;
6846 T476_ = NIM_NIL;
6847 T476_ = base__types_63(f);
6848 result = typeRel__sigmatch_202(c, T476_, a, flags);
6849 }
6850 goto LA454_;
6851 LA474_: ;
6852 LA454_: ;
6853 }
6854 break;
6855 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
6856 {
6857 {
6858 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA480_;
6859 {
6860 NIM_BOOL T484_;
6861 T484_ = (NIM_BOOL)0;
6862 T484_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6863 if (!(T484_)) goto LA485_;
6864 T484_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6865 LA485_: ;
6866 if (!T484_) goto LA486_;
6867 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6868 }
6869 goto LA482_;
6870 LA486_: ;
6871 {
6872 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], flags);
6873 {
6874 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA491_;
6875 {
6876 if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1))) goto LA495_;
6877 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6878 }
6879 goto LA493_;
6880 LA495_: ;
6881 {
6882 if (!!((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43))&63U)))!=0))) goto LA498_;
6883 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6884 }
6885 goto LA493_;
6886 LA498_: ;
6887 LA493_: ;
6888 }
6889 LA491_: ;
6890 }
6891 LA482_: ;
6892 }
6893 LA480_: ;
6894 }
6895 break;
6896 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
6897 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
6898 {
6899 {
6900 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA503_;
6901 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6902 }
6903 LA503_: ;
6904 {
6905 tyObject_TType__facALICuu8zUj0hjvbTLFg* T524_;
6906 tyObject_TType__facALICuu8zUj0hjvbTLFg* T525_;
6907 if (!((*a).kind == (*f).kind)) goto LA507_;
6908 {
6909 NI T511_;
6910 NI T512_;
6911 T511_ = (NI)0;
6912 T511_ = len__ast_4002(a);
6913 T512_ = (NI)0;
6914 T512_ = len__ast_4002(f);
6915 if (!(T511_ < T512_)) goto LA513_;
6916 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6917 goto BeforeRet_;
6918 }
6919 LA513_: ;
6920 {
6921 NI i_4;
6922 NI colontmp_;
6923 NI T516_;
6924 NI i_5;
6925 i_4 = (NI)0;
6926 colontmp_ = (NI)0;
6927 T516_ = (NI)0;
6928 T516_ = len__ast_4002(f);
6929 colontmp_ = (NI)(T516_ - ((NI) 1));
6930 i_5 = ((NI) 0);
6931 {
6932 while (1) {
6933 if (!(i_5 < colontmp_)) goto LA518;
6934 i_4 = i_5;
6935 {
6936 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T521_;
6937 T521_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6938 T521_ = typeRel__sigmatch_202(c, (*f).sons->data[i_4], (*a).sons->data[i_4], flags);
6939 if (!(T521_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA522_;
6940 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6941 goto BeforeRet_;
6942 }
6943 LA522_: ;
6944 i_5 += ((NI) 1);
6945 } LA518: ;
6946 }
6947 }
6948 T524_ = NIM_NIL;
6949 T524_ = lastSon__ast_3743(f);
6950 T525_ = NIM_NIL;
6951 T525_ = lastSon__ast_3743(a);
6952 result = typeRel__sigmatch_202(c, T524_, T525_, (flags | 2));
6953 {
6954 NIM_BOOL T528_;
6955 tyObject_TType__facALICuu8zUj0hjvbTLFg* T530_;
6956 tyObject_TType__facALICuu8zUj0hjvbTLFg* T531_;
6957 T528_ = (NIM_BOOL)0;
6958 T528_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6959 if (!(T528_)) goto LA529_;
6960 T530_ = NIM_NIL;
6961 T530_ = lastSon__ast_3743(f);
6962 T531_ = NIM_NIL;
6963 T531_ = skipTypes__ast_3735(T530_, abstractInst__ast_355);
6964 T528_ = ((*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*T531_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
6965 LA529_: ;
6966 if (!T528_) goto LA532_;
6967 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6968 }
6969 LA532_: ;
6970 {
6971 if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2))) goto LA536_;
6972 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6973 }
6974 goto LA534_;
6975 LA536_: ;
6976 {
6977 NIM_BOOL T539_;
6978 T539_ = (NIM_BOOL)0;
6979 T539_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6980 if (!(T539_)) goto LA540_;
6981 T539_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6982 LA540_: ;
6983 if (!T539_) goto LA541_;
6984 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6985 }
6986 goto LA534_;
6987 LA541_: ;
6988 LA534_: ;
6989 }
6990 goto LA505_;
6991 LA507_: ;
6992 {
6993 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA544_;
6994 result = allowsNil__sigmatch_875(f);
6995 }
6996 goto LA505_;
6997 LA544_: ;
6998 {
6999 }
7000 LA505_: ;
7001 }
7002 break;
7003 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7004 {
7005 {
7006 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA550_;
7007 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7008 }
7009 LA550_: ;
7010 result = procTypeRel__sigmatch_927(c, f, a);
7011 {
7012 NIM_BOOL T554_;
7013 NIM_BOOL T555_;
7014 T554_ = (NIM_BOOL)0;
7015 T555_ = (NIM_BOOL)0;
7016 T555_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7017 if (!(T555_)) goto LA556_;
7018 T555_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7019 LA556_: ;
7020 T554_ = T555_;
7021 if (!(T554_)) goto LA557_;
7022 T554_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7023 LA557_: ;
7024 if (!T554_) goto LA558_;
7025 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7026 }
7027 LA558_: ;
7028 }
7029 break;
7030 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7031 {
7032 switch ((*a).kind) {
7033 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7034 {
7035 tyObject_TType__facALICuu8zUj0hjvbTLFg* T562_;
7036 tyObject_TType__facALICuu8zUj0hjvbTLFg* T563_;
7037 T562_ = NIM_NIL;
7038 T562_ = lastSon__ast_3743(f);
7039 T563_ = NIM_NIL;
7040 T563_ = lastSon__ast_3743(a);
7041 result = typeRel__sigmatch_202(c, T562_, T563_, flags);
7042 }
7043 break;
7044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7045 {
7046 result = allowsNil__sigmatch_875(f);
7047 }
7048 break;
7049 default:
7050 {
7051 }
7052 break;
7053 }
7054 }
7055 break;
7056 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7057 {
7058 {
7059 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA569_;
7060 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7061 }
7062 LA569_: ;
7063 switch ((*a).kind) {
7064 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7065 {
7066 {
7067 NIM_BOOL T574_;
7068 T574_ = (NIM_BOOL)0;
7069 T574_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7070 if (!(T574_)) goto LA575_;
7071 T574_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7072 LA575_: ;
7073 if (!T574_) goto LA576_;
7074 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7075 }
7076 goto LA572_;
7077 LA576_: ;
7078 {
7079 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7080 }
7081 LA572_: ;
7082 }
7083 break;
7084 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7085 {
7086 result = allowsNil__sigmatch_875(f);
7087 }
7088 break;
7089 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7090 {
7091 {
7092 if (!!(((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA583_;
7093 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7094 }
7095 LA583_: ;
7096 }
7097 break;
7098 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7099 {
7100 {
7101 NI T588_;
7102 T588_ = (NI)0;
7103 T588_ = len__ast_4002(a);
7104 if (!(T588_ == ((NI) 1))) goto LA589_;
7105 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7106 }
7107 LA589_: ;
7108 }
7109 break;
7110 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7111 {
7112 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7113 }
7114 break;
7115 default:
7116 {
7117 }
7118 break;
7119 }
7120 }
7121 break;
7122 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7123 {
7124 switch ((*a).kind) {
7125 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7126 {
7127 {
7128 NIM_BOOL T597_;
7129 T597_ = (NIM_BOOL)0;
7130 T597_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7131 if (!(T597_)) goto LA598_;
7132 T597_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7133 LA598_: ;
7134 if (!T597_) goto LA599_;
7135 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7136 }
7137 goto LA595_;
7138 LA599_: ;
7139 {
7140 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7141 }
7142 LA595_: ;
7143 }
7144 break;
7145 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7146 {
7147 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7148 }
7149 break;
7150 default:
7151 {
7152 }
7153 break;
7154 }
7155 }
7156 break;
7157 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7158 {
7159 switch ((*a).kind) {
7160 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7161 {
7162 {
7163 NIM_BOOL T608_;
7164 T608_ = (NIM_BOOL)0;
7165 T608_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7166 if (!(T608_)) goto LA609_;
7167 T608_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7168 LA609_: ;
7169 if (!T608_) goto LA610_;
7170 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7171 }
7172 goto LA606_;
7173 LA610_: ;
7174 {
7175 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7176 }
7177 LA606_: ;
7178 }
7179 break;
7180 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7181 {
7182 result = allowsNil__sigmatch_875(f);
7183 }
7184 break;
7185 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7186 {
7187 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7188 }
7189 break;
7190 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7191 {
7192 {
7193 NI T618_;
7194 tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo;
7195 T618_ = (NI)0;
7196 T618_ = len__ast_4002(a);
7197 if (!(T618_ == ((NI) 1))) goto LA619_;
7198 pointsTo = skipTypes__ast_3735((*a).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_24);
7199 {
7200 if (!((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA623_;
7201 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7202 }
7203 goto LA621_;
7204 LA623_: ;
7205 {
7206 NIM_BOOL T626_;
7207 T626_ = (NIM_BOOL)0;
7208 T626_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49));
7209 if (!(T626_)) goto LA627_;
7210 T626_ = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7211 LA627_: ;
7212 if (!T626_) goto LA628_;
7213 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7214 }
7215 goto LA621_;
7216 LA628_: ;
7217 {
7218 NIM_BOOL T631_;
7219 NIM_BOOL T632_;
7220 NIM_BOOL T633_;
7221 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T635_;
7222 tyObject_TType__facALICuu8zUj0hjvbTLFg* T637_;
7223 T631_ = (NIM_BOOL)0;
7224 T632_ = (NIM_BOOL)0;
7225 T633_ = (NIM_BOOL)0;
7226 T633_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7227 if (!(T633_)) goto LA634_;
7228 T635_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]);
7229 T633_ = eqeq___int495056_759(T635_, IL64(0));
7230 LA634_: ;
7231 T632_ = T633_;
7232 if (!(T632_)) goto LA636_;
7233 T637_ = NIM_NIL;
7234 T637_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7235 T632_ = ((*T637_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T637_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
7236 LA636_: ;
7237 T631_ = T632_;
7238 if (!(T631_)) goto LA638_;
7239 T631_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7240 LA638_: ;
7241 if (!T631_) goto LA639_;
7242 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7243 }
7244 goto LA621_;
7245 LA639_: ;
7246 LA621_: ;
7247 }
7248 LA619_: ;
7249 }
7250 break;
7251 default:
7252 {
7253 }
7254 break;
7255 }
7256 }
7257 break;
7258 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
7259 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
7260 {
7261 {
7262 if (!((*a).kind == (*f).kind)) goto LA645_;
7263 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7264 }
7265 LA645_: ;
7266 }
7267 break;
7268 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
7269 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
7270 {
7271 tyObject_TType__facALICuu8zUj0hjvbTLFg* T648_;
7272 T648_ = NIM_NIL;
7273 T648_ = lastSon__ast_3743(f);
7274 result = typeRel__sigmatch_202(c, T648_, a, flags);
7275 }
7276 break;
7277 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
7278 {
7279 {
7280 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA652_;
7281 {
7282 NI T656_;
7283 tyObject_TType__facALICuu8zUj0hjvbTLFg* T659_;
7284 tyObject_TType__facALICuu8zUj0hjvbTLFg* T660_;
7285 T656_ = (NI)0;
7286 T656_ = len__ast_4002(f);
7287 if (!(T656_ == ((NI) 1))) goto LA657_;
7288 T659_ = NIM_NIL;
7289 T659_ = lastSon__ast_3743(f);
7290 T660_ = NIM_NIL;
7291 T660_ = lastSon__ast_3743(a);
7292 result = typeRel__sigmatch_202(c, T659_, T660_, flags);
7293 }
7294 goto LA654_;
7295 LA657_: ;
7296 {
7297 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7298 }
7299 LA654_: ;
7300 }
7301 goto LA650_;
7302 LA652_: ;
7303 {
7304 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7305 }
7306 LA650_: ;
7307 }
7308 break;
7309 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
7310 {
7311 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_4;
7312 RootObj* T664_;
7313 tyObject_TType__facALICuu8zUj0hjvbTLFg* origF;
7314 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_3;
7315 tyObject_TType__facALICuu8zUj0hjvbTLFg* roota;
7316 tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf;
7317 T664_ = NIM_NIL;
7318 T664_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7319 prev_4 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T664_));
7320 origF = f;
7321 {
7322 if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA667_;
7323 f_3 = f;
7324 }
7325 goto LA665_;
7326 LA667_: ;
7327 {
7328 f_3 = prev_4;
7329 }
7330 LA665_: ;
7331 roota = skipGenericAlias__types_2210(a);
7332 rootf = skipGenericAlias__types_2210(f_3);
7333 {
7334 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA672_;
7335 {
7336 tyObject_TType__facALICuu8zUj0hjvbTLFg* T676_;
7337 tyObject_TType__facALICuu8zUj0hjvbTLFg* T677_;
7338 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg nextFlags;
7339 NIM_BOOL hasCovariance;
7340 T676_ = NIM_NIL;
7341 T676_ = base__types_63(roota);
7342 T677_ = NIM_NIL;
7343 T677_ = base__types_63(rootf);
7344 if (!(T676_ == T677_)) goto LA678_;
7345 nextFlags = (flags | 2);
7346 hasCovariance = NIM_FALSE;
7347 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7348 {
7349 NI i_6;
7350 NI colontmp__2;
7351 NI T681_;
7352 NI i_7;
7353 i_6 = (NI)0;
7354 colontmp__2 = (NI)0;
7355 T681_ = (NI)0;
7356 T681_ = len__ast_4002(rootf);
7357 colontmp__2 = (NI)(T681_ - ((NI) 1));
7358 i_7 = ((NI) 1);
7359 {
7360 while (1) {
7361 if (!(i_7 < colontmp__2)) goto LA683;
7362 i_6 = i_7;
7363 {
7364 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_3;
7365 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_3;
7366 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw res_2;
7367 ff_3 = (*rootf).sons->data[i_6];
7368 aa_3 = (*roota).sons->data[i_6];
7369 res_2 = typeRel__sigmatch_202(c, ff_3, aa_3, nextFlags);
7370 {
7371 NIM_BOOL T687_;
7372 T687_ = (NIM_BOOL)0;
7373 T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7374 if (!(T687_)) goto LA688_;
7375 T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
7376 LA688_: ;
7377 if (!T687_) goto LA689_;
7378 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7379 }
7380 LA689_: ;
7381 {
7382 if (!!(((1280 &((NU16)1<<((NU)(res_2)&15U)))!=0))) goto LA693_;
7383 {
7384 NIM_BOOL T697_;
7385 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw paramFlags;
7386 tyObject_TType__facALICuu8zUj0hjvbTLFg* T701_;
7387 T697_ = (NIM_BOOL)0;
7388 T697_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
7389 if (!(T697_)) goto LA698_;
7390 T697_ = ((*ff_3).kind == (*aa_3).kind);
7391 LA698_: ;
7392 if (!T697_) goto LA699_;
7393 T701_ = NIM_NIL;
7394 T701_ = base__types_63(rootf);
7395 paramFlags = (*(*T701_).sons->data[(NI)(i_6 - ((NI) 1))]).flags;
7396 {
7397 if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA704_;
7398 {
7399 if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA708_;
7400 hasCovariance = isCovariantPtr__sigmatch_1405(c, ff_3, aa_3);
7401 }
7402 goto LA706_;
7403 LA708_: ;
7404 {
7405 NIM_BOOL T711_;
7406 T711_ = (NIM_BOOL)0;
7407 T711_ = !(((*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21)));
7408 if (!(T711_)) goto LA712_;
7409 T711_ = (res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7410 LA712_: ;
7411 hasCovariance = T711_;
7412 }
7413 LA706_: ;
7414 }
7415 goto LA702_;
7416 LA704_: ;
7417 {
7418 NIM_BOOL T714_;
7419 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T716_;
7420 T714_ = (NIM_BOOL)0;
7421 T714_ = ((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0);
7422 if (!(T714_)) goto LA715_;
7423 T716_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7424 T716_ = typeRel__sigmatch_202(c, aa_3, ff_3, flags);
7425 T714_ = (T716_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7426 LA715_: ;
7427 hasCovariance = T714_;
7428 }
7429 LA702_: ;
7430 {
7431 if (!hasCovariance) goto LA719_;
7432 goto LA684;
7433 }
7434 LA719_: ;
7435 }
7436 LA699_: ;
7437 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7438 goto BeforeRet_;
7439 }
7440 LA693_: ;
7441 } LA684: ;
7442 i_7 += ((NI) 1);
7443 } LA683: ;
7444 }
7445 }
7446 {
7447 if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA723_;
7448 put__sigmatch_120(c, f_3, a);
7449 }
7450 LA723_: ;
7451 }
7452 goto LA674_;
7453 LA678_: ;
7454 {
7455 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fKind;
7456 tyObject_TType__facALICuu8zUj0hjvbTLFg* T726_;
7457 tyObject_TType__facALICuu8zUj0hjvbTLFg* aAsObject;
7458 T726_ = NIM_NIL;
7459 T726_ = lastSon__ast_3743(rootf);
7460 fKind = (*T726_).kind;
7461 {
7462 tyObject_TType__facALICuu8zUj0hjvbTLFg* T731_;
7463 if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA729_;
7464 T731_ = NIM_NIL;
7465 T731_ = lastSon__ast_3743(f_3);
7466 result = typeRel__sigmatch_202(c, T731_, a, flags);
7467 {
7468 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA734_;
7469 put__sigmatch_120(c, f_3, a);
7470 }
7471 LA734_: ;
7472 goto BeforeRet_;
7473 }
7474 LA729_: ;
7475 aAsObject = lastSon__ast_3743(roota);
7476 {
7477 if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA738_;
7478 {
7479 if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA742_;
7480 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7481 goto BeforeRet_;
7482 }
7483 goto LA740_;
7484 LA742_: ;
7485 {
7486 if (!((*aAsObject).kind == fKind)) goto LA745_;
7487 aAsObject = base__types_63(aAsObject);
7488 }
7489 goto LA740_;
7490 LA745_: ;
7491 LA740_: ;
7492 }
7493 LA738_: ;
7494 {
7495 tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
7496 if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA749_;
7497 baseType = base__types_63(aAsObject);
7498 {
7499 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw ret;
7500 if (!!((baseType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA753_;
7501 (*c).inheritancePenalty += ((NI) 1);
7502 ret = typeRel__sigmatch_202(c, f_3, baseType, flags);
7503 {
7504 if (!((1280 &((NU16)1<<((NU)(ret)&15U)))!=0)) goto LA757_;
7505 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7506 }
7507 goto LA755_;
7508 LA757_: ;
7509 {
7510 result = ret;
7511 }
7512 LA755_: ;
7513 goto BeforeRet_;
7514 }
7515 LA753_: ;
7516 }
7517 LA749_: ;
7518 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7519 }
7520 LA674_: ;
7521 }
7522 goto LA670_;
7523 LA672_: ;
7524 {
7525 tyObject_TType__facALICuu8zUj0hjvbTLFg* T761_;
7526 T761_ = NIM_NIL;
7527 T761_ = lastSon__ast_3743(origF);
7528 result = typeRel__sigmatch_202(c, T761_, a, flags);
7529 {
7530 NIM_BOOL T764_;
7531 T764_ = (NIM_BOOL)0;
7532 T764_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7533 if (!(T764_)) goto LA765_;
7534 T764_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5)));
7535 LA765_: ;
7536 if (!T764_) goto LA766_;
7537 put__sigmatch_120(c, f_3, a);
7538 }
7539 LA766_: ;
7540 }
7541 LA670_: ;
7542 }
7543 break;
7544 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
7545 {
7546 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym373_;
7547 RootObj* T769_;
7548 T769_ = NIM_NIL;
7549 T769_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7550 prevX60gensym373_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T769_));
7551 {
7552 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_4;
7553 if (!(prevX60gensym373_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA772_;
7554 {
7555 NIM_BOOL T776_;
7556 NIM_BOOL T778_;
7557 tyObject_TType__facALICuu8zUj0hjvbTLFg* T780_;
7558 T776_ = (NIM_BOOL)0;
7559 T776_ = (a == f);
7560 if (T776_) goto LA777_;
7561 T778_ = (NIM_BOOL)0;
7562 T778_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7563 if (!(T778_)) goto LA779_;
7564 T780_ = NIM_NIL;
7565 T780_ = skipGenericAlias__types_2210(a);
7566 T778_ = ((*T780_).sons->data[((NI) 0)] == f);
7567 LA779_: ;
7568 T776_ = T778_;
7569 LA777_: ;
7570 if (!T776_) goto LA781_;
7571 {
7572 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym375_;
7573 tyObject_TType__facALICuu8zUj0hjvbTLFg* T787_;
7574 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA785_;
7575 T787_ = NIM_NIL;
7576 T787_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7577 boundX60gensym375_ = skipIntLit__magicsys_124(T787_, (*(*c).c).Sup.idgen);
7578 put__sigmatch_120(c, f, boundX60gensym375_);
7579 }
7580 LA785_: ;
7581 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7582 goto BeforeRet_;
7583 }
7584 LA781_: ;
7585 ff_4 = lastSon__ast_3743(f);
7586 {
7587 if (!!((ff_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA790_;
7588 result = typeRel__sigmatch_202(c, ff_4, a, flags);
7589 }
7590 LA790_: ;
7591 }
7592 goto LA770_;
7593 LA772_: ;
7594 {
7595 result = typeRel__sigmatch_202(c, prevX60gensym373_, a, flags);
7596 goto BeforeRet_;
7597 }
7598 LA770_: ;
7599 }
7600 break;
7601 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
7602 {
7603 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_5;
7604 tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt;
7605 NIM_BOOL preventHack;
7606 x_5 = skipGenericAlias__types_2210(a);
7607 concpt = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_25);
7608 preventHack = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7609 {
7610 NIM_BOOL T796_;
7611 T796_ = (NIM_BOOL)0;
7612 T796_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
7613 if (!(T796_)) goto LA797_;
7614 T796_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
7615 LA797_: ;
7616 if (!T796_) goto LA798_;
7617 preventHack = NIM_TRUE;
7618 x_5 = lastSon__ast_3743(x_5);
7619 }
7620 LA798_: ;
7621 {
7622 NIM_BOOL T802_;
7623 NIM_BOOL T803_;
7624 NIM_BOOL T804_;
7625 NIM_BOOL T805_;
7626 tyObject_TType__facALICuu8zUj0hjvbTLFg* inst;
7627 T802_ = (NIM_BOOL)0;
7628 T803_ = (NIM_BOOL)0;
7629 T804_ = (NIM_BOOL)0;
7630 T805_ = (NIM_BOOL)0;
7631 T805_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7632 if (!(T805_)) goto LA806_;
7633 T805_ = !(((*c).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7634 LA806_: ;
7635 T804_ = T805_;
7636 if (!(T804_)) goto LA807_;
7637 T804_ = ((12288 &((NU32)1<<((NU)((*(*c).calleeSym).kind)&31U)))!=0);
7638 LA807_: ;
7639 T803_ = T804_;
7640 if (!(T803_)) goto LA808_;
7641 T803_ = !(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7642 LA808_: ;
7643 T802_ = T803_;
7644 if (!(T802_)) goto LA809_;
7645 T802_ = !(preventHack);
7646 LA809_: ;
7647 if (!T802_) goto LA810_;
7648 inst = prepareMetatypeForSigmatch__semtypinst_1064((*c).c, (*c).bindings, (*(*c).call).info, f);
7649 result = typeRel__sigmatch_202(c, inst, a, flags);
7650 goto BeforeRet_;
7651 }
7652 LA810_: ;
7653 {
7654 if (!((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA814_;
7655 {
7656 if (!((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)])) goto LA818_;
7657 {
7658 NI i_8;
7659 NI colontmp__3;
7660 NI i_9;
7661 i_8 = (NI)0;
7662 colontmp__3 = (NI)0;
7663 colontmp__3 = len__ast_4002(f);
7664 i_9 = ((NI) 1);
7665 {
7666 while (1) {
7667 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tr;
7668 if (!(i_9 < colontmp__3)) goto LA822;
7669 i_8 = i_9;
7670 tr = typeRel__sigmatch_202(c, (*f).sons->data[i_8], (*x_5).sons->data[i_8], flags);
7671 {
7672 if (!(tr <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA825_;
7673 goto BeforeRet_;
7674 }
7675 LA825_: ;
7676 i_9 += ((NI) 1);
7677 } LA822: ;
7678 }
7679 }
7680 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7681 }
7682 LA818_: ;
7683 }
7684 goto LA812_;
7685 LA814_: ;
7686 {
7687 NIM_BOOL T828_;
7688 NIM_BOOL T829_;
7689 NI T832_;
7690 NI T833_;
7691 T828_ = (NIM_BOOL)0;
7692 T829_ = (NIM_BOOL)0;
7693 T829_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7694 if (!(T829_)) goto LA830_;
7695 T829_ = ((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)]);
7696 LA830_: ;
7697 T828_ = T829_;
7698 if (!(T828_)) goto LA831_;
7699 T832_ = (NI)0;
7700 T832_ = len__ast_4002(x_5);
7701 T833_ = (NI)0;
7702 T833_ = len__ast_4002(f);
7703 T828_ = ((NI)(T832_ - ((NI) 1)) == T833_);
7704 LA831_: ;
7705 if (!T828_) goto LA834_;
7706 {
7707 NI i_10;
7708 NI colontmp__4;
7709 NI i_11;
7710 i_10 = (NI)0;
7711 colontmp__4 = (NI)0;
7712 colontmp__4 = len__ast_4002(f);
7713 i_11 = ((NI) 1);
7714 {
7715 while (1) {
7716 if (!(i_11 < colontmp__4)) goto LA838;
7717 i_10 = i_11;
7718 {
7719 if (!((*(*x_5).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA841_;
7720 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_27);
7721 }
7722 goto LA839_;
7723 LA841_: ;
7724 {
7725 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T844_;
7726 T844_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7727 T844_ = typeRel__sigmatch_202(c, (*f).sons->data[i_10], (*x_5).sons->data[i_10], flags);
7728 if (!(T844_ <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA845_;
7729 {
7730 if (!!(((*(*f).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA849_;
7731 goto BeforeRet_;
7732 }
7733 LA849_: ;
7734 }
7735 goto LA839_;
7736 LA845_: ;
7737 LA839_: ;
7738 i_11 += ((NI) 1);
7739 } LA838: ;
7740 }
7741 }
7742 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7743 }
7744 goto LA812_;
7745 LA834_: ;
7746 {
7747 NIM_BOOL T852_;
7748 T852_ = (NIM_BOOL)0;
7749 T852_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7750 if (!(T852_)) goto LA853_;
7751 T852_ = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7752 LA853_: ;
7753 if (!T852_) goto LA854_;
7754 {
7755 NIM_BOOL T858_;
7756 T858_ = (NIM_BOOL)0;
7757 T858_ = conceptMatch__concepts_538((*c).c, concpt, x_5, (&(*c).bindings), f);
7758 if (!T858_) goto LA859_;
7759 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7760 }
7761 goto LA856_;
7762 LA859_: ;
7763 {
7764 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7765 }
7766 LA856_: ;
7767 }
7768 goto LA812_;
7769 LA854_: ;
7770 {
7771 tyObject_TType__facALICuu8zUj0hjvbTLFg* genericBody;
7772 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
7773 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
7774 tyObject_TType__facALICuu8zUj0hjvbTLFg* aobj;
7775 tyObject_TType__facALICuu8zUj0hjvbTLFg* fobj;
7776 tyObject_TType__facALICuu8zUj0hjvbTLFg* T863_;
7777 NI depth_2;
7778 genericBody = (*f).sons->data[((NI) 0)];
7779 askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7780 fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7781 aobj = skipToObject__sigmatch_703(x_5, (&askip));
7782 T863_ = NIM_NIL;
7783 T863_ = lastSon__ast_3743(genericBody);
7784 fobj = skipToObject__sigmatch_703(T863_, (&fskip));
7785 depth_2 = ((NI) -1);
7786 {
7787 NIM_BOOL T866_;
7788 NIM_BOOL T867_;
7789 T866_ = (NIM_BOOL)0;
7790 T867_ = (NIM_BOOL)0;
7791 T867_ = !((fobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7792 if (!(T867_)) goto LA868_;
7793 T867_ = !((aobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7794 LA868_: ;
7795 T866_ = T867_;
7796 if (!(T866_)) goto LA869_;
7797 T866_ = (askip == fskip);
7798 LA869_: ;
7799 if (!T866_) goto LA870_;
7800 depth_2 = isObjectSubtype__sigmatch_656(c, aobj, fobj, f);
7801 }
7802 LA870_: ;
7803 result = typeRel__sigmatch_202(c, genericBody, x_5, flags);
7804 {
7805 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA874_;
7806 {
7807 NI i_12;
7808 NI colontmp__5;
7809 NI i_13;
7810 i_12 = (NI)0;
7811 colontmp__5 = (NI)0;
7812 colontmp__5 = len__ast_4002(f);
7813 i_13 = ((NI) 1);
7814 {
7815 while (1) {
7816 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_6;
7817 RootObj* T879_;
7818 if (!(i_13 < colontmp__5)) goto LA878;
7819 i_12 = i_13;
7820 T879_ = NIM_NIL;
7821 T879_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*genericBody).sons->data[(NI)(i_12 - ((NI) 1))])))));
7822 x_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T879_));
7823 {
7824 if (!(x_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA882_;
7825 }
7826 goto LA880_;
7827 LA882_: ;
7828 {
7829 if (!((*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA885_;
7830 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_28);
7831 }
7832 goto LA880_;
7833 LA885_: ;
7834 {
7835 tyObject_TType__facALICuu8zUj0hjvbTLFg* key;
7836 tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
7837 RootObj* T888_;
7838 key = (*f).sons->data[i_12];
7839 T888_ = NIM_NIL;
7840 T888_ = idTableGet__astalgo_64((*c).bindings, &key->Sup);
7841 old = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T888_));
7842 {
7843 if (!(old == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA891_;
7844 put__sigmatch_120(c, key, x_6);
7845 }
7846 goto LA889_;
7847 LA891_: ;
7848 {
7849 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T894_;
7850 T894_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7851 T894_ = typeRel__sigmatch_202(c, old, x_6, (flags | 1));
7852 if (!(T894_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA895_;
7853 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7854 goto BeforeRet_;
7855 }
7856 goto LA889_;
7857 LA895_: ;
7858 LA889_: ;
7859 }
7860 LA880_: ;
7861 i_13 += ((NI) 1);
7862 } LA878: ;
7863 }
7864 }
7865 }
7866 LA874_: ;
7867 {
7868 NIM_BOOL genericSubtype;
7869 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA899_;
7870 genericSubtype = isGenericSubtype__sigmatch_744(c, x_5, f, (&depth_2), f);
7871 {
7872 NIM_BOOL T903_;
7873 NIM_BOOL T904_;
7874 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym409_;
7875 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym410_;
7876 T903_ = (NIM_BOOL)0;
7877 T904_ = (NIM_BOOL)0;
7878 T904_ = genericSubtype;
7879 if (!(T904_)) goto LA905_;
7880 xX60gensym409_ = (*aobj).sym;
7881 xX60gensym410_ = (*fobj).sym;
7882 T904_ = !(((NI)((NI)((NU32)(((NI) ((*xX60gensym409_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym409_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym410_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym410_).Sup.itemId.item)))));
7883 LA905_: ;
7884 T903_ = !(T904_);
7885 if (!(T903_)) goto LA906_;
7886 T903_ = !(((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)));
7887 LA906_: ;
7888 if (!T903_) goto LA907_;
7889 depth_2 = ((NI) -1);
7890 }
7891 LA907_: ;
7892 }
7893 LA899_: ;
7894 {
7895 if (!(((NI) 0) <= depth_2)) goto LA911_;
7896 (*c).inheritancePenalty += depth_2;
7897 {
7898 if (!(depth_2 == ((NI) 0))) goto LA915_;
7899 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7900 }
7901 goto LA913_;
7902 LA915_: ;
7903 {
7904 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7905 }
7906 LA913_: ;
7907 }
7908 LA911_: ;
7909 }
7910 LA812_: ;
7911 }
7912 break;
7913 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
7914 {
7915 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym413_;
7916 RootObj* T919_;
7917 T919_ = NIM_NIL;
7918 T919_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7919 prevX60gensym413_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T919_));
7920 {
7921 if (!(prevX60gensym413_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA922_;
7922 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7923 {
7924 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_3;
7925 NI i_14;
7926 NI L_3;
7927 NI T925_;
7928 branch_3 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7929 i_14 = ((NI) 0);
7930 T925_ = ((*f).sons ? (*f).sons->Sup.len : 0);
7931 L_3 = T925_;
7932 {
7933 while (1) {
7934 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_7;
7935 if (!(i_14 < L_3)) goto LA927;
7936 branch_3 = &(*f).sons->data[i_14];
7937 x_7 = typeRel__sigmatch_202(c, (*branch_3), aOrig_2, flags);
7938 {
7939 if (!(x_7 < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA930_;
7940 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7941 goto BeforeRet_;
7942 }
7943 LA930_: ;
7944 {
7945 if (!(x_7 < result)) goto LA934_;
7946 result = x_7;
7947 }
7948 LA934_: ;
7949 i_14 += ((NI) 1);
7950 } LA927: ;
7951 }
7952 }
7953 {
7954 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA938_;
7955 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7956 }
7957 LA938_: ;
7958 {
7959 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym415_;
7960 tyObject_TType__facALICuu8zUj0hjvbTLFg* T944_;
7961 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA942_;
7962 T944_ = NIM_NIL;
7963 T944_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7964 boundX60gensym415_ = skipIntLit__magicsys_124(T944_, (*(*c).c).Sup.idgen);
7965 put__sigmatch_120(c, f, boundX60gensym415_);
7966 }
7967 LA942_: ;
7968 goto BeforeRet_;
7969 }
7970 goto LA920_;
7971 LA922_: ;
7972 {
7973 result = typeRel__sigmatch_202(c, prevX60gensym413_, a, flags);
7974 goto BeforeRet_;
7975 }
7976 LA920_: ;
7977 }
7978 break;
7979 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
7980 {
7981 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym418_;
7982 RootObj* T947_;
7983 T947_ = NIM_NIL;
7984 T947_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7985 prevX60gensym418_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T947_));
7986 {
7987 NI oldInheritancePenalty;
7988 NI maxInheritance;
7989 if (!(prevX60gensym418_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA950_;
7990 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7991 oldInheritancePenalty = (*c).inheritancePenalty;
7992 maxInheritance = ((NI) 0);
7993 {
7994 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_4;
7995 NI i_15;
7996 NI L_4;
7997 NI T953_;
7998 branch_4 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7999 i_15 = ((NI) 0);
8000 T953_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8001 L_4 = T953_;
8002 {
8003 while (1) {
8004 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_8;
8005 if (!(i_15 < L_4)) goto LA955;
8006 branch_4 = &(*f).sons->data[i_15];
8007 (*c).inheritancePenalty = ((NI) 0);
8008 x_8 = typeRel__sigmatch_202(c, (*branch_4), aOrig_2, flags);
8009 maxInheritance = ((maxInheritance >= (*c).inheritancePenalty) ? maxInheritance : (*c).inheritancePenalty);
8010 {
8011 if (!(result < x_8)) goto LA958_;
8012 result = x_8;
8013 }
8014 LA958_: ;
8015 i_15 += ((NI) 1);
8016 } LA955: ;
8017 }
8018 }
8019 {
8020 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= result)) goto LA962_;
8021 {
8022 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA966_;
8023 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8024 }
8025 LA966_: ;
8026 {
8027 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym422_;
8028 tyObject_TType__facALICuu8zUj0hjvbTLFg* T972_;
8029 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA970_;
8030 T972_ = NIM_NIL;
8031 T972_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8032 boundX60gensym422_ = skipIntLit__magicsys_124(T972_, (*(*c).c).Sup.idgen);
8033 put__sigmatch_120(c, f, boundX60gensym422_);
8034 }
8035 LA970_: ;
8036 goto BeforeRet_;
8037 }
8038 goto LA960_;
8039 LA962_: ;
8040 {
8041 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8042 }
8043 LA960_: ;
8044 (*c).inheritancePenalty = (NI)(oldInheritancePenalty + maxInheritance);
8045 }
8046 goto LA948_;
8047 LA950_: ;
8048 {
8049 result = typeRel__sigmatch_202(c, prevX60gensym418_, a, flags);
8050 goto BeforeRet_;
8051 }
8052 LA948_: ;
8053 }
8054 break;
8055 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
8056 {
8057 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym425_;
8058 RootObj* T976_;
8059 T976_ = NIM_NIL;
8060 T976_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8061 prevX60gensym425_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T976_));
8062 {
8063 if (!(prevX60gensym425_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA979_;
8064 {
8065 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_5;
8066 NI i_16;
8067 NI L_5;
8068 NI T982_;
8069 branch_5 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
8070 i_16 = ((NI) 0);
8071 T982_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8072 L_5 = T982_;
8073 {
8074 while (1) {
8075 if (!(i_16 < L_5)) goto LA984;
8076 branch_5 = &(*f).sons->data[i_16];
8077 {
8078 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T987_;
8079 T987_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
8080 T987_ = typeRel__sigmatch_202(c, (*branch_5), aOrig_2, flags);
8081 if (!!((T987_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA988_;
8082 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8083 goto BeforeRet_;
8084 }
8085 LA988_: ;
8086 i_16 += ((NI) 1);
8087 } LA984: ;
8088 }
8089 }
8090 {
8091 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym427_;
8092 tyObject_TType__facALICuu8zUj0hjvbTLFg* T994_;
8093 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA992_;
8094 T994_ = NIM_NIL;
8095 T994_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8096 boundX60gensym427_ = skipIntLit__magicsys_124(T994_, (*(*c).c).Sup.idgen);
8097 put__sigmatch_120(c, f, boundX60gensym427_);
8098 }
8099 LA992_: ;
8100 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8101 goto BeforeRet_;
8102 }
8103 goto LA977_;
8104 LA979_: ;
8105 {
8106 result = typeRel__sigmatch_202(c, prevX60gensym425_, a, flags);
8107 goto BeforeRet_;
8108 }
8109 LA977_: ;
8110 }
8111 break;
8112 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
8113 {
8114 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym430_;
8115 RootObj* T997_;
8116 T997_ = NIM_NIL;
8117 T997_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8118 prevX60gensym430_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T997_));
8119 {
8120 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete;
8121 if (!(prevX60gensym430_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1000_;
8122 concrete = concreteType__sigmatch_443((&(*c)), a, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8123 {
8124 NIM_BOOL T1004_;
8125 T1004_ = (NIM_BOOL)0;
8126 T1004_ = !((concrete == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8127 if (!(T1004_)) goto LA1005_;
8128 T1004_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8129 LA1005_: ;
8130 if (!T1004_) goto LA1006_;
8131 put__sigmatch_120(c, f, concrete);
8132 }
8133 LA1006_: ;
8134 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8135 goto BeforeRet_;
8136 }
8137 goto LA998_;
8138 LA1000_: ;
8139 {
8140 result = typeRel__sigmatch_202(c, prevX60gensym430_, a, flags);
8141 goto BeforeRet_;
8142 }
8143 LA998_: ;
8144 }
8145 break;
8146 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
8147 {
8148 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym434_;
8149 RootObj* T1010_;
8150 T1010_ = NIM_NIL;
8151 T1010_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8152 prevX60gensym434_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1010_));
8153 {
8154 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag targetKind;
8155 tyObject_TType__facALICuu8zUj0hjvbTLFg* effectiveArgType;
8156 NIM_BOOL typeClassMatches;
8157 NIM_BOOL T1015_;
8158 NIM_BOOL T1017_;
8159 if (!(prevX60gensym434_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1013_;
8160 targetKind = (*(*f).sons->data[((NI) 0)]).kind;
8161 effectiveArgType = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_30);
8162 T1015_ = (NIM_BOOL)0;
8163 T1015_ = (targetKind == (*effectiveArgType).kind);
8164 if (!(T1015_)) goto LA1016_;
8165 T1017_ = (NIM_BOOL)0;
8166 T1017_ = isEmptyContainer__types_3617(effectiveArgType);
8167 T1015_ = !(T1017_);
8168 LA1016_: ;
8169 typeClassMatches = T1015_;
8170 {
8171 NIM_BOOL T1020_;
8172 NIM_BOOL T1022_;
8173 T1020_ = (NIM_BOOL)0;
8174 T1020_ = typeClassMatches;
8175 if (T1020_) goto LA1021_;
8176 T1022_ = (NIM_BOOL)0;
8177 T1022_ = (targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8178 if (!(T1022_)) goto LA1023_;
8179 T1022_ = ((*effectiveArgType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8180 LA1023_: ;
8181 T1020_ = T1022_;
8182 LA1021_: ;
8183 if (!T1020_) goto LA1024_;
8184 put__sigmatch_120(c, f, a);
8185 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8186 goto BeforeRet_;
8187 }
8188 goto LA1018_;
8189 LA1024_: ;
8190 {
8191 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8192 goto BeforeRet_;
8193 }
8194 LA1018_: ;
8195 }
8196 goto LA1011_;
8197 LA1013_: ;
8198 {
8199 result = typeRel__sigmatch_202(c, prevX60gensym434_, a, flags);
8200 goto BeforeRet_;
8201 }
8202 LA1011_: ;
8203 }
8204 break;
8205 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8206 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
8207 {
8208 {
8209 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1033_;
8210 if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA1031_;
8211 T1033_ = NIM_NIL;
8212 T1033_ = lastSon__ast_3743(f);
8213 result = typeRel__sigmatch_202(c, T1033_, a, flags);
8214 }
8215 goto LA1029_;
8216 LA1031_: ;
8217 {
8218 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym439_;
8219 RootObj* T1035_;
8220 T1035_ = NIM_NIL;
8221 T1035_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8222 prevX60gensym439_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1035_));
8223 {
8224 tyObject_TType__facALICuu8zUj0hjvbTLFg* matched;
8225 if (!(prevX60gensym439_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1038_;
8226 {
8227 if (!(aOrig_2 == f)) goto LA1042_;
8228 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8229 goto BeforeRet_;
8230 }
8231 LA1042_: ;
8232 matched = matchUserTypeClass__sigmatch_993(c, f, aOrig_2);
8233 {
8234 if (!!((matched == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1046_;
8235 add__concepts_23(matched, a);
8236 (*matched).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10)) & 63);
8237 {
8238 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA1050_;
8239 put__sigmatch_120(c, f, matched);
8240 }
8241 LA1050_: ;
8242 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8243 }
8244 goto LA1044_;
8245 LA1046_: ;
8246 {
8247 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8248 }
8249 LA1044_: ;
8250 }
8251 goto LA1036_;
8252 LA1038_: ;
8253 {
8254 result = typeRel__sigmatch_202(c, prevX60gensym439_, a, flags);
8255 goto BeforeRet_;
8256 }
8257 LA1036_: ;
8258 }
8259 LA1029_: ;
8260 }
8261 break;
8262 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
8263 {
8264 {
8265 NIM_BOOL T1057_;
8266 T1057_ = (NIM_BOOL)0;
8267 T1057_ = conceptMatch__concepts_538((*c).c, f, a, (&(*c).bindings), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8268 if (!T1057_) goto LA1058_;
8269 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8270 }
8271 goto LA1055_;
8272 LA1058_: ;
8273 {
8274 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8275 }
8276 LA1055_: ;
8277 }
8278 break;
8279 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
8280 {
8281 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym444_;
8282 RootObj* T1062_;
8283 T1062_ = NIM_NIL;
8284 T1062_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8285 prevX60gensym444_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1062_));
8286 {
8287 tyObject_TType__facALICuu8zUj0hjvbTLFg* roota_2;
8288 tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf_2;
8289 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1067_;
8290 if (!(prevX60gensym444_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1065_;
8291 roota_2 = skipGenericAlias__types_2210(a);
8292 T1067_ = NIM_NIL;
8293 T1067_ = lastSon__ast_3743(f);
8294 rootf_2 = skipGenericAlias__types_2210(T1067_);
8295 {
8296 NIM_BOOL T1070_;
8297 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1072_;
8298 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1073_;
8299 T1070_ = (NIM_BOOL)0;
8300 T1070_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
8301 if (!(T1070_)) goto LA1071_;
8302 T1072_ = NIM_NIL;
8303 T1072_ = base__types_63(roota_2);
8304 T1073_ = NIM_NIL;
8305 T1073_ = base__types_63(rootf_2);
8306 T1070_ = (T1072_ == T1073_);
8307 LA1071_: ;
8308 if (!T1070_) goto LA1074_;
8309 {
8310 NI i_17;
8311 NI colontmp__6;
8312 NI T1077_;
8313 NI i_18;
8314 i_17 = (NI)0;
8315 colontmp__6 = (NI)0;
8316 T1077_ = (NI)0;
8317 T1077_ = len__ast_4002(rootf_2);
8318 colontmp__6 = (NI)(T1077_ - ((NI) 1));
8319 i_18 = ((NI) 1);
8320 {
8321 while (1) {
8322 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_5;
8323 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_4;
8324 if (!(i_18 < colontmp__6)) goto LA1079;
8325 i_17 = i_18;
8326 ff_5 = (*rootf_2).sons->data[i_17];
8327 aa_4 = (*roota_2).sons->data[i_17];
8328 result = typeRel__sigmatch_202(c, ff_5, aa_4, flags);
8329 {
8330 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA1082_;
8331 goto BeforeRet_;
8332 }
8333 LA1082_: ;
8334 {
8335 NIM_BOOL T1086_;
8336 T1086_ = (NIM_BOOL)0;
8337 T1086_ = ((*ff_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
8338 if (!(T1086_)) goto LA1087_;
8339 T1086_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
8340 LA1087_: ;
8341 if (!T1086_) goto LA1088_;
8342 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8343 goto BeforeRet_;
8344 }
8345 LA1088_: ;
8346 i_18 += ((NI) 1);
8347 } LA1079: ;
8348 }
8349 }
8350 }
8351 goto LA1068_;
8352 LA1074_: ;
8353 {
8354 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1091_;
8355 T1091_ = NIM_NIL;
8356 T1091_ = lastSon__ast_3743(rootf_2);
8357 result = typeRel__sigmatch_202(c, T1091_, a, flags);
8358 }
8359 LA1068_: ;
8360 {
8361 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1094_;
8362 put__sigmatch_120(c, f, a);
8363 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8364 }
8365 LA1094_: ;
8366 }
8367 goto LA1063_;
8368 LA1065_: ;
8369 {
8370 result = typeRel__sigmatch_202(c, prevX60gensym444_, a, flags);
8371 goto BeforeRet_;
8372 }
8373 LA1063_: ;
8374 }
8375 break;
8376 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
8377 {
8378 NIM_BOOL doBindGP;
8379 NIM_BOOL T1098_;
8380 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_9;
8381 RootObj* T1100_;
8382 T1098_ = (NIM_BOOL)0;
8383 T1098_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8384 if (T1098_) goto LA1099_;
8385 T1098_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 2))&7U)))!=0);
8386 LA1099_: ;
8387 doBindGP = T1098_;
8388 T1100_ = NIM_NIL;
8389 T1100_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8390 x_9 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1100_));
8391 {
8392 if (!(x_9 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1103_;
8393 {
8394 NIM_BOOL T1107_;
8395 T1107_ = (NIM_BOOL)0;
8396 T1107_ = ((*(*c).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
8397 if (!(T1107_)) goto LA1108_;
8398 T1107_ = !((*c).typedescMatched);
8399 LA1108_: ;
8400 if (!T1107_) goto LA1109_;
8401 {
8402 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1113_;
8403 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8404 }
8405 goto LA1111_;
8406 LA1113_: ;
8407 {
8408 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1116_;
8409 {
8410 NI T1120_;
8411 T1120_ = (NI)0;
8412 T1120_ = len__ast_4002(f);
8413 if (!(T1120_ == ((NI) 0))) goto LA1121_;
8414 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8415 }
8416 goto LA1118_;
8417 LA1121_: ;
8418 {
8419 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_5;
8420 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1138_;
8421 {
8422 NI T1126_;
8423 NimStringDesc* argX60gensym454_;
8424 T1126_ = (NI)0;
8425 T1126_ = len__ast_4002(a);
8426 if (!!((((NI) 0) < T1126_))) goto LA1127_;
8427 argX60gensym454_ = toFileLineCol__msgs_615(TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8428 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym454_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8429 }
8430 LA1127_: ;
8431 (*c).typedescMatched = NIM_TRUE;
8432 aa_5 = a;
8433 {
8434 while (1) {
8435 NIM_BOOL T1131_;
8436 NI T1133_;
8437 T1131_ = (NIM_BOOL)0;
8438 T1131_ = ((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8439 if (!(T1131_)) goto LA1132_;
8440 T1133_ = (NI)0;
8441 T1133_ = len__ast_4002(aa_5);
8442 T1131_ = (((NI) 0) < T1133_);
8443 LA1132_: ;
8444 if (!T1131_) goto LA1130;
8445 aa_5 = lastSon__ast_3743(aa_5);
8446 } LA1130: ;
8447 }
8448 {
8449 if (!((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1136_;
8450 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8451 goto BeforeRet_;
8452 }
8453 LA1136_: ;
8454 T1138_ = NIM_NIL;
8455 T1138_ = base__types_63(f);
8456 result = typeRel__sigmatch_202(c, T1138_, aa_5, flags);
8457 {
8458 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1141_;
8459 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8460 }
8461 LA1141_: ;
8462 }
8463 LA1118_: ;
8464 }
8465 goto LA1111_;
8466 LA1116_: ;
8467 {
8468 if (!(*c).isNoCall) goto LA1144_;
8469 {
8470 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_2;
8471 if (!doBindGP) goto LA1148_;
8472 concrete_2 = concreteType__sigmatch_443((&(*c)), a, f);
8473 {
8474 if (!(concrete_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1152_;
8475 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8476 goto BeforeRet_;
8477 }
8478 LA1152_: ;
8479 put__sigmatch_120(c, f, concrete_2);
8480 }
8481 LA1148_: ;
8482 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8483 }
8484 goto LA1111_;
8485 LA1144_: ;
8486 {
8487 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8488 }
8489 LA1111_: ;
8490 }
8491 goto LA1105_;
8492 LA1109_: ;
8493 {
8494 {
8495 NIM_BOOL T1158_;
8496 NI T1159_;
8497 NI oldInheritancePenalty_2;
8498 T1158_ = (NIM_BOOL)0;
8499 T1159_ = (NI)0;
8500 T1159_ = len__ast_4002(f);
8501 T1158_ = (((NI) 0) < T1159_);
8502 if (!(T1158_)) goto LA1160_;
8503 T1158_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
8504 LA1160_: ;
8505 if (!T1158_) goto LA1161_;
8506 oldInheritancePenalty_2 = (*c).inheritancePenalty;
8507 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], a, (flags | 5));
8508 {
8509 NIM_BOOL T1165_;
8510 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_3;
8511 T1165_ = (NIM_BOOL)0;
8512 T1165_ = doBindGP;
8513 if (!(T1165_)) goto LA1166_;
8514 T1165_ = !(((257 &((NU16)1<<((NU)(result)&15U)))!=0));
8515 LA1166_: ;
8516 if (!T1165_) goto LA1167_;
8517 concrete_3 = concreteType__sigmatch_443((&(*c)), a, f);
8518 {
8519 if (!(concrete_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1171_;
8520 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8521 goto BeforeRet_;
8522 }
8523 LA1171_: ;
8524 put__sigmatch_120(c, f, concrete_3);
8525 }
8526 LA1167_: ;
8527 {
8528 if (!((1032 &((NU16)1<<((NU)(result)&15U)))!=0)) goto LA1175_;
8529 (*c).inheritancePenalty = (NI)((NI)(oldInheritancePenalty_2 - (*c).inheritancePenalty) - (NI)(((NI) 100) * (result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10))));
8530 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8531 }
8532 LA1175_: ;
8533 }
8534 goto LA1156_;
8535 LA1161_: ;
8536 {
8537 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1178_;
8538 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8539 }
8540 goto LA1156_;
8541 LA1178_: ;
8542 {
8543 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8544 }
8545 LA1156_: ;
8546 }
8547 LA1105_: ;
8548 {
8549 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_4;
8550 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA1183_;
8551 concrete_4 = a;
8552 {
8553 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1187_;
8554 transitionGenericParamToType__ast_4390((*a).sym);
8555 (*a).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
8556 }
8557 goto LA1185_;
8558 LA1187_: ;
8559 {
8560 concrete_4 = concreteType__sigmatch_443((&(*c)), a, f);
8561 {
8562 if (!(concrete_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1192_;
8563 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8564 goto BeforeRet_;
8565 }
8566 LA1192_: ;
8567 }
8568 LA1185_: ;
8569 {
8570 if (!doBindGP) goto LA1196_;
8571 put__sigmatch_120(c, f, concrete_4);
8572 }
8573 LA1196_: ;
8574 }
8575 goto LA1181_;
8576 LA1183_: ;
8577 {
8578 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1199_;
8579 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8580 }
8581 goto LA1181_;
8582 LA1199_: ;
8583 LA1181_: ;
8584 }
8585 goto LA1101_;
8586 LA1103_: ;
8587 {
8588 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA1202_;
8589 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8590 }
8591 goto LA1101_;
8592 LA1202_: ;
8593 {
8594 if (!((*x_9).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1205_;
8595 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8596 }
8597 goto LA1101_;
8598 LA1205_: ;
8599 {
8600 result = typeRel__sigmatch_202(c, x_9, a, flags);
8601 {
8602 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1210_;
8603 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8604 }
8605 LA1210_: ;
8606 }
8607 LA1101_: ;
8608 }
8609 break;
8610 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8611 {
8612 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_5;
8613 RootObj* T1213_;
8614 T1213_ = NIM_NIL;
8615 T1213_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8616 prev_5 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1213_));
8617 {
8618 if (!(prev_5 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1216_;
8619 {
8620 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1220_;
8621 {
8622 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1224_;
8623 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1227_;
8624 T1224_ = NIM_NIL;
8625 T1224_ = base__types_63(f);
8626 if (!!(((*T1224_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1225_;
8627 T1227_ = NIM_NIL;
8628 T1227_ = base__types_63(f);
8629 result = typeRel__sigmatch_202(c, T1227_, a, flags);
8630 {
8631 NIM_BOOL T1230_;
8632 T1230_ = (NIM_BOOL)0;
8633 T1230_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8634 if (!(T1230_)) goto LA1231_;
8635 T1230_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8636 LA1231_: ;
8637 if (!T1230_) goto LA1232_;
8638 {
8639 NIM_BOOL T1236_;
8640 T1236_ = (NIM_BOOL)0;
8641 T1236_ = exprStructuralEquivalent__trees_56((*f).n, (*aOrig_2).n, NIM_FALSE);
8642 if (!!(T1236_)) goto LA1237_;
8643 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8644 }
8645 LA1237_: ;
8646 }
8647 LA1232_: ;
8648 }
8649 goto LA1222_;
8650 LA1225_: ;
8651 {
8652 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8653 }
8654 LA1222_: ;
8655 {
8656 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1242_;
8657 put__sigmatch_120(c, f, aOrig_2);
8658 }
8659 LA1242_: ;
8660 }
8661 goto LA1218_;
8662 LA1220_: ;
8663 {
8664 NIM_BOOL T1245_;
8665 T1245_ = (NIM_BOOL)0;
8666 T1245_ = !(((*aOrig_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8667 if (!(T1245_)) goto LA1246_;
8668 T1245_ = !(((*(*aOrig_2).n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8669 LA1246_: ;
8670 if (!T1245_) goto LA1247_;
8671 {
8672 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1251_;
8673 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1254_;
8674 T1251_ = NIM_NIL;
8675 T1251_ = base__types_63(f);
8676 if (!!(((*T1251_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1252_;
8677 T1254_ = NIM_NIL;
8678 T1254_ = lastSon__ast_3743(f);
8679 result = typeRel__sigmatch_202(c, T1254_, (*(*aOrig_2).n).typ, flags);
8680 }
8681 goto LA1249_;
8682 LA1252_: ;
8683 {
8684 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8685 }
8686 LA1249_: ;
8687 {
8688 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundType;
8689 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1260_;
8690 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1258_;
8691 T1260_ = NIM_NIL;
8692 T1260_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
8693 asgnRef((void**) (&T1260_->data[0]), (*(*aOrig_2).n).typ);
8694 boundType = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T1260_);
8695 asgnRef((void**) (&(*boundType).n), (*aOrig_2).n);
8696 put__sigmatch_120(c, f, boundType);
8697 }
8698 LA1258_: ;
8699 }
8700 goto LA1218_;
8701 LA1247_: ;
8702 {
8703 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8704 }
8705 LA1218_: ;
8706 }
8707 goto LA1214_;
8708 LA1216_: ;
8709 {
8710 if (!((*prev_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1263_;
8711 {
8712 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1269_;
8713 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1267_;
8714 T1269_ = NIM_NIL;
8715 T1269_ = lastSon__ast_3743(prev_5);
8716 result = typeRel__sigmatch_202(c, T1269_, a, flags);
8717 {
8718 NIM_BOOL T1272_;
8719 T1272_ = (NIM_BOOL)0;
8720 T1272_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8721 if (!(T1272_)) goto LA1273_;
8722 T1272_ = !(((*prev_5).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8723 LA1273_: ;
8724 if (!T1272_) goto LA1274_;
8725 {
8726 NIM_BOOL T1278_;
8727 T1278_ = (NIM_BOOL)0;
8728 T1278_ = exprStructuralEquivalent__trees_56((*prev_5).n, (*aOrig_2).n, NIM_FALSE);
8729 if (!!(T1278_)) goto LA1279_;
8730 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8731 }
8732 LA1279_: ;
8733 }
8734 LA1274_: ;
8735 }
8736 goto LA1265_;
8737 LA1267_: ;
8738 {
8739 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8740 }
8741 LA1265_: ;
8742 }
8743 goto LA1214_;
8744 LA1263_: ;
8745 {
8746 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8747 }
8748 LA1214_: ;
8749 }
8750 break;
8751 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
8752 {
8753 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_6;
8754 {
8755 NI T1286_;
8756 T1286_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8757 if (!(((NI) 1) < T1286_)) goto LA1287_;
8758 prev_6 = lastSon__ast_3743(f);
8759 }
8760 goto LA1284_;
8761 LA1287_: ;
8762 {
8763 prev_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
8764 }
8765 LA1284_: ;
8766 {
8767 if (!!((prev_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1292_;
8768 result = typeRel__sigmatch_202(c, prev_6, a, flags);
8769 }
8770 goto LA1290_;
8771 LA1292_: ;
8772 {
8773 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1295_;
8774 T1295_ = NIM_NIL;
8775 T1295_ = base__types_63(f);
8776 result = typeRel__sigmatch_202(c, T1295_, a, flags);
8777 {
8778 NI T1300_;
8779 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1298_;
8780 unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
8781 T1300_ = (*c).inferredTypes->Sup.len++;
8782 asgnRef((void**) (&(*c).inferredTypes->data[T1300_]), f);
8783 add__concepts_23(f, a);
8784 }
8785 LA1298_: ;
8786 }
8787 LA1290_: ;
8788 }
8789 break;
8790 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8791 {
8792 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_7;
8793 RootObj* T1302_;
8794 T1302_ = NIM_NIL;
8795 T1302_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8796 prev_7 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1302_));
8797 {
8798 if (!(prev_7 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1305_;
8799 {
8800 if (!!(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA1309_;
8801 {
8802 NIM_BOOL T1313_;
8803 T1313_ = (NIM_BOOL)0;
8804 T1313_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8805 if (!(T1313_)) goto LA1314_;
8806 T1313_ = (((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
8807 LA1314_: ;
8808 if (!T1313_) goto LA1315_;
8809 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8810 }
8811 goto LA1311_;
8812 LA1315_: ;
8813 {
8814 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8815 }
8816 LA1311_: ;
8817 }
8818 goto LA1307_;
8819 LA1309_: ;
8820 {
8821 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1319_;
8822 T1319_ = NIM_NIL;
8823 T1319_ = base__types_63(f);
8824 if (!((*T1319_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1320_;
8825 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8826 }
8827 goto LA1307_;
8828 LA1320_: ;
8829 {
8830 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1323_;
8831 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1324_;
8832 T1323_ = NIM_NIL;
8833 T1323_ = base__types_63(f);
8834 T1324_ = NIM_NIL;
8835 T1324_ = base__types_63(a);
8836 result = typeRel__sigmatch_202(c, T1323_, T1324_, flags);
8837 }
8838 LA1307_: ;
8839 {
8840 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1327_;
8841 put__sigmatch_120(c, f, a);
8842 }
8843 LA1327_: ;
8844 }
8845 goto LA1303_;
8846 LA1305_: ;
8847 {
8848 {
8849 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1334_;
8850 if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA1332_;
8851 T1334_ = NIM_NIL;
8852 T1334_ = base__types_63(prev_7);
8853 result = typeRel__sigmatch_202(c, T1334_, a, flags);
8854 }
8855 goto LA1330_;
8856 LA1332_: ;
8857 {
8858 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1338_;
8859 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1339_;
8860 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1336_;
8861 T1338_ = NIM_NIL;
8862 T1338_ = base__types_63(prev_7);
8863 T1339_ = NIM_NIL;
8864 T1339_ = base__types_63(a);
8865 result = typeRel__sigmatch_202(c, T1338_, T1339_, flags);
8866 }
8867 goto LA1330_;
8868 LA1336_: ;
8869 {
8870 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8871 }
8872 LA1330_: ;
8873 }
8874 LA1303_: ;
8875 }
8876 break;
8877 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
8878 {
8879 {
8880 if (!!((aOrig_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1344_;
8881 put__sigmatch_120(c, f, aOrig_2);
8882 }
8883 LA1344_: ;
8884 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8885 }
8886 break;
8887 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
8888 {
8889 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8890 }
8891 break;
8892 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
8893 {
8894 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reevaluated;
8895 {
8896 NIM_BOOL T1350_;
8897 T1350_ = (NIM_BOOL)0;
8898 T1350_ = ((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8899 if (T1350_) goto LA1351_;
8900 T1350_ = ((*(*f).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
8901 LA1351_: ;
8902 if (!T1350_) goto LA1352_;
8903 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8904 goto BeforeRet_;
8905 }
8906 LA1352_: ;
8907 reevaluated = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
8908 switch ((*(*reevaluated).typ).kind) {
8909 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8910 {
8911 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1355_;
8912 T1355_ = NIM_NIL;
8913 T1355_ = base__types_63((*reevaluated).typ);
8914 result = typeRel__sigmatch_202(c, a, T1355_, flags);
8915 }
8916 break;
8917 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8918 {
8919 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1357_;
8920 T1357_ = NIM_NIL;
8921 T1357_ = base__types_63((*reevaluated).typ);
8922 result = typeRel__sigmatch_202(c, a, T1357_, flags);
8923 {
8924 NIM_BOOL T1360_;
8925 T1360_ = (NIM_BOOL)0;
8926 T1360_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8927 if (!(T1360_)) goto LA1361_;
8928 T1360_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8929 LA1361_: ;
8930 if (!T1360_) goto LA1362_;
8931 {
8932 NIM_BOOL T1366_;
8933 T1366_ = (NIM_BOOL)0;
8934 T1366_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8935 if (!!(T1366_)) goto LA1367_;
8936 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8937 }
8938 LA1367_: ;
8939 }
8940 LA1362_: ;
8941 }
8942 break;
8943 default:
8944 {
8945 result = typeRel__sigmatch_202(c, a, (*reevaluated).typ, flags);
8946 {
8947 NIM_BOOL T1372_;
8948 T1372_ = (NIM_BOOL)0;
8949 T1372_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8950 if (!(T1372_)) goto LA1373_;
8951 T1372_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8952 LA1373_: ;
8953 if (!T1372_) goto LA1374_;
8954 {
8955 NIM_BOOL T1378_;
8956 T1378_ = (NIM_BOOL)0;
8957 T1378_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8958 if (!!(T1378_)) goto LA1379_;
8959 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8960 }
8961 LA1379_: ;
8962 }
8963 LA1374_: ;
8964 }
8965 break;
8966 }
8967 }
8968 break;
8969 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
8970 {
8971 {
8972 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1384_;
8973 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8974 }
8975 LA1384_: ;
8976 }
8977 break;
8978 default:
8979 {
8980 NimStringDesc* T1387_;
8981 T1387_ = NIM_NIL;
8982 T1387_ = rawNewString((reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 19);
8983 appendString(T1387_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_45));
8984 appendString(T1387_, reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8985 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, T1387_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_46);
8986 }
8987 break;
8988 }
8989 }BeforeRet_: ;
8990 return result;
8991 }
N_NIMCALL(void,incMatches__sigmatch_3238)8992 N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch) {
8993 switch (r) {
8994 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
8995 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
8996 {
8997 (*m).convMatches += convMatch;
8998 }
8999 break;
9000 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
9001 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
9002 {
9003 (*m).subtypeMatches += ((NI) 1);
9004 }
9005 break;
9006 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
9007 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
9008 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
9009 {
9010 (*m).genericMatches += ((NI) 1);
9011 }
9012 break;
9013 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
9014 {
9015 (*m).intConvMatches += ((NI) 256);
9016 }
9017 break;
9018 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
9019 {
9020 (*m).convMatches += ((NI) 1);
9021 }
9022 break;
9023 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
9024 {
9025 (*m).exactMatches += ((NI) 1);
9026 }
9027 break;
9028 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
9029 {
9030 }
9031 break;
9032 }
9033 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getInstantiatedType__sigmatch_3053)9034 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getInstantiatedType__sigmatch_3053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
9035 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9036 RootObj* T1_;
9037 result = NIM_NIL;
9038 T1_ = NIM_NIL;
9039 T1_ = idTableGet__astalgo_64((*m).bindings, &f->Sup);
9040 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1_));
9041 {
9042 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA4_;
9043 result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, f);
9044 }
9045 LA4_: ;
9046 {
9047 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
9048 internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_49), TM__EV5hHJmjIY9cla9b9be7fSVJQ_50);
9049 result = errorType__semdata_1002(c);
9050 }
9051 LA8_: ;
9052 return result;
9053 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitConv__sigmatch_3067)9054 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitConv__sigmatch_3067)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
9055 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9056 result = NIM_NIL;
9057 result = newNodeI__ast_3356(kind, (*arg).info);
9058 {
9059 NIM_BOOL T3_;
9060 T3_ = (NIM_BOOL)0;
9061 T3_ = containsGenericType__types_3351(f);
9062 if (!T3_) goto LA4_;
9063 {
9064 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
9065 if (!!(!(((*m).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))))) goto LA8_;
9066 T10_ = NIM_NIL;
9067 T10_ = getInstantiatedType__sigmatch_3053(c, arg, m, f);
9068 asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(T10_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9069 }
9070 goto LA6_;
9071 LA8_: ;
9072 {
9073 asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
9074 }
9075 LA6_: ;
9076 }
9077 goto LA1_;
9078 LA4_: ;
9079 {
9080 asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9081 }
9082 LA1_: ;
9083 {
9084 if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
9085 internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_52), TM__EV5hHJmjIY9cla9b9be7fSVJQ_53);
9086 }
9087 LA15_: ;
9088 add__ast_4797(result, (*(*c).graph).emptyNode);
9089 add__ast_4797(result, arg);
9090 return result;
9091 }
N_INLINE(NIM_BOOL,isLValue__sigmatch_3090)9092 static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9093 NIM_BOOL result;
9094 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
9095 result = (NIM_BOOL)0;
9096 aa = isAssignable__parampatterns_334(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), n, NIM_FALSE);
9097 switch (aa) {
9098 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1):
9099 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2):
9100 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 5):
9101 {
9102 result = NIM_TRUE;
9103 }
9104 break;
9105 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3):
9106 {
9107 result = (((NI) 0) < (*c).inUncheckedAssignSection);
9108 }
9109 break;
9110 default:
9111 {
9112 result = NIM_FALSE;
9113 }
9114 break;
9115 }
9116 return result;
9117 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,extractPragma__sigmatch_5382)9118 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9119 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9120 result = NIM_NIL;
9121 {
9122 if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_;
9123 result = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
9124 }
9125 goto LA1_;
9126 LA3_: ;
9127 {
9128 if (!((896 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA6_;
9129 {
9130 NIM_BOOL T10_;
9131 NI T12_;
9132 T10_ = (NIM_BOOL)0;
9133 T10_ = !(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
9134 if (!(T10_)) goto LA11_;
9135 T12_ = (NI)0;
9136 T12_ = len__ast_3198((*s).ast);
9137 T10_ = (((NI) 0) < T12_);
9138 LA11_: ;
9139 if (!T10_) goto LA13_;
9140 {
9141 NIM_BOOL T17_;
9142 NI T19_;
9143 T17_ = (NIM_BOOL)0;
9144 T17_ = ((*(*(*s).ast)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
9145 if (!(T17_)) goto LA18_;
9146 T19_ = (NI)0;
9147 T19_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 0)]);
9148 T17_ = (((NI) 1) < T19_);
9149 LA18_: ;
9150 if (!T17_) goto LA20_;
9151 result = (*(*(*s).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
9152 }
9153 LA20_: ;
9154 }
9155 LA13_: ;
9156 }
9157 goto LA1_;
9158 LA6_: ;
9159 LA1_: ;
9160 {
9161 NIM_BOOL T24_;
9162 T24_ = (NIM_BOOL)0;
9163 T24_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9164 if (T24_) goto LA25_;
9165 T24_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
9166 LA25_: ;
9167 if (!!(T24_)) goto LA26_;
9168 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_57));
9169 }
9170 LA26_: ;
9171 return result;
9172 }
N_NIMCALL(void,warnAboutDeprecated__sigmatch_5425)9173 N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9174 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9175 NimStringDesc* name;
9176 NimStringDesc* T33_;
9177 { pragmaNode = NIM_NIL;
9178 {
9179 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA3_;
9180 pragmaNode = extractPragma__sigmatch_5382((*s).owner);
9181 }
9182 goto LA1_;
9183 LA3_: ;
9184 {
9185 pragmaNode = extractPragma__sigmatch_5382(s);
9186 }
9187 LA1_: ;
9188 {
9189 NIM_BOOL T8_;
9190 NimStringDesc* T12_;
9191 T8_ = (NIM_BOOL)0;
9192 T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9193 if (!(T8_)) goto LA9_;
9194 T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0));
9195 LA9_: ;
9196 if (!T8_) goto LA10_;
9197 T12_ = NIM_NIL;
9198 T12_ = rawNewString(((*(*(*s).owner).name).s ? (*(*(*s).owner).name).s->Sup.len : 0) + ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 31);
9199 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_58));
9200 appendString(T12_, (*(*(*s).owner).name).s);
9201 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_59));
9202 appendString(T12_, (*(*s).name).s);
9203 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
9204 name = T12_;
9205 }
9206 goto LA6_;
9207 LA10_: ;
9208 {
9209 name = (*(*s).name).s;
9210 }
9211 LA6_: ;
9212 {
9213 if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
9214 {
9215 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9216 it = NIM_NIL;
9217 {
9218 NI i;
9219 NI colontmp_;
9220 NI i_2;
9221 i = (NI)0;
9222 colontmp_ = (NI)0;
9223 colontmp_ = safeLen__ast_3191(pragmaNode);
9224 i_2 = ((NI) 0);
9225 {
9226 while (1) {
9227 if (!(i_2 < colontmp_)) goto LA21;
9228 i = i_2;
9229 it = (*pragmaNode)._kind_6.sons->data[i];
9230 {
9231 NIM_BOOL T24_;
9232 NIM_BOOL T25_;
9233 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T26_;
9234 NI T28_;
9235 NimStringDesc* T32_;
9236 T24_ = (NIM_BOOL)0;
9237 T25_ = (NIM_BOOL)0;
9238 T26_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9239 T26_ = whichPragma__trees_244(it);
9240 T25_ = (T26_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 138));
9241 if (!(T25_)) goto LA27_;
9242 T28_ = (NI)0;
9243 T28_ = safeLen__ast_3191(it);
9244 T25_ = (T28_ == ((NI) 2));
9245 LA27_: ;
9246 T24_ = T25_;
9247 if (!(T24_)) goto LA29_;
9248 T24_ = ((*(*it)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*it)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
9249 LA29_: ;
9250 if (!T24_) goto LA30_;
9251 T32_ = NIM_NIL;
9252 T32_ = rawNewString(((*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal ? (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal->Sup.len : 0) + (name ? name->Sup.len : 0) + 16);
9253 appendString(T32_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9254 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9255 appendString(T32_, name);
9256 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9257 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_62, NIM_FALSE);
9258 goto BeforeRet_;
9259 }
9260 LA30_: ;
9261 i_2 += ((NI) 1);
9262 } LA21: ;
9263 }
9264 }
9265 }
9266 }
9267 LA16_: ;
9268 T33_ = NIM_NIL;
9269 T33_ = rawNewString((name ? name->Sup.len : 0) + 14);
9270 appendString(T33_, name);
9271 appendString(T33_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9272 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_64, NIM_FALSE);
9273 }BeforeRet_: ;
9274 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_619)9275 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
9276 NimStringDesc* result;
9277 NimStringDesc* T1_;
9278 result = NIM_NIL;
9279 T1_ = NIM_NIL;
9280 T1_ = toMsgFilename__msgs_602(conf, info.fileIndex);
9281 result = resizeString(result, (T1_ ? T1_->Sup.len : 0) + 0);
9282 appendString(result, T1_);
9283 {
9284 if (!(((NI) 0) < ((NI) (info.line)))) goto LA4_;
9285 result = resizeString(result, 1);
9286 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
9287 addInt__stdZprivateZdigitsutils_189((&result), ((NI) (info.line)));
9288 {
9289 if (!(((NI) 0) < (NI)(((NI) (info.col)) + ((NI) 1)))) goto LA8_;
9290 result = resizeString(result, 2);
9291 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
9292 addInt__stdZprivateZdigitsutils_189((&result), (NI)(((NI) (info.col)) + ((NI) 1)));
9293 }
9294 LA8_: ;
9295 result = resizeString(result, 1);
9296 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
9297 }
9298 LA4_: ;
9299 return result;
9300 }
N_NIMCALL(void,userError__sigmatch_5458)9301 N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9302 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9303 tyArray__24KAM9afIUgUaqBaEBB6r9bg T22_;
9304 NimStringDesc* T23_;
9305 { pragmaNode = extractPragma__sigmatch_5382(s);
9306 {
9307 if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
9308 {
9309 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9310 it = NIM_NIL;
9311 {
9312 NI i;
9313 NI colontmp_;
9314 NI i_2;
9315 i = (NI)0;
9316 colontmp_ = (NI)0;
9317 colontmp_ = safeLen__ast_3191(pragmaNode);
9318 i_2 = ((NI) 0);
9319 {
9320 while (1) {
9321 if (!(i_2 < colontmp_)) goto LA8;
9322 i = i_2;
9323 it = (*pragmaNode)._kind_6.sons->data[i];
9324 {
9325 NIM_BOOL T11_;
9326 NIM_BOOL T12_;
9327 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
9328 NI T15_;
9329 tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
9330 NimStringDesc* T20_;
9331 NimStringDesc* T21_;
9332 T11_ = (NIM_BOOL)0;
9333 T12_ = (NIM_BOOL)0;
9334 T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9335 T13_ = whichPragma__trees_244(it);
9336 T12_ = (T13_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 122));
9337 if (!(T12_)) goto LA14_;
9338 T15_ = (NI)0;
9339 T15_ = safeLen__ast_3191(it);
9340 T12_ = (T15_ == ((NI) 2));
9341 LA14_: ;
9342 T11_ = T12_;
9343 if (!(T11_)) goto LA16_;
9344 T11_ = ((*(*it)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*it)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
9345 LA16_: ;
9346 if (!T11_) goto LA17_;
9347 nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9348 T20_ = NIM_NIL;
9349 T20_ = rawNewString(((*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal ? (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal->Sup.len : 0) + 2);
9350 appendString(T20_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9351 appendString(T20_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9352 T19_[0] = T20_;
9353 T19_[1] = copyString((*(*s).name).s);
9354 T19_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9355 T21_ = NIM_NIL;
9356 T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T19_, 3);
9357 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_66, NIM_FALSE);
9358 goto BeforeRet_;
9359 }
9360 LA17_: ;
9361 i_2 += ((NI) 1);
9362 } LA8: ;
9363 }
9364 }
9365 }
9366 }
9367 LA3_: ;
9368 nimZeroMem((void*)T22_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9369 T22_[0] = ((NimStringDesc*) NIM_NIL);
9370 T22_[1] = copyString((*(*s).name).s);
9371 T22_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9372 T23_ = NIM_NIL;
9373 T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T22_, 3);
9374 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_67, NIM_FALSE);
9375 }BeforeRet_: ;
9376 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)9377 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
9378 NU64 result;
9379 NU64 aH;
9380 NU64 aL;
9381 NU64 bH;
9382 NU64 bL;
9383 NU64 rHH;
9384 NU64 rHL;
9385 NU64 rLH;
9386 NU64 rLL;
9387 NU64 t;
9388 NU64 c;
9389 NU64 lo;
9390 NU64 T6_;
9391 NU64 hi;
9392 { result = (NU64)0;
9393 aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
9394 aL = (NU64)(a & 4294967295ULL);
9395 bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
9396 bL = (NU64)(b & 4294967295ULL);
9397 rHH = (NU64)((NU64)(aH) * (NU64)(bH));
9398 rHL = (NU64)((NU64)(aH) * (NU64)(bL));
9399 rLH = (NU64)((NU64)(aL) * (NU64)(bH));
9400 rLL = (NU64)((NU64)(aL) * (NU64)(bL));
9401 t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
9402 {
9403 if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
9404 c = 1ULL;
9405 }
9406 goto LA1_;
9407 LA3_: ;
9408 {
9409 c = 0ULL;
9410 }
9411 LA1_: ;
9412 lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
9413 T6_ = (NU64)0;
9414 {
9415 if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
9416 T6_ = 1ULL;
9417 }
9418 goto LA7_;
9419 LA9_: ;
9420 {
9421 T6_ = 0ULL;
9422 }
9423 LA7_: ;
9424 c += T6_;
9425 hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
9426 result = (NU64)(hi ^ lo);
9427 goto BeforeRet_;
9428 }BeforeRet_: ;
9429 return result;
9430 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)9431 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
9432 NU64 result;
9433 result = (NU64)0;
9434 result = hiXorLoFallback64__pureZhashes_35(a, b);
9435 return result;
9436 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)9437 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
9438 NI result;
9439 NU64 T1_;
9440 NU64 T2_;
9441 result = (NI)0;
9442 T1_ = (NU64)0;
9443 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
9444 T2_ = (NU64)0;
9445 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
9446 result = ((NI) (T2_));
9447 return result;
9448 }
N_INLINE(NI,hash__pureZhashes_128)9449 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
9450 NI result;
9451 result = (NI)0;
9452 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
9453 return result;
9454 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)9455 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
9456 NIM_BOOL result;
9457 result = (NIM_BOOL)0;
9458 result = !((hcode == ((NI) 0)));
9459 return result;
9460 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)9461 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
9462 NI result;
9463 result = (NI)0;
9464 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9465 return result;
9466 }
N_INLINE(NI,rawGet__sigmatch_5618)9467 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
9468 NI result;
9469 NI h;
9470 NI T10_;
9471 { result = (NI)0;
9472 (*hc) = hash__pureZhashes_128(key);
9473 {
9474 if (!((*hc) == ((NI) 0))) goto LA3_;
9475 (*hc) = ((NI) 314159265);
9476 }
9477 LA3_: ;
9478 {
9479 NI T7_;
9480 T7_ = (t.data ? t.data->Sup.len : 0);
9481 if (!(T7_ == ((NI) 0))) goto LA8_;
9482 result = ((NI) -1);
9483 goto BeforeRet_;
9484 }
9485 LA8_: ;
9486 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9487 h = (NI)((*hc) & T10_);
9488 {
9489 while (1) {
9490 NIM_BOOL T13_;
9491 NI T20_;
9492 T13_ = (NIM_BOOL)0;
9493 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
9494 if (!T13_) goto LA12;
9495 {
9496 NIM_BOOL T16_;
9497 T16_ = (NIM_BOOL)0;
9498 T16_ = (t.data->data[h].Field0 == (*hc));
9499 if (!(T16_)) goto LA17_;
9500 T16_ = (t.data->data[h].Field1 == key);
9501 LA17_: ;
9502 if (!T16_) goto LA18_;
9503 result = h;
9504 goto BeforeRet_;
9505 }
9506 LA18_: ;
9507 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9508 h = nextTry__pureZcollectionsZtables_34(h, T20_);
9509 } LA12: ;
9510 }
9511 result = (NI)(((NI) -1) - h);
9512 }BeforeRet_: ;
9513 return result;
9514 }
N_NIMCALL(NI,getOrDefault__sigmatch_5608)9515 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0) {
9516 NI result;
9517 NI hcX60gensym888_;
9518 NI indexX60gensym888_;
9519 result = (NI)0;
9520 hcX60gensym888_ = (NI)0;
9521 indexX60gensym888_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym888_));
9522 {
9523 if (!(((NI) 0) <= indexX60gensym888_)) goto LA3_;
9524 result = t.data->data[indexX60gensym888_].Field2;
9525 }
9526 goto LA1_;
9527 LA3_: ;
9528 {
9529 result = default_0;
9530 }
9531 LA1_: ;
9532 return result;
9533 }
N_INLINE(NI,emarkamp___pureZhashes_3)9534 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
9535 NI result;
9536 NU h_2;
9537 NU val_2;
9538 NU res;
9539 result = (NI)0;
9540 h_2 = ((NU) (h));
9541 val_2 = ((NU) (val));
9542 res = (NU)((NU32)(h_2) + (NU32)(val_2));
9543 res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 10)))));
9544 res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 6))));
9545 result = ((NI) (res));
9546 return result;
9547 }
N_INLINE(NI,emarkdollar___pureZhashes_18)9548 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
9549 NI result;
9550 NU h_2;
9551 NU res;
9552 result = (NI)0;
9553 h_2 = ((NU) (h));
9554 res = (NU)((NU32)(h_2) + (NU32)((NU)((NU32)(h_2) << (NU32)(((NI) 3)))));
9555 res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 11))));
9556 res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 15)))));
9557 result = ((NI) (res));
9558 return result;
9559 }
N_NIMCALL(NI,hash__sigmatch_6038)9560 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x) {
9561 NI result;
9562 NI T1_;
9563 NI T2_;
9564 result = (NI)0;
9565 T1_ = (NI)0;
9566 T1_ = hash__pureZhashes_128(x.Field0);
9567 result = emarkamp___pureZhashes_3(result, T1_);
9568 T2_ = (NI)0;
9569 T2_ = hash__pureZhashes_128(x.Field1);
9570 result = emarkamp___pureZhashes_3(result, T2_);
9571 result = emarkdollar___pureZhashes_18(result);
9572 return result;
9573 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)9574 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
9575 NIM_BOOL result;
9576 result = (NIM_BOOL)0;
9577 result = !((hcode == ((NI) 0)));
9578 return result;
9579 }
N_NIMCALL(NIM_BOOL,eqeq___sigmatch_6286)9580 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y) {
9581 NIM_BOOL result;
9582 { result = (NIM_BOOL)0;
9583 {
9584 if (!!((x.Field0 == y.Field0))) goto LA3_;
9585 result = NIM_FALSE;
9586 goto BeforeRet_;
9587 }
9588 LA3_: ;
9589 {
9590 if (!!((x.Field1 == y.Field1))) goto LA7_;
9591 result = NIM_FALSE;
9592 goto BeforeRet_;
9593 }
9594 LA7_: ;
9595 result = NIM_TRUE;
9596 goto BeforeRet_;
9597 }BeforeRet_: ;
9598 return result;
9599 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)9600 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
9601 NI result;
9602 result = (NI)0;
9603 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9604 return result;
9605 }
N_INLINE(NI,rawGet__sigmatch_6031)9606 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc) {
9607 NI result;
9608 NI h;
9609 NI T10_;
9610 { result = (NI)0;
9611 (*hc) = hash__sigmatch_6038(key);
9612 {
9613 if (!((*hc) == ((NI) 0))) goto LA3_;
9614 (*hc) = ((NI) 314159265);
9615 }
9616 LA3_: ;
9617 {
9618 NI T7_;
9619 T7_ = (t.data ? t.data->Sup.len : 0);
9620 if (!(T7_ == ((NI) 0))) goto LA8_;
9621 result = ((NI) -1);
9622 goto BeforeRet_;
9623 }
9624 LA8_: ;
9625 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9626 h = (NI)((*hc) & T10_);
9627 {
9628 while (1) {
9629 NIM_BOOL T13_;
9630 NI T20_;
9631 T13_ = (NIM_BOOL)0;
9632 T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
9633 if (!T13_) goto LA12;
9634 {
9635 NIM_BOOL T16_;
9636 T16_ = (NIM_BOOL)0;
9637 T16_ = (t.data->data[h].Field0 == (*hc));
9638 if (!(T16_)) goto LA17_;
9639 T16_ = eqeq___sigmatch_6286(t.data->data[h].Field1, key);
9640 LA17_: ;
9641 if (!T16_) goto LA18_;
9642 result = h;
9643 goto BeforeRet_;
9644 }
9645 LA18_: ;
9646 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9647 h = nextTry__pureZcollectionsZsets_41(h, T20_);
9648 } LA12: ;
9649 }
9650 result = (NI)(((NI) -1) - h);
9651 }BeforeRet_: ;
9652 return result;
9653 }
N_NIMCALL(NIM_BOOL,contains__sigmatch_6018)9654 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) {
9655 NIM_BOOL result;
9656 NI hc;
9657 NI index;
9658 result = (NIM_BOOL)0;
9659 hc = (NI)0;
9660 index = rawGet__sigmatch_6031(s, key, (&hc));
9661 result = (((NI) 0) <= index);
9662 return result;
9663 }
N_NIMCALL(void,del__sigmatch_6318)9664 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i) {
9665 NI xl;
9666 NI T1_;
9667 T1_ = ((*x) ? (*x)->Sup.len : 0);
9668 xl = (NI)(T1_ - ((NI) 1));
9669 asgnRef((void**) (&(*x)->data[i].Field0), (*x)->data[xl].Field0);
9670 (*x)->data[i].Field1 = (*x)->data[xl].Field1;
9671 unsureAsgnRef((void**) (&(*x)), (tySequence__xSqu3cxq5WeFlOO3YgE6yA*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_), ((NI) (xl))));
9672 }
N_NIMCALL(void,markOwnerModuleAsUsed__sigmatch_89)9673 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9674 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
9675 module = s;
9676 {
9677 while (1) {
9678 NIM_BOOL T3_;
9679 T3_ = (NIM_BOOL)0;
9680 T3_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9681 if (!(T3_)) goto LA4_;
9682 T3_ = !(((*module).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
9683 LA4_: ;
9684 if (!T3_) goto LA2;
9685 module = (*module).owner;
9686 } LA2: ;
9687 }
9688 {
9689 NIM_BOOL T7_;
9690 NI i;
9691 T7_ = (NIM_BOOL)0;
9692 T7_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9693 if (!(T7_)) goto LA8_;
9694 T7_ = !((module == (*c).module));
9695 LA8_: ;
9696 if (!T7_) goto LA9_;
9697 i = ((NI) 0);
9698 {
9699 while (1) {
9700 NI T13_;
9701 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
9702 T13_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
9703 if (!(i <= T13_)) goto LA12;
9704 candidate = (*c).unusedImports->data[i].Field0;
9705 {
9706 NIM_BOOL T16_;
9707 NIM_BOOL T17_;
9708 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym887_;
9709 NI T19_;
9710 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym892_;
9711 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T21_;
9712 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym893_;
9713 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym894_;
9714 T16_ = (NIM_BOOL)0;
9715 T17_ = (NIM_BOOL)0;
9716 T17_ = (candidate == module);
9717 if (T17_) goto LA18_;
9718 xX60gensym887_ = candidate;
9719 T19_ = (NI)0;
9720 T19_ = getOrDefault__sigmatch_5608((*c).importModuleMap, (NI)((NI)((NU32)(((NI) ((*xX60gensym887_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym887_).Sup.itemId.item))), ((NI) (-2147483647 -1)));
9721 xX60gensym892_ = module;
9722 T17_ = (T19_ == (NI)((NI)((NU32)(((NI) ((*xX60gensym892_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym892_).Sup.itemId.item))));
9723 LA18_: ;
9724 T16_ = T17_;
9725 if (T16_) goto LA20_;
9726 xX60gensym893_ = candidate;
9727 T21_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym893_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym893_).Sup.itemId.item)));
9728 xX60gensym894_ = s;
9729 T21_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym894_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym894_).Sup.itemId.item)));
9730 T16_ = contains__sigmatch_6018((*c).exportIndirections, T21_);
9731 LA20_: ;
9732 if (!T16_) goto LA22_;
9733 del__sigmatch_6318((&(*c).unusedImports), ((NI) (i)));
9734 }
9735 goto LA14_;
9736 LA22_: ;
9737 {
9738 i += ((NI) 1);
9739 }
9740 LA14_: ;
9741 } LA12: ;
9742 }
9743 }
9744 LA9_: ;
9745 }
N_NIMCALL(void,markUsed__sigmatch_85)9746 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9747 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
9748 conf = (*(*c).graph).config;
9749 (*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9750 {
9751 NIM_BOOL T3_;
9752 T3_ = (NIM_BOOL)0;
9753 T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9754 if (!(T3_)) goto LA4_;
9755 T3_ = !(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9756 LA4_: ;
9757 if (!T3_) goto LA5_;
9758 (*(*s).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9759 {
9760 if (!(((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA9_;
9761 warnAboutDeprecated__sigmatch_5425(conf, info, s);
9762 }
9763 LA9_: ;
9764 }
9765 LA5_: ;
9766 {
9767 if (!!(((20971520 & (*s).flags) == 0))) goto LA13_;
9768 {
9769 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA17_;
9770 {
9771 NIM_BOOL T21_;
9772 T21_ = (NIM_BOOL)0;
9773 T21_ = ((*c).lastTLineInfo.line == info.line);
9774 if (!(T21_)) goto LA22_;
9775 T21_ = ((*c).lastTLineInfo.col == info.col);
9776 LA22_: ;
9777 if (!!(T21_)) goto LA23_;
9778 warnAboutDeprecated__sigmatch_5425(conf, info, s);
9779 (*c).lastTLineInfo = info;
9780 }
9781 LA23_: ;
9782 }
9783 LA17_: ;
9784 {
9785 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA27_;
9786 userError__sigmatch_5458(conf, info, s);
9787 }
9788 LA27_: ;
9789 }
9790 LA13_: ;
9791 {
9792 if (!!(((49152 & (*conf).globalOptions) == 0))) goto LA31_;
9793 styleCheckUse__linter_192(conf, info, s);
9794 }
9795 LA31_: ;
9796 markOwnerModuleAsUsed__sigmatch_89(c, s);
9797 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)9798 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9799 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9800 result = NIM_NIL;
9801 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
9802 add__ast_4797(result, n);
9803 return result;
9804 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,userConvMatch__sigmatch_3095)9805 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, userConvMatch__sigmatch_3095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
9806 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9807 { result = NIM_NIL;
9808 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9809 {
9810 NI i;
9811 NI colontmp_;
9812 NI T2_;
9813 NI i_2;
9814 i = (NI)0;
9815 colontmp_ = (NI)0;
9816 T2_ = ((*c).converters ? (*c).converters->Sup.len : 0);
9817 colontmp_ = T2_;
9818 i_2 = ((NI) 0);
9819 {
9820 while (1) {
9821 if (!(i_2 < colontmp_)) goto LA4;
9822 i = i_2;
9823 {
9824 tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
9825 tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
9826 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw srca;
9827 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
9828 NIM_BOOL destIsGeneric;
9829 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw fdest;
9830 src = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 1)];
9831 dest = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 0)];
9832 srca = typeRel__sigmatch_202(m, src, a, 0);
9833 {
9834 if (!!(((1288 &((NU16)1<<((NU)(srca)&15U)))!=0))) goto LA8_;
9835 goto LA5;
9836 }
9837 LA8_: ;
9838 constraint = (*(*(*(*(*(*c).converters->data[i]).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).constraint;
9839 {
9840 NIM_BOOL T12_;
9841 NIM_BOOL T14_;
9842 T12_ = (NIM_BOOL)0;
9843 T12_ = !((constraint == 0));
9844 if (!(T12_)) goto LA13_;
9845 T14_ = (NIM_BOOL)0;
9846 T14_ = matchNodeKinds__parampatterns_505(constraint, arg);
9847 T12_ = !(T14_);
9848 LA13_: ;
9849 if (!T12_) goto LA15_;
9850 goto LA5;
9851 }
9852 LA15_: ;
9853 {
9854 NIM_BOOL T19_;
9855 NIM_BOOL T21_;
9856 T19_ = (NIM_BOOL)0;
9857 T19_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9858 if (!(T19_)) goto LA20_;
9859 T21_ = (NIM_BOOL)0;
9860 T21_ = isLValue__sigmatch_3090(c, arg);
9861 T19_ = !(T21_);
9862 LA20_: ;
9863 if (!T19_) goto LA22_;
9864 goto LA5;
9865 }
9866 LA22_: ;
9867 destIsGeneric = containsGenericType__types_3351(dest);
9868 {
9869 if (!destIsGeneric) goto LA26_;
9870 dest = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, dest);
9871 }
9872 LA26_: ;
9873 fdest = typeRel__sigmatch_202(m, f, dest, 0);
9874 {
9875 NIM_BOOL T30_;
9876 NIM_BOOL T32_;
9877 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
9878 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
9879 T30_ = (NIM_BOOL)0;
9880 T30_ = ((1280 &((NU16)1<<((NU)(fdest)&15U)))!=0);
9881 if (!(T30_)) goto LA31_;
9882 T32_ = (NIM_BOOL)0;
9883 T32_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9884 if (!(T32_)) goto LA33_;
9885 T32_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
9886 LA33_: ;
9887 T30_ = !(T32_);
9888 LA31_: ;
9889 if (!T30_) goto LA34_;
9890 markUsed__sigmatch_85(c, (*arg).info, (*c).converters->data[i]);
9891 s = newSymNode__ast_3716((*c).converters->data[i]);
9892 asgnRef((void**) (&(*s).typ), (*(*c).converters->data[i]).typ);
9893 (*s).info = (*arg).info;
9894 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32), (*arg).info, dest);
9895 add__ast_4797(result, s);
9896 param = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9897 {
9898 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
9899 if (!(srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA38_;
9900 T40_ = NIM_NIL;
9901 T40_ = copyTree__ast_4431(arg);
9902 param = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), src, T40_, (&(*m)), c);
9903 }
9904 goto LA36_;
9905 LA38_: ;
9906 {
9907 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
9908 if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA42_;
9909 param = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*arg).info, (*(*s).typ).sons->data[((NI) 1)]);
9910 T44_ = NIM_NIL;
9911 T44_ = copyTree__ast_4431(arg);
9912 add__ast_4797(param, T44_);
9913 }
9914 goto LA36_;
9915 LA42_: ;
9916 {
9917 param = copyTree__ast_4431(arg);
9918 }
9919 LA36_: ;
9920 add__ast_4797(result, param);
9921 {
9922 if (!((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA48_;
9923 (*dest).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
9924 result = newDeref__lowerings_11(result);
9925 }
9926 LA48_: ;
9927 (*m).convMatches += ((NI) 1);
9928 {
9929 NIM_BOOL T54_;
9930 if (!!((*m).genericConverter)) goto LA52_;
9931 T54_ = (NIM_BOOL)0;
9932 T54_ = (srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
9933 if (T54_) goto LA55_;
9934 T54_ = destIsGeneric;
9935 LA55_: ;
9936 (*m).genericConverter = T54_;
9937 }
9938 LA52_: ;
9939 goto BeforeRet_;
9940 }
9941 LA34_: ;
9942 } LA5: ;
9943 i_2 += ((NI) 1);
9944 } LA4: ;
9945 }
9946 }
9947 }BeforeRet_: ;
9948 return result;
9949 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,localConvMatch__sigmatch_3181)9950 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, localConvMatch__sigmatch_3181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
9951 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9952 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
9953 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
9954 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
9955 { result = NIM_NIL;
9956 {
9957 if (!((*arg).typ == 0)) goto LA3_;
9958 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9959 goto BeforeRet_;
9960 }
9961 LA3_: ;
9962 {
9963 NIM_BOOL T7_;
9964 T7_ = (NIM_BOOL)0;
9965 T7_ = (f == (*arg).typ);
9966 if (!(T7_)) goto LA8_;
9967 T7_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58));
9968 LA8_: ;
9969 if (!T7_) goto LA9_;
9970 result = arg;
9971 goto BeforeRet_;
9972 }
9973 LA9_: ;
9974 call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
9975 T11_ = NIM_NIL;
9976 T11_ = copyTree__ast_4431((*f).n);
9977 add__ast_4797(call, T11_);
9978 T12_ = NIM_NIL;
9979 T12_ = copyTree__ast_4431(arg);
9980 add__ast_4797(call, T12_);
9981 result = (*c).semTryExpr(c, call, 131072);
9982 {
9983 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
9984 if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA15_;
9985 {
9986 if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
9987 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9988 goto BeforeRet_;
9989 }
9990 LA19_: ;
9991 result = (*c).semExpr(c, call, 0);
9992 r = typeRel__sigmatch_202(m, (*f).sons->data[((NI) 0)], (*result).typ, 0);
9993 {
9994 if (!(r < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA23_;
9995 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9996 goto BeforeRet_;
9997 }
9998 LA23_: ;
9999 {
10000 if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA27_;
10001 transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 32));
10002 }
10003 LA27_: ;
10004 (*m).convMatches += ((NI) 1);
10005 {
10006 tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
10007 if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA31_;
10008 T33_ = NIM_NIL;
10009 T33_ = base__types_63(f);
10010 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T33_));
10011 }
10012 LA31_: ;
10013 (*m).baseTypeMatch = NIM_TRUE;
10014 }
10015 LA15_: ;
10016 }BeforeRet_: ;
10017 return result;
10018 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatchAux__sigmatch_3268)10019 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatchAux__sigmatch_3268)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argSemantized, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig) {
10020 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10021 tyObject_TType__facALICuu8zUj0hjvbTLFg* fMaybeStatic;
10022 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
10023 tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
10024 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10025 NI oldInheritancePenalty;
10026 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
10027 NI bothMetaCounter;
10028 NI lastBindingsLength;
10029 { result = NIM_NIL;
10030 fMaybeStatic = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_13);
10031 arg = argSemantized;
10032 a_2 = a;
10033 c = (*m).c;
10034 {
10035 if (!(((*fMaybeStatic).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24))&63U)))!=0)) goto LA3_;
10036 {
10037 NIM_BOOL T7_;
10038 T7_ = (NIM_BOOL)0;
10039 T7_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
10040 if (!(T7_)) goto LA8_;
10041 T7_ = (((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
10042 LA8_: ;
10043 if (!T7_) goto LA9_;
10044 assignType__ast_3976(a_2, f);
10045 result = argSemantized;
10046 goto BeforeRet_;
10047 }
10048 LA9_: ;
10049 {
10050 if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_;
10051 {
10052 NIM_BOOL T17_;
10053 NIM_BOOL T18_;
10054 tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
10055 T17_ = (NIM_BOOL)0;
10056 T18_ = (NIM_BOOL)0;
10057 T18_ = ((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
10058 if (!(T18_)) goto LA19_;
10059 T18_ = ((*a_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10060 LA19_: ;
10061 T17_ = T18_;
10062 if (!(T17_)) goto LA20_;
10063 T17_ = !((((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
10064 LA20_: ;
10065 if (!T17_) goto LA21_;
10066 T23_ = NIM_NIL;
10067 T23_ = makeTypeFromExpr__semdata_804(c, arg);
10068 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*argOrig).info, T23_);
10069 goto BeforeRet_;
10070 }
10071 LA21_: ;
10072 }
10073 goto LA11_;
10074 LA13_: ;
10075 {
10076 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
10077 evaluated = (*c).semTryConstExpr(c, arg);
10078 {
10079 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
10080 if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
10081 typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c);
10082 if ((*typ).sons) { nimGCunrefRC1((*typ).sons); (*typ).sons = NIM_NIL; }
10083 (*typ).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
10084 asgnRef((void**) (&(*typ).sons->data[0]), (*evaluated).typ);
10085 asgnRef((void**) (&(*typ).n), evaluated);
10086 arg = copyTree__ast_4431(arg);
10087 asgnRef((void**) (&(*arg).typ), typ);
10088 a_2 = typ;
10089 }
10090 goto LA25_;
10091 LA27_: ;
10092 {
10093 {
10094 if (!((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA32_;
10095 {
10096 NIM_BOOL T36_;
10097 tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
10098 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T39_;
10099 T36_ = (NIM_BOOL)0;
10100 T36_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10101 if (!(T36_)) goto LA37_;
10102 T38_ = NIM_NIL;
10103 T38_ = base__types_63(f);
10104 T39_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
10105 T39_ = typeRel__sigmatch_202(m, T38_, a_2, 0);
10106 T36_ = !((T39_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10107 LA37_: ;
10108 if (!T36_) goto LA40_;
10109 result = makeStaticExpr__semdata_826((*m).c, arg);
10110 (*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
10111 asgnRef((void**) (&(*(*result).typ).n), arg);
10112 goto BeforeRet_;
10113 }
10114 LA40_: ;
10115 }
10116 LA32_: ;
10117 }
10118 LA25_: ;
10119 }
10120 LA11_: ;
10121 }
10122 LA3_: ;
10123 oldInheritancePenalty = (*m).inheritancePenalty;
10124 r = typeRel__sigmatch_202(m, f, a_2, 0);
10125 {
10126 NIM_BOOL T44_;
10127 NIM_BOOL T45_;
10128 T44_ = (NIM_BOOL)0;
10129 T45_ = (NIM_BOOL)0;
10130 T45_ = !((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10131 if (!(T45_)) goto LA46_;
10132 T45_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
10133 LA46_: ;
10134 T44_ = T45_;
10135 if (!(T44_)) goto LA47_;
10136 T44_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
10137 LA47_: ;
10138 if (!T44_) goto LA48_;
10139 incMatches__sigmatch_3238(m, r, ((NI) 1));
10140 {
10141 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
10142 result = arg;
10143 goto BeforeRet_;
10144 }
10145 goto LA50_;
10146 LA52_: ;
10147 {
10148 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA55_;
10149 result = arg;
10150 goto BeforeRet_;
10151 }
10152 goto LA50_;
10153 LA55_: ;
10154 {
10155 NIM_BOOL T58_;
10156 T58_ = (NIM_BOOL)0;
10157 T58_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10158 if (!(T58_)) goto LA59_;
10159 T58_ = !(((*(*arg).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
10160 LA59_: ;
10161 if (!T58_) goto LA60_;
10162 result = (*(*arg).typ).n;
10163 goto BeforeRet_;
10164 }
10165 goto LA50_;
10166 LA60_: ;
10167 {
10168 result = argSemantized;
10169 goto BeforeRet_;
10170 }
10171 LA50_: ;
10172 }
10173 LA48_: ;
10174 bothMetaCounter = ((NI) 0);
10175 lastBindingsLength = ((NI) -1);
10176 {
10177 while (1) {
10178 NIM_BOOL T65_;
10179 NIM_BOOL T66_;
10180 T65_ = (NIM_BOOL)0;
10181 T66_ = (NIM_BOOL)0;
10182 T66_ = (r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5));
10183 if (!(T66_)) goto LA67_;
10184 T66_ = !((lastBindingsLength == (*m).bindings.counter));
10185 LA67_: ;
10186 T65_ = T66_;
10187 if (!(T65_)) goto LA68_;
10188 T65_ = (bothMetaCounter < ((NI) 100));
10189 LA68_: ;
10190 if (!T65_) goto LA64;
10191 lastBindingsLength = (*m).bindings.counter;
10192 bothMetaCounter += ((NI) 1);
10193 {
10194 if (!((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159))) goto LA71_;
10195 result = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_47)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg);
10196 }
10197 goto LA69_;
10198 LA71_: ;
10199 {
10200 if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA74_;
10201 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10202 goto BeforeRet_;
10203 }
10204 goto LA69_;
10205 LA74_: ;
10206 {
10207 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred;
10208 inferred = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_48)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info);
10209 result = newSymNode__ast_3719(inferred, (*arg).info);
10210 }
10211 LA69_: ;
10212 (*m).convMatches += ((NI) 1);
10213 arg = result;
10214 r = typeRel__sigmatch_202(m, f, (*arg).typ, 0);
10215 } LA64: ;
10216 }
10217 switch (r) {
10218 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
10219 {
10220 (*m).convMatches += ((NI) 1);
10221 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10222 }
10223 break;
10224 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
10225 {
10226 (*m).intConvMatches += ((NI) 1);
10227 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10228 }
10229 break;
10230 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10231 {
10232 (*m).subtypeMatches += ((NI) 1);
10233 {
10234 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA82_;
10235 result = arg;
10236 }
10237 goto LA80_;
10238 LA82_: ;
10239 {
10240 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10241 }
10242 LA80_: ;
10243 }
10244 break;
10245 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
10246 {
10247 (*m).subtypeMatches += ((NI) 1);
10248 {
10249 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA88_;
10250 result = arg;
10251 }
10252 goto LA86_;
10253 LA88_: ;
10254 {
10255 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10256 }
10257 LA86_: ;
10258 }
10259 break;
10260 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
10261 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
10262 {
10263 {
10264 if (!((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159))) goto LA94_;
10265 result = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_54)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg);
10266 }
10267 goto LA92_;
10268 LA94_: ;
10269 {
10270 if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA97_;
10271 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10272 goto BeforeRet_;
10273 }
10274 goto LA92_;
10275 LA97_: ;
10276 {
10277 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred_2;
10278 inferred_2 = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_55)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info);
10279 result = newSymNode__ast_3719(inferred_2, (*arg).info);
10280 }
10281 LA92_: ;
10282 {
10283 if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7))) goto LA102_;
10284 (*m).convMatches += ((NI) 1);
10285 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, result, (&(*m)), c);
10286 }
10287 goto LA100_;
10288 LA102_: ;
10289 {
10290 (*m).genericMatches += ((NI) 1);
10291 }
10292 LA100_: ;
10293 }
10294 break;
10295 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10296 {
10297 (*m).genericMatches += ((NI) 1);
10298 {
10299 if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
10300 result = arg;
10301 }
10302 goto LA106_;
10303 LA108_: ;
10304 {
10305 NIM_BOOL T111_;
10306 tyObject_TType__facALICuu8zUj0hjvbTLFg* T112_;
10307 T111_ = (NIM_BOOL)0;
10308 T112_ = NIM_NIL;
10309 T112_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10310 T111_ = ((*T112_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10311 if (T111_) goto LA113_;
10312 T111_ = (oldInheritancePenalty < (*m).inheritancePenalty);
10313 LA113_: ;
10314 if (!T111_) goto LA114_;
10315 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10316 }
10317 goto LA106_;
10318 LA114_: ;
10319 {
10320 NIM_BOOL T117_;
10321 T117_ = (NIM_BOOL)0;
10322 T117_ = isEmptyContainer__types_3617((*arg).typ);
10323 if (!T117_) goto LA118_;
10324 result = copyTree__ast_4431(arg);
10325 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), f));
10326 }
10327 goto LA106_;
10328 LA118_: ;
10329 {
10330 result = arg;
10331 }
10332 LA106_: ;
10333 }
10334 break;
10335 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
10336 {
10337 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10338 }
10339 break;
10340 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10341 {
10342 (*m).intConvMatches += ((NI) 256);
10343 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10344 }
10345 break;
10346 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10347 {
10348 (*m).exactMatches += ((NI) 1);
10349 result = arg;
10350 {
10351 NIM_BOOL T126_;
10352 tyObject_TType__facALICuu8zUj0hjvbTLFg* T127_;
10353 NIM_BOOL T129_;
10354 tyObject_TType__facALICuu8zUj0hjvbTLFg* T131_;
10355 T126_ = (NIM_BOOL)0;
10356 T127_ = NIM_NIL;
10357 T127_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10358 T126_ = ((*T127_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10359 if (T126_) goto LA128_;
10360 T129_ = (NIM_BOOL)0;
10361 T129_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10362 if (!(T129_)) goto LA130_;
10363 T131_ = NIM_NIL;
10364 T131_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10365 T129_ = ((*T131_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10366 LA130_: ;
10367 T126_ = T129_;
10368 LA128_: ;
10369 if (!T126_) goto LA132_;
10370 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10371 }
10372 LA132_: ;
10373 }
10374 break;
10375 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
10376 {
10377 {
10378 if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA137_;
10379 (*m).genericMatches += ((NI) 1);
10380 (*m).fauxMatch = (*a_2).kind;
10381 result = arg;
10382 goto BeforeRet_;
10383 }
10384 goto LA135_;
10385 LA137_: ;
10386 {
10387 NIM_BOOL T140_;
10388 NIM_BOOL T141_;
10389 NIM_BOOL T143_;
10390 NIM_BOOL T144_;
10391 NIM_BOOL T145_;
10392 NI T147_;
10393 NIM_BOOL T150_;
10394 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* p;
10395 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lifted;
10396 tyArray__jlWPjgtbdjE069arIWHC9c9bg T155_;
10397 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T156_;
10398 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T157_;
10399 T140_ = (NIM_BOOL)0;
10400 T141_ = (NIM_BOOL)0;
10401 T141_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
10402 if (!(T141_)) goto LA142_;
10403 T143_ = (NIM_BOOL)0;
10404 T144_ = (NIM_BOOL)0;
10405 T145_ = (NIM_BOOL)0;
10406 T145_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10407 if (!(T145_)) goto LA146_;
10408 T147_ = (NI)0;
10409 T147_ = len__ast_4002(f);
10410 T145_ = (T147_ == ((NI) 1));
10411 LA146_: ;
10412 T144_ = T145_;
10413 if (!(T144_)) goto LA148_;
10414 T144_ = ((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
10415 LA148_: ;
10416 T143_ = T144_;
10417 if (T143_) goto LA149_;
10418 T150_ = (NIM_BOOL)0;
10419 T150_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
10420 if (!(T150_)) goto LA151_;
10421 T150_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10422 LA151_: ;
10423 T143_ = T150_;
10424 LA149_: ;
10425 T141_ = T143_;
10426 LA142_: ;
10427 T140_ = T141_;
10428 if (!(T140_)) goto LA152_;
10429 T140_ = ((*argOrig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
10430 LA152_: ;
10431 if (!T140_) goto LA153_;
10432 p = (*c).graph;
10433 nimZeroMem((void*)T155_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
10434 T155_[0] = (*p).emptyNode;
10435 T156_ = NIM_NIL;
10436 T156_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), T155_, 1);
10437 T157_ = NIM_NIL;
10438 T157_ = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), (*argOrig).info, argOrig, T156_, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode);
10439 lifted = (*c).semExpr(c, T157_, 0);
10440 {
10441 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA160_;
10442 (*m).genericMatches += ((NI) 1);
10443 put__sigmatch_120(m, f, (*lifted).typ);
10444 }
10445 LA160_: ;
10446 (*m).convMatches += ((NI) 1);
10447 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, lifted, (&(*m)), c);
10448 goto BeforeRet_;
10449 }
10450 goto LA135_;
10451 LA153_: ;
10452 LA135_: ;
10453 result = userConvMatch__sigmatch_3095(c, m, f, a_2, arg);
10454 {
10455 NIM_BOOL T164_;
10456 T164_ = (NIM_BOOL)0;
10457 T164_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10458 if (!(T164_)) goto LA165_;
10459 T164_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
10460 LA165_: ;
10461 if (!T164_) goto LA166_;
10462 {
10463 if (!!(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA170_;
10464 result = localConvMatch__sigmatch_3181(c, m, f, a_2, arg);
10465 }
10466 goto LA168_;
10467 LA170_: ;
10468 {
10469 tyObject_TType__facALICuu8zUj0hjvbTLFg* T173_;
10470 T173_ = NIM_NIL;
10471 T173_ = base__types_63(f);
10472 r = typeRel__sigmatch_202(m, T173_, a_2, 0);
10473 switch (r) {
10474 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10475 {
10476 tyObject_TType__facALICuu8zUj0hjvbTLFg* T175_;
10477 (*m).convMatches += ((NI) 1);
10478 result = copyTree__ast_4431(arg);
10479 T175_ = NIM_NIL;
10480 T175_ = base__types_63(f);
10481 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T175_));
10482 (*m).baseTypeMatch = NIM_TRUE;
10483 }
10484 break;
10485 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10486 {
10487 (*m).intConvMatches += ((NI) 256);
10488 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*f).sons->data[((NI) 0)], arg, (&(*m)), c);
10489 (*m).baseTypeMatch = NIM_TRUE;
10490 }
10491 break;
10492 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10493 {
10494 (*m).convMatches += ((NI) 1);
10495 result = copyTree__ast_4431(arg);
10496 (*m).baseTypeMatch = NIM_TRUE;
10497 }
10498 break;
10499 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10500 {
10501 (*m).subtypeMatches += ((NI) 1);
10502 {
10503 tyObject_TType__facALICuu8zUj0hjvbTLFg* T181_;
10504 T181_ = NIM_NIL;
10505 T181_ = base__types_63(f);
10506 if (!((*T181_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA182_;
10507 result = arg;
10508 }
10509 goto LA179_;
10510 LA182_: ;
10511 {
10512 tyObject_TType__facALICuu8zUj0hjvbTLFg* T185_;
10513 T185_ = NIM_NIL;
10514 T185_ = base__types_63(f);
10515 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), T185_, arg, (&(*m)), c);
10516 }
10517 LA179_: ;
10518 (*m).baseTypeMatch = NIM_TRUE;
10519 }
10520 break;
10521 default:
10522 {
10523 tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
10524 T187_ = NIM_NIL;
10525 T187_ = base__types_63(f);
10526 result = userConvMatch__sigmatch_3095(c, m, T187_, a_2, arg);
10527 {
10528 if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA190_;
10529 (*m).baseTypeMatch = NIM_TRUE;
10530 }
10531 LA190_: ;
10532 }
10533 break;
10534 }
10535 }
10536 LA168_: ;
10537 }
10538 LA166_: ;
10539 }
10540 break;
10541 }
10542 }BeforeRet_: ;
10543 return result;
10544 }
N_NIMCALL(void,copyCandidate__sigmatch_199)10545 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10546 unsureAsgnRef((void**) (&(*a).c), (*b).c);
10547 (*a).exactMatches = (*b).exactMatches;
10548 (*a).subtypeMatches = (*b).subtypeMatches;
10549 (*a).convMatches = (*b).convMatches;
10550 (*a).intConvMatches = (*b).intConvMatches;
10551 (*a).genericMatches = (*b).genericMatches;
10552 (*a).state = (*b).state;
10553 unsureAsgnRef((void**) (&(*a).callee), (*b).callee);
10554 unsureAsgnRef((void**) (&(*a).calleeSym), (*b).calleeSym);
10555 unsureAsgnRef((void**) (&(*a).call), copyTree__ast_4431((*b).call));
10556 (*a).baseTypeMatch = (*b).baseTypeMatch;
10557 copyIdTable__ast_3610((&(*a).bindings), (*b).bindings);
10558 }
N_NIMCALL(NI,checkGeneric__sigmatch_207)10559 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10560 NI result;
10561 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10562 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
10563 tyObject_TType__facALICuu8zUj0hjvbTLFg* bb;
10564 NI winner;
10565 { result = (NI)0;
10566 c = (*a).c;
10567 aa = (*a).callee;
10568 bb = (*b).callee;
10569 winner = ((NI) 0);
10570 {
10571 NI i;
10572 NI colontmp_;
10573 NI T2_;
10574 NI T3_;
10575 NI i_2;
10576 i = (NI)0;
10577 colontmp_ = (NI)0;
10578 T2_ = (NI)0;
10579 T2_ = len__ast_4002(aa);
10580 T3_ = (NI)0;
10581 T3_ = len__ast_4002(bb);
10582 colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10583 i_2 = ((NI) 1);
10584 {
10585 while (1) {
10586 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA ma;
10587 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tra;
10588 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA mb;
10589 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw trb;
10590 if (!(i_2 < colontmp_)) goto LA5;
10591 i = i_2;
10592 nimZeroMem((void*)(&ma), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10593 newCandidate__sigmatch_195(c, (*bb).sons->data[i], (&ma));
10594 tra = typeRel__sigmatch_202((&ma), (*bb).sons->data[i], (*aa).sons->data[i], 1);
10595 nimZeroMem((void*)(&mb), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10596 newCandidate__sigmatch_195(c, (*aa).sons->data[i], (&mb));
10597 trb = typeRel__sigmatch_202((&mb), (*aa).sons->data[i], (*bb).sons->data[i], 1);
10598 {
10599 NIM_BOOL T8_;
10600 T8_ = (NIM_BOOL)0;
10601 T8_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10602 if (!(T8_)) goto LA9_;
10603 T8_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10604 LA9_: ;
10605 if (!T8_) goto LA10_;
10606 {
10607 if (!(winner == ((NI) -1))) goto LA14_;
10608 result = ((NI) 0);
10609 goto BeforeRet_;
10610 }
10611 LA14_: ;
10612 winner = ((NI) 1);
10613 }
10614 LA10_: ;
10615 {
10616 NIM_BOOL T18_;
10617 T18_ = (NIM_BOOL)0;
10618 T18_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10619 if (!(T18_)) goto LA19_;
10620 T18_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10621 LA19_: ;
10622 if (!T18_) goto LA20_;
10623 {
10624 if (!(winner == ((NI) 1))) goto LA24_;
10625 result = ((NI) 0);
10626 goto BeforeRet_;
10627 }
10628 LA24_: ;
10629 winner = ((NI) -1);
10630 }
10631 LA20_: ;
10632 i_2 += ((NI) 1);
10633 } LA5: ;
10634 }
10635 }
10636 result = winner;
10637 }BeforeRet_: ;
10638 return result;
10639 }
N_NIMCALL(NI,sumGeneric__sigmatch_261)10640 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
10641 NI result;
10642 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
10643 NI isvar;
10644 { result = (NI)0;
10645 t_2 = t;
10646 isvar = ((NI) 1);
10647 {
10648 while (1) {
10649 switch ((*t_2).kind) {
10650 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
10651 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
10652 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
10653 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
10654 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
10655 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
10656 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
10657 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
10658 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
10659 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
10660 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
10661 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
10662 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
10663 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
10664 {
10665 t_2 = lastSon__ast_3743(t_2);
10666 result += ((NI) 1);
10667 }
10668 break;
10669 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
10670 {
10671 NI maxBranch;
10672 maxBranch = ((NI) 0);
10673 {
10674 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
10675 NI i;
10676 NI L;
10677 NI T6_;
10678 branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
10679 i = ((NI) 0);
10680 T6_ = ((*t_2).sons ? (*t_2).sons->Sup.len : 0);
10681 L = T6_;
10682 {
10683 while (1) {
10684 NI branchSum;
10685 if (!(i < L)) goto LA8;
10686 branch = &(*t_2).sons->data[i];
10687 branchSum = sumGeneric__sigmatch_261((*branch));
10688 {
10689 if (!(maxBranch < branchSum)) goto LA11_;
10690 maxBranch = branchSum;
10691 }
10692 LA11_: ;
10693 i += ((NI) 1);
10694 } LA8: ;
10695 }
10696 }
10697 result += maxBranch;
10698 goto LA1;
10699 }
10700 break;
10701 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
10702 {
10703 t_2 = (*t_2).sons->data[((NI) 0)];
10704 result += ((NI) 1);
10705 isvar += ((NI) 1);
10706 }
10707 break;
10708 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
10709 {
10710 t_2 = lastSon__ast_3743(t_2);
10711 {
10712 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA17_;
10713 goto LA1;
10714 }
10715 LA17_: ;
10716 result += ((NI) 1);
10717 }
10718 break;
10719 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
10720 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
10721 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
10722 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
10723 {
10724 result += ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56));
10725 {
10726 NI i_2;
10727 NI colontmp_;
10728 NI i_3;
10729 i_2 = (NI)0;
10730 colontmp_ = (NI)0;
10731 colontmp_ = len__ast_4002(t_2);
10732 i_3 = ((NI) 0);
10733 {
10734 while (1) {
10735 if (!(i_3 < colontmp_)) goto LA22;
10736 i_2 = i_3;
10737 {
10738 NI T27_;
10739 if (!!(((*t_2).sons->data[i_2] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA25_;
10740 T27_ = (NI)0;
10741 T27_ = sumGeneric__sigmatch_261((*t_2).sons->data[i_2]);
10742 result += T27_;
10743 }
10744 LA25_: ;
10745 i_3 += ((NI) 1);
10746 } LA22: ;
10747 }
10748 }
10749 goto LA1;
10750 }
10751 break;
10752 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
10753 {
10754 NI T29_;
10755 T29_ = (NI)0;
10756 T29_ = sumGeneric__sigmatch_261((*t_2).sons->data[((NI) 0)]);
10757 result = (NI)(T29_ + ((NI) 1));
10758 goto BeforeRet_;
10759 }
10760 break;
10761 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
10762 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
10763 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
10764 {
10765 goto LA1;
10766 }
10767 break;
10768 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
10769 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
10770 {
10771 t_2 = lastSon__ast_3743(t_2);
10772 }
10773 break;
10774 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
10775 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
10776 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
10777 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
10778 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
10779 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
10780 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
10781 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
10782 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
10783 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
10784 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
10785 {
10786 result = isvar;
10787 goto BeforeRet_;
10788 }
10789 break;
10790 default:
10791 {
10792 result = ((NI) 0);
10793 goto BeforeRet_;
10794 }
10795 break;
10796 }
10797 }
10798 } LA1: ;
10799 }BeforeRet_: ;
10800 return result;
10801 }
N_NIMCALL(NI,complexDisambiguation__sigmatch_336)10802 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
10803 NI result;
10804 NI winner;
10805 { result = (NI)0;
10806 winner = ((NI) 0);
10807 {
10808 NI i;
10809 NI colontmp_;
10810 NI T2_;
10811 NI T3_;
10812 NI i_2;
10813 i = (NI)0;
10814 colontmp_ = (NI)0;
10815 T2_ = (NI)0;
10816 T2_ = len__ast_4002(a);
10817 T3_ = (NI)0;
10818 T3_ = len__ast_4002(b);
10819 colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10820 i_2 = ((NI) 1);
10821 {
10822 while (1) {
10823 NI x;
10824 NI y;
10825 if (!(i_2 < colontmp_)) goto LA5;
10826 i = i_2;
10827 x = sumGeneric__sigmatch_261((*a).sons->data[i]);
10828 y = sumGeneric__sigmatch_261((*b).sons->data[i]);
10829 {
10830 if (!!((x == y))) goto LA8_;
10831 {
10832 if (!(winner == ((NI) 0))) goto LA12_;
10833 {
10834 if (!(y < x)) goto LA16_;
10835 winner = ((NI) 1);
10836 }
10837 goto LA14_;
10838 LA16_: ;
10839 {
10840 winner = ((NI) -1);
10841 }
10842 LA14_: ;
10843 }
10844 goto LA10_;
10845 LA12_: ;
10846 {
10847 if (!(y < x)) goto LA20_;
10848 {
10849 if (!!((winner == ((NI) 1)))) goto LA24_;
10850 result = ((NI) 0);
10851 goto BeforeRet_;
10852 }
10853 LA24_: ;
10854 }
10855 goto LA10_;
10856 LA20_: ;
10857 {
10858 {
10859 if (!!((winner == ((NI) -1)))) goto LA29_;
10860 result = ((NI) 0);
10861 goto BeforeRet_;
10862 }
10863 LA29_: ;
10864 }
10865 LA10_: ;
10866 }
10867 LA8_: ;
10868 i_2 += ((NI) 1);
10869 } LA5: ;
10870 }
10871 }
10872 result = winner;
10873 }BeforeRet_: ;
10874 return result;
10875 }
N_NIMCALL(NI,cmpCandidates__sigmatch_358)10876 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10877 NI result;
10878 { result = (NI)0;
10879 result = (NI)((*a).exactMatches - (*b).exactMatches);
10880 {
10881 if (!!((result == ((NI) 0)))) goto LA3_;
10882 goto BeforeRet_;
10883 }
10884 LA3_: ;
10885 result = (NI)((*a).genericMatches - (*b).genericMatches);
10886 {
10887 if (!!((result == ((NI) 0)))) goto LA7_;
10888 goto BeforeRet_;
10889 }
10890 LA7_: ;
10891 result = (NI)((*a).subtypeMatches - (*b).subtypeMatches);
10892 {
10893 if (!!((result == ((NI) 0)))) goto LA11_;
10894 goto BeforeRet_;
10895 }
10896 LA11_: ;
10897 result = (NI)((*a).intConvMatches - (*b).intConvMatches);
10898 {
10899 if (!!((result == ((NI) 0)))) goto LA15_;
10900 goto BeforeRet_;
10901 }
10902 LA15_: ;
10903 result = (NI)((*a).convMatches - (*b).convMatches);
10904 {
10905 if (!!((result == ((NI) 0)))) goto LA19_;
10906 goto BeforeRet_;
10907 }
10908 LA19_: ;
10909 result = (NI)((*b).inheritancePenalty - (*a).inheritancePenalty);
10910 {
10911 if (!!((result == ((NI) 0)))) goto LA23_;
10912 goto BeforeRet_;
10913 }
10914 LA23_: ;
10915 result = checkGeneric__sigmatch_207(a, b);
10916 {
10917 if (!!((result == ((NI) 0)))) goto LA27_;
10918 goto BeforeRet_;
10919 }
10920 LA27_: ;
10921 result = complexDisambiguation__sigmatch_336((*a).callee, (*b).callee);
10922 {
10923 if (!!((result == ((NI) 0)))) goto LA31_;
10924 goto BeforeRet_;
10925 }
10926 LA31_: ;
10927 result = (NI)((*a).calleeScope - (*b).calleeScope);
10928 }BeforeRet_: ;
10929 return result;
10930 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatch__sigmatch_3583)10931 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, paramTypesMatch__sigmatch_3583)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argOrig) {
10932 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10933 result = NIM_NIL;
10934 {
10935 NIM_BOOL T3_;
10936 T3_ = (NIM_BOOL)0;
10937 T3_ = (arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10938 if (T3_) goto LA4_;
10939 T3_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57)));
10940 LA4_: ;
10941 if (!T3_) goto LA5_;
10942 result = paramTypesMatchAux__sigmatch_3268(m, f, a, arg, argOrig);
10943 }
10944 goto LA1_;
10945 LA5_: ;
10946 {
10947 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10948 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA x;
10949 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T8_;
10950 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA y;
10951 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T9_;
10952 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
10953 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T10_;
10954 NI best;
10955 c = (*m).c;
10956 nimZeroMem((void*)(&x), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10957 nimZeroMem((void*)(&T8_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10958 newCandidate__sigmatch_195(c, (*m).callee, (&T8_));
10959 nimCopyMem((void*)(&x), (NIM_CONST void*)(&T8_), sizeof(x));
10960 nimZeroMem((void*)(&y), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10961 nimZeroMem((void*)(&T9_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10962 newCandidate__sigmatch_195(c, (*m).callee, (&T9_));
10963 nimCopyMem((void*)(&y), (NIM_CONST void*)(&T9_), sizeof(y));
10964 nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10965 nimZeroMem((void*)(&T10_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10966 newCandidate__sigmatch_195(c, (*m).callee, (&T10_));
10967 nimCopyMem((void*)(&z), (NIM_CONST void*)(&T10_), sizeof(z));
10968 x.calleeSym = (*m).calleeSym;
10969 y.calleeSym = (*m).calleeSym;
10970 z.calleeSym = (*m).calleeSym;
10971 best = ((NI) -1);
10972 {
10973 NI i;
10974 NI colontmp_;
10975 NI i_2;
10976 i = (NI)0;
10977 colontmp_ = (NI)0;
10978 colontmp_ = len__ast_3198(arg);
10979 i_2 = ((NI) 0);
10980 {
10981 while (1) {
10982 if (!(i_2 < colontmp_)) goto LA13;
10983 i = i_2;
10984 {
10985 {
10986 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
10987 if (!((1568768 &((NU32)1<<((NU)((*(*(*arg)._kind_6.sons->data[i])._kind_4.sym).kind)&31U)))!=0)) goto LA17_;
10988 copyCandidate__sigmatch_199((&z), (&(*m)));
10989 z.callee = (*(*arg)._kind_6.sons->data[i]).typ;
10990 {
10991 if (!(((*z.callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA21_;
10992 goto LA14;
10993 }
10994 LA21_: ;
10995 z.calleeSym = (*(*arg)._kind_6.sons->data[i])._kind_4.sym;
10996 r = typeRel__sigmatch_202((&z), f, (*(*arg)._kind_6.sons->data[i]).typ, 0);
10997 incMatches__sigmatch_3238((&z), r, ((NI) 2));
10998 {
10999 if (!!((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA25_;
11000 z.state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
11001 switch (x.state) {
11002 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
11003 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
11004 {
11005 genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11006 best = i;
11007 }
11008 break;
11009 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
11010 {
11011 NI cmp;
11012 cmp = cmpCandidates__sigmatch_358((&x), (&z));
11013 {
11014 if (!(cmp < ((NI) 0))) goto LA31_;
11015 best = i;
11016 genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11017 }
11018 goto LA29_;
11019 LA31_: ;
11020 {
11021 if (!(cmp == ((NI) 0))) goto LA34_;
11022 genericAssign((void*)(&y), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
11023 }
11024 goto LA29_;
11025 LA34_: ;
11026 LA29_: ;
11027 }
11028 break;
11029 }
11030 }
11031 LA25_: ;
11032 }
11033 LA17_: ;
11034 } LA14: ;
11035 i_2 += ((NI) 1);
11036 } LA13: ;
11037 }
11038 }
11039 {
11040 if (!(x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0))) goto LA38_;
11041 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11042 }
11043 goto LA36_;
11044 LA38_: ;
11045 {
11046 NIM_BOOL T41_;
11047 NI T43_;
11048 T41_ = (NIM_BOOL)0;
11049 T41_ = (y.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
11050 if (!(T41_)) goto LA42_;
11051 T43_ = (NI)0;
11052 T43_ = cmpCandidates__sigmatch_358((&x), (&y));
11053 T41_ = (T43_ == ((NI) 0));
11054 LA42_: ;
11055 if (!T41_) goto LA44_;
11056 {
11057 if (!!((x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA48_;
11058 internalErrorImpl__msgs_1431((*(*(*m).c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_76), TM__EV5hHJmjIY9cla9b9be7fSVJQ_77);
11059 }
11060 LA48_: ;
11061 {
11062 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
11063 result = arg;
11064 }
11065 goto LA50_;
11066 LA52_: ;
11067 {
11068 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11069 }
11070 LA50_: ;
11071 }
11072 goto LA36_;
11073 LA44_: ;
11074 {
11075 markUsed__sigmatch_85((*m).c, (*arg).info, (*(*arg)._kind_6.sons->data[best])._kind_4.sym);
11076 result = paramTypesMatchAux__sigmatch_3268(m, f, (*(*arg)._kind_6.sons->data[best]).typ, (*arg)._kind_6.sons->data[best], argOrig);
11077 }
11078 LA36_: ;
11079 }
11080 LA1_: ;
11081 return result;
11082 }
N_INLINE(NI,find__sigmatch_4304)11083 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) {
11084 NI result;
11085 { result = (NI)0;
11086 result = ((NI) 0);
11087 {
11088 NI* i;
11089 NI i_2;
11090 i = (NI*)0;
11091 i_2 = ((NI) 0);
11092 {
11093 while (1) {
11094 if (!(i_2 < aLen_0)) goto LA3;
11095 i = (&a[i_2]);
11096 {
11097 if (!((*i) == item)) goto LA6_;
11098 goto BeforeRet_;
11099 }
11100 LA6_: ;
11101 result += ((NI) 1);
11102 i_2 += ((NI) 1);
11103 } LA3: ;
11104 }
11105 }
11106 result = ((NI) -1);
11107 }BeforeRet_: ;
11108 return result;
11109 }
N_INLINE(NIM_BOOL,contains__sigmatch_4299)11110 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) {
11111 NIM_BOOL result;
11112 NI T1_;
11113 { result = (NIM_BOOL)0;
11114 T1_ = (NI)0;
11115 T1_ = find__sigmatch_4304(a, aLen_0, item);
11116 result = (((NI) 0) <= T1_);
11117 goto BeforeRet_;
11118 }BeforeRet_: ;
11119 return result;
11120 }
N_NIMCALL(NIM_BOOL,argtypeMatches__sigmatch_4281)11121 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4281)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NIM_BOOL fromHlo) {
11122 NIM_BOOL result;
11123 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
11124 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
11125 result = (NIM_BOOL)0;
11126 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
11127 newCandidate__sigmatch_195(c, f, (&m));
11128 res = paramTypesMatch__sigmatch_3583((&m), f, a, (*(*c).graph).emptyNode, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
11129 {
11130 if (!!(fromHlo)) goto LA3_;
11131 result = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11132 }
11133 goto LA1_;
11134 LA3_: ;
11135 {
11136 NIM_BOOL T6_;
11137 NIM_BOOL T7_;
11138 T6_ = (NIM_BOOL)0;
11139 T7_ = (NIM_BOOL)0;
11140 T7_ = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11141 if (!(T7_)) goto LA8_;
11142 T7_ = (m.convMatches == ((NI) 0));
11143 LA8_: ;
11144 T6_ = T7_;
11145 if (!(T6_)) goto LA9_;
11146 T6_ = contains__sigmatch_4299(TM__EV5hHJmjIY9cla9b9be7fSVJQ_78, 2, m.intConvMatches);
11147 LA9_: ;
11148 result = T6_;
11149 }
11150 LA1_: ;
11151 return result;
11152 }
N_INLINE(NIM_BOOL,typeFits__sigmatch_5153)11153 static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg) {
11154 NIM_BOOL result;
11155 { result = (NIM_BOOL)0;
11156 {
11157 NIM_BOOL T3_;
11158 NIM_BOOL T4_;
11159 NI T6_;
11160 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
11161 T3_ = (NIM_BOOL)0;
11162 T4_ = (NIM_BOOL)0;
11163 T4_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11164 if (!(T4_)) goto LA5_;
11165 T6_ = (NI)0;
11166 T6_ = len__ast_4002((*s).typ);
11167 T4_ = (((NI) 1) < T6_);
11168 LA5_: ;
11169 T3_ = T4_;
11170 if (!(T3_)) goto LA7_;
11171 T3_ = !(((*(*s).typ).sons->data[((NI) 1)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11172 LA7_: ;
11173 if (!T3_) goto LA8_;
11174 m = getModule__astalgo_216(s);
11175 {
11176 NIM_BOOL T12_;
11177 tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
11178 T12_ = (NIM_BOOL)0;
11179 T12_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
11180 if (!(T12_)) goto LA13_;
11181 T12_ = (((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
11182 LA13_: ;
11183 if (!T12_) goto LA14_;
11184 {
11185 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA18_;
11186 goto BeforeRet_;
11187 }
11188 LA18_: ;
11189 exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
11190 {
11191 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA22_;
11192 exp_1 = elemType__types_263(exp_1);
11193 }
11194 LA22_: ;
11195 {
11196 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA26_;
11197 goto BeforeRet_;
11198 }
11199 LA26_: ;
11200 }
11201 LA14_: ;
11202 result = argtypeMatches__sigmatch_4281(c, (*(*s).typ).sons->data[((NI) 1)], firstArg, NIM_FALSE);
11203 }
11204 LA8_: ;
11205 }BeforeRet_: ;
11206 return result;
11207 }
N_NIMCALL(void,suggestOperations__sigmatch_5194)11208 N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5194)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11209 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11210 info = (*n).info;
11211 {
11212 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11213 NI scopeN;
11214 NIM_BOOL isLocal;
11215 NIM_BOOL isLocal_2;
11216 NI scopeN_2;
11217 item = NIM_NIL;
11218 scopeN = (NI)0;
11219 isLocal = (NIM_BOOL)0;
11220 isLocal_2 = NIM_TRUE;
11221 scopeN_2 = ((NI) 0);
11222 {
11223 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11224 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11225 scope = NIM_NIL;
11226 current = (*c).currentScope;
11227 {
11228 while (1) {
11229 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
11230 scope = current;
11231 {
11232 if (!(scope == (*c).topLevelScope)) goto LA7_;
11233 isLocal_2 = NIM_FALSE;
11234 }
11235 LA7_: ;
11236 scopeN_2 -= ((NI) 1);
11237 {
11238 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11239 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11240 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11241 item_2 = NIM_NIL;
11242 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11243 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11244 {
11245 while (1) {
11246 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11247 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11248 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11249 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
11250 item_2 = s;
11251 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11252 colontmp_.Field0 = item_2;
11253 colontmp_.Field1 = scopeN_2;
11254 colontmp_.Field2 = isLocal_2;
11255 item = colontmp_.Field0;
11256 scopeN = colontmp_.Field1;
11257 isLocal = colontmp_.Field2;
11258 it_2 = item;
11259 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11260 {
11261 NIM_BOOL T14_;
11262 NI T18_;
11263 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T19_;
11264 NI T20_;
11265 T14_ = (NIM_BOOL)0;
11266 T14_ = filterSymNoOpr__sigmatch_4935(it_2, f, (&pm));
11267 if (!(T14_)) goto LA15_;
11268 T14_ = typeFits__sigmatch_5153(c, it_2, typ);
11269 LA15_: ;
11270 if (!T14_) goto LA16_;
11271 T18_ = (NI)0;
11272 T18_ = getQuality__sigmatch_5002(it_2);
11273 T19_ = NIM_NIL;
11274 T19_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T18_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11275 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11276 T20_ = (*outputs)->Sup.len++;
11277 asgnRef((void**) (&(*outputs)->data[T20_]), T19_);
11278 }
11279 LA16_: ;
11280 s = nextIter__astalgo_3762((&it), (*scope).symbols);
11281 } LA11: ;
11282 }
11283 }
11284 current = (*current).parent;
11285 } LA4: ;
11286 }
11287 }
11288 scopeN_2 -= ((NI) 1);
11289 isLocal_2 = NIM_FALSE;
11290 {
11291 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11292 NI i;
11293 NI L;
11294 NI T22_;
11295 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11296 i = ((NI) 0);
11297 T22_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11298 L = T22_;
11299 {
11300 while (1) {
11301 if (!(i < L)) goto LA24;
11302 im = (&(*c).imports->data[i]);
11303 {
11304 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11305 NIM_BOOL importHidden;
11306 s_2 = NIM_NIL;
11307 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11308 {
11309 NIM_BOOL T28_;
11310 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11311 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11312 T28_ = (NIM_BOOL)0;
11313 T28_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11314 if (!T28_) goto LA29_;
11315 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11316 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11317 {
11318 while (1) {
11319 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11320 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11321 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11322 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA32;
11323 s_2 = r;
11324 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11325 colontmp__2.Field0 = s_2;
11326 colontmp__2.Field1 = scopeN_2;
11327 colontmp__2.Field2 = isLocal_2;
11328 item = colontmp__2.Field0;
11329 scopeN = colontmp__2.Field1;
11330 isLocal = colontmp__2.Field2;
11331 it_3 = item;
11332 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11333 {
11334 NIM_BOOL T35_;
11335 NI T39_;
11336 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11337 NI T41_;
11338 T35_ = (NIM_BOOL)0;
11339 T35_ = filterSymNoOpr__sigmatch_4935(it_3, f, (&pm_2));
11340 if (!(T35_)) goto LA36_;
11341 T35_ = typeFits__sigmatch_5153(c, it_3, typ);
11342 LA36_: ;
11343 if (!T35_) goto LA37_;
11344 T39_ = (NI)0;
11345 T39_ = getQuality__sigmatch_5002(it_3);
11346 T40_ = NIM_NIL;
11347 T40_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11348 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11349 T41_ = (*outputs)->Sup.len++;
11350 asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11351 }
11352 LA37_: ;
11353 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11354 } LA32: ;
11355 }
11356 }
11357 goto LA26_;
11358 LA29_: ;
11359 {
11360 {
11361 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11362 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11363 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11364 NI i_2;
11365 NI L_2;
11366 NI T48_;
11367 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11368 colontmp__3 = NIM_NIL;
11369 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11370 {
11371 if (!importHidden) goto LA46_;
11372 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11373 }
11374 LA46_: ;
11375 colontmp__3 = (*retX60gensym17_).data;
11376 i_2 = ((NI) 0);
11377 T48_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11378 L_2 = T48_;
11379 {
11380 while (1) {
11381 if (!(i_2 < L_2)) goto LA50;
11382 s_3 = &colontmp__3->data[i_2];
11383 {
11384 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11385 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11386 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11387 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53_;
11388 s_2 = (*s_3);
11389 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11390 colontmp__4.Field0 = s_2;
11391 colontmp__4.Field1 = scopeN_2;
11392 colontmp__4.Field2 = isLocal_2;
11393 item = colontmp__4.Field0;
11394 scopeN = colontmp__4.Field1;
11395 isLocal = colontmp__4.Field2;
11396 it_4 = item;
11397 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11398 {
11399 NIM_BOOL T57_;
11400 NI T61_;
11401 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11402 NI T63_;
11403 T57_ = (NIM_BOOL)0;
11404 T57_ = filterSymNoOpr__sigmatch_4935(it_4, f, (&pm_3));
11405 if (!(T57_)) goto LA58_;
11406 T57_ = typeFits__sigmatch_5153(c, it_4, typ);
11407 LA58_: ;
11408 if (!T57_) goto LA59_;
11409 T61_ = (NI)0;
11410 T61_ = getQuality__sigmatch_5002(it_4);
11411 T62_ = NIM_NIL;
11412 T62_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T61_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11413 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11414 T63_ = (*outputs)->Sup.len++;
11415 asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11416 }
11417 LA59_: ;
11418 }
11419 LA53_: ;
11420 i_2 += ((NI) 1);
11421 } LA50: ;
11422 }
11423 }
11424 }
11425 LA26_: ;
11426 }
11427 i += ((NI) 1);
11428 } LA24: ;
11429 }
11430 }
11431 }
11432 }
N_NIMCALL(void,suggestFieldAccess__sigmatch_5230)11433 N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11434 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
11435 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11436 typ = (*n).typ;
11437 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11438 {
11439 if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
11440 {
11441 NIM_BOOL T7_;
11442 T7_ = (NIM_BOOL)0;
11443 T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11444 if (!(T7_)) goto LA8_;
11445 T7_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
11446 LA8_: ;
11447 if (!T7_) goto LA9_;
11448 {
11449 if (!((*n)._kind_4.sym == (*c).module)) goto LA13_;
11450 {
11451 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
11452 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
11453 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11454 it = NIM_NIL;
11455 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11456 s = initTabIter__astalgo_3777((&it_2), (*(*c).topLevelScope).symbols);
11457 {
11458 while (1) {
11459 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA17;
11460 it = s;
11461 {
11462 NIM_BOOL T20_;
11463 NI T23_;
11464 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T24_;
11465 NI T25_;
11466 T20_ = (NIM_BOOL)0;
11467 T20_ = filterSym__sigmatch_4909(it, field, (&pm));
11468 if (!T20_) goto LA21_;
11469 T23_ = (NI)0;
11470 T23_ = getQuality__sigmatch_5002(it);
11471 T24_ = NIM_NIL;
11472 T24_ = symToSuggest__sigmatch_4528((*c).graph, it, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T23_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11473 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11474 T25_ = (*outputs)->Sup.len++;
11475 asgnRef((void**) (&(*outputs)->data[T25_]), T24_);
11476 }
11477 LA21_: ;
11478 s = nextIter__astalgo_3762((&it_2), (*(*c).topLevelScope).symbols);
11479 } LA17: ;
11480 }
11481 }
11482 }
11483 goto LA11_;
11484 LA13_: ;
11485 {
11486 {
11487 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11488 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* colontmp_;
11489 NIM_BOOL importHidden;
11490 it_3 = NIM_NIL;
11491 colontmp_ = NIM_NIL;
11492 colontmp_ = (*n)._kind_4.sym;
11493 importHidden = (((*colontmp_).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11494 {
11495 NIM_BOOL T30_;
11496 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11497 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11498 T30_ = (NIM_BOOL)0;
11499 T30_ = isCachedModule__modulegraphs_2709((*c).graph, colontmp_);
11500 if (!T30_) goto LA31_;
11501 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11502 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*colontmp_).position)), importHidden);
11503 {
11504 while (1) {
11505 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
11506 it_3 = r;
11507 {
11508 NIM_BOOL T37_;
11509 NI T40_;
11510 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T41_;
11511 NI T42_;
11512 T37_ = (NIM_BOOL)0;
11513 T37_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11514 if (!T37_) goto LA38_;
11515 T40_ = (NI)0;
11516 T40_ = getQuality__sigmatch_5002(it_3);
11517 T41_ = NIM_NIL;
11518 T41_ = symToSuggest__sigmatch_4528((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T40_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11519 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11520 T42_ = (*outputs)->Sup.len++;
11521 asgnRef((void**) (&(*outputs)->data[T42_]), T41_);
11522 }
11523 LA38_: ;
11524 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11525 } LA34: ;
11526 }
11527 }
11528 goto LA28_;
11529 LA31_: ;
11530 {
11531 {
11532 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
11533 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
11534 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11535 NI i;
11536 NI L;
11537 NI T49_;
11538 s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11539 colontmp__2 = NIM_NIL;
11540 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interf);
11541 {
11542 if (!importHidden) goto LA47_;
11543 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interfHidden);
11544 }
11545 LA47_: ;
11546 colontmp__2 = (*retX60gensym17_).data;
11547 i = ((NI) 0);
11548 T49_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
11549 L = T49_;
11550 {
11551 while (1) {
11552 if (!(i < L)) goto LA51;
11553 s_2 = &colontmp__2->data[i];
11554 {
11555 if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA54_;
11556 it_3 = (*s_2);
11557 {
11558 NIM_BOOL T58_;
11559 NI T61_;
11560 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11561 NI T63_;
11562 T58_ = (NIM_BOOL)0;
11563 T58_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11564 if (!T58_) goto LA59_;
11565 T61_ = (NI)0;
11566 T61_ = getQuality__sigmatch_5002(it_3);
11567 T62_ = NIM_NIL;
11568 T62_ = symToSuggest__sigmatch_4528((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T61_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) -99), NIM_FALSE);
11569 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11570 T63_ = (*outputs)->Sup.len++;
11571 asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11572 }
11573 LA59_: ;
11574 }
11575 LA54_: ;
11576 i += ((NI) 1);
11577 } LA51: ;
11578 }
11579 }
11580 }
11581 LA28_: ;
11582 }
11583 }
11584 LA11_: ;
11585 }
11586 goto LA5_;
11587 LA9_: ;
11588 {
11589 suggestEverything__sigmatch_5217(c, n, field, outputs);
11590 }
11591 LA5_: ;
11592 }
11593 goto LA1_;
11594 LA3_: ;
11595 {
11596 tyObject_TType__facALICuu8zUj0hjvbTLFg* orig;
11597 orig = typ;
11598 typ = skipTypes__ast_3735(orig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_11);
11599 {
11600 NIM_BOOL T68_;
11601 NIM_BOOL T69_;
11602 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
11603 T68_ = (NIM_BOOL)0;
11604 T69_ = (NIM_BOOL)0;
11605 T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
11606 if (!(T69_)) goto LA70_;
11607 T69_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11608 LA70_: ;
11609 T68_ = T69_;
11610 if (!(T68_)) goto LA71_;
11611 T68_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11612 LA71_: ;
11613 if (!T68_) goto LA72_;
11614 t = typ;
11615 {
11616 while (1) {
11617 if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA75;
11618 suggestSymList__sigmatch_5040(c, (*t).n, field, (*n).info, outputs);
11619 t = (*t).sons->data[((NI) 0)];
11620 } LA75: ;
11621 }
11622 }
11623 goto LA66_;
11624 LA72_: ;
11625 {
11626 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
11627 if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA77_;
11628 t_2 = typ;
11629 {
11630 while (1) {
11631 suggestObject__sigmatch_5060(c, (*t_2).n, field, (*n).info, outputs);
11632 {
11633 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
11634 goto LA79;
11635 }
11636 LA83_: ;
11637 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
11638 }
11639 } LA79: ;
11640 }
11641 goto LA66_;
11642 LA77_: ;
11643 {
11644 NIM_BOOL T86_;
11645 T86_ = (NIM_BOOL)0;
11646 T86_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
11647 if (!(T86_)) goto LA87_;
11648 T86_ = !(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11649 LA87_: ;
11650 if (!T86_) goto LA88_;
11651 suggestSymList__sigmatch_5040(c, (*typ).n, field, (*n).info, outputs);
11652 }
11653 goto LA66_;
11654 LA88_: ;
11655 LA66_: ;
11656 suggestOperations__sigmatch_5194(c, n, field, orig, outputs);
11657 {
11658 if (!!((typ == orig))) goto LA92_;
11659 suggestOperations__sigmatch_5194(c, n, field, typ, outputs);
11660 }
11661 LA92_: ;
11662 }
11663 LA1_: ;
11664 }
N_NIMCALL(void,sugExpr__sigmatch_6417)11665 N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11666 {
11667 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj;
11668 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix;
11669 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
11670 obj = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
11671 {
11672 NIM_BOOL T7_;
11673 NIM_BOOL T8_;
11674 NI T9_;
11675 T7_ = (NIM_BOOL)0;
11676 T8_ = (NIM_BOOL)0;
11677 T9_ = (NI)0;
11678 T9_ = len__ast_3198(n);
11679 T8_ = (T9_ == ((NI) 2));
11680 if (!(T8_)) goto LA10_;
11681 T8_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).info.line == (*(*n)._kind_6.sons->data[((NI) 0)]).info.line);
11682 LA10_: ;
11683 T7_ = T8_;
11684 if (!(T7_)) goto LA11_;
11685 T7_ = !((*(*(*c).graph).config).m.trackPosAttached);
11686 LA11_: ;
11687 if (!T7_) goto LA12_;
11688 prefix = (*n)._kind_6.sons->data[((NI) 1)];
11689 }
11690 goto LA5_;
11691 LA12_: ;
11692 {
11693 prefix = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11694 }
11695 LA5_: ;
11696 suggestFieldAccess__sigmatch_5230(c, obj, prefix, outputs);
11697 }
11698 goto LA1_;
11699 LA3_: ;
11700 {
11701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_2;
11702 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11703 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA16_;
11704 {
11705 if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA20_;
11706 prefix_2 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11707 }
11708 goto LA18_;
11709 LA20_: ;
11710 {
11711 prefix_2 = n;
11712 }
11713 LA18_: ;
11714 info = (*n).info;
11715 {
11716 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11717 NI scopeN;
11718 NIM_BOOL isLocal;
11719 NIM_BOOL isLocal_2;
11720 NI scopeN_2;
11721 item = NIM_NIL;
11722 scopeN = (NI)0;
11723 isLocal = (NIM_BOOL)0;
11724 isLocal_2 = NIM_TRUE;
11725 scopeN_2 = ((NI) 0);
11726 {
11727 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11728 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11729 scope = NIM_NIL;
11730 current = (*c).currentScope;
11731 {
11732 while (1) {
11733 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA26;
11734 scope = current;
11735 {
11736 if (!(scope == (*c).topLevelScope)) goto LA29_;
11737 isLocal_2 = NIM_FALSE;
11738 }
11739 LA29_: ;
11740 scopeN_2 -= ((NI) 1);
11741 {
11742 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11743 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11744 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11745 item_2 = NIM_NIL;
11746 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11747 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11748 {
11749 while (1) {
11750 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11751 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11752 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11753 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA33;
11754 item_2 = s;
11755 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11756 colontmp_.Field0 = item_2;
11757 colontmp_.Field1 = scopeN_2;
11758 colontmp_.Field2 = isLocal_2;
11759 item = colontmp_.Field0;
11760 scopeN = colontmp_.Field1;
11761 isLocal = colontmp_.Field2;
11762 it_2 = item;
11763 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11764 {
11765 NIM_BOOL T36_;
11766 NI T39_;
11767 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11768 NI T41_;
11769 T36_ = (NIM_BOOL)0;
11770 T36_ = filterSym__sigmatch_4909(it_2, prefix_2, (&pm));
11771 if (!T36_) goto LA37_;
11772 T39_ = (NI)0;
11773 T39_ = getQuality__sigmatch_5002(it_2);
11774 T40_ = NIM_NIL;
11775 T40_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11776 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11777 T41_ = (*outputs)->Sup.len++;
11778 asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11779 }
11780 LA37_: ;
11781 s = nextIter__astalgo_3762((&it), (*scope).symbols);
11782 } LA33: ;
11783 }
11784 }
11785 current = (*current).parent;
11786 } LA26: ;
11787 }
11788 }
11789 scopeN_2 -= ((NI) 1);
11790 isLocal_2 = NIM_FALSE;
11791 {
11792 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11793 NI i;
11794 NI L;
11795 NI T43_;
11796 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11797 i = ((NI) 0);
11798 T43_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11799 L = T43_;
11800 {
11801 while (1) {
11802 if (!(i < L)) goto LA45;
11803 im = (&(*c).imports->data[i]);
11804 {
11805 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11806 NIM_BOOL importHidden;
11807 s_2 = NIM_NIL;
11808 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11809 {
11810 NIM_BOOL T49_;
11811 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11812 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11813 T49_ = (NIM_BOOL)0;
11814 T49_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11815 if (!T49_) goto LA50_;
11816 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11817 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11818 {
11819 while (1) {
11820 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11821 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11822 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11823 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53;
11824 s_2 = r;
11825 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11826 colontmp__2.Field0 = s_2;
11827 colontmp__2.Field1 = scopeN_2;
11828 colontmp__2.Field2 = isLocal_2;
11829 item = colontmp__2.Field0;
11830 scopeN = colontmp__2.Field1;
11831 isLocal = colontmp__2.Field2;
11832 it_3 = item;
11833 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11834 {
11835 NIM_BOOL T56_;
11836 NI T59_;
11837 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T60_;
11838 NI T61_;
11839 T56_ = (NIM_BOOL)0;
11840 T56_ = filterSym__sigmatch_4909(it_3, prefix_2, (&pm_2));
11841 if (!T56_) goto LA57_;
11842 T59_ = (NI)0;
11843 T59_ = getQuality__sigmatch_5002(it_3);
11844 T60_ = NIM_NIL;
11845 T60_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T59_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11846 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11847 T61_ = (*outputs)->Sup.len++;
11848 asgnRef((void**) (&(*outputs)->data[T61_]), T60_);
11849 }
11850 LA57_: ;
11851 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11852 } LA53: ;
11853 }
11854 }
11855 goto LA47_;
11856 LA50_: ;
11857 {
11858 {
11859 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11860 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11861 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11862 NI i_2;
11863 NI L_2;
11864 NI T68_;
11865 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11866 colontmp__3 = NIM_NIL;
11867 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11868 {
11869 if (!importHidden) goto LA66_;
11870 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11871 }
11872 LA66_: ;
11873 colontmp__3 = (*retX60gensym17_).data;
11874 i_2 = ((NI) 0);
11875 T68_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11876 L_2 = T68_;
11877 {
11878 while (1) {
11879 if (!(i_2 < L_2)) goto LA70;
11880 s_3 = &colontmp__3->data[i_2];
11881 {
11882 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11883 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11884 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11885 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA73_;
11886 s_2 = (*s_3);
11887 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11888 colontmp__4.Field0 = s_2;
11889 colontmp__4.Field1 = scopeN_2;
11890 colontmp__4.Field2 = isLocal_2;
11891 item = colontmp__4.Field0;
11892 scopeN = colontmp__4.Field1;
11893 isLocal = colontmp__4.Field2;
11894 it_4 = item;
11895 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11896 {
11897 NIM_BOOL T77_;
11898 NI T80_;
11899 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T81_;
11900 NI T82_;
11901 T77_ = (NIM_BOOL)0;
11902 T77_ = filterSym__sigmatch_4909(it_4, prefix_2, (&pm_3));
11903 if (!T77_) goto LA78_;
11904 T80_ = (NI)0;
11905 T80_ = getQuality__sigmatch_5002(it_4);
11906 T81_ = NIM_NIL;
11907 T81_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T80_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11908 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11909 T82_ = (*outputs)->Sup.len++;
11910 asgnRef((void**) (&(*outputs)->data[T82_]), T81_);
11911 }
11912 LA78_: ;
11913 }
11914 LA73_: ;
11915 i_2 += ((NI) 1);
11916 } LA70: ;
11917 }
11918 }
11919 }
11920 LA47_: ;
11921 }
11922 i += ((NI) 1);
11923 } LA45: ;
11924 }
11925 }
11926 }
11927 }
11928 goto LA1_;
11929 LA16_: ;
11930 {
11931 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_3;
11932 {
11933 if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA86_;
11934 prefix_3 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11935 }
11936 goto LA84_;
11937 LA86_: ;
11938 {
11939 prefix_3 = n;
11940 }
11941 LA84_: ;
11942 suggestEverything__sigmatch_5217(c, n, prefix_3, outputs);
11943 }
11944 LA1_: ;
11945 }
N_NIMCALL(NIM_BOOL,nameFits__sigmatch_5091)11946 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
11947 NIM_BOOL result;
11948 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
11949 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* opr;
11950 { result = (NIM_BOOL)0;
11951 {
11952 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3_;
11953 op = (*n)._kind_6.sons->data[((NI) 0)];
11954 }
11955 goto LA1_;
11956 LA3_: ;
11957 {
11958 op = n;
11959 }
11960 LA1_: ;
11961 {
11962 if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA8_;
11963 op = (*op)._kind_6.sons->data[((NI) 0)];
11964 }
11965 LA8_: ;
11966 {
11967 if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA12_;
11968 op = (*op)._kind_6.sons->data[((NI) 1)];
11969 }
11970 LA12_: ;
11971 opr = NIM_NIL;
11972 switch ((*op).kind) {
11973 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
11974 {
11975 opr = (*(*op)._kind_4.sym).name;
11976 }
11977 break;
11978 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
11979 {
11980 opr = (*op)._kind_5.ident;
11981 }
11982 break;
11983 default:
11984 {
11985 result = NIM_FALSE;
11986 goto BeforeRet_;
11987 }
11988 break;
11989 }
11990 result = ((*opr).id == (*(*s).name).id);
11991 }BeforeRet_: ;
11992 return result;
11993 }
N_NIMCALL(void,initCandidate__sigmatch_124)11994 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled) {
11995 initCandidateAux__sigmatch_94(ctx, c, (*callee).typ);
11996 unsureAsgnRef((void**) (&(*c).calleeSym), callee);
11997 {
11998 NIM_BOOL T3_;
11999 T3_ = (NIM_BOOL)0;
12000 T3_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
12001 if (!(T3_)) goto LA4_;
12002 T3_ = (calleeScope == ((NI) -1));
12003 LA4_: ;
12004 if (!T3_) goto LA5_;
12005 {
12006 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
12007 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
12008 T9_ = NIM_NIL;
12009 T9_ = originatingModule__ast_4669(callee);
12010 if (!(T9_ == (*ctx).module)) goto LA10_;
12011 (*c).calleeScope = ((NI) 2);
12012 owner = callee;
12013 {
12014 while (1) {
12015 owner = skipGenericOwner__ast_4658(owner);
12016 {
12017 if (!((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA16_;
12018 goto LA12;
12019 }
12020 LA16_: ;
12021 (*c).calleeScope += ((NI) 1);
12022 }
12023 } LA12: ;
12024 }
12025 goto LA7_;
12026 LA10_: ;
12027 {
12028 (*c).calleeScope = ((NI) 1);
12029 }
12030 LA7_: ;
12031 }
12032 goto LA1_;
12033 LA5_: ;
12034 {
12035 (*c).calleeScope = calleeScope;
12036 }
12037 LA1_: ;
12038 unsureAsgnRef((void**) (&(*c).diagnostics), NIM_NIL);
12039 (*c).diagnosticsEnabled = diagnosticsEnabled;
12040 (*c).magic = (*(*c).calleeSym).magic;
12041 initIdTable__ast_4096((&(*c).bindings));
12042 {
12043 NIM_BOOL T22_;
12044 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeParams;
12045 T22_ = (NIM_BOOL)0;
12046 T22_ = !((binding == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12047 if (!(T22_)) goto LA23_;
12048 T22_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
12049 LA23_: ;
12050 if (!T22_) goto LA24_;
12051 typeParams = (*(*callee).ast)._kind_6.sons->data[((NI) 2)];
12052 {
12053 NI i;
12054 NI colontmp_;
12055 NI T27_;
12056 NI T28_;
12057 NI res;
12058 i = (NI)0;
12059 colontmp_ = (NI)0;
12060 T27_ = (NI)0;
12061 T27_ = len__ast_3198(typeParams);
12062 T28_ = (NI)0;
12063 T28_ = len__ast_3198(binding);
12064 colontmp_ = ((T27_ <= (NI)(T28_ - ((NI) 1))) ? T27_ : (NI)(T28_ - ((NI) 1)));
12065 res = ((NI) 1);
12066 {
12067 while (1) {
12068 tyObject_TType__facALICuu8zUj0hjvbTLFg* formalTypeParam;
12069 tyObject_TType__facALICuu8zUj0hjvbTLFg* bound;
12070 if (!(res <= colontmp_)) goto LA30;
12071 i = res;
12072 formalTypeParam = (*(*typeParams)._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ;
12073 bound = (*(*binding)._kind_6.sons->data[i]).typ;
12074 {
12075 if (!!((bound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA33_;
12076 {
12077 if (!((*formalTypeParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA37_;
12078 {
12079 if (!!(((*bound).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA41_;
12080 bound = makeTypeDesc__concepts_49(ctx, bound);
12081 }
12082 LA41_: ;
12083 }
12084 goto LA35_;
12085 LA37_: ;
12086 {
12087 bound = skipTypes__ast_3735(bound, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
12088 }
12089 LA35_: ;
12090 put__sigmatch_120(c, formalTypeParam, bound);
12091 }
12092 LA33_: ;
12093 res += ((NI) 1);
12094 } LA30: ;
12095 }
12096 }
12097 }
12098 LA24_: ;
12099 }
N_NIMCALL(void,newCandidate__sigmatch_189)12100 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_189)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* binding, NI calleeScope, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
12101 unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
12102 (*Result).exactMatches = 0;
12103 (*Result).genericMatches = 0;
12104 (*Result).subtypeMatches = 0;
12105 (*Result).intConvMatches = 0;
12106 (*Result).convMatches = 0;
12107 (*Result).state = 0;
12108 unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
12109 unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
12110 (*Result).calleeScope = 0;
12111 unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
12112 (*Result).bindings.counter = 0;
12113 unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
12114 (*Result).magic = 0;
12115 (*Result).baseTypeMatch = 0;
12116 (*Result).fauxMatch = 0;
12117 (*Result).genericConverter = 0;
12118 (*Result).coerceDistincts = 0;
12119 (*Result).typedescMatched = 0;
12120 (*Result).isNoCall = 0;
12121 unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
12122 unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
12123 (*Result).inheritancePenalty = 0;
12124 (*Result).firstMismatch.kind = 0;
12125 (*Result).firstMismatch.arg = 0;
12126 unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
12127 (*Result).diagnosticsEnabled = 0;
12128 initCandidate__sigmatch_124(ctx, Result, callee, binding, calleeScope, NIM_FALSE);
12129 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)12130 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
12131 initPackedSet__pureZcollectionsZintsets_16(Result);
12132 }
N_NIMCALL(NI,findFirstArgBlock__sigmatch_3746)12133 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12134 NI result;
12135 result = (NI)0;
12136 result = ((NI) 2147483647);
12137 {
12138 NI a2;
12139 NI colontmp_;
12140 NI T2_;
12141 NI res;
12142 a2 = (NI)0;
12143 colontmp_ = (NI)0;
12144 T2_ = (NI)0;
12145 T2_ = len__ast_3198(n);
12146 colontmp_ = (NI)(T2_ - ((NI) 1));
12147 res = colontmp_;
12148 {
12149 while (1) {
12150 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* formalLast;
12151 NI T9_;
12152 NI T10_;
12153 if (!(((NI) 0) <= res)) goto LA4;
12154 a2 = res;
12155 {
12156 if (!!(((*(*n)._kind_6.sons->data[a2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA7_;
12157 goto LA1;
12158 }
12159 LA7_: ;
12160 T9_ = (NI)0;
12161 T9_ = len__ast_3198((*(*m).callee).n);
12162 T10_ = (NI)0;
12163 T10_ = len__ast_3198(n);
12164 formalLast = (*(*(*m).callee).n)._kind_6.sons->data[(NI)(T9_ - (NI)(T10_ - a2))];
12165 {
12166 NIM_BOOL T13_;
12167 T13_ = (NIM_BOOL)0;
12168 T13_ = ((*formalLast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
12169 if (!(T13_)) goto LA14_;
12170 T13_ = ((*(*formalLast)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12171 LA14_: ;
12172 if (!T13_) goto LA15_;
12173 result = a2;
12174 }
12175 goto LA11_;
12176 LA15_: ;
12177 {
12178 goto LA1;
12179 }
12180 LA11_: ;
12181 res -= ((NI) 1);
12182 } LA4: ;
12183 }
12184 } LA1: ;
12185 return result;
12186 }
N_NIMCALL(void,setSon__sigmatch_3650)12187 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son) {
12188 NI oldLen;
12189 oldLen = len__ast_3198(father);
12190 {
12191 if (!(oldLen <= at)) goto LA3_;
12192 asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(at + ((NI) 1))))));
12193 }
12194 LA3_: ;
12195 asgnRef((void**) (&(*father)._kind_6.sons->data[at]), son);
12196 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3725)12197 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
12198 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12199 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12200 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12201 result = NIM_NIL;
12202 result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12203 T1_ = NIM_NIL;
12204 T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(-1), info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12205 rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12206 T2_ = NIM_NIL;
12207 T2_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
12208 rawAddSon__ast_4288(result, T2_, NIM_TRUE);
12209 return result;
12210 }
N_NIMCALL(void,incrIndexType__sigmatch_3729)12211 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
12212 (*(*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal += ((NI) 1);
12213 }
N_NIMCALL(void,prepareNamedParam__sigmatch_3709)12214 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
12215 {
12216 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12217 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
12218 if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_;
12219 info = (*(*a)._kind_6.sons->data[((NI) 0)]).info;
12220 T5_ = NIM_NIL;
12221 T5_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12222 asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T5_, info));
12223 }
12224 LA3_: ;
12225 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3663)12226 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12227 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12228 result = NIM_NIL;
12229 {
12230 NIM_BOOL T3_;
12231 NI T5_;
12232 T3_ = (NIM_BOOL)0;
12233 T3_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12234 if (!(T3_)) goto LA4_;
12235 T5_ = (NI)0;
12236 T5_ = len__ast_4002(formal);
12237 T3_ = !((T5_ == ((NI) 1)));
12238 LA4_: ;
12239 if (!T3_) goto LA6_;
12240 result = a;
12241 }
12242 goto LA1_;
12243 LA6_: ;
12244 {
12245 if (!((*a).typ == 0)) goto LA9_;
12246 {
12247 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
12248 if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA13_;
12249 flags = 774;
12250 result = (*c).semOperand(c, a, flags);
12251 }
12252 goto LA11_;
12253 LA13_: ;
12254 {
12255 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
12256 flags_2 = 768;
12257 result = (*c).semOperand(c, a, flags_2);
12258 }
12259 LA11_: ;
12260 }
12261 goto LA1_;
12262 LA9_: ;
12263 {
12264 result = a;
12265 considerGenSyms__semdata_425(c, result);
12266 {
12267 NIM_BOOL T19_;
12268 NIM_BOOL T20_;
12269 T19_ = (NIM_BOOL)0;
12270 T20_ = (NIM_BOOL)0;
12271 T20_ = !(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65)));
12272 if (!(T20_)) goto LA21_;
12273 T20_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
12274 LA21_: ;
12275 T19_ = T20_;
12276 if (!(T19_)) goto LA22_;
12277 T19_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
12278 LA22_: ;
12279 if (!T19_) goto LA23_;
12280 result = newDeref__lowerings_11(result);
12281 }
12282 LA23_: ;
12283 }
12284 LA1_: ;
12285 return result;
12286 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3721)12287 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12288 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12289 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12290 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12291 result = NIM_NIL;
12292 result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12293 T1_ = NIM_NIL;
12294 T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(0), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12295 rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12296 T2_ = NIM_NIL;
12297 T2_ = skipTypes__ast_3735((*n).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_82);
12298 addSonSkipIntLit__magicsys_136(result, T2_, (*c).Sup.idgen);
12299 return result;
12300 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3700)12301 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12302 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12303 result = NIM_NIL;
12304 {
12305 if (!((*a).typ == 0)) goto LA3_;
12306 result = (*c).semOperand(c, a, 512);
12307 }
12308 goto LA1_;
12309 LA3_: ;
12310 {
12311 result = a;
12312 considerGenSyms__semdata_425(c, result);
12313 }
12314 LA1_: ;
12315 return result;
12316 }
N_NIMCALL(void,matchesAux__sigmatch_3784)12317 N_LIB_PRIVATE N_NIMCALL(void, matchesAux__sigmatch_3784)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
12318 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
12319 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12320 NI a;
12321 NI f;
12322 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
12323 NI formalLen;
12324 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
12325 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
12326 NI firstArgBlock;
12327 { (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
12328 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12329 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12330 (*m).firstMismatch.kind = T1_.kind;
12331 (*m).firstMismatch.arg = T1_.arg;
12332 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), T1_.formal);
12333 T2_ = NIM_NIL;
12334 T2_ = base__types_63((*m).callee);
12335 unsureAsgnRef((void**) (&(*m).call), newNodeIT__ast_3378((*n).kind, (*n).info, T2_));
12336 add__ast_4797((*m).call, (*n)._kind_6.sons->data[((NI) 0)]);
12337 a = ((NI) 1);
12338 {
12339 if (!!(((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA5_;
12340 f = ((NI) 1);
12341 }
12342 goto LA3_;
12343 LA5_: ;
12344 {
12345 f = ((NI) 0);
12346 }
12347 LA3_: ;
12348 arg = NIM_NIL;
12349 formalLen = len__ast_3198((*(*m).callee).n);
12350 {
12351 if (!(((NI) 1) < formalLen)) goto LA10_;
12352 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
12353 }
12354 goto LA8_;
12355 LA10_: ;
12356 {
12357 formal = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
12358 }
12359 LA8_: ;
12360 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12361 firstArgBlock = findFirstArgBlock__sigmatch_3746(m, n);
12362 {
12363 while (1) {
12364 NI T15_;
12365 T15_ = (NI)0;
12366 T15_ = len__ast_3198(n);
12367 if (!(a < T15_)) goto LA14;
12368 openShadowScope__lookups_903(c);
12369 {
12370 NIM_BOOL T18_;
12371 NIM_BOOL T19_;
12372 NIM_BOOL T22_;
12373 T18_ = (NIM_BOOL)0;
12374 T19_ = (NIM_BOOL)0;
12375 T19_ = ((NI)(formalLen - ((NI) 1)) <= a);
12376 if (!(T19_)) goto LA20_;
12377 T19_ = (f < formalLen);
12378 LA20_: ;
12379 T18_ = T19_;
12380 if (!(T18_)) goto LA21_;
12381 T22_ = (NIM_BOOL)0;
12382 T22_ = ((*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12383 if (!(T22_)) goto LA23_;
12384 T22_ = ((*(*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12385 LA23_: ;
12386 T18_ = T22_;
12387 LA21_: ;
12388 if (!T18_) goto LA24_;
12389 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12390 incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12391 {
12392 if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA28_;
12393 {
12394 NIM_BOOL T32_;
12395 T32_ = (NIM_BOOL)0;
12396 T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
12397 if (!(T32_)) goto LA33_;
12398 T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152));
12399 LA33_: ;
12400 if (!!(T32_)) goto LA34_;
12401 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_79));
12402 }
12403 LA34_: ;
12404 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12405 }
12406 goto LA26_;
12407 LA28_: ;
12408 {
12409 {
12410 tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
12411 if (!(container == 0)) goto LA39_;
12412 T41_ = NIM_NIL;
12413 T41_ = arrayConstr__sigmatch_3725(c, (*n).info);
12414 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T41_);
12415 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12416 }
12417 goto LA37_;
12418 LA39_: ;
12419 {
12420 incrIndexType__sigmatch_3729((*container).typ);
12421 }
12422 LA37_: ;
12423 add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12424 }
12425 LA26_: ;
12426 }
12427 goto LA16_;
12428 LA24_: ;
12429 {
12430 if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA44_;
12431 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2);
12432 prepareNamedParam__sigmatch_3709((*n)._kind_6.sons->data[a], c);
12433 {
12434 if (!!(((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA48_;
12435 liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_80), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_81, NIM_FALSE);
12436 mergeShadowScope__lookups_907(c);
12437 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12438 (*m).firstMismatch.arg = a;
12439 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12440 goto BeforeRet_;
12441 }
12442 LA48_: ;
12443 formal = getNamedParamFromList__astalgo_293((*(*m).callee).n, (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)])._kind_5.ident);
12444 {
12445 if (!(formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA52_;
12446 mergeShadowScope__lookups_907(c);
12447 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12448 (*m).firstMismatch.arg = a;
12449 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12450 goto BeforeRet_;
12451 }
12452 LA52_: ;
12453 {
12454 NIM_BOOL T56_;
12455 T56_ = (NIM_BOOL)0;
12456 T56_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12457 if (!T56_) goto LA57_;
12458 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1);
12459 mergeShadowScope__lookups_907(c);
12460 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12461 (*m).firstMismatch.arg = a;
12462 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12463 goto BeforeRet_;
12464 }
12465 LA57_: ;
12466 (*m).baseTypeMatch = NIM_FALSE;
12467 (*m).typedescMatched = NIM_FALSE;
12468 asgnRef((void**) (&(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]));
12469 asgnRef((void**) (&(*(*n)._kind_6.sons->data[a]).typ), (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).typ);
12470 arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)], (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12471 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12472 {
12473 if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA61_;
12474 mergeShadowScope__lookups_907(c);
12475 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12476 (*m).firstMismatch.arg = a;
12477 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12478 goto BeforeRet_;
12479 }
12480 LA61_: ;
12481 {
12482 if (!!(((*formal).constraint == 0))) goto LA65_;
12483 {
12484 NIM_BOOL T69_;
12485 T69_ = (NIM_BOOL)0;
12486 T69_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12487 if (!T69_) goto LA70_;
12488 (*m).genericMatches += ((NI) 100);
12489 }
12490 goto LA67_;
12491 LA70_: ;
12492 {
12493 mergeShadowScope__lookups_907(c);
12494 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12495 (*m).firstMismatch.arg = a;
12496 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12497 goto BeforeRet_;
12498 }
12499 LA67_: ;
12500 }
12501 LA65_: ;
12502 {
12503 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter;
12504 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA75_;
12505 {
12506 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA79_;
12507 argConverter = (*arg)._kind_6.sons->data[((NI) 0)];
12508 }
12509 goto LA77_;
12510 LA79_: ;
12511 {
12512 argConverter = arg;
12513 }
12514 LA77_: ;
12515 {
12516 if (!((*argConverter).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA84_;
12517 {
12518 if (!!(((*(*argConverter).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA88_;
12519 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12520 mergeShadowScope__lookups_907(c);
12521 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12522 (*m).firstMismatch.arg = a;
12523 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12524 goto BeforeRet_;
12525 }
12526 LA88_: ;
12527 }
12528 goto LA82_;
12529 LA84_: ;
12530 {
12531 NIM_BOOL T91_;
12532 T91_ = (NIM_BOOL)0;
12533 T91_ = isLValue__sigmatch_3090(c, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12534 if (!!(T91_)) goto LA92_;
12535 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12536 mergeShadowScope__lookups_907(c);
12537 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12538 (*m).firstMismatch.arg = a;
12539 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12540 goto BeforeRet_;
12541 }
12542 goto LA82_;
12543 LA92_: ;
12544 LA82_: ;
12545 }
12546 LA75_: ;
12547 {
12548 tyObject_TType__facALICuu8zUj0hjvbTLFg* T98_;
12549 if (!(*m).baseTypeMatch) goto LA96_;
12550 T98_ = NIM_NIL;
12551 T98_ = arrayConstr__sigmatch_3721(c, arg);
12552 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T98_);
12553 add__ast_4797(container, arg);
12554 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12555 {
12556 if (!!((f == (NI)(formalLen - ((NI) 1))))) goto LA101_;
12557 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12558 }
12559 LA101_: ;
12560 }
12561 goto LA94_;
12562 LA96_: ;
12563 {
12564 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12565 }
12566 LA94_: ;
12567 f += ((NI) 1);
12568 }
12569 goto LA16_;
12570 LA44_: ;
12571 {
12572 {
12573 if (!(formalLen <= f)) goto LA107_;
12574 {
12575 if (!(((*(*m).callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA111_;
12576 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[a]));
12577 {
12578 tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
12579 tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
12580 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T119_;
12581 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
12582 T115_ = NIM_NIL;
12583 T115_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[a]).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
12584 if (!((*T115_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA116_;
12585 T118_ = NIM_NIL;
12586 T118_ = getSysType__magicsys_60((*c).graph, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
12587 T119_ = NIM_NIL;
12588 T119_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12589 T120_ = NIM_NIL;
12590 T120_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), T118_, T119_, (&(*m)), c);
12591 add__ast_4797((*m).call, T120_);
12592 }
12593 goto LA113_;
12594 LA116_: ;
12595 {
12596 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
12597 T122_ = NIM_NIL;
12598 T122_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12599 add__ast_4797((*m).call, T122_);
12600 }
12601 LA113_: ;
12602 }
12603 goto LA109_;
12604 LA111_: ;
12605 {
12606 NIM_BOOL T124_;
12607 T124_ = (NIM_BOOL)0;
12608 T124_ = !((formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12609 if (!(T124_)) goto LA125_;
12610 T124_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12611 LA125_: ;
12612 if (!T124_) goto LA126_;
12613 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12614 (*m).baseTypeMatch = NIM_FALSE;
12615 (*m).typedescMatched = NIM_FALSE;
12616 incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12617 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12618 arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*n)._kind_6.sons->data[a], (*nOrig)._kind_6.sons->data[a]);
12619 {
12620 NIM_BOOL T130_;
12621 NIM_BOOL T131_;
12622 T130_ = (NIM_BOOL)0;
12623 T131_ = (NIM_BOOL)0;
12624 T131_ = !((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12625 if (!(T131_)) goto LA132_;
12626 T131_ = (*m).baseTypeMatch;
12627 LA132_: ;
12628 T130_ = T131_;
12629 if (!(T130_)) goto LA133_;
12630 T130_ = !((container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12631 LA133_: ;
12632 if (!T130_) goto LA134_;
12633 add__ast_4797(container, arg);
12634 incrIndexType__sigmatch_3729((*container).typ);
12635 {
12636 if (!!(((*formal).constraint == 0))) goto LA138_;
12637 {
12638 NIM_BOOL T142_;
12639 T142_ = (NIM_BOOL)0;
12640 T142_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12641 if (!T142_) goto LA143_;
12642 (*m).genericMatches += ((NI) 100);
12643 }
12644 goto LA140_;
12645 LA143_: ;
12646 {
12647 mergeShadowScope__lookups_907(c);
12648 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12649 (*m).firstMismatch.arg = a;
12650 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12651 goto BeforeRet_;
12652 }
12653 LA140_: ;
12654 }
12655 LA138_: ;
12656 {
12657 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_2;
12658 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA148_;
12659 {
12660 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA152_;
12661 argConverter_2 = (*arg)._kind_6.sons->data[((NI) 0)];
12662 }
12663 goto LA150_;
12664 LA152_: ;
12665 {
12666 argConverter_2 = arg;
12667 }
12668 LA150_: ;
12669 {
12670 if (!((*argConverter_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA157_;
12671 {
12672 if (!!(((*(*argConverter_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA161_;
12673 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12674 mergeShadowScope__lookups_907(c);
12675 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12676 (*m).firstMismatch.arg = a;
12677 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12678 goto BeforeRet_;
12679 }
12680 LA161_: ;
12681 }
12682 goto LA155_;
12683 LA157_: ;
12684 {
12685 NIM_BOOL T164_;
12686 T164_ = (NIM_BOOL)0;
12687 T164_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12688 if (!!(T164_)) goto LA165_;
12689 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12690 mergeShadowScope__lookups_907(c);
12691 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12692 (*m).firstMismatch.arg = a;
12693 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12694 goto BeforeRet_;
12695 }
12696 goto LA155_;
12697 LA165_: ;
12698 LA155_: ;
12699 }
12700 LA148_: ;
12701 }
12702 goto LA128_;
12703 LA134_: ;
12704 {
12705 mergeShadowScope__lookups_907(c);
12706 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12707 (*m).firstMismatch.arg = a;
12708 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12709 goto BeforeRet_;
12710 }
12711 LA128_: ;
12712 }
12713 goto LA109_;
12714 LA126_: ;
12715 {
12716 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6);
12717 mergeShadowScope__lookups_907(c);
12718 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12719 (*m).firstMismatch.arg = a;
12720 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12721 goto BeforeRet_;
12722 }
12723 LA109_: ;
12724 }
12725 goto LA105_;
12726 LA107_: ;
12727 {
12728 {
12729 if (!!(((*(*(*(*m).callee).n)._kind_6.sons->data[f]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA172_;
12730 internalErrorImpl__msgs_1431((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_83), TM__EV5hHJmjIY9cla9b9be7fSVJQ_84);
12731 mergeShadowScope__lookups_907(c);
12732 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12733 (*m).firstMismatch.arg = a;
12734 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12735 goto BeforeRet_;
12736 }
12737 LA172_: ;
12738 {
12739 NIM_BOOL T176_;
12740 NI T180_;
12741 NI T181_;
12742 T176_ = (NIM_BOOL)0;
12743 T176_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 18))&31U)))!=0);
12744 if (!(T176_)) goto LA177_;
12745 T176_ = (firstArgBlock <= a);
12746 LA177_: ;
12747 if (!T176_) goto LA178_;
12748 T180_ = (NI)0;
12749 T180_ = len__ast_3198((*(*m).callee).n);
12750 T181_ = (NI)0;
12751 T181_ = len__ast_3198(n);
12752 f = ((f >= (NI)(T180_ - (NI)(T181_ - a))) ? f : (NI)(T180_ - (NI)(T181_ - a)));
12753 }
12754 LA178_: ;
12755 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12756 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12757 {
12758 NIM_BOOL T184_;
12759 T184_ = (NIM_BOOL)0;
12760 T184_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12761 if (!(T184_)) goto LA185_;
12762 T184_ = (container == 0);
12763 LA185_: ;
12764 if (!T184_) goto LA186_;
12765 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7);
12766 mergeShadowScope__lookups_907(c);
12767 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12768 (*m).firstMismatch.arg = a;
12769 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12770 goto BeforeRet_;
12771 }
12772 LA186_: ;
12773 {
12774 NIM_BOOL T190_;
12775 T190_ = (NIM_BOOL)0;
12776 T190_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12777 if (!(T190_)) goto LA191_;
12778 T190_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12779 LA191_: ;
12780 if (!T190_) goto LA192_;
12781 {
12782 tyObject_TType__facALICuu8zUj0hjvbTLFg* T198_;
12783 if (!(container == 0)) goto LA196_;
12784 T198_ = NIM_NIL;
12785 T198_ = arrayConstr__sigmatch_3725(c, (*n).info);
12786 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T198_);
12787 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12788 }
12789 goto LA194_;
12790 LA196_: ;
12791 {
12792 incrIndexType__sigmatch_3729((*container).typ);
12793 }
12794 LA194_: ;
12795 add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12796 }
12797 goto LA188_;
12798 LA192_: ;
12799 {
12800 (*m).baseTypeMatch = NIM_FALSE;
12801 (*m).typedescMatched = NIM_FALSE;
12802 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12803 arg = paramTypesMatch__sigmatch_3583(m, (*formal).typ, (*(*n)._kind_6.sons->data[a]).typ, (*n)._kind_6.sons->data[a], (*nOrig)._kind_6.sons->data[a]);
12804 {
12805 if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA203_;
12806 mergeShadowScope__lookups_907(c);
12807 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12808 (*m).firstMismatch.arg = a;
12809 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12810 goto BeforeRet_;
12811 }
12812 LA203_: ;
12813 {
12814 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T215_;
12815 NI T216_;
12816 if (!(*m).baseTypeMatch) goto LA207_;
12817 {
12818 tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
12819 if (!(container == 0)) goto LA211_;
12820 T213_ = NIM_NIL;
12821 T213_ = arrayConstr__sigmatch_3721(c, arg);
12822 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T213_);
12823 (*(*container).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0)) & 63);
12824 }
12825 goto LA209_;
12826 LA211_: ;
12827 {
12828 incrIndexType__sigmatch_3729((*container).typ);
12829 }
12830 LA209_: ;
12831 add__ast_4797(container, arg);
12832 T215_ = NIM_NIL;
12833 T215_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
12834 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T215_);
12835 T216_ = (NI)0;
12836 T216_ = len__ast_3198(n);
12837 f = ((f >= (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1))) ? f : (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1)));
12838 }
12839 goto LA205_;
12840 LA207_: ;
12841 {
12842 NIM_BOOL T218_;
12843 T218_ = (NIM_BOOL)0;
12844 T218_ = !(((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)));
12845 if (T218_) goto LA219_;
12846 T218_ = (container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12847 LA219_: ;
12848 if (!T218_) goto LA220_;
12849 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12850 f += ((NI) 1);
12851 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12852 }
12853 goto LA205_;
12854 LA220_: ;
12855 {
12856 tyArray__Re75IspeoxXy2oCZHwcRrA T223_;
12857 NimStringDesc* T224_;
12858 nimZeroMem((void*)T223_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
12859 T223_[0] = typeToString__types_50((*(*n)._kind_6.sons->data[a]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12860 T223_[1] = typeToString__types_50((*formal).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12861 T224_ = NIM_NIL;
12862 T224_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_85), T223_, 2);
12863 liMessage__msgs_1118((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T224_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_86, NIM_FALSE);
12864 mergeShadowScope__lookups_907(c);
12865 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12866 (*m).firstMismatch.arg = a;
12867 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12868 goto BeforeRet_;
12869 }
12870 LA205_: ;
12871 }
12872 LA188_: ;
12873 {
12874 if (!!(((*formal).constraint == 0))) goto LA227_;
12875 {
12876 NIM_BOOL T231_;
12877 T231_ = (NIM_BOOL)0;
12878 T231_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12879 if (!T231_) goto LA232_;
12880 (*m).genericMatches += ((NI) 100);
12881 }
12882 goto LA229_;
12883 LA232_: ;
12884 {
12885 mergeShadowScope__lookups_907(c);
12886 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12887 (*m).firstMismatch.arg = a;
12888 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12889 goto BeforeRet_;
12890 }
12891 LA229_: ;
12892 }
12893 LA227_: ;
12894 {
12895 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_3;
12896 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA237_;
12897 {
12898 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA241_;
12899 argConverter_3 = (*arg)._kind_6.sons->data[((NI) 0)];
12900 }
12901 goto LA239_;
12902 LA241_: ;
12903 {
12904 argConverter_3 = arg;
12905 }
12906 LA239_: ;
12907 {
12908 if (!((*argConverter_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA246_;
12909 {
12910 if (!!(((*(*argConverter_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA250_;
12911 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12912 mergeShadowScope__lookups_907(c);
12913 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12914 (*m).firstMismatch.arg = a;
12915 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12916 goto BeforeRet_;
12917 }
12918 LA250_: ;
12919 }
12920 goto LA244_;
12921 LA246_: ;
12922 {
12923 NIM_BOOL T253_;
12924 T253_ = (NIM_BOOL)0;
12925 T253_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12926 if (!!(T253_)) goto LA254_;
12927 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12928 mergeShadowScope__lookups_907(c);
12929 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12930 (*m).firstMismatch.arg = a;
12931 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12932 goto BeforeRet_;
12933 }
12934 goto LA244_;
12935 LA254_: ;
12936 LA244_: ;
12937 }
12938 LA237_: ;
12939 }
12940 LA105_: ;
12941 }
12942 LA16_: ;
12943 {
12944 NIM_BOOL T258_;
12945 NIM_BOOL T260_;
12946 T258_ = (NIM_BOOL)0;
12947 T258_ = ((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
12948 if (!(T258_)) goto LA259_;
12949 T260_ = (NIM_BOOL)0;
12950 T260_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12951 if (!(T260_)) goto LA261_;
12952 T260_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
12953 LA261_: ;
12954 T258_ = !(T260_);
12955 LA259_: ;
12956 if (!T258_) goto LA262_;
12957 mergeShadowScope__lookups_907(c);
12958 }
12959 goto LA256_;
12960 LA262_: ;
12961 {
12962 closeShadowScope__lookups_905(c);
12963 }
12964 LA256_: ;
12965 a += ((NI) 1);
12966 } LA14: ;
12967 }
12968 (*m).firstMismatch.arg = a;
12969 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12970 }BeforeRet_: ;
12971 }
N_NIMCALL(void,partialMatch__sigmatch_4175)12972 N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m) {
12973 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
12974 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
12975 initIntSet__pureZcollectionsZintsets_238((&marker));
12976 matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
12977 }
N_NIMCALL(NIM_BOOL,argsFit__sigmatch_5113)12978 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5113)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig) {
12979 NIM_BOOL result;
12980 result = (NIM_BOOL)0;
12981 switch ((*candidate).kind) {
12982 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
12983 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
12984 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
12985 {
12986 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
12987 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
12988 newCandidate__sigmatch_189(c, candidate, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m));
12989 partialMatch__sigmatch_4175(c, n, nOrig, (&m));
12990 result = !((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2)));
12991 }
12992 break;
12993 default:
12994 {
12995 result = NIM_FALSE;
12996 }
12997 break;
12998 }
12999 return result;
13000 }
N_NIMCALL(void,suggestCall__sigmatch_5124)13001 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
13002 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
13003 info = (*n).info;
13004 {
13005 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
13006 NI scopeN;
13007 NIM_BOOL isLocal;
13008 NIM_BOOL isLocal_2;
13009 NI scopeN_2;
13010 item = NIM_NIL;
13011 scopeN = (NI)0;
13012 isLocal = (NIM_BOOL)0;
13013 isLocal_2 = NIM_TRUE;
13014 scopeN_2 = ((NI) 0);
13015 {
13016 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
13017 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
13018 scope = NIM_NIL;
13019 current = (*c).currentScope;
13020 {
13021 while (1) {
13022 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
13023 scope = current;
13024 {
13025 if (!(scope == (*c).topLevelScope)) goto LA7_;
13026 isLocal_2 = NIM_FALSE;
13027 }
13028 LA7_: ;
13029 scopeN_2 -= ((NI) 1);
13030 {
13031 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
13032 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
13033 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
13034 item_2 = NIM_NIL;
13035 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
13036 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
13037 {
13038 while (1) {
13039 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
13040 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
13041 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
13042 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
13043 item_2 = s;
13044 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13045 colontmp_.Field0 = item_2;
13046 colontmp_.Field1 = scopeN_2;
13047 colontmp_.Field2 = isLocal_2;
13048 item = colontmp_.Field0;
13049 scopeN = colontmp_.Field1;
13050 isLocal = colontmp_.Field2;
13051 it_2 = item;
13052 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13053 {
13054 NIM_BOOL T14_;
13055 NIM_BOOL T15_;
13056 NI T20_;
13057 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T21_;
13058 NI T22_;
13059 T14_ = (NIM_BOOL)0;
13060 T15_ = (NIM_BOOL)0;
13061 T15_ = filterSym__sigmatch_4909(it_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
13062 if (!(T15_)) goto LA16_;
13063 T15_ = nameFits__sigmatch_5091(c, it_2, n);
13064 LA16_: ;
13065 T14_ = T15_;
13066 if (!(T14_)) goto LA17_;
13067 T14_ = argsFit__sigmatch_5113(c, it_2, n, nOrig);
13068 LA17_: ;
13069 if (!T14_) goto LA18_;
13070 T20_ = (NI)0;
13071 T20_ = getQuality__sigmatch_5002(it_2);
13072 T21_ = NIM_NIL;
13073 T21_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T20_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13074 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13075 T22_ = (*outputs)->Sup.len++;
13076 asgnRef((void**) (&(*outputs)->data[T22_]), T21_);
13077 }
13078 LA18_: ;
13079 s = nextIter__astalgo_3762((&it), (*scope).symbols);
13080 } LA11: ;
13081 }
13082 }
13083 current = (*current).parent;
13084 } LA4: ;
13085 }
13086 }
13087 scopeN_2 -= ((NI) 1);
13088 isLocal_2 = NIM_FALSE;
13089 {
13090 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13091 NI i;
13092 NI L;
13093 NI T24_;
13094 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13095 i = ((NI) 0);
13096 T24_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13097 L = T24_;
13098 {
13099 while (1) {
13100 if (!(i < L)) goto LA26;
13101 im = (&(*c).imports->data[i]);
13102 {
13103 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13104 NIM_BOOL importHidden;
13105 s_2 = NIM_NIL;
13106 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13107 {
13108 NIM_BOOL T30_;
13109 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13110 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13111 T30_ = (NIM_BOOL)0;
13112 T30_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13113 if (!T30_) goto LA31_;
13114 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13115 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13116 {
13117 while (1) {
13118 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13119 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13120 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13121 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
13122 s_2 = r;
13123 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13124 colontmp__2.Field0 = s_2;
13125 colontmp__2.Field1 = scopeN_2;
13126 colontmp__2.Field2 = isLocal_2;
13127 item = colontmp__2.Field0;
13128 scopeN = colontmp__2.Field1;
13129 isLocal = colontmp__2.Field2;
13130 it_3 = item;
13131 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13132 {
13133 NIM_BOOL T37_;
13134 NIM_BOOL T38_;
13135 NI T43_;
13136 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T44_;
13137 NI T45_;
13138 T37_ = (NIM_BOOL)0;
13139 T38_ = (NIM_BOOL)0;
13140 T38_ = filterSym__sigmatch_4909(it_3, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
13141 if (!(T38_)) goto LA39_;
13142 T38_ = nameFits__sigmatch_5091(c, it_3, n);
13143 LA39_: ;
13144 T37_ = T38_;
13145 if (!(T37_)) goto LA40_;
13146 T37_ = argsFit__sigmatch_5113(c, it_3, n, nOrig);
13147 LA40_: ;
13148 if (!T37_) goto LA41_;
13149 T43_ = (NI)0;
13150 T43_ = getQuality__sigmatch_5002(it_3);
13151 T44_ = NIM_NIL;
13152 T44_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T43_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13153 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13154 T45_ = (*outputs)->Sup.len++;
13155 asgnRef((void**) (&(*outputs)->data[T45_]), T44_);
13156 }
13157 LA41_: ;
13158 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13159 } LA34: ;
13160 }
13161 }
13162 goto LA28_;
13163 LA31_: ;
13164 {
13165 {
13166 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13167 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13168 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13169 NI i_2;
13170 NI L_2;
13171 NI T52_;
13172 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13173 colontmp__3 = NIM_NIL;
13174 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13175 {
13176 if (!importHidden) goto LA50_;
13177 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13178 }
13179 LA50_: ;
13180 colontmp__3 = (*retX60gensym17_).data;
13181 i_2 = ((NI) 0);
13182 T52_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13183 L_2 = T52_;
13184 {
13185 while (1) {
13186 if (!(i_2 < L_2)) goto LA54;
13187 s_3 = &colontmp__3->data[i_2];
13188 {
13189 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13190 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13191 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13192 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA57_;
13193 s_2 = (*s_3);
13194 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13195 colontmp__4.Field0 = s_2;
13196 colontmp__4.Field1 = scopeN_2;
13197 colontmp__4.Field2 = isLocal_2;
13198 item = colontmp__4.Field0;
13199 scopeN = colontmp__4.Field1;
13200 isLocal = colontmp__4.Field2;
13201 it_4 = item;
13202 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13203 {
13204 NIM_BOOL T61_;
13205 NIM_BOOL T62_;
13206 NI T67_;
13207 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T68_;
13208 NI T69_;
13209 T61_ = (NIM_BOOL)0;
13210 T62_ = (NIM_BOOL)0;
13211 T62_ = filterSym__sigmatch_4909(it_4, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
13212 if (!(T62_)) goto LA63_;
13213 T62_ = nameFits__sigmatch_5091(c, it_4, n);
13214 LA63_: ;
13215 T61_ = T62_;
13216 if (!(T61_)) goto LA64_;
13217 T61_ = argsFit__sigmatch_5113(c, it_4, n, nOrig);
13218 LA64_: ;
13219 if (!T61_) goto LA65_;
13220 T67_ = (NI)0;
13221 T67_ = getQuality__sigmatch_5002(it_4);
13222 T68_ = NIM_NIL;
13223 T68_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T67_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13224 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13225 T69_ = (*outputs)->Sup.len++;
13226 asgnRef((void**) (&(*outputs)->data[T69_]), T68_);
13227 }
13228 LA65_: ;
13229 }
13230 LA57_: ;
13231 i_2 += ((NI) 1);
13232 } LA54: ;
13233 }
13234 }
13235 }
13236 LA28_: ;
13237 }
13238 i += ((NI) 1);
13239 } LA26: ;
13240 }
13241 }
13242 }
13243 }
N_NIMCALL(void,suggestVar__sigmatch_5139)13244 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
13245 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
13246 info = (*n).info;
13247 {
13248 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
13249 NI scopeN;
13250 NIM_BOOL isLocal;
13251 NIM_BOOL isLocal_2;
13252 NI scopeN_2;
13253 item = NIM_NIL;
13254 scopeN = (NI)0;
13255 isLocal = (NIM_BOOL)0;
13256 isLocal_2 = NIM_TRUE;
13257 scopeN_2 = ((NI) 0);
13258 {
13259 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
13260 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
13261 scope = NIM_NIL;
13262 current = (*c).currentScope;
13263 {
13264 while (1) {
13265 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
13266 scope = current;
13267 {
13268 if (!(scope == (*c).topLevelScope)) goto LA7_;
13269 isLocal_2 = NIM_FALSE;
13270 }
13271 LA7_: ;
13272 scopeN_2 -= ((NI) 1);
13273 {
13274 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
13275 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
13276 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
13277 item_2 = NIM_NIL;
13278 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
13279 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
13280 {
13281 while (1) {
13282 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
13283 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
13284 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
13285 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
13286 item_2 = s;
13287 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13288 colontmp_.Field0 = item_2;
13289 colontmp_.Field1 = scopeN_2;
13290 colontmp_.Field2 = isLocal_2;
13291 item = colontmp_.Field0;
13292 scopeN = colontmp_.Field1;
13293 isLocal = colontmp_.Field2;
13294 it_2 = item;
13295 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13296 {
13297 NIM_BOOL T14_;
13298 NI T17_;
13299 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
13300 NI T19_;
13301 T14_ = (NIM_BOOL)0;
13302 T14_ = nameFits__sigmatch_5091(c, it_2, n);
13303 if (!T14_) goto LA15_;
13304 T17_ = (NI)0;
13305 T17_ = getQuality__sigmatch_5002(it_2);
13306 T18_ = NIM_NIL;
13307 T18_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13308 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13309 T19_ = (*outputs)->Sup.len++;
13310 asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
13311 }
13312 LA15_: ;
13313 s = nextIter__astalgo_3762((&it), (*scope).symbols);
13314 } LA11: ;
13315 }
13316 }
13317 current = (*current).parent;
13318 } LA4: ;
13319 }
13320 }
13321 scopeN_2 -= ((NI) 1);
13322 isLocal_2 = NIM_FALSE;
13323 {
13324 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13325 NI i;
13326 NI L;
13327 NI T21_;
13328 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13329 i = ((NI) 0);
13330 T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13331 L = T21_;
13332 {
13333 while (1) {
13334 if (!(i < L)) goto LA23;
13335 im = (&(*c).imports->data[i]);
13336 {
13337 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13338 NIM_BOOL importHidden;
13339 s_2 = NIM_NIL;
13340 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13341 {
13342 NIM_BOOL T27_;
13343 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13344 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13345 T27_ = (NIM_BOOL)0;
13346 T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13347 if (!T27_) goto LA28_;
13348 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13349 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13350 {
13351 while (1) {
13352 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13353 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13354 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13355 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
13356 s_2 = r;
13357 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13358 colontmp__2.Field0 = s_2;
13359 colontmp__2.Field1 = scopeN_2;
13360 colontmp__2.Field2 = isLocal_2;
13361 item = colontmp__2.Field0;
13362 scopeN = colontmp__2.Field1;
13363 isLocal = colontmp__2.Field2;
13364 it_3 = item;
13365 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13366 {
13367 NIM_BOOL T34_;
13368 NI T37_;
13369 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
13370 NI T39_;
13371 T34_ = (NIM_BOOL)0;
13372 T34_ = nameFits__sigmatch_5091(c, it_3, n);
13373 if (!T34_) goto LA35_;
13374 T37_ = (NI)0;
13375 T37_ = getQuality__sigmatch_5002(it_3);
13376 T38_ = NIM_NIL;
13377 T38_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13378 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13379 T39_ = (*outputs)->Sup.len++;
13380 asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
13381 }
13382 LA35_: ;
13383 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13384 } LA31: ;
13385 }
13386 }
13387 goto LA25_;
13388 LA28_: ;
13389 {
13390 {
13391 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13392 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13393 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13394 NI i_2;
13395 NI L_2;
13396 NI T46_;
13397 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13398 colontmp__3 = NIM_NIL;
13399 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13400 {
13401 if (!importHidden) goto LA44_;
13402 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13403 }
13404 LA44_: ;
13405 colontmp__3 = (*retX60gensym17_).data;
13406 i_2 = ((NI) 0);
13407 T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13408 L_2 = T46_;
13409 {
13410 while (1) {
13411 if (!(i_2 < L_2)) goto LA48;
13412 s_3 = &colontmp__3->data[i_2];
13413 {
13414 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13415 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13416 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13417 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
13418 s_2 = (*s_3);
13419 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13420 colontmp__4.Field0 = s_2;
13421 colontmp__4.Field1 = scopeN_2;
13422 colontmp__4.Field2 = isLocal_2;
13423 item = colontmp__4.Field0;
13424 scopeN = colontmp__4.Field1;
13425 isLocal = colontmp__4.Field2;
13426 it_4 = item;
13427 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13428 {
13429 NIM_BOOL T55_;
13430 NI T58_;
13431 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
13432 NI T60_;
13433 T55_ = (NIM_BOOL)0;
13434 T55_ = nameFits__sigmatch_5091(c, it_4, n);
13435 if (!T55_) goto LA56_;
13436 T58_ = (NI)0;
13437 T58_ = getQuality__sigmatch_5002(it_4);
13438 T59_ = NIM_NIL;
13439 T59_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13440 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13441 T60_ = (*outputs)->Sup.len++;
13442 asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
13443 }
13444 LA56_: ;
13445 }
13446 LA51_: ;
13447 i_2 += ((NI) 1);
13448 } LA48: ;
13449 }
13450 }
13451 }
13452 LA25_: ;
13453 }
13454 i += ((NI) 1);
13455 } LA23: ;
13456 }
13457 }
13458 }
13459 }
N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ *,newSeq__sigmatch_4767)13460 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len) {
13461 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* result;
13462 result = NIM_NIL;
13463 result = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) newSeq((&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), len);
13464 return result;
13465 }
N_INLINE(NI,star___pureZalgorithm_8)13466 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13467 NI result;
13468 NI y;
13469 result = (NI)0;
13470 y = (NI)(order - ((NI) 1));
13471 result = (NI)((NI)(x ^ y) - y);
13472 return result;
13473 }
N_NIMCALL(void,mergeAlt__sigmatch_4787)13474 N_LIB_PRIVATE N_NIMCALL(void, mergeAlt__sigmatch_4787)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** b, NI bLen_0, NI lo, NI m, NI hi, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13475 NI j;
13476 NI bb;
13477 NI i;
13478 NI k;
13479 { {
13480 NI T3_;
13481 NI T4_;
13482 T3_ = (NI)0;
13483 T3_ = cmp.ClE_0? cmp.ClP_0(a[m], a[(NI)(m + ((NI) 1))], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_87)(cmp.ClP_0))(a[m], a[(NI)(m + ((NI) 1))]);
13484 T4_ = (NI)0;
13485 T4_ = star___pureZalgorithm_8(T3_, order);
13486 if (!(T4_ <= ((NI) 0))) goto LA5_;
13487 goto BeforeRet_;
13488 }
13489 LA5_: ;
13490 j = lo;
13491 bb = ((NI) 0);
13492 {
13493 while (1) {
13494 if (!(j <= m)) goto LA8;
13495 unsureAsgnRef((void**) (&b[bb]), a[j]);
13496 bb += ((NI) 1);
13497 j += ((NI) 1);
13498 } LA8: ;
13499 }
13500 i = ((NI) 0);
13501 k = lo;
13502 {
13503 while (1) {
13504 NIM_BOOL T11_;
13505 T11_ = (NIM_BOOL)0;
13506 T11_ = (k < j);
13507 if (!(T11_)) goto LA12_;
13508 T11_ = (j <= hi);
13509 LA12_: ;
13510 if (!T11_) goto LA10;
13511 {
13512 NI T15_;
13513 NI T16_;
13514 T15_ = (NI)0;
13515 T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_88)(cmp.ClP_0))(b[i], a[j]);
13516 T16_ = (NI)0;
13517 T16_ = star___pureZalgorithm_8(T15_, order);
13518 if (!(T16_ <= ((NI) 0))) goto LA17_;
13519 unsureAsgnRef((void**) (&a[k]), b[i]);
13520 i += ((NI) 1);
13521 }
13522 goto LA13_;
13523 LA17_: ;
13524 {
13525 unsureAsgnRef((void**) (&a[k]), a[j]);
13526 j += ((NI) 1);
13527 }
13528 LA13_: ;
13529 k += ((NI) 1);
13530 } LA10: ;
13531 }
13532 {
13533 while (1) {
13534 if (!(k < j)) goto LA21;
13535 unsureAsgnRef((void**) (&a[k]), b[i]);
13536 k += ((NI) 1);
13537 i += ((NI) 1);
13538 } LA21: ;
13539 }
13540 }BeforeRet_: ;
13541 }
N_NIMCALL(void,sort__sigmatch_4755)13542 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13543 NI n;
13544 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* b;
13545 NI s;
13546 n = aLen_0;
13547 b = newSeq__sigmatch_4767(((NI) ((NI)(n / ((NI) 2)))));
13548 s = ((NI) 1);
13549 {
13550 while (1) {
13551 NI m;
13552 if (!(s < n)) goto LA2;
13553 m = (NI)((NI)(n - ((NI) 1)) - s);
13554 {
13555 while (1) {
13556 if (!(((NI) 0) <= m)) goto LA4;
13557 mergeAlt__sigmatch_4787(a, aLen_0, b->data, (b ? b->Sup.len : 0), (((NI)((NI)(m - s) + ((NI) 1)) >= ((NI) 0)) ? (NI)((NI)(m - s) + ((NI) 1)) : ((NI) 0)), m, (NI)(m + s), cmp, order);
13558 m -= (NI)(s * ((NI) 2));
13559 } LA4: ;
13560 }
13561 s = (NI)(s * ((NI) 2));
13562 } LA2: ;
13563 }
13564 }
N_NIMCALL(NI,cmpSuggestions__sigmatch_4436)13565 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b) {
13566 NI result;
13567 { result = (NI)0;
13568 result = (NI)(((NI) ((*b).prefix)) - ((NI) ((*a).prefix)));
13569 {
13570 if (!!((result == ((NI) 0)))) goto LA3_;
13571 goto BeforeRet_;
13572 }
13573 LA3_: ;
13574 result = (NI)(((NI) ((*b).contextFits)) - ((NI) ((*a).contextFits)));
13575 {
13576 if (!!((result == ((NI) 0)))) goto LA7_;
13577 goto BeforeRet_;
13578 }
13579 LA7_: ;
13580 result = (NI)((*b).scope - (*a).scope);
13581 {
13582 if (!!((result == ((NI) 0)))) goto LA11_;
13583 goto BeforeRet_;
13584 }
13585 LA11_: ;
13586 result = (NI)(((NI) ((*b).quality)) - ((NI) ((*a).quality)));
13587 {
13588 if (!!((result == ((NI) 0)))) goto LA15_;
13589 goto BeforeRet_;
13590 }
13591 LA15_: ;
13592 result = (NI)((*b).localUsages - (*a).localUsages);
13593 {
13594 if (!!((result == ((NI) 0)))) goto LA19_;
13595 goto BeforeRet_;
13596 }
13597 LA19_: ;
13598 result = (NI)((*b).globalUsages - (*a).globalUsages);
13599 {
13600 if (!!((result == ((NI) 0)))) goto LA23_;
13601 goto BeforeRet_;
13602 }
13603 LA23_: ;
13604 result = cmp__system_1549((*(*a).name), (*(*b).name));
13605 }BeforeRet_: ;
13606 return result;
13607 }
N_NIMCALL(NimStringDesc *,dollar___sigmatch_4707)13608 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest) {
13609 NimStringDesc* result;
13610 result = NIM_NIL;
13611 result = dollar___options_4697((*suggest).section);
13612 result = addChar(result, 9);
13613 {
13614 NimStringDesc* T17_;
13615 NimStringDesc* T18_;
13616 NimStringDesc* T19_;
13617 if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8))) goto LA3_;
13618 {
13619 NIM_BOOL T7_;
13620 T7_ = (NIM_BOOL)0;
13621 T7_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
13622 if (!(T7_)) goto LA8_;
13623 T7_ = (*suggest).isGlobal;
13624 LA8_: ;
13625 if (!T7_) goto LA9_;
13626 result = resizeString(result, 11);
13627 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_91));
13628 }
13629 goto LA5_;
13630 LA9_: ;
13631 {
13632 NIM_BOOL T12_;
13633 T12_ = (NIM_BOOL)0;
13634 T12_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
13635 if (!(T12_)) goto LA13_;
13636 T12_ = (*suggest).isGlobal;
13637 LA13_: ;
13638 if (!T12_) goto LA14_;
13639 result = resizeString(result, 11);
13640 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_92));
13641 }
13642 goto LA5_;
13643 LA14_: ;
13644 {
13645 result = resizeString(result, (reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0);
13646 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13647 }
13648 LA5_: ;
13649 result = addChar(result, 9);
13650 T17_ = NIM_NIL;
13651 T17_ = dollar___systemZdollars_3((*suggest).line);
13652 result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0);
13653 appendString(result, T17_);
13654 result = addChar(result, 9);
13655 T18_ = NIM_NIL;
13656 T18_ = dollar___systemZdollars_3((*suggest).column);
13657 result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0);
13658 appendString(result, T18_);
13659 result = addChar(result, 9);
13660 T19_ = NIM_NIL;
13661 T19_ = dollar___systemZdollars_3((*suggest).tokenLen);
13662 result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0);
13663 appendString(result, T19_);
13664 }
13665 goto LA1_;
13666 LA3_: ;
13667 {
13668 NimStringDesc* T27_;
13669 NimStringDesc* T28_;
13670 result = resizeString(result, (reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0);
13671 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13672 result = addChar(result, 9);
13673 {
13674 NI T23_;
13675 NimStringDesc* T26_;
13676 T23_ = ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0);
13677 if (!!((T23_ == ((NI) 0)))) goto LA24_;
13678 T26_ = NIM_NIL;
13679 T26_ = nsuJoinSep((*suggest).qualifiedPath->data, ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_93));
13680 result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
13681 appendString(result, T26_);
13682 }
13683 LA24_: ;
13684 result = addChar(result, 9);
13685 result = resizeString(result, ((*suggest).forth ? (*suggest).forth->Sup.len : 0) + 0);
13686 appendString(result, (*suggest).forth);
13687 result = addChar(result, 9);
13688 result = resizeString(result, ((*suggest).filePath ? (*suggest).filePath->Sup.len : 0) + 0);
13689 appendString(result, (*suggest).filePath);
13690 result = addChar(result, 9);
13691 T27_ = NIM_NIL;
13692 T27_ = dollar___systemZdollars_3((*suggest).line);
13693 result = resizeString(result, (T27_ ? T27_->Sup.len : 0) + 0);
13694 appendString(result, T27_);
13695 result = addChar(result, 9);
13696 T28_ = NIM_NIL;
13697 T28_ = dollar___systemZdollars_3((*suggest).column);
13698 result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
13699 appendString(result, T28_);
13700 result = addChar(result, 9);
13701 {
13702 NimStringDesc* T33_;
13703 if (!((*suggest).version == ((NI) 0))) goto LA31_;
13704 result = addChar(result, 9);
13705 T33_ = NIM_NIL;
13706 T33_ = dollar___systemZdollars_3(((NI) ((*suggest).quality)));
13707 result = resizeString(result, (T33_ ? T33_->Sup.len : 0) + 0);
13708 appendString(result, T33_);
13709 {
13710 if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA36_;
13711 result = addChar(result, 9);
13712 result = resizeString(result, (reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)) ? reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_))->Sup.len : 0) + 0);
13713 appendString(result, reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)));
13714 }
13715 LA36_: ;
13716 }
13717 LA31_: ;
13718 }
13719 LA1_: ;
13720 return result;
13721 }
N_NIMCALL(void,produceOutput__sigmatch_4746)13722 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
13723 {
13724 tyProc__pNH4eLNN9aK2oskAhILvUcw T5_;
13725 if (!((6 &((NU16)1<<((NU)((*conf).ideCmd)&15U)))!=0)) goto LA3_;
13726 nimZeroMem((void*)(&T5_), sizeof(tyProc__pNH4eLNN9aK2oskAhILvUcw));
13727 T5_.ClP_0 = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (cmpSuggestions__sigmatch_4436)); T5_.ClE_0 = NIM_NIL;
13728 sort__sigmatch_4755((*a)->data, ((*a) ? (*a)->Sup.len : 0), T5_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
13729 }
13730 LA3_: ;
13731 {
13732 NI T8_;
13733 T8_ = ((*a) ? (*a)->Sup.len : 0);
13734 if (!((*conf).suggestMaxResults < T8_)) goto LA9_;
13735 unsureAsgnRef((void**) (&(*a)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) setLengthSeqV2(&((*a))->Sup, (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), ((NI) ((*conf).suggestMaxResults))));
13736 }
13737 LA9_: ;
13738 {
13739 if (!!(((*conf).suggestionResultHook.ClP_0 == 0))) goto LA13_;
13740 {
13741 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s;
13742 NI i;
13743 NI L;
13744 NI T16_;
13745 s = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13746 i = ((NI) 0);
13747 T16_ = ((*a) ? (*a)->Sup.len : 0);
13748 L = T16_;
13749 {
13750 while (1) {
13751 if (!(i < L)) goto LA18;
13752 s = &(*a)->data[i];
13753 (*conf).suggestionResultHook.ClE_0? (*conf).suggestionResultHook.ClP_0((*s), (*conf).suggestionResultHook.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_90)((*conf).suggestionResultHook.ClP_0))((*s));
13754 i += ((NI) 1);
13755 } LA18: ;
13756 }
13757 }
13758 }
13759 goto LA11_;
13760 LA13_: ;
13761 {
13762 {
13763 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s_2;
13764 NI i_2;
13765 NI L_2;
13766 NI T21_;
13767 s_2 = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13768 i_2 = ((NI) 0);
13769 T21_ = ((*a) ? (*a)->Sup.len : 0);
13770 L_2 = T21_;
13771 {
13772 while (1) {
13773 NimStringDesc* T24_;
13774 if (!(i_2 < L_2)) goto LA23;
13775 s_2 = &(*a)->data[i_2];
13776 T24_ = NIM_NIL;
13777 T24_ = dollar___sigmatch_4707((*s_2));
13778 suggestWriteln__msgs_421(conf, T24_);
13779 i_2 += ((NI) 1);
13780 } LA23: ;
13781 }
13782 }
13783 }
13784 LA11_: ;
13785 }
N_NIMCALL(void,suggestExprNoCheck__sigmatch_6450)13786 N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13787 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
13788 { {
13789 if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
13790 goto BeforeRet_;
13791 }
13792 LA3_: ;
13793 (*c).compilesContextId += ((NI) 1);
13794 outputs = NIM_NIL;
13795 {
13796 if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA7_;
13797 sugExpr__sigmatch_6417(c, n, (&outputs));
13798 }
13799 goto LA5_;
13800 LA7_: ;
13801 {
13802 if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2))) goto LA10_;
13803 {
13804 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
13805 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
13806 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA14_;
13807 a = copyNode__ast_4336(n);
13808 x = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
13809 {
13810 NIM_BOOL T18_;
13811 T18_ = (NIM_BOOL)0;
13812 T18_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13813 if (T18_) goto LA19_;
13814 T18_ = ((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13815 LA19_: ;
13816 if (!T18_) goto LA20_;
13817 x = (*n)._kind_6.sons->data[((NI) 0)];
13818 }
13819 LA20_: ;
13820 add__ast_4797(a, x);
13821 {
13822 NI i;
13823 NI colontmp_;
13824 NI i_2;
13825 i = (NI)0;
13826 colontmp_ = (NI)0;
13827 colontmp_ = len__ast_3198(n);
13828 i_2 = ((NI) 1);
13829 {
13830 while (1) {
13831 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
13832 if (!(i_2 < colontmp_)) goto LA24;
13833 i = i_2;
13834 x_2 = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[i]);
13835 {
13836 NIM_BOOL T27_;
13837 T27_ = (NIM_BOOL)0;
13838 T27_ = ((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13839 if (T27_) goto LA28_;
13840 T27_ = ((*x_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13841 LA28_: ;
13842 if (!T27_) goto LA29_;
13843 goto LA22;
13844 }
13845 LA29_: ;
13846 add__ast_4797(a, x_2);
13847 i_2 += ((NI) 1);
13848 } LA24: ;
13849 }
13850 } LA22: ;
13851 suggestCall__sigmatch_5124(c, a, n, (&outputs));
13852 }
13853 goto LA12_;
13854 LA14_: ;
13855 {
13856 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_3;
13857 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA32_;
13858 x_3 = safeSemExpr__sigmatch_6411(c, n);
13859 {
13860 NIM_BOOL T36_;
13861 T36_ = (NIM_BOOL)0;
13862 T36_ = ((*x_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13863 if (T36_) goto LA37_;
13864 T36_ = ((*x_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13865 LA37_: ;
13866 if (!T36_) goto LA38_;
13867 x_3 = n;
13868 }
13869 LA38_: ;
13870 suggestVar__sigmatch_5139(c, x_3, (&outputs));
13871 }
13872 goto LA12_;
13873 LA32_: ;
13874 LA12_: ;
13875 }
13876 goto LA5_;
13877 LA10_: ;
13878 LA5_: ;
13879 (*c).compilesContextId -= ((NI) 1);
13880 {
13881 NIM_BOOL T42_;
13882 NI T43_;
13883 T42_ = (NIM_BOOL)0;
13884 T43_ = (outputs ? outputs->Sup.len : 0);
13885 T42_ = (((NI) 0) < T43_);
13886 if (!(T42_)) goto LA44_;
13887 T42_ = ((14 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
13888 LA44_: ;
13889 if (!T42_) goto LA45_;
13890 produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
13891 suggestQuit__msgs_446();
13892 }
13893 LA45_: ;
13894 }BeforeRet_: ;
13895 }
N_NIMCALL(void,suggestExpr__sigmatch_6536)13896 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13897 {
13898 NIM_BOOL T3_;
13899 T3_ = (NIM_BOOL)0;
13900 T3_ = exactEquals__msgs_997((*(*(*c).graph).config).m.trackPos, (*n).info);
13901 if (!T3_) goto LA4_;
13902 suggestExprNoCheck__sigmatch_6450(c, n);
13903 }
13904 LA4_: ;
13905 }
N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg,inCheckpoint__sigmatch_5312)13906 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos) {
13907 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg result;
13908 { result = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0;
13909 {
13910 if (!(current.fileIndex == trackPos.fileIndex)) goto LA3_;
13911 {
13912 NIM_BOOL T7_;
13913 T7_ = (NIM_BOOL)0;
13914 T7_ = (current.line == trackPos.line);
13915 if (!(T7_)) goto LA8_;
13916 T7_ = (((NI16)(current.col - trackPos.col) > 0? ((NI16)(current.col - trackPos.col)) : -((NI16)(current.col - trackPos.col))) < ((NI16) 4));
13917 LA8_: ;
13918 if (!T7_) goto LA9_;
13919 result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 2);
13920 goto BeforeRet_;
13921 }
13922 LA9_: ;
13923 {
13924 if (!((NU16)(trackPos.line) <= (NU16)(current.line))) goto LA13_;
13925 result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 1);
13926 goto BeforeRet_;
13927 }
13928 LA13_: ;
13929 }
13930 LA3_: ;
13931 }BeforeRet_: ;
13932 return result;
13933 }
N_NIMCALL(void,semFinishOperands__sigmatch_4162)13934 N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13935 {
13936 NI i;
13937 NI colontmp_;
13938 NI i_2;
13939 i = (NI)0;
13940 colontmp_ = (NI)0;
13941 colontmp_ = len__ast_3198(n);
13942 i_2 = ((NI) 1);
13943 {
13944 while (1) {
13945 if (!(i_2 < colontmp_)) goto LA3;
13946 i = i_2;
13947 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[i]));
13948 i_2 += ((NI) 1);
13949 } LA3: ;
13950 }
13951 }
13952 }
N_NIMCALL(void,Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)13953 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op) {
13954 tySequence__0dpGN6F4ocevqUQGsaf41w* a;
13955 NI T1_;
13956 a = (tySequence__0dpGN6F4ocevqUQGsaf41w*)p;
13957 T1_ = (NI)0;
13958 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
13959 nimGCvisit((void*)a->data[T1_].sym, op);
13960 nimGCvisit((void*)a->data[T1_].firstMismatch.formal, op);
13961 nimGCvisit((void*)a->data[T1_].diagnostics, op);
13962 }
13963 }
N_NIMCALL(NimStringDesc *,argTypeToString__sigmatch_362)13964 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
13965 NimStringDesc* result;
13966 result = NIM_NIL;
13967 {
13968 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_;
13969 result = typeToString__types_50((*(*arg)._kind_6.sons->data[((NI) 0)]).typ, prefer);
13970 {
13971 NI i;
13972 NI colontmp_;
13973 NI i_2;
13974 i = (NI)0;
13975 colontmp_ = (NI)0;
13976 colontmp_ = len__ast_3198(arg);
13977 i_2 = ((NI) 1);
13978 {
13979 while (1) {
13980 NimStringDesc* T8_;
13981 if (!(i_2 < colontmp_)) goto LA7;
13982 i = i_2;
13983 result = resizeString(result, 3);
13984 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_96));
13985 T8_ = NIM_NIL;
13986 T8_ = typeToString__types_50((*(*arg)._kind_6.sons->data[i]).typ, prefer);
13987 result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
13988 appendString(result, T8_);
13989 i_2 += ((NI) 1);
13990 } LA7: ;
13991 }
13992 }
13993 }
13994 goto LA1_;
13995 LA3_: ;
13996 {
13997 if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA10_;
13998 result = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_97));
13999 }
14000 goto LA1_;
14001 LA10_: ;
14002 {
14003 result = typeToString__types_50((*arg).typ, prefer);
14004 }
14005 LA1_: ;
14006 return result;
14007 }
N_NIMCALL(NimStringDesc *,describeArgs__sigmatch_384)14008 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
14009 NimStringDesc* result;
14010 { result = NIM_NIL;
14011 result = ((NimStringDesc*) NIM_NIL);
14012 {
14013 NI i;
14014 NI colontmp_;
14015 NI i_2;
14016 i = (NI)0;
14017 colontmp_ = (NI)0;
14018 colontmp_ = len__ast_3198(n);
14019 i_2 = startIdx;
14020 {
14021 while (1) {
14022 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
14023 NimStringDesc* T28_;
14024 if (!(i_2 < colontmp_)) goto LA3;
14025 i = i_2;
14026 arg = (*n)._kind_6.sons->data[i];
14027 {
14028 NimStringDesc* T8_;
14029 if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA6_;
14030 T8_ = NIM_NIL;
14031 T8_ = renderTree__renderer_46((*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], 0);
14032 result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
14033 appendString(result, T8_);
14034 result = resizeString(result, 2);
14035 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_95));
14036 {
14037 NIM_BOOL T11_;
14038 T11_ = (NIM_BOOL)0;
14039 T11_ = ((*arg).typ == 0);
14040 if (!(T11_)) goto LA12_;
14041 T11_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
14042 LA12_: ;
14043 if (!T11_) goto LA13_;
14044 arg = (*c).semOperand(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0);
14045 asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*arg).typ);
14046 asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), arg);
14047 }
14048 LA13_: ;
14049 }
14050 goto LA4_;
14051 LA6_: ;
14052 {
14053 {
14054 NIM_BOOL T18_;
14055 T18_ = (NIM_BOOL)0;
14056 T18_ = ((*arg).typ == 0);
14057 if (!(T18_)) goto LA19_;
14058 T18_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87)));
14059 LA19_: ;
14060 if (!T18_) goto LA20_;
14061 arg = (*c).semOperand(c, (*n)._kind_6.sons->data[i], 0);
14062 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), arg);
14063 }
14064 LA20_: ;
14065 }
14066 LA4_: ;
14067 {
14068 NIM_BOOL T24_;
14069 T24_ = (NIM_BOOL)0;
14070 T24_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14071 if (!(T24_)) goto LA25_;
14072 T24_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
14073 LA25_: ;
14074 if (!T24_) goto LA26_;
14075 goto BeforeRet_;
14076 }
14077 LA26_: ;
14078 T28_ = NIM_NIL;
14079 T28_ = argTypeToString__sigmatch_362(arg, prefer);
14080 result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
14081 appendString(result, T28_);
14082 {
14083 NI T31_;
14084 T31_ = (NI)0;
14085 T31_ = len__ast_3198(n);
14086 if (!!((i == (NI)(T31_ - ((NI) 1))))) goto LA32_;
14087 result = resizeString(result, 2);
14088 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
14089 }
14090 LA32_: ;
14091 i_2 += ((NI) 1);
14092 } LA3: ;
14093 }
14094 }
14095 }BeforeRet_: ;
14096 return result;
14097 }
N_NIMCALL(void,matches__sigmatch_4181)14098 N_LIB_PRIVATE N_NIMCALL(void, matches__sigmatch_4181)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m) {
14099 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
14100 { {
14101 if (!((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA3_;
14102 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
14103 unsureAsgnRef((void**) (&(*m).call), n);
14104 goto BeforeRet_;
14105 }
14106 LA3_: ;
14107 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
14108 initIntSet__pureZcollectionsZintsets_238((&marker));
14109 matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
14110 {
14111 if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA7_;
14112 goto BeforeRet_;
14113 }
14114 LA7_: ;
14115 {
14116 NI f;
14117 NI colontmp_;
14118 NI i;
14119 f = (NI)0;
14120 colontmp_ = (NI)0;
14121 colontmp_ = len__ast_3198((*(*m).callee).n);
14122 i = ((NI) 1);
14123 {
14124 while (1) {
14125 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
14126 if (!(i < colontmp_)) goto LA11;
14127 f = i;
14128 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
14129 {
14130 NIM_BOOL T14_;
14131 T14_ = (NIM_BOOL)0;
14132 T14_ = containsOrIncl__astalgo_402((&marker), (*formal).position);
14133 if (!!(T14_)) goto LA15_;
14134 {
14135 if (!((*formal).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA19_;
14136 {
14137 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw cnKind;
14138 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
14139 tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
14140 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
14141 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA23_;
14142 {
14143 NIM_BOOL T27_;
14144 T27_ = (NIM_BOOL)0;
14145 T27_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
14146 if (!(T27_)) goto LA28_;
14147 T27_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
14148 LA28_: ;
14149 if (!T27_) goto LA29_;
14150 cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152);
14151 }
14152 goto LA25_;
14153 LA29_: ;
14154 {
14155 cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41);
14156 }
14157 LA25_: ;
14158 T32_ = NIM_NIL;
14159 T32_ = arrayConstr__sigmatch_3725(c, (*n).info);
14160 container = newNodeIT__ast_3378(cnKind, (*n).info, T32_);
14161 T33_ = NIM_NIL;
14162 T33_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
14163 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T33_);
14164 }
14165 goto LA21_;
14166 LA23_: ;
14167 {
14168 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
14169 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5);
14170 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
14171 goto LA9;
14172 }
14173 LA21_: ;
14174 }
14175 goto LA17_;
14176 LA19_: ;
14177 {
14178 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
14179 {
14180 NimStringDesc* T40_;
14181 if (!((*(*formal).ast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
14182 T40_ = NIM_NIL;
14183 T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_98), (*(*formal).name).s);
14184 liMessage__msgs_1118((*(*c).graph).config, (*(*m).call).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_99, NIM_FALSE);
14185 }
14186 LA38_: ;
14187 {
14188 if (!(((*(*formal).ast).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA43_;
14189 (*(*m).call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
14190 }
14191 LA43_: ;
14192 defaultValue = copyTree__ast_4431((*formal).ast);
14193 {
14194 if (!((*defaultValue).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA47_;
14195 defaultValue = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, defaultValue, (&(*m)), c);
14196 }
14197 LA47_: ;
14198 {
14199 tyObject_TType__facALICuu8zUj0hjvbTLFg* existing;
14200 RootObj* T53_;
14201 if (!!(((100663296 & (*(*formal).typ).flags) == 0))) goto LA51_;
14202 T53_ = NIM_NIL;
14203 T53_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*formal).typ)))));
14204 existing = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T53_));
14205 {
14206 NIM_BOOL T56_;
14207 T56_ = (NIM_BOOL)0;
14208 T56_ = (existing == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
14209 if (T56_) goto LA57_;
14210 T56_ = ((*existing).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
14211 LA57_: ;
14212 if (!T56_) goto LA58_;
14213 put__sigmatch_120(m, (*formal).typ, (*defaultValue).typ);
14214 }
14215 LA58_: ;
14216 }
14217 LA51_: ;
14218 (*defaultValue).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18)) & 31);
14219 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), defaultValue);
14220 }
14221 LA17_: ;
14222 }
14223 LA15_: ;
14224 i += ((NI) 1);
14225 } LA11: ;
14226 }
14227 } LA9: ;
14228 {
14229 if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA62_;
14230 {
14231 tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
14232 NI i_2;
14233 NI L;
14234 NI T65_;
14235 t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
14236 i_2 = ((NI) 0);
14237 T65_ = ((*m).inferredTypes ? (*m).inferredTypes->Sup.len : 0);
14238 L = T65_;
14239 {
14240 while (1) {
14241 if (!(i_2 < L)) goto LA67;
14242 t = &(*m).inferredTypes->data[i_2];
14243 {
14244 NI T70_;
14245 T70_ = (NI)0;
14246 T70_ = len__ast_4002((*t));
14247 if (!(((NI) 1) < T70_)) goto LA71_;
14248 asgnRef((void**) (&(*(*t)).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*(*t)).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) 1)));
14249 }
14250 LA71_: ;
14251 i_2 += ((NI) 1);
14252 } LA67: ;
14253 }
14254 }
14255 }
14256 LA62_: ;
14257 }BeforeRet_: ;
14258 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,cmpTypes__sigmatch_3047)14259 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
14260 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
14261 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14262 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14263 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14264 newCandidate__sigmatch_195(c, f, (&m));
14265 result = typeRel__sigmatch_202((&m), f, a, 0);
14266 return result;
14267 }
N_NIMCALL(void,suggestStmt__sigmatch_6552)14268 N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14269 suggestExpr__sigmatch_6536(c, n);
14270 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instTypeBoundOp__sigmatch_4327)14271 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instTypeBoundOp__sigmatch_4327)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col) {
14272 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
14273 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14274 tyObject_TType__facALICuu8zUj0hjvbTLFg* f;
14275 { result = NIM_NIL;
14276 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14277 newCandidate__sigmatch_195(c, (*dc).typ, (&m));
14278 {
14279 NI T3_;
14280 NimStringDesc* T6_;
14281 T3_ = (NI)0;
14282 T3_ = len__ast_4002((*dc).typ);
14283 if (!(T3_ <= col)) goto LA4_;
14284 T6_ = NIM_NIL;
14285 T6_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14286 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14287 appendString(T6_, (*(*dc).name).s);
14288 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14289 liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_101, NIM_FALSE);
14290 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
14291 goto BeforeRet_;
14292 }
14293 LA4_: ;
14294 f = (*(*dc).typ).sons->data[col];
14295 {
14296 if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA9_;
14297 {
14298 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA13_;
14299 f = lastSon__ast_3743(f);
14300 }
14301 LA13_: ;
14302 }
14303 goto LA7_;
14304 LA9_: ;
14305 {
14306 {
14307 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA18_;
14308 f = lastSon__ast_3743(f);
14309 }
14310 LA18_: ;
14311 }
14312 LA7_: ;
14313 {
14314 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T22_;
14315 NimStringDesc* T25_;
14316 T22_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14317 T22_ = typeRel__sigmatch_202((&m), f, t, 0);
14318 if (!(T22_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA23_;
14319 T25_ = NIM_NIL;
14320 T25_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14321 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14322 appendString(T25_, (*(*dc).name).s);
14323 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14324 liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_102, NIM_FALSE);
14325 }
14326 goto LA20_;
14327 LA23_: ;
14328 {
14329 result = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, dc, m.bindings, info, (*c).semGenerateInstance.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_103)((*c).semGenerateInstance.ClP_0))(c, dc, m.bindings, info);
14330 {
14331 if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA29_;
14332 }
14333 LA29_: ;
14334 }
14335 LA20_: ;
14336 }BeforeRet_: ;
14337 return result;
14338 }
N_NIMCALL(void,suggestSentinel__sigmatch_6567)14339 N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
14340 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
14341 { {
14342 NIM_BOOL T3_;
14343 T3_ = (NIM_BOOL)0;
14344 T3_ = !(((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1)));
14345 if (T3_) goto LA4_;
14346 T3_ = !(((*(*c).module).position == ((NI) ((*(*(*c).graph).config).m.trackPos.fileIndex))));
14347 LA4_: ;
14348 if (!T3_) goto LA5_;
14349 goto BeforeRet_;
14350 }
14351 LA5_: ;
14352 {
14353 if (!(((NI) 0) < (*c).compilesContextId)) goto LA9_;
14354 goto BeforeRet_;
14355 }
14356 LA9_: ;
14357 (*c).compilesContextId += ((NI) 1);
14358 outputs = NIM_NIL;
14359 {
14360 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
14361 NI scopeN;
14362 NIM_BOOL isLocal;
14363 NIM_BOOL isLocal_2;
14364 NI scopeN_2;
14365 it = NIM_NIL;
14366 scopeN = (NI)0;
14367 isLocal = (NIM_BOOL)0;
14368 isLocal_2 = NIM_TRUE;
14369 scopeN_2 = ((NI) 0);
14370 {
14371 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
14372 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
14373 scope = NIM_NIL;
14374 current = (*c).currentScope;
14375 {
14376 while (1) {
14377 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA14;
14378 scope = current;
14379 {
14380 if (!(scope == (*c).topLevelScope)) goto LA17_;
14381 isLocal_2 = NIM_FALSE;
14382 }
14383 LA17_: ;
14384 scopeN_2 -= ((NI) 1);
14385 {
14386 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
14387 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
14388 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
14389 item = NIM_NIL;
14390 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
14391 s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
14392 {
14393 while (1) {
14394 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
14395 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
14396 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21;
14397 item = s;
14398 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14399 colontmp_.Field0 = item;
14400 colontmp_.Field1 = scopeN_2;
14401 colontmp_.Field2 = isLocal_2;
14402 it = colontmp_.Field0;
14403 scopeN = colontmp_.Field1;
14404 isLocal = colontmp_.Field2;
14405 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14406 {
14407 NIM_BOOL T24_;
14408 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T27_;
14409 NI T28_;
14410 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T29_;
14411 NI T30_;
14412 T24_ = (NIM_BOOL)0;
14413 T24_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
14414 if (!T24_) goto LA25_;
14415 T27_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14416 T28_ = (NI)0;
14417 T28_ = getQuality__sigmatch_5002(it);
14418 T29_ = NIM_NIL;
14419 T29_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T27_, T28_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14420 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14421 T30_ = outputs->Sup.len++;
14422 asgnRef((void**) (&outputs->data[T30_]), T29_);
14423 }
14424 LA25_: ;
14425 s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
14426 } LA21: ;
14427 }
14428 }
14429 current = (*current).parent;
14430 } LA14: ;
14431 }
14432 }
14433 scopeN_2 -= ((NI) 1);
14434 isLocal_2 = NIM_FALSE;
14435 {
14436 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
14437 NI i;
14438 NI L;
14439 NI T32_;
14440 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
14441 i = ((NI) 0);
14442 T32_ = ((*c).imports ? (*c).imports->Sup.len : 0);
14443 L = T32_;
14444 {
14445 while (1) {
14446 if (!(i < L)) goto LA34;
14447 im = (&(*c).imports->data[i]);
14448 {
14449 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
14450 NIM_BOOL importHidden;
14451 s_2 = NIM_NIL;
14452 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
14453 {
14454 NIM_BOOL T38_;
14455 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
14456 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
14457 T38_ = (NIM_BOOL)0;
14458 T38_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
14459 if (!T38_) goto LA39_;
14460 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
14461 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
14462 {
14463 while (1) {
14464 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
14465 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
14466 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA42;
14467 s_2 = r;
14468 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14469 colontmp__2.Field0 = s_2;
14470 colontmp__2.Field1 = scopeN_2;
14471 colontmp__2.Field2 = isLocal_2;
14472 it = colontmp__2.Field0;
14473 scopeN = colontmp__2.Field1;
14474 isLocal = colontmp__2.Field2;
14475 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14476 {
14477 NIM_BOOL T45_;
14478 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T48_;
14479 NI T49_;
14480 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T50_;
14481 NI T51_;
14482 T45_ = (NIM_BOOL)0;
14483 T45_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
14484 if (!T45_) goto LA46_;
14485 T48_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14486 T49_ = (NI)0;
14487 T49_ = getQuality__sigmatch_5002(it);
14488 T50_ = NIM_NIL;
14489 T50_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T48_, T49_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14490 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14491 T51_ = outputs->Sup.len++;
14492 asgnRef((void**) (&outputs->data[T51_]), T50_);
14493 }
14494 LA46_: ;
14495 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
14496 } LA42: ;
14497 }
14498 }
14499 goto LA36_;
14500 LA39_: ;
14501 {
14502 {
14503 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
14504 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
14505 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
14506 NI i_2;
14507 NI L_2;
14508 NI T58_;
14509 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
14510 colontmp__3 = NIM_NIL;
14511 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
14512 {
14513 if (!importHidden) goto LA56_;
14514 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
14515 }
14516 LA56_: ;
14517 colontmp__3 = (*retX60gensym17_).data;
14518 i_2 = ((NI) 0);
14519 T58_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
14520 L_2 = T58_;
14521 {
14522 while (1) {
14523 if (!(i_2 < L_2)) goto LA60;
14524 s_3 = &colontmp__3->data[i_2];
14525 {
14526 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
14527 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
14528 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_;
14529 s_2 = (*s_3);
14530 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14531 colontmp__4.Field0 = s_2;
14532 colontmp__4.Field1 = scopeN_2;
14533 colontmp__4.Field2 = isLocal_2;
14534 it = colontmp__4.Field0;
14535 scopeN = colontmp__4.Field1;
14536 isLocal = colontmp__4.Field2;
14537 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14538 {
14539 NIM_BOOL T67_;
14540 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T70_;
14541 NI T71_;
14542 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T72_;
14543 NI T73_;
14544 T67_ = (NIM_BOOL)0;
14545 T67_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
14546 if (!T67_) goto LA68_;
14547 T70_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14548 T71_ = (NI)0;
14549 T71_ = getQuality__sigmatch_5002(it);
14550 T72_ = NIM_NIL;
14551 T72_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T70_, T71_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14552 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14553 T73_ = outputs->Sup.len++;
14554 asgnRef((void**) (&outputs->data[T73_]), T72_);
14555 }
14556 LA68_: ;
14557 }
14558 LA63_: ;
14559 i_2 += ((NI) 1);
14560 } LA60: ;
14561 }
14562 }
14563 }
14564 LA36_: ;
14565 }
14566 i += ((NI) 1);
14567 } LA34: ;
14568 }
14569 }
14570 }
14571 (*c).compilesContextId -= ((NI) 1);
14572 produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
14573 }BeforeRet_: ;
14574 }
N_NIMCALL(void,compiler_sigmatchDatInit000)14575 N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void) {
14576 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[2];
14577 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[5];
14578 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[2];
14579 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[24];
14580 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[3];
14581 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14582 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[3] = {
14583 "csEmpty",
14584 "csMatch",
14585 "csNoMatch"};
14586 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[3];
14587 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[8];
14588 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14589 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[8] = {
14590 "kUnknown",
14591 "kAlreadyGiven",
14592 "kUnknownNamedParam",
14593 "kTypeMismatch",
14594 "kVarNeeded",
14595 "kMissingParam",
14596 "kExtraArg",
14597 "kPositionalAlreadyGiven"};
14598 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[4];
14599 static TNimNode TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[59];
14600 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14601 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14602 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.kind = 17;
14603 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14604 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1];
14605 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].kind = 1;
14606 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, colonstate_);
14607 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14608 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].name = ":state";
14609 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2];
14610 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].kind = 1;
14611 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, line1);
14612 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14613 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].name = "line1";
14614 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0];
14615 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0];
14616 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14617 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14618 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.kind = 22;
14619 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.base = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
14620 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.marker = Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA;
14621 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14622 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14623 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.kind = 17;
14624 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14625 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4];
14626 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].kind = 1;
14627 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, colonstate_);
14628 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14629 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].name = ":state";
14630 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5];
14631 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].kind = 1;
14632 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, errorPrefix1);
14633 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14634 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].name = "errorPrefix1";
14635 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6];
14636 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].kind = 1;
14637 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, typeClass2);
14638 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14639 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].name = "typeClass2";
14640 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7];
14641 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].kind = 1;
14642 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, oldWriteHook3);
14643 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].typ = (&NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_);
14644 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].name = "oldWriteHook3";
14645 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8];
14646 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].kind = 1;
14647 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, diagnostics4);
14648 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14649 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].name = "diagnostics4";
14650 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].len = 5; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0];
14651 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3];
14652 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14653 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14654 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.kind = 22;
14655 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.base = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
14656 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.marker = Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg;
14657 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.size = sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14658 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.align = NIM_ALIGNOF(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14659 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.kind = 18;
14660 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.base = 0;
14661 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10];
14662 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].kind = 1;
14663 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field0);
14664 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14665 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].name = "Field0";
14666 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11];
14667 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].kind = 1;
14668 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field1);
14669 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14670 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].name = "Field1";
14671 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0];
14672 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9];
14673 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.size = sizeof(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14674 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.align = NIM_ALIGNOF(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14675 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.kind = 24;
14676 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.base = (&NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_);
14677 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.marker = Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ;
14678 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.size = sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14679 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.align = NIM_ALIGNOF(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14680 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.kind = 18;
14681 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.base = 0;
14682 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13];
14683 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].kind = 1;
14684 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, c);
14685 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
14686 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].name = "c";
14687 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14];
14688 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].kind = 1;
14689 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, exactMatches);
14690 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14691 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].name = "exactMatches";
14692 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15];
14693 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].kind = 1;
14694 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericMatches);
14695 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14696 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].name = "genericMatches";
14697 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16];
14698 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].kind = 1;
14699 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, subtypeMatches);
14700 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14701 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].name = "subtypeMatches";
14702 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17];
14703 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].kind = 1;
14704 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, intConvMatches);
14705 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14706 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].name = "intConvMatches";
14707 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[5] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18];
14708 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].kind = 1;
14709 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, convMatches);
14710 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14711 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].name = "convMatches";
14712 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[6] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19];
14713 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.size = sizeof(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14714 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.align = NIM_ALIGNOF(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14715 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.kind = 14;
14716 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.base = 0;
14717 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.flags = 3;
14718 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 < 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71++) {
14719 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].kind = 1;
14720 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14721 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71];
14722 TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20];
14723 }
14724 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[0];
14725 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23];
14726 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].kind = 1;
14727 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, state);
14728 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].typ = (&NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_);
14729 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].name = "state";
14730 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[7] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24];
14731 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].kind = 1;
14732 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, callee);
14733 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14734 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].name = "callee";
14735 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[8] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25];
14736 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].kind = 1;
14737 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeSym);
14738 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14739 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].name = "calleeSym";
14740 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[9] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26];
14741 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].kind = 1;
14742 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeScope);
14743 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14744 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].name = "calleeScope";
14745 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[10] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27];
14746 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].kind = 1;
14747 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, call);
14748 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
14749 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].name = "call";
14750 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[11] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28];
14751 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].kind = 1;
14752 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, bindings);
14753 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_);
14754 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].name = "bindings";
14755 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[12] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29];
14756 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].kind = 1;
14757 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, magic);
14758 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].typ = (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_);
14759 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].name = "magic";
14760 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[13] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30];
14761 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].kind = 1;
14762 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, baseTypeMatch);
14763 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14764 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].name = "baseTypeMatch";
14765 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[14] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31];
14766 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].kind = 1;
14767 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, fauxMatch);
14768 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].typ = (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_);
14769 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].name = "fauxMatch";
14770 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[15] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32];
14771 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].kind = 1;
14772 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericConverter);
14773 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14774 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].name = "genericConverter";
14775 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[16] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33];
14776 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].kind = 1;
14777 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, coerceDistincts);
14778 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14779 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].name = "coerceDistincts";
14780 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[17] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34];
14781 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].kind = 1;
14782 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, typedescMatched);
14783 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14784 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].name = "typedescMatched";
14785 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[18] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35];
14786 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].kind = 1;
14787 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, isNoCall);
14788 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14789 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].name = "isNoCall";
14790 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[19] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36];
14791 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].kind = 1;
14792 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inferredTypes);
14793 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].typ = (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_);
14794 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].name = "inferredTypes";
14795 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[20] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37];
14796 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].kind = 1;
14797 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnostics);
14798 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14799 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].name = "diagnostics";
14800 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[21] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38];
14801 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].kind = 1;
14802 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inheritancePenalty);
14803 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14804 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].name = "inheritancePenalty";
14805 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[22] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39];
14806 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.size = sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14807 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.align = NIM_ALIGNOF(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14808 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.kind = 18;
14809 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.base = 0;
14810 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41];
14811 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.size = sizeof(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14812 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.align = NIM_ALIGNOF(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14813 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.kind = 14;
14814 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.base = 0;
14815 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.flags = 3;
14816 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 < 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75++) {
14817 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].kind = 1;
14818 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14819 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75];
14820 TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42];
14821 }
14822 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].len = 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[0];
14823 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50];
14824 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].kind = 1;
14825 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, kind);
14826 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].typ = (&NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_);
14827 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].name = "kind";
14828 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51];
14829 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].kind = 1;
14830 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, arg);
14831 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14832 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].name = "arg";
14833 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52];
14834 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].kind = 1;
14835 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, formal);
14836 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14837 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].name = "formal";
14838 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0];
14839 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40];
14840 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].kind = 1;
14841 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, firstMismatch);
14842 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14843 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].name = "firstMismatch";
14844 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[23] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53];
14845 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].kind = 1;
14846 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnosticsEnabled);
14847 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14848 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].name = "diagnosticsEnabled";
14849 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].len = 24; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0];
14850 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12];
14851 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.size = sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14852 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.align = NIM_ALIGNOF(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14853 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.kind = 18;
14854 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.base = 0;
14855 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55];
14856 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].kind = 1;
14857 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, sym);
14858 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14859 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].name = "sym";
14860 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56];
14861 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].kind = 1;
14862 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, firstMismatch);
14863 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14864 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].name = "firstMismatch";
14865 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57];
14866 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].kind = 1;
14867 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, diagnostics);
14868 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14869 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].name = "diagnostics";
14870 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58];
14871 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].kind = 1;
14872 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, enabled);
14873 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14874 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].name = "enabled";
14875 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].len = 4; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0];
14876 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54];
14877 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.size = sizeof(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14878 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.align = NIM_ALIGNOF(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14879 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.kind = 24;
14880 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.base = (&NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_);
14881 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.marker = Marker_tySequence__0dpGN6F4ocevqUQGsaf41w;
14882 }
14883
14884