1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
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_5309)(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_5271)(void* usr);
1714 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1715 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1716 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1717 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1718 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(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_7329)(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_2096)(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_1470)(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_1445)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1820 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1588)(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_1661)(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_1824)(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_2047)(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_2092)(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_3695)(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_3425)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
1859 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2219)(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_3626)(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_3360)(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(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
1923 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
1924 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key);
1925 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc);
1926 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x);
1927 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val);
1928 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h);
1929 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
1930 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y);
1931 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
1932 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i);
1933 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
1934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1935 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1936 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);
1937 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1938 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1939 N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src);
1940 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
1941 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1942 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
1943 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
1944 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1945 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item);
1946 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item);
1947 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1948 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1949 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1950 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);
1951 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);
1952 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);
1953 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, originatingModule__ast_4669)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1954 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipGenericOwner__ast_4658)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1955 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);
1956 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1957 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
1958 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);
1959 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1960 N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_903)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1961 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1962 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1963 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1964 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1965 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);
1966 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1967 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1968 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1969 N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_907)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1970 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getNamedParamFromList__astalgo_293)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
1971 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
1972 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1973 N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1974 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1975 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1976 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1977 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1978 N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_905)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1979 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs);
1980 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1981 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1982 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len);
1983 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);
1984 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
1985 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b);
1986 N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y);
1987 N_LIB_PRIVATE N_NIMCALL(void, suggestWriteln__msgs_421)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s);
1988 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest);
1989 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4697)(tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ c);
1990 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
1991 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
1992 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
1993 N_LIB_PRIVATE N_NIMCALL(void, suggestQuit__msgs_446)(void);
1994 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op);
1995 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1996 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1997 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1998 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1999 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col);
2000 extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_;
2001 extern TNimType NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_;
2002 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
2003 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_3 = {
2004 0x00, 0x00, 0x00, 0x00, 0x72, 0xed, 0x00, 0xf4,
2005 0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
2006 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2008 ;
2009 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
2010 N_LIB_PRIVATE TNimType NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_;
2011 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
2012 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
2013 N_LIB_PRIVATE TNimType NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_;
2014 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_8 = {
2015 0x00, 0x00, 0x00, 0x00, 0x72, 0xef, 0x00, 0xf4,
2016 0x01, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78,
2017 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2019 ;
2020 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_9, "=", 1);
2021 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_10 = {
2022 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
2023 0x00}
2024 ;
2025 extern TNimType NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_;
2026 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_11 = {
2027 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
2028 0x00}
2029 ;
2030 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_12 = {
2031 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
2032 0x00}
2033 ;
2034 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_13 = {
2035 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2036 0x00}
2037 ;
2038 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
2039 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_14 = {
2040 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2041 0x00}
2042 ;
2043 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_15 = {
2044 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x10,
2045 0x00}
2046 ;
2047 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_16 = {
2048 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
2049 0x00}
2050 ;
2051 extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__ast_355;
2052 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_17, "unknown", 7);
2053 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_18, "cannot infer the value of the static param \'", 44);
2054 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_19, "\'", 1);
2055 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_21, "/home/runner/work/nightlies/nightlies/nim/compiler/sigmatch.nim", 63);
2056 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_20 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2057 ((NI) 886),
2058 ((NI) 12)}
2059 ;
2060 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_22 = {
2061 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
2062 0x00}
2063 ;
2064 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_23 = {
2065 0x00, 0x08, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00,
2066 0x00}
2067 ;
2068 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_24 = {
2069 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2070 0x00}
2071 ;
2072 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_25 = {
2073 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2074 0x00}
2075 ;
2076 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
2077 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_26, "wrong instantiated type!", 24);
2078 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_27 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2079 ((NI) 1511),
2080 ((NI) 23)}
2081 ;
2082 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_28 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2083 ((NI) 1545),
2084 ((NI) 25)}
2085 ;
2086 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_29 = {
2087 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
2088 0x00}
2089 ;
2090 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_30 = {
2091 0x10, 0x08, 0x10, 0x00, 0x00, 0x60, 0x08, 0x00,
2092 0x00}
2093 ;
2094 N_LIB_PRIVATE TNimType NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_;
2095 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
2096 extern TNimType NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_;
2097 N_LIB_PRIVATE TNimType NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_;
2098 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_32 = {
2099 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
2100 0x00}
2101 ;
2102 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_33, " too nested for type matching", 29);
2103 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_34 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2104 ((NI) 670),
2105 ((NI) 16)}
2106 ;
2107 N_LIB_PRIVATE TNimType NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_;
2108 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
2109 N_LIB_PRIVATE TNimType NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_;
2110 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_37, ":", 1);
2111 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_38, "Error:", 6);
2112 static NIM_CONST tyProc__k2HFjxisIgDALbEUFojxaQ TM__EV5hHJmjIY9cla9b9be7fSVJQ_39 = {NIM_NIL,NIM_NIL};
2113 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_41, "(", 1);
2114 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_42, ", ", 2);
2115 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_43, ")", 1);
2116 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_44 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2117 ((NI) 1677),
2118 ((NI) 27)}
2119 ;
2120 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_45, " unknown type kind ", 19);
2121 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
2122 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_46 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2123 ((NI) 1838),
2124 ((NI) 18)}
2125 ;
2126 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_49, "getInstantiatedType", 19);
2127 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_50 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2128 ((NI) 1865),
2129 ((NI) 17)}
2130 ;
2131 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_51 = {
2132 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
2133 0x00}
2134 ;
2135 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_52, "implicitConv", 12);
2136 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_53 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2137 ((NI) 1878),
2138 ((NI) 37)}
2139 ;
2140 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_56 = {
2141 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
2142 0x00}
2143 ;
2144 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_57, "suggest.nim(538, 12) `result == nil or result.kind == nkPragma` ", 64);
2145 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_58, "enum \'", 6);
2146 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_59, "\' which contains field \'", 24);
2147 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_60, "; ", 2);
2148 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_61, " is deprecated", 14);
2149 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_63, "/home/runner/work/nightlies/nightlies/nim/compiler/suggest.nim", 62);
2150 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_62 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2151 ((NI) 550),
2152 ((NI) 15)}
2153 ;
2154 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_64 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2155 ((NI) 552),
2156 ((NI) 9)}
2157 ;
2158 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_65, "$1usage of \'$2\' is an {.error.} defined at $3", 45);
2159 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_66 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2160 ((NI) 563),
2161 ((NI) 12)}
2162 ;
2163 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_67 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63),
2164 ((NI) 565),
2165 ((NI) 6)}
2166 ;
2167 extern TNimType NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_;
2168 N_LIB_PRIVATE TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_;
2169 extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_;
2170 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
2171 N_LIB_PRIVATE TNimType NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_;
2172 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
2173 extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_;
2174 extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_;
2175 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
2176 N_LIB_PRIVATE TNimType NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_;
2177 N_LIB_PRIVATE TNimType NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_;
2178 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_76, "x.state is not csMatch", 22);
2179 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_77 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2180 ((NI) 2237),
2181 ((NI) 21)}
2182 ;
2183 static NIM_CONST tyArray__HU7qaqKu9czJLT84iCBJnsA TM__EV5hHJmjIY9cla9b9be7fSVJQ_78 = {((NI) 0),
2184 ((NI) 256)}
2185 ;
2186 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_79, "sigmatch.nim(2377, 18) `n[a][0].kind == nkEmpty and n[a][1].kind in {nkBracket, nkArgList}` ", 92);
2187 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
2188 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_80, "named parameter has to be an identifier", 39);
2189 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_81 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2190 ((NI) 2394),
2191 ((NI) 18)}
2192 ;
2193 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_82 = {
2194 0x00, 0x88, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
2195 0x00}
2196 ;
2197 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_83, "matches", 7);
2198 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_84 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2199 ((NI) 2462),
2200 ((NI) 23)}
2201 ;
2202 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_85, "cannot convert $1 to $2", 23);
2203 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_86 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2204 ((NI) 2514),
2205 ((NI) 22)}
2206 ;
2207 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_91, "skGlobalVar", 11);
2208 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_92, "skGlobalLet", 11);
2209 extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
2210 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_93, ".", 1);
2211 extern TNimType NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_;
2212 N_LIB_PRIVATE TNimType NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_;
2213 N_LIB_PRIVATE TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_;
2214 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_95, ": ", 2);
2215 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_96, " | ", 3);
2216 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_97, "void", 4);
2217 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_98, "The default parameter \'$1\' has incompatible type with the explicitly requested proc instantiation", 97);
2218 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_99 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2219 ((NI) 2576),
2220 ((NI) 20)}
2221 ;
2222 STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_100, "cannot instantiate: \'", 21);
2223 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_101 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2224 ((NI) 2618),
2225 ((NI) 14)}
2226 ;
2227 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_102 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21),
2228 ((NI) 2627),
2229 ((NI) 14)}
2230 ;
2231 extern TSafePoint* excHandler__system_2565;
2232 extern TSafePoint* excHandler__system_2565;
2233 extern TSafePoint* excHandler__system_2565;
2234 extern TSafePoint* excHandler__system_2565;
2235 extern Exception* currException__system_2566;
2236 extern Exception* currException__system_2566;
2237 extern Exception* currException__system_2566;
2238 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
N_INLINE(void,pushSafePoint)2239 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
2240 (*s).prev = excHandler__system_2565;
2241 excHandler__system_2565 = s;
2242 }
N_INLINE(void,popSafePoint)2243 static N_INLINE(void, popSafePoint)(void) {
2244 excHandler__system_2565 = (*excHandler__system_2565).prev;
2245 }
N_INLINE(Exception *,nimBorrowCurrentException)2246 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
2247 Exception* result;
2248 result = NIM_NIL;
2249 result = currException__system_2566;
2250 return result;
2251 }
N_INLINE(NI,pluspercent___system_696)2252 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2253 NI result;
2254 result = (NI)0;
2255 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2256 return result;
2257 }
N_INLINE(void,incRef__system_5309)2258 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2259 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2260 }
N_INLINE(NI,minuspercent___system_716)2261 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2262 NI result;
2263 result = (NI)0;
2264 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2265 return result;
2266 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)2267 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
2268 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2269 NI T1_;
2270 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2271 T1_ = (NI)0;
2272 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2273 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2274 return result;
2275 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2276 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2277 NIM_BOOL result;
2278 result = (NIM_BOOL)0;
2279 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2280 return result;
2281 }
N_INLINE(void,rtlAddZCT__system_5314)2282 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2283 addZCT__system_5265((&gch__system_5218.zct), c);
2284 }
N_INLINE(void,decRef__system_5316)2285 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2286 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2287 {
2288 NIM_BOOL T3_;
2289 T3_ = (NIM_BOOL)0;
2290 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2291 if (!T3_) goto LA4_;
2292 rtlAddZCT__system_5314(c);
2293 }
2294 LA4_: ;
2295 }
N_INLINE(void,asgnRef)2296 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2297 {
2298 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2299 if (!!((src == NIM_NIL))) goto LA3_;
2300 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2301 T5_ = usrToCell__system_5271(src);
2302 incRef__system_5309(T5_);
2303 }
2304 LA3_: ;
2305 {
2306 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2307 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2308 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2309 T10_ = usrToCell__system_5271((*dest));
2310 decRef__system_5316(T10_);
2311 }
2312 LA8_: ;
2313 (*dest) = src;
2314 }
N_INLINE(void,popCurrentException)2315 static N_INLINE(void, popCurrentException)(void) {
2316 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
2317 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,safeSemExpr__sigmatch_6411)2318 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2319 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
2320 TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_2;
2321 result = NIM_NIL;
2322 pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_2);
2323 TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.context);
2324 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status == 0) {
2325 result = (*c).semExpr(c, n, 0);
2326 popSafePoint();
2327 }
2328 else {
2329 popSafePoint();
2330 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
2331 TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = 0;
2332 result = (*(*c).graph).emptyNode;
2333 popCurrentException();
2334 }
2335 }
2336 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status != 0) reraiseException();
2337 return result;
2338 }
N_INLINE(NI,len__ast_3198)2339 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2340 NI result;
2341 NI T1_;
2342 result = (NI)0;
2343 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
2344 result = T1_;
2345 return result;
2346 }
N_INLINE(void,nimSetMem__systemZmemory_7)2347 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
2348 void* T1_;
2349 T1_ = (void*)0;
2350 T1_ = memset(a, v, ((size_t) (size)));
2351 }
N_INLINE(void,nimZeroMem)2352 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
2353 nimSetMem__systemZmemory_7(p, ((int) 0), size);
2354 }
N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q,prefixMatch__sigmatch_4914)2355 N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2356 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q result;
2357 result = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
2358 switch ((*n).kind) {
2359 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
2360 {
2361 result = prefixMatch__prefixmatches_10((*(*n)._kind_5.ident).s, (*(*s).name).s);
2362 }
2363 break;
2364 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
2365 {
2366 result = prefixMatch__prefixmatches_10((*(*(*n)._kind_4.sym).name).s, (*(*s).name).s);
2367 }
2368 break;
2369 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
2370 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
2371 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
2372 {
2373 {
2374 NI T6_;
2375 T6_ = (NI)0;
2376 T6_ = len__ast_3198(n);
2377 if (!(((NI) 0) < T6_)) goto LA7_;
2378 result = prefixMatch__sigmatch_4914(s, (*n)._kind_6.sons->data[((NI) 0)]);
2379 }
2380 LA7_: ;
2381 }
2382 break;
2383 default:
2384 {
2385 }
2386 break;
2387 }
2388 return result;
2389 }
N_INLINE(NIM_BOOL,filterSym__sigmatch_4909)2390 static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
2391 NIM_BOOL result;
2392 result = (NIM_BOOL)0;
2393 {
2394 if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA3_;
2395 {
2396 if (!!((prefix == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
2397 (*res) = prefixMatch__sigmatch_4914(s, prefix);
2398 result = !(((*res) == ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0)));
2399 }
2400 goto LA5_;
2401 LA7_: ;
2402 {
2403 result = NIM_TRUE;
2404 }
2405 LA5_: ;
2406 }
2407 LA3_: ;
2408 return result;
2409 }
N_INLINE(void,nimGCunrefRC1)2410 static N_INLINE(void, nimGCunrefRC1)(void* p) {
2411 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2412 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2413 T1_ = usrToCell__system_5271(p);
2414 decRef__system_5316(T1_);
2415 }
N_INLINE(void,nimGCunrefNoCycle)2416 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
2417 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
2418 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2419 T1_ = usrToCell__system_5271(p);
2420 decRef__system_5316(T1_);
2421 }
N_INLINE(NIM_BOOL,contains__pureZtimes_2283)2422 static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) {
2423 NIM_BOOL result;
2424 NIM_BOOL T1_;
2425 result = (NIM_BOOL)0;
2426 T1_ = (NIM_BOOL)0;
2427 T1_ = (s.a <= value);
2428 if (!(T1_)) goto LA2_;
2429 T1_ = (value <= s.b);
2430 LA2_: ;
2431 result = T1_;
2432 return result;
2433 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)2434 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
2435 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
2436 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2437 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
2438 result.a = a;
2439 result.b = b;
2440 return result;
2441 }
N_INLINE(void,appendChar)2442 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2443 (*dest).data[(*dest).Sup.len] = c;
2444 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2445 (*dest).Sup.len += ((NI) 1);
2446 }
N_INLINE(void,nimCopyMem)2447 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2448 void* T1_;
2449 T1_ = (void*)0;
2450 T1_ = memcpy(dest, source, ((size_t) (size)));
2451 }
N_INLINE(void,copyMem__system_1727)2452 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2453 nimCopyMem(dest, source, size);
2454 }
N_INLINE(void,appendString)2455 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2456 {
2457 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2458 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2459 (*dest).Sup.len += (*src).Sup.len;
2460 }
2461 LA3_: ;
2462 }
N_INLINE(NI,toLinenumber__msgs_609)2463 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2464 NI result;
2465 result = (NI)0;
2466 result = ((NI) (info.line));
2467 return result;
2468 }
N_INLINE(NI,toColumn__msgs_612)2469 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2470 NI result;
2471 result = (NI)0;
2472 result = ((NI) (info.col));
2473 return result;
2474 }
N_NIMCALL(void,Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)2475 static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op) {
2476 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* a;
2477 a = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*)p;
2478 nimGCvisit((void*)(*a).line1, op);
2479 }
N_CLOSURE(NIM_BOOL,isOpeningBacktick__sigmatch_4458)2480 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0) {
2481 NIM_BOOL result;
2482 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenvP_;
2483 result = (NIM_BOOL)0;
2484 colonenvP_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) ClE_0;
2485 {
2486 NIM_BOOL T3_;
2487 T3_ = (NIM_BOOL)0;
2488 T3_ = (((NI) 0) <= col);
2489 if (!(T3_)) goto LA4_;
2490 T3_ = (col < ((*colonenvP_).line1 ? (*colonenvP_).line1->Sup.len : 0));
2491 LA4_: ;
2492 if (!T3_) goto LA5_;
2493 {
2494 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T11_;
2495 NIM_BOOL T12_;
2496 if (!((NU8)((*colonenvP_).line1->data[col]) == (NU8)(96))) goto LA9_;
2497 nimZeroMem((void*)(&T11_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2498 T11_.ClP_0 = isOpeningBacktick__sigmatch_4458; T11_.ClE_0 = colonenvP_;
2499 T12_ = (NIM_BOOL)0;
2500 T12_ = T11_.ClE_0? T11_.ClP_0((NI)(col - ((NI) 1)), T11_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_5)(T11_.ClP_0))((NI)(col - ((NI) 1)));
2501 result = !(T12_);
2502 }
2503 goto LA7_;
2504 LA9_: ;
2505 {
2506 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T14_;
2507 nimZeroMem((void*)(&T14_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2508 T14_.ClP_0 = isOpeningBacktick__sigmatch_4458; T14_.ClE_0 = colonenvP_;
2509 result = T14_.ClE_0? T14_.ClP_0((NI)(col - ((NI) 1)), T14_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_6)(T14_.ClP_0))((NI)(col - ((NI) 1)));
2510 }
2511 LA7_: ;
2512 }
2513 goto LA1_;
2514 LA5_: ;
2515 {
2516 result = NIM_FALSE;
2517 }
2518 LA1_: ;
2519 return result;
2520 }
N_INLINE(NI,skipUntil__pureZparseutils_148)2521 static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start) {
2522 NI result;
2523 result = (NI)0;
2524 result = ((NI) 0);
2525 {
2526 while (1) {
2527 NIM_BOOL T3_;
2528 T3_ = (NIM_BOOL)0;
2529 T3_ = ((NI)(start + result) < (s ? s->Sup.len : 0));
2530 if (!(T3_)) goto LA4_;
2531 T3_ = !(((NU8)(s->data[(NI)(result + start)]) == (NU8)(until)));
2532 LA4_: ;
2533 if (!T3_) goto LA2;
2534 result += ((NI) 1);
2535 } LA2: ;
2536 }
2537 return result;
2538 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_865)2539 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
2540 NimStringDesc* result;
2541 NI a;
2542 NI L;
2543 result = NIM_NIL;
2544 a = x.a;
2545 L = (NI)((NI)(x.b - a) + ((NI) 1));
2546 result = mnewString(((NI) (L)));
2547 {
2548 NI i;
2549 NI i_2;
2550 i = (NI)0;
2551 i_2 = ((NI) 0);
2552 {
2553 while (1) {
2554 if (!(i_2 < L)) goto LA3;
2555 i = i_2;
2556 result->data[i] = s->data[(NI)(i + a)];
2557 i_2 += ((NI) 1);
2558 } LA3: ;
2559 }
2560 }
2561 return result;
2562 }
N_INLINE(NIM_CHAR,X5BX5D___system_7329)2563 static N_INLINE(NIM_CHAR, X5BX5D___system_7329)(NimStringDesc* s, NI i) {
2564 NIM_CHAR result;
2565 result = (NIM_CHAR)0;
2566 result = s->data[(NI)((s ? s->Sup.len : 0) - i)];
2567 return result;
2568 }
N_INLINE(NI,parseWhile__pureZparseutils_226)2569 static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start) {
2570 NI result;
2571 NI i;
2572 result = (NI)0;
2573 i = start;
2574 {
2575 while (1) {
2576 NIM_BOOL T3_;
2577 T3_ = (NIM_BOOL)0;
2578 T3_ = (i < (s ? s->Sup.len : 0));
2579 if (!(T3_)) goto LA4_;
2580 T3_ = ((validChars[(NU)(((NU8)(s->data[i])))>>3] &(1U<<((NU)(((NU8)(s->data[i])))&7U)))!=0);
2581 LA4_: ;
2582 if (!T3_) goto LA2;
2583 i += ((NI) 1);
2584 } LA2: ;
2585 }
2586 result = (NI)(i - start);
2587 fastSubstr__pureZparseutils_170(s, token, start, result);
2588 return result;
2589 }
N_INLINE(int,nimCmpMem)2590 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2591 int result;
2592 result = (int)0;
2593 result = memcmp(a, b, ((size_t) (size)));
2594 return result;
2595 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2596 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2597 NIM_BOOL result;
2598 int T1_;
2599 result = (NIM_BOOL)0;
2600 T1_ = (int)0;
2601 T1_ = nimCmpMem(a, b, size);
2602 result = (T1_ == ((NI32) 0));
2603 return result;
2604 }
N_INLINE(NIM_BOOL,eqStrings)2605 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2606 NIM_BOOL result;
2607 NI alen;
2608 NI blen;
2609 { result = (NIM_BOOL)0;
2610 alen = (a ? a->Sup.len : 0);
2611 blen = (b ? b->Sup.len : 0);
2612 {
2613 if (!(alen == blen)) goto LA3_;
2614 {
2615 if (!(alen == ((NI) 0))) goto LA7_;
2616 result = NIM_TRUE;
2617 goto BeforeRet_;
2618 }
2619 LA7_: ;
2620 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2621 goto BeforeRet_;
2622 }
2623 LA3_: ;
2624 }BeforeRet_: ;
2625 return result;
2626 }
N_NIMCALL(NI,getTokenLenFromSource__sigmatch_4451)2627 N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
2628 NI result;
2629 tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenv_;
2630 NI column;
2631 result = (NI)0;
2632 colonenv_ = NIM_NIL;
2633 colonenv_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) newObj((&NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_), sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ));
2634 (*colonenv_).Sup.m_type = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
2635 asgnRef((void**) (&(*colonenv_).line1), sourceLine__msgs_1101(conf, info));
2636 column = toColumn__msgs_612(info);
2637 {
2638 if (!(((*colonenv_).line1 ? (*colonenv_).line1->Sup.len : 0) < column)) goto LA3_;
2639 result = ((NI) 0);
2640 }
2641 goto LA1_;
2642 LA3_: ;
2643 {
2644 NIM_BOOL T6_;
2645 NIM_BOOL T7_;
2646 tyProc__cOOsXj9cY0bKt2oqNqLbhZw T10_;
2647 T6_ = (NIM_BOOL)0;
2648 T7_ = (NIM_BOOL)0;
2649 T7_ = (((NI) 0) < column);
2650 if (!(T7_)) goto LA8_;
2651 T7_ = ((NU8)((*colonenv_).line1->data[(NI)(column - ((NI) 1))]) == (NU8)(96));
2652 LA8_: ;
2653 T6_ = T7_;
2654 if (!(T6_)) goto LA9_;
2655 nimZeroMem((void*)(&T10_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw));
2656 T10_.ClP_0 = isOpeningBacktick__sigmatch_4458; T10_.ClE_0 = colonenv_;
2657 T6_ = T10_.ClE_0? T10_.ClP_0((NI)(column - ((NI) 1)), T10_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_7)(T10_.ClP_0))((NI)(column - ((NI) 1)));
2658 LA9_: ;
2659 if (!T6_) goto LA11_;
2660 result = skipUntil__pureZparseutils_148((*colonenv_).line1, 96, column);
2661 {
2662 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T15_;
2663 NimStringDesc* T16_;
2664 NI T17_;
2665 T15_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2666 T16_ = NIM_NIL;
2667 T16_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T15_);
2668 T17_ = (NI)0;
2669 T17_ = nsuCmpIgnoreStyle(T16_, ident);
2670 if (!!((T17_ == ((NI) 0)))) goto LA18_;
2671 result = ((NI) 0);
2672 }
2673 LA18_: ;
2674 }
2675 goto LA1_;
2676 LA11_: ;
2677 {
2678 NIM_BOOL T21_;
2679 NIM_CHAR T23_;
2680 T21_ = (NIM_BOOL)0;
2681 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)));
2682 if (!(T21_)) goto LA22_;
2683 T23_ = (NIM_CHAR)0;
2684 T23_ = X5BX5D___system_7329(ident, ((NI) 1));
2685 T21_ = !(((NU8)(T23_) == (NU8)(61)));
2686 LA22_: ;
2687 if (!T21_) goto LA24_;
2688 result = identLen__linter_11((*colonenv_).line1, column);
2689 {
2690 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T28_;
2691 NimStringDesc* T29_;
2692 NI T30_;
2693 T28_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1)));
2694 T29_ = NIM_NIL;
2695 T29_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T28_);
2696 T30_ = (NI)0;
2697 T30_ = nsuCmpIgnoreStyle(T29_, ident);
2698 if (!!((T30_ == ((NI) 0)))) goto LA31_;
2699 result = ((NI) 0);
2700 }
2701 LA31_: ;
2702 }
2703 goto LA1_;
2704 LA24_: ;
2705 {
2706 NimStringDesc* sourceIdent;
2707 sourceIdent = NIM_NIL;
2708 result = parseWhile__pureZparseutils_226((*colonenv_).line1, (&sourceIdent), TM__EV5hHJmjIY9cla9b9be7fSVJQ_8, column);
2709 {
2710 NIM_BOOL T36_;
2711 NIM_CHAR T37_;
2712 T36_ = (NIM_BOOL)0;
2713 T37_ = (NIM_CHAR)0;
2714 T37_ = X5BX5D___system_7329(ident, ((NI) 1));
2715 T36_ = ((NU8)(T37_) == (NU8)(61));
2716 if (!(T36_)) goto LA38_;
2717 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)));
2718 LA38_: ;
2719 if (!T36_) goto LA39_;
2720 {
2721 if (!!(eqStrings(sourceIdent, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_9)))) goto LA43_;
2722 result = ((NI) 0);
2723 }
2724 LA43_: ;
2725 }
2726 goto LA34_;
2727 LA39_: ;
2728 {
2729 NIM_BOOL T46_;
2730 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T48_;
2731 NimStringDesc* T49_;
2732 T46_ = (NIM_BOOL)0;
2733 T46_ = ((ident ? ident->Sup.len : 0) < (sourceIdent ? sourceIdent->Sup.len : 0));
2734 if (!(T46_)) goto LA47_;
2735 T48_ = dotdot___pureZunicode_840(((NI) 0), ((ident ? ident->Sup.len : 0)-1));
2736 T49_ = NIM_NIL;
2737 T49_ = X5BX5D___pureZunicode_865(sourceIdent, T48_);
2738 T46_ = eqStrings(T49_, ident);
2739 LA47_: ;
2740 if (!T46_) goto LA50_;
2741 result = (ident ? ident->Sup.len : 0);
2742 }
2743 goto LA34_;
2744 LA50_: ;
2745 {
2746 if (!!(eqStrings(sourceIdent, ident))) goto LA53_;
2747 result = ((NI) 0);
2748 }
2749 goto LA34_;
2750 LA53_: ;
2751 LA34_: ;
2752 }
2753 LA1_: ;
2754 return result;
2755 }
N_NIMCALL(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ *,symToSuggest__sigmatch_4528)2756 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) {
2757 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result;
2758 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q infox;
2759 result = NIM_NIL;
2760 result = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*) newObj((&NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_), sizeof(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ));
2761 (*result).section = section;
2762 (*result).quality = quality;
2763 (*result).isGlobal = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
2764 (*result).prefix = prefix;
2765 (*result).contextFits = (inTypeContext == ((144 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
2766 (*result).scope = scope;
2767 (*result).name = (&(*(*s).name).s);
2768 (*result).symkind = ((NU8) ((*s).kind));
2769 {
2770 if (!!((((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0))) goto LA3_;
2771 if ((*result).qualifiedPath) { nimGCunrefRC1((*result).qualifiedPath); (*result).qualifiedPath = NIM_NIL; }
2772 {
2773 NIM_BOOL T7_;
2774 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow;
2775 T7_ = (NIM_BOOL)0;
2776 T7_ = !(isLocal);
2777 if (!(T7_)) goto LA8_;
2778 T7_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2779 LA8_: ;
2780 if (!T7_) goto LA9_;
2781 ow = (*s).owner;
2782 {
2783 NIM_BOOL T13_;
2784 NIM_BOOL T14_;
2785 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow2;
2786 NI T19_;
2787 NimStringDesc* T20_;
2788 T13_ = (NIM_BOOL)0;
2789 T14_ = (NIM_BOOL)0;
2790 T14_ = !((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2791 if (!(T14_)) goto LA15_;
2792 T14_ = !(((*ow).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2793 LA15_: ;
2794 T13_ = T14_;
2795 if (!(T13_)) goto LA16_;
2796 T13_ = !(((*ow).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2797 LA16_: ;
2798 if (!T13_) goto LA17_;
2799 ow2 = (*ow).owner;
2800 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2801 T19_ = (*result).qualifiedPath->Sup.len++;
2802 T20_ = NIM_NIL;
2803 T20_ = (*result).qualifiedPath->data[T19_]; (*result).qualifiedPath->data[T19_] = copyStringRC1((*(*ow2).name).s);
2804 if (T20_) nimGCunrefNoCycle(T20_);
2805 }
2806 LA17_: ;
2807 {
2808 NI T25_;
2809 NimStringDesc* T26_;
2810 if (!!((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23_;
2811 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2812 T25_ = (*result).qualifiedPath->Sup.len++;
2813 T26_ = NIM_NIL;
2814 T26_ = (*result).qualifiedPath->data[T25_]; (*result).qualifiedPath->data[T25_] = copyStringRC1((*(*ow).name).s);
2815 if (T26_) nimGCunrefNoCycle(T26_);
2816 }
2817 LA23_: ;
2818 }
2819 LA9_: ;
2820 {
2821 NIM_BOOL T29_;
2822 tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T31_;
2823 NimStringDesc* T34_;
2824 NI T35_;
2825 NimStringDesc* T36_;
2826 T29_ = (NIM_BOOL)0;
2827 T29_ = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_3[(NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))&7U)))!=0);
2828 if (T29_) goto LA30_;
2829 T31_ = dotdot___pureZunicode_840(((NI) 1), ((NI) 66));
2830 T29_ = contains__pureZtimes_2283(T31_, (*(*s).name).id);
2831 LA30_: ;
2832 if (!T29_) goto LA32_;
2833 T34_ = NIM_NIL;
2834 T34_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 2);
2835 appendChar(T34_, 96);
2836 appendString(T34_, (*(*s).name).s);
2837 appendChar(T34_, 96);
2838 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2839 T35_ = (*result).qualifiedPath->Sup.len++;
2840 T36_ = NIM_NIL;
2841 T36_ = (*result).qualifiedPath->data[T35_]; (*result).qualifiedPath->data[T35_] = copyStringRC1(T34_);
2842 if (T36_) nimGCunrefNoCycle(T36_);
2843 }
2844 goto LA27_;
2845 LA32_: ;
2846 {
2847 NI T38_;
2848 NimStringDesc* T39_;
2849 asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
2850 T38_ = (*result).qualifiedPath->Sup.len++;
2851 T39_ = NIM_NIL;
2852 T39_ = (*result).qualifiedPath->data[T38_]; (*result).qualifiedPath->data[T38_] = copyStringRC1((*(*s).name).s);
2853 if (T39_) nimGCunrefNoCycle(T39_);
2854 }
2855 LA27_: ;
2856 {
2857 if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA42_;
2858 asgnRef((void**) (&(*result).forth), typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0)));
2859 }
2860 goto LA40_;
2861 LA42_: ;
2862 {
2863 asgnRef((void**) (&(*result).forth), ((NimStringDesc*) NIM_NIL));
2864 }
2865 LA40_: ;
2866 }
2867 LA3_: ;
2868 {
2869 NIM_BOOL T47_;
2870 T47_ = (NIM_BOOL)0;
2871 T47_ = useSuppliedInfo;
2872 if (T47_) goto LA48_;
2873 T47_ = ((784 &((NU16)1<<((NU)(section)&15U)))!=0);
2874 LA48_: ;
2875 if (!T47_) goto LA49_;
2876 infox = info;
2877 }
2878 goto LA45_;
2879 LA49_: ;
2880 {
2881 infox = (*s).info;
2882 }
2883 LA45_: ;
2884 asgnRef((void**) (&(*result).filePath), toFullPath__msgs_538((*g).config, infox.fileIndex));
2885 (*result).line = toLinenumber__msgs_609(infox);
2886 (*result).column = toColumn__msgs_612(infox);
2887 (*result).version = (*(*g).config).suggestVersion;
2888 {
2889 if (!!((section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8)))) goto LA54_;
2890 (*result).tokenLen = ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0);
2891 }
2892 goto LA52_;
2893 LA54_: ;
2894 {
2895 (*result).tokenLen = getTokenLenFromSource__sigmatch_4451((*g).config, (*(*s).name).s, infox);
2896 }
2897 LA52_: ;
2898 return result;
2899 }
N_INLINE(NI,len__ast_4002)2900 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
2901 NI result;
2902 NI T1_;
2903 result = (NI)0;
2904 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
2905 result = T1_;
2906 return result;
2907 }
N_NIMCALL(NI,getQuality__sigmatch_5002)2908 N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2909 NI result;
2910 result = (NI)0;
2911 result = ((NI) 100);
2912 {
2913 NIM_BOOL T3_;
2914 NI T5_;
2915 tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
2916 T3_ = (NIM_BOOL)0;
2917 T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2918 if (!(T3_)) goto LA4_;
2919 T5_ = (NI)0;
2920 T5_ = len__ast_4002((*s).typ);
2921 T3_ = (((NI) 1) < T5_);
2922 LA4_: ;
2923 if (!T3_) goto LA6_;
2924 exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
2925 {
2926 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA10_;
2927 exp_1 = elemType__types_263(exp_1);
2928 }
2929 LA10_: ;
2930 {
2931 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_;
2932 result = ((NI) 50);
2933 }
2934 LA14_: ;
2935 }
2936 LA6_: ;
2937 {
2938 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA18_;
2939 result = ((NI) ((NI)(((NI) (result)) - ((NI) 5))));
2940 }
2941 LA18_: ;
2942 return result;
2943 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)2944 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
2945 NIM_BOOL result;
2946 NIM_BOOL T1_;
2947 NI T2_;
2948 result = (NIM_BOOL)0;
2949 T1_ = (NIM_BOOL)0;
2950 T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
2951 T1_ = (module < T2_);
2952 if (!(T1_)) goto LA3_;
2953 T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
2954 LA3_: ;
2955 result = T1_;
2956 return result;
2957 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)2958 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
2959 NIM_BOOL result;
2960 result = (NIM_BOOL)0;
2961 result = isCachedModule__modulegraphs_2697(g, (*m).position);
2962 return result;
2963 }
N_NIMCALL(void,suggestEverything__sigmatch_5217)2964 N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
2965 {
2966 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
2967 NI scopeN;
2968 NIM_BOOL isLocal;
2969 NIM_BOOL isLocal_2;
2970 NI scopeN_2;
2971 it = NIM_NIL;
2972 scopeN = (NI)0;
2973 isLocal = (NIM_BOOL)0;
2974 isLocal_2 = NIM_TRUE;
2975 scopeN_2 = ((NI) 0);
2976 {
2977 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
2978 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
2979 scope = NIM_NIL;
2980 current = (*c).currentScope;
2981 {
2982 while (1) {
2983 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
2984 scope = current;
2985 {
2986 if (!(scope == (*c).topLevelScope)) goto LA7_;
2987 isLocal_2 = NIM_FALSE;
2988 }
2989 LA7_: ;
2990 scopeN_2 -= ((NI) 1);
2991 {
2992 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
2993 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
2994 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
2995 item = NIM_NIL;
2996 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
2997 s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
2998 {
2999 while (1) {
3000 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
3001 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3002 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
3003 item = s;
3004 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3005 colontmp_.Field0 = item;
3006 colontmp_.Field1 = scopeN_2;
3007 colontmp_.Field2 = isLocal_2;
3008 it = colontmp_.Field0;
3009 scopeN = colontmp_.Field1;
3010 isLocal = colontmp_.Field2;
3011 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3012 {
3013 NIM_BOOL T14_;
3014 NI T17_;
3015 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
3016 NI T19_;
3017 T14_ = (NIM_BOOL)0;
3018 T14_ = filterSym__sigmatch_4909(it, f, (&pm));
3019 if (!T14_) goto LA15_;
3020 T17_ = (NI)0;
3021 T17_ = getQuality__sigmatch_5002(it);
3022 T18_ = NIM_NIL;
3023 T18_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3024 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3025 T19_ = (*outputs)->Sup.len++;
3026 asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
3027 }
3028 LA15_: ;
3029 s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
3030 } LA11: ;
3031 }
3032 }
3033 current = (*current).parent;
3034 } LA4: ;
3035 }
3036 }
3037 scopeN_2 -= ((NI) 1);
3038 isLocal_2 = NIM_FALSE;
3039 {
3040 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
3041 NI i;
3042 NI L;
3043 NI T21_;
3044 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
3045 i = ((NI) 0);
3046 T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
3047 L = T21_;
3048 {
3049 while (1) {
3050 if (!(i < L)) goto LA23;
3051 im = (&(*c).imports->data[i]);
3052 {
3053 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
3054 NIM_BOOL importHidden;
3055 s_2 = NIM_NIL;
3056 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
3057 {
3058 NIM_BOOL T27_;
3059 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
3060 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
3061 T27_ = (NIM_BOOL)0;
3062 T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
3063 if (!T27_) goto LA28_;
3064 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
3065 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
3066 {
3067 while (1) {
3068 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
3069 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
3070 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
3071 s_2 = r;
3072 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3073 colontmp__2.Field0 = s_2;
3074 colontmp__2.Field1 = scopeN_2;
3075 colontmp__2.Field2 = isLocal_2;
3076 it = colontmp__2.Field0;
3077 scopeN = colontmp__2.Field1;
3078 isLocal = colontmp__2.Field2;
3079 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3080 {
3081 NIM_BOOL T34_;
3082 NI T37_;
3083 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
3084 NI T39_;
3085 T34_ = (NIM_BOOL)0;
3086 T34_ = filterSym__sigmatch_4909(it, f, (&pm_2));
3087 if (!T34_) goto LA35_;
3088 T37_ = (NI)0;
3089 T37_ = getQuality__sigmatch_5002(it);
3090 T38_ = NIM_NIL;
3091 T38_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3092 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3093 T39_ = (*outputs)->Sup.len++;
3094 asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
3095 }
3096 LA35_: ;
3097 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
3098 } LA31: ;
3099 }
3100 }
3101 goto LA25_;
3102 LA28_: ;
3103 {
3104 {
3105 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
3106 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
3107 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
3108 NI i_2;
3109 NI L_2;
3110 NI T46_;
3111 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3112 colontmp__3 = NIM_NIL;
3113 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
3114 {
3115 if (!importHidden) goto LA44_;
3116 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
3117 }
3118 LA44_: ;
3119 colontmp__3 = (*retX60gensym17_).data;
3120 i_2 = ((NI) 0);
3121 T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
3122 L_2 = T46_;
3123 {
3124 while (1) {
3125 if (!(i_2 < L_2)) goto LA48;
3126 s_3 = &colontmp__3->data[i_2];
3127 {
3128 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
3129 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
3130 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
3131 s_2 = (*s_3);
3132 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
3133 colontmp__4.Field0 = s_2;
3134 colontmp__4.Field1 = scopeN_2;
3135 colontmp__4.Field2 = isLocal_2;
3136 it = colontmp__4.Field0;
3137 scopeN = colontmp__4.Field1;
3138 isLocal = colontmp__4.Field2;
3139 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3140 {
3141 NIM_BOOL T55_;
3142 NI T58_;
3143 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
3144 NI T60_;
3145 T55_ = (NIM_BOOL)0;
3146 T55_ = filterSym__sigmatch_4909(it, f, (&pm_3));
3147 if (!T55_) goto LA56_;
3148 T58_ = (NI)0;
3149 T58_ = getQuality__sigmatch_5002(it);
3150 T59_ = NIM_NIL;
3151 T59_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
3152 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3153 T60_ = (*outputs)->Sup.len++;
3154 asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
3155 }
3156 LA56_: ;
3157 }
3158 LA51_: ;
3159 i_2 += ((NI) 1);
3160 } LA48: ;
3161 }
3162 }
3163 }
3164 LA25_: ;
3165 }
3166 i += ((NI) 1);
3167 } LA23: ;
3168 }
3169 }
3170 }
3171 }
N_INLINE(NIM_BOOL,fieldVisible__sigmatch_4944)3172 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
3173 NIM_BOOL result;
3174 NI fmoduleId;
3175 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_;
3176 NIM_BOOL T1_;
3177 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_;
3178 { result = (NIM_BOOL)0;
3179 xX60gensym794_ = getModule__astalgo_216(f);
3180 fmoduleId = (NI)((NI)((NU64)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym794_).Sup.itemId.item)));
3181 T1_ = (NIM_BOOL)0;
3182 T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
3183 if (T1_) goto LA2_;
3184 xX60gensym796_ = (*c).module;
3185 T1_ = (fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym796_).Sup.itemId.item))));
3186 LA2_: ;
3187 result = T1_;
3188 {
3189 if (!!(result)) goto LA5_;
3190 {
3191 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module;
3192 NI i;
3193 NI L;
3194 NI T8_;
3195 module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3196 i = ((NI) 0);
3197 T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0);
3198 L = T8_;
3199 {
3200 while (1) {
3201 if (!(i < L)) goto LA10;
3202 module = &(*c).friendModules->data[i];
3203 {
3204 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_;
3205 xX60gensym797_ = (*module);
3206 if (!(fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_;
3207 result = NIM_TRUE;
3208 goto BeforeRet_;
3209 }
3210 LA13_: ;
3211 i += ((NI) 1);
3212 } LA10: ;
3213 }
3214 }
3215 {
3216 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj;
3217 if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_;
3218 symObj = (*f).owner;
3219 {
3220 if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_;
3221 symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym;
3222 }
3223 LA21_: ;
3224 {
3225 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
3226 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
3227 scope = NIM_NIL;
3228 current = (*c).currentScope;
3229 {
3230 while (1) {
3231 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25;
3232 scope = current;
3233 {
3234 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
3235 NI i_2;
3236 NI L_2;
3237 NI T27_;
3238 sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3239 i_2 = ((NI) 0);
3240 T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0);
3241 L_2 = T27_;
3242 {
3243 while (1) {
3244 if (!(i_2 < L_2)) goto LA29;
3245 sym = &(*scope).allowPrivateAccess->data[i_2];
3246 {
3247 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_;
3248 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_;
3249 xX60gensym800_ = symObj;
3250 xX60gensym801_ = (*sym);
3251 if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym801_).Sup.itemId.item))))) goto LA32_;
3252 result = NIM_TRUE;
3253 goto BeforeRet_;
3254 }
3255 LA32_: ;
3256 i_2 += ((NI) 1);
3257 } LA29: ;
3258 }
3259 }
3260 current = (*current).parent;
3261 } LA25: ;
3262 }
3263 }
3264 }
3265 LA17_: ;
3266 }
3267 LA5_: ;
3268 }BeforeRet_: ;
3269 return result;
3270 }
N_NIMCALL(void,suggestField__sigmatch_5026)3271 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) {
3272 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
3273 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
3274 {
3275 NIM_BOOL T3_;
3276 NI T7_;
3277 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T8_;
3278 NI T9_;
3279 T3_ = (NIM_BOOL)0;
3280 T3_ = filterSym__sigmatch_4909(s, f, (&pm));
3281 if (!(T3_)) goto LA4_;
3282 T3_ = fieldVisible__sigmatch_4944(c, s);
3283 LA4_: ;
3284 if (!T3_) goto LA5_;
3285 T7_ = (NI)0;
3286 T7_ = getQuality__sigmatch_5002(s);
3287 T8_ = NIM_NIL;
3288 T8_ = symToSuggest__sigmatch_4528((*c).graph, s, NIM_TRUE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T7_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) 0), NIM_FALSE);
3289 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
3290 T9_ = (*outputs)->Sup.len++;
3291 asgnRef((void**) (&(*outputs)->data[T9_]), T8_);
3292 }
3293 LA5_: ;
3294 }
N_NIMCALL(void,suggestSymList__sigmatch_5040)3295 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) {
3296 {
3297 NI i;
3298 NI colontmp_;
3299 NI i_2;
3300 i = (NI)0;
3301 colontmp_ = (NI)0;
3302 colontmp_ = len__ast_3198(list);
3303 i_2 = ((NI) 0);
3304 {
3305 while (1) {
3306 if (!(i_2 < colontmp_)) goto LA3;
3307 i = i_2;
3308 {
3309 if (!((*(*list)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
3310 suggestField__sigmatch_5026(c, (*(*list)._kind_6.sons->data[i])._kind_4.sym, f, info, outputs);
3311 }
3312 LA6_: ;
3313 i_2 += ((NI) 1);
3314 } LA3: ;
3315 }
3316 }
3317 }
N_NIMCALL(void,suggestObject__sigmatch_5060)3318 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) {
3319 switch ((*n).kind) {
3320 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3321 {
3322 {
3323 NI i;
3324 NI colontmp_;
3325 NI i_2;
3326 i = (NI)0;
3327 colontmp_ = (NI)0;
3328 colontmp_ = len__ast_3198(n);
3329 i_2 = ((NI) 0);
3330 {
3331 while (1) {
3332 if (!(i_2 < colontmp_)) goto LA4;
3333 i = i_2;
3334 suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[i], f, info, outputs);
3335 i_2 += ((NI) 1);
3336 } LA4: ;
3337 }
3338 }
3339 }
3340 break;
3341 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3342 {
3343 {
3344 NI T8_;
3345 T8_ = (NI)0;
3346 T8_ = len__ast_3198(n);
3347 if (!(((NI) 0) < T8_)) goto LA9_;
3348 suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[((NI) 0)], f, info, outputs);
3349 {
3350 NI i_3;
3351 NI colontmp__2;
3352 NI i_4;
3353 i_3 = (NI)0;
3354 colontmp__2 = (NI)0;
3355 colontmp__2 = len__ast_3198(n);
3356 i_4 = ((NI) 1);
3357 {
3358 while (1) {
3359 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
3360 if (!(i_4 < colontmp__2)) goto LA13;
3361 i_3 = i_4;
3362 T14_ = NIM_NIL;
3363 T14_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
3364 suggestObject__sigmatch_5060(c, T14_, f, info, outputs);
3365 i_4 += ((NI) 1);
3366 } LA13: ;
3367 }
3368 }
3369 }
3370 LA9_: ;
3371 }
3372 break;
3373 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3374 {
3375 suggestField__sigmatch_5026(c, (*n)._kind_4.sym, f, info, outputs);
3376 }
3377 break;
3378 default:
3379 {
3380 }
3381 break;
3382 }
3383 }
N_INLINE(NIM_BOOL,filterSymNoOpr__sigmatch_4935)3384 static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) {
3385 NIM_BOOL result;
3386 NIM_BOOL T1_;
3387 NIM_BOOL T2_;
3388 NIM_BOOL T5_;
3389 result = (NIM_BOOL)0;
3390 T1_ = (NIM_BOOL)0;
3391 T2_ = (NIM_BOOL)0;
3392 T2_ = filterSym__sigmatch_4909(s, prefix, res);
3393 if (!(T2_)) goto LA3_;
3394 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)));
3395 LA3_: ;
3396 T1_ = T2_;
3397 if (!(T1_)) goto LA4_;
3398 T5_ = (NIM_BOOL)0;
3399 T5_ = isKeyword__renderer_73((*s).name);
3400 T1_ = !(T5_);
3401 LA4_: ;
3402 result = T1_;
3403 return result;
3404 }
N_INLINE(void,initCandidateAux__sigmatch_94)3405 static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3406 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
3407 unsureAsgnRef((void**) (&(*c).c), ctx);
3408 (*c).exactMatches = ((NI) 0);
3409 (*c).subtypeMatches = ((NI) 0);
3410 (*c).convMatches = ((NI) 0);
3411 (*c).intConvMatches = ((NI) 0);
3412 (*c).genericMatches = ((NI) 0);
3413 (*c).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0);
3414 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3415 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
3416 (*c).firstMismatch.kind = T1_.kind;
3417 (*c).firstMismatch.arg = T1_.arg;
3418 unsureAsgnRef((void**) (&(*c).firstMismatch.formal), T1_.formal);
3419 unsureAsgnRef((void**) (&(*c).callee), callee);
3420 unsureAsgnRef((void**) (&(*c).call), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3421 (*c).baseTypeMatch = NIM_FALSE;
3422 (*c).genericConverter = NIM_FALSE;
3423 (*c).inheritancePenalty = ((NI) 0);
3424 }
N_NIMCALL(void,initCandidate__sigmatch_116)3425 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) {
3426 initCandidateAux__sigmatch_94(ctx, c, callee);
3427 unsureAsgnRef((void**) (&(*c).calleeSym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
3428 initIdTable__ast_4096((&(*c).bindings));
3429 }
N_NIMCALL(void,newCandidate__sigmatch_195)3430 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) {
3431 unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
3432 (*Result).exactMatches = 0;
3433 (*Result).genericMatches = 0;
3434 (*Result).subtypeMatches = 0;
3435 (*Result).intConvMatches = 0;
3436 (*Result).convMatches = 0;
3437 (*Result).state = 0;
3438 unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
3439 unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
3440 (*Result).calleeScope = 0;
3441 unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
3442 (*Result).bindings.counter = 0;
3443 unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
3444 (*Result).magic = 0;
3445 (*Result).baseTypeMatch = 0;
3446 (*Result).fauxMatch = 0;
3447 (*Result).genericConverter = 0;
3448 (*Result).coerceDistincts = 0;
3449 (*Result).typedescMatched = 0;
3450 (*Result).isNoCall = 0;
3451 unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
3452 unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
3453 (*Result).inheritancePenalty = 0;
3454 (*Result).firstMismatch.kind = 0;
3455 (*Result).firstMismatch.arg = 0;
3456 unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
3457 (*Result).diagnosticsEnabled = 0;
3458 initCandidate__sigmatch_116(ctx, Result, callee);
3459 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)3460 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
3461 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
3462 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3463 (*x).typeId_0 += ((NI) 1);
3464 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
3465 result.module = (*x).module;
3466 result.item = (*x).typeId_0;
3467 return result;
3468 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)3469 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
3470 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3471 result = NIM_NIL;
3472 {
3473 NIM_BOOL T3_;
3474 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
3475 T3_ = (NIM_BOOL)0;
3476 T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3477 if (!(T3_)) goto LA4_;
3478 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
3479 LA4_: ;
3480 if (!T3_) goto LA5_;
3481 T7_ = nextTypeId__ast_3151(id);
3482 result = copyType__ast_4046(t, T7_, (*t).owner);
3483 asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3484 }
3485 goto LA1_;
3486 LA5_: ;
3487 {
3488 result = t;
3489 }
3490 LA1_: ;
3491 return result;
3492 }
N_INLINE(void,put__sigmatch_120)3493 static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val) {
3494 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
3495 T1_ = NIM_NIL;
3496 T1_ = skipIntLit__magicsys_124(val, (*(*c).c).Sup.idgen);
3497 idTablePut__astalgo_70((&(*c).bindings), &key->Sup, &T1_->Sup.Sup);
3498 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryResolvingStaticExpr__sigmatch_1227)3499 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved) {
3500 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3501 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* instantiated;
3502 result = NIM_NIL;
3503 instantiated = replaceTypesInBody__semtypinst_988((*c).c, (*c).bindings, n, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), allowUnresolved);
3504 result = (*(*c).c).semExpr((*c).c, instantiated, 0);
3505 return result;
3506 }
N_INLINE(NI,safeLen__ast_3191)3507 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3508 NI result;
3509 result = (NI)0;
3510 {
3511 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
3512 result = ((NI) 0);
3513 }
3514 goto LA1_;
3515 LA3_: ;
3516 {
3517 result = len__ast_3198(n);
3518 }
3519 LA1_: ;
3520 return result;
3521 }
N_INLINE(NIM_BOOL,eqeq___idents_220)3522 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
3523 NIM_BOOL result;
3524 result = (NIM_BOOL)0;
3525 {
3526 NIM_BOOL T3_;
3527 T3_ = (NIM_BOOL)0;
3528 T3_ = (a == 0);
3529 if (T3_) goto LA4_;
3530 T3_ = (b == 0);
3531 LA4_: ;
3532 if (!T3_) goto LA5_;
3533 result = (a == b);
3534 }
3535 goto LA1_;
3536 LA5_: ;
3537 {
3538 result = ((*a).id == (*b).id);
3539 }
3540 LA1_: ;
3541 return result;
3542 }
N_NIMCALL(NIM_BOOL,shouldSkipDistinct__sigmatch_1199)3543 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent) {
3544 NIM_BOOL result;
3545 { result = (NIM_BOOL)0;
3546 {
3547 if (!((*rules).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA3_;
3548 {
3549 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
3550 r = NIM_NIL;
3551 {
3552 NI i;
3553 NI colontmp_;
3554 NI i_2;
3555 i = (NI)0;
3556 colontmp_ = (NI)0;
3557 colontmp_ = safeLen__ast_3191(rules);
3558 i_2 = ((NI) 0);
3559 {
3560 while (1) {
3561 if (!(i_2 < colontmp_)) goto LA8;
3562 i = i_2;
3563 r = (*rules)._kind_6.sons->data[i];
3564 {
3565 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
3566 NIM_BOOL T12_;
3567 T11_ = NIM_NIL;
3568 T11_ = considerQuotedIdent__lookups_28((*m).c, r, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3569 T12_ = (NIM_BOOL)0;
3570 T12_ = eqeq___idents_220(T11_, callIdent);
3571 if (!T12_) goto LA13_;
3572 result = NIM_TRUE;
3573 goto BeforeRet_;
3574 }
3575 LA13_: ;
3576 i_2 += ((NI) 1);
3577 } LA8: ;
3578 }
3579 }
3580 }
3581 result = NIM_FALSE;
3582 goto BeforeRet_;
3583 }
3584 goto LA1_;
3585 LA3_: ;
3586 {
3587 {
3588 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2;
3589 r_2 = NIM_NIL;
3590 {
3591 NI i_3;
3592 NI colontmp__2;
3593 NI i_4;
3594 i_3 = (NI)0;
3595 colontmp__2 = (NI)0;
3596 colontmp__2 = safeLen__ast_3191(rules);
3597 i_4 = ((NI) 0);
3598 {
3599 while (1) {
3600 if (!(i_4 < colontmp__2)) goto LA19;
3601 i_3 = i_4;
3602 r_2 = (*rules)._kind_6.sons->data[i_3];
3603 {
3604 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T22_;
3605 NIM_BOOL T23_;
3606 T22_ = NIM_NIL;
3607 T22_ = considerQuotedIdent__lookups_28((*m).c, r_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3608 T23_ = (NIM_BOOL)0;
3609 T23_ = eqeq___idents_220(T22_, callIdent);
3610 if (!T23_) goto LA24_;
3611 result = NIM_FALSE;
3612 goto BeforeRet_;
3613 }
3614 LA24_: ;
3615 i_4 += ((NI) 1);
3616 } LA19: ;
3617 }
3618 }
3619 }
3620 result = NIM_TRUE;
3621 goto BeforeRet_;
3622 }
3623 LA1_: ;
3624 }BeforeRet_: ;
3625 return result;
3626 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,maybeSkipDistinct__sigmatch_1210)3627 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee) {
3628 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
3629 result = NIM_NIL;
3630 {
3631 NIM_BOOL T3_;
3632 NIM_BOOL T4_;
3633 NIM_BOOL T5_;
3634 T3_ = (NIM_BOOL)0;
3635 T4_ = (NIM_BOOL)0;
3636 T5_ = (NIM_BOOL)0;
3637 T5_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
3638 if (!(T5_)) goto LA6_;
3639 T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
3640 LA6_: ;
3641 T4_ = T5_;
3642 if (!(T4_)) goto LA7_;
3643 T4_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3644 LA7_: ;
3645 T3_ = T4_;
3646 if (!(T3_)) goto LA8_;
3647 T3_ = shouldSkipDistinct__sigmatch_1199(m, (*t).n, (*callee).name);
3648 LA8_: ;
3649 if (!T3_) goto LA9_;
3650 result = base__types_63(t);
3651 }
3652 goto LA1_;
3653 LA9_: ;
3654 {
3655 result = t;
3656 }
3657 LA1_: ;
3658 return result;
3659 }
N_INLINE(NIM_BOOL,sameEnumTypes__types_2096)3660 static N_INLINE(NIM_BOOL, sameEnumTypes__types_2096)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
3661 NIM_BOOL result;
3662 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym296_;
3663 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym297_;
3664 result = (NIM_BOOL)0;
3665 xX60gensym296_ = a;
3666 xX60gensym297_ = b;
3667 result = ((NI)((NI)((NU64)(((NI) ((*xX60gensym296_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym296_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym297_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym297_).Sup.itemId.item))));
3668 return result;
3669 }
N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRangeRel__sigmatch_981)3670 N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3671 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3672 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3673 {
3674 NIM_BOOL T3_;
3675 T3_ = (NIM_BOOL)0;
3676 T3_ = isOrdinalType__types_299(f, NIM_FALSE);
3677 if (!T3_) goto LA4_;
3678 {
3679 NIM_BOOL T8_;
3680 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
3681 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
3682 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
3683 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
3684 T8_ = (NIM_BOOL)0;
3685 T9_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3686 T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3687 T8_ = eqeq___int495056_313(T9_, T10_);
3688 if (!(T8_)) goto LA11_;
3689 T12_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3690 T13_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3691 T8_ = eqeq___int495056_313(T12_, T13_);
3692 LA11_: ;
3693 if (!T8_) goto LA14_;
3694 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3695 }
3696 goto LA6_;
3697 LA14_: ;
3698 {
3699 NIM_BOOL T17_;
3700 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3701 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3702 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3703 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3704 T17_ = (NIM_BOOL)0;
3705 T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3706 T19_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3707 T17_ = lteq___int495056_309(T18_, T19_);
3708 if (!(T17_)) goto LA20_;
3709 T21_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3710 T22_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3711 T17_ = lteq___int495056_309(T21_, T22_);
3712 LA20_: ;
3713 if (!T17_) goto LA23_;
3714 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3715 }
3716 goto LA6_;
3717 LA23_: ;
3718 {
3719 NIM_BOOL T26_;
3720 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T27_;
3721 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
3722 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
3723 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T31_;
3724 T26_ = (NIM_BOOL)0;
3725 T27_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3726 T28_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3727 T26_ = lteq___int495056_309(T27_, T28_);
3728 if (!(T26_)) goto LA29_;
3729 T30_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
3730 T31_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a);
3731 T26_ = lteq___int495056_309(T30_, T31_);
3732 LA29_: ;
3733 if (!T26_) goto LA32_;
3734 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3735 }
3736 goto LA6_;
3737 LA32_: ;
3738 {
3739 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3740 }
3741 LA6_: ;
3742 }
3743 goto LA1_;
3744 LA4_: ;
3745 {
3746 {
3747 NIM_BOOL T38_;
3748 NF T39_;
3749 NF T40_;
3750 NF T42_;
3751 NF T43_;
3752 T38_ = (NIM_BOOL)0;
3753 T39_ = (NF)0;
3754 T39_ = firstFloat__types_1445(a);
3755 T40_ = (NF)0;
3756 T40_ = firstFloat__types_1445(f);
3757 T38_ = (T39_ == T40_);
3758 if (!(T38_)) goto LA41_;
3759 T42_ = (NF)0;
3760 T42_ = lastFloat__types_1588(a);
3761 T43_ = (NF)0;
3762 T43_ = lastFloat__types_1588(f);
3763 T38_ = (T42_ == T43_);
3764 LA41_: ;
3765 if (!T38_) goto LA44_;
3766 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3767 }
3768 goto LA36_;
3769 LA44_: ;
3770 {
3771 NIM_BOOL T47_;
3772 NF T48_;
3773 NF T49_;
3774 NF T51_;
3775 NF T52_;
3776 T47_ = (NIM_BOOL)0;
3777 T48_ = (NF)0;
3778 T48_ = firstFloat__types_1445(f);
3779 T49_ = (NF)0;
3780 T49_ = firstFloat__types_1445(a);
3781 T47_ = (T48_ <= T49_);
3782 if (!(T47_)) goto LA50_;
3783 T51_ = (NF)0;
3784 T51_ = lastFloat__types_1588(a);
3785 T52_ = (NF)0;
3786 T52_ = lastFloat__types_1588(f);
3787 T47_ = (T51_ <= T52_);
3788 LA50_: ;
3789 if (!T47_) goto LA53_;
3790 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3791 }
3792 goto LA36_;
3793 LA53_: ;
3794 {
3795 NIM_BOOL T56_;
3796 NF T57_;
3797 NF T58_;
3798 NF T60_;
3799 NF T61_;
3800 T56_ = (NIM_BOOL)0;
3801 T57_ = (NF)0;
3802 T57_ = firstFloat__types_1445(a);
3803 T58_ = (NF)0;
3804 T58_ = lastFloat__types_1588(f);
3805 T56_ = (T57_ <= T58_);
3806 if (!(T56_)) goto LA59_;
3807 T60_ = (NF)0;
3808 T60_ = firstFloat__types_1445(f);
3809 T61_ = (NF)0;
3810 T61_ = lastFloat__types_1588(a);
3811 T56_ = (T60_ <= T61_);
3812 LA59_: ;
3813 if (!T56_) goto LA62_;
3814 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
3815 }
3816 goto LA36_;
3817 LA62_: ;
3818 {
3819 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
3820 }
3821 LA36_: ;
3822 }
3823 LA1_: ;
3824 return result;
3825 }
N_INLINE(NIM_BOOL,isIntLit__types_186)3826 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
3827 NIM_BOOL result;
3828 NIM_BOOL T1_;
3829 NIM_BOOL T2_;
3830 result = (NIM_BOOL)0;
3831 T1_ = (NIM_BOOL)0;
3832 T2_ = (NIM_BOOL)0;
3833 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3834 if (!(T2_)) goto LA3_;
3835 T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3836 LA3_: ;
3837 T1_ = T2_;
3838 if (!(T1_)) goto LA4_;
3839 T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
3840 LA4_: ;
3841 result = T1_;
3842 return result;
3843 }
N_NIMCALL(NIM_BOOL,isConvertibleToRange__sigmatch_548)3844 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
3845 NIM_BOOL result;
3846 result = (NIM_BOOL)0;
3847 {
3848 NIM_BOOL T3_;
3849 T3_ = (NIM_BOOL)0;
3850 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));
3851 if (!(T3_)) goto LA4_;
3852 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));
3853 LA4_: ;
3854 if (!T3_) goto LA5_;
3855 switch ((*f).kind) {
3856 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
3857 {
3858 NIM_BOOL T8_;
3859 T8_ = (NIM_BOOL)0;
3860 T8_ = isIntLit__types_186(a);
3861 if (T8_) goto LA9_;
3862 T8_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
3863 LA9_: ;
3864 result = T8_;
3865 }
3866 break;
3867 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
3868 {
3869 NIM_BOOL T11_;
3870 T11_ = (NIM_BOOL)0;
3871 T11_ = isIntLit__types_186(a);
3872 if (T11_) goto LA12_;
3873 T11_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
3874 LA12_: ;
3875 result = T11_;
3876 }
3877 break;
3878 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
3879 {
3880 NIM_BOOL T14_;
3881 T14_ = (NIM_BOOL)0;
3882 T14_ = isIntLit__types_186(a);
3883 if (T14_) goto LA15_;
3884 T14_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
3885 LA15_: ;
3886 result = T14_;
3887 }
3888 break;
3889 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
3890 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
3891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
3892 {
3893 result = NIM_TRUE;
3894 }
3895 break;
3896 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
3897 {
3898 NIM_BOOL T18_;
3899 T18_ = (NIM_BOOL)0;
3900 T18_ = isIntLit__types_186(a);
3901 if (T18_) goto LA19_;
3902 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));
3903 LA19_: ;
3904 result = T18_;
3905 }
3906 break;
3907 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
3908 {
3909 NIM_BOOL T21_;
3910 T21_ = (NIM_BOOL)0;
3911 T21_ = isIntLit__types_186(a);
3912 if (T21_) goto LA22_;
3913 T21_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
3914 LA22_: ;
3915 result = T21_;
3916 }
3917 break;
3918 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
3919 {
3920 NIM_BOOL T24_;
3921 T24_ = (NIM_BOOL)0;
3922 T24_ = isIntLit__types_186(a);
3923 if (T24_) goto LA25_;
3924 T24_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
3925 LA25_: ;
3926 result = T24_;
3927 }
3928 break;
3929 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
3930 {
3931 NIM_BOOL T27_;
3932 T27_ = (NIM_BOOL)0;
3933 T27_ = isIntLit__types_186(a);
3934 if (T27_) goto LA28_;
3935 T27_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
3936 LA28_: ;
3937 result = T27_;
3938 }
3939 break;
3940 default:
3941 {
3942 result = NIM_FALSE;
3943 }
3944 break;
3945 }
3946 }
3947 goto LA1_;
3948 LA5_: ;
3949 {
3950 NIM_BOOL T33_;
3951 if (!((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39))) goto LA31_;
3952 T33_ = (NIM_BOOL)0;
3953 T33_ = isIntLit__types_186(a);
3954 if (T33_) goto LA34_;
3955 T33_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
3956 LA34_: ;
3957 result = T33_;
3958 }
3959 goto LA1_;
3960 LA31_: ;
3961 LA1_: ;
3962 return result;
3963 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleRange__sigmatch_476)3964 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) {
3965 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
3966 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
3967 {
3968 if (!((*a).kind == (*f).kind)) goto LA3_;
3969 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
3970 }
3971 goto LA1_;
3972 LA3_: ;
3973 {
3974 tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
3975 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
3976 ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
3977 k = (*ab).kind;
3978 {
3979 if (!(k == (*f).kind)) goto LA8_;
3980 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
3981 }
3982 goto LA6_;
3983 LA8_: ;
3984 {
3985 NIM_BOOL T11_;
3986 NIM_BOOL T12_;
3987 NIM_BOOL T13_;
3988 NIM_BOOL T14_;
3989 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
3990 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_;
3991 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_;
3992 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
3993 T11_ = (NIM_BOOL)0;
3994 T12_ = (NIM_BOOL)0;
3995 T13_ = (NIM_BOOL)0;
3996 T14_ = (NIM_BOOL)0;
3997 T14_ = (k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
3998 if (!(T14_)) goto LA15_;
3999 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));
4000 LA15_: ;
4001 T13_ = T14_;
4002 if (!(T13_)) goto LA16_;
4003 T13_ = isIntLit__types_186(ab);
4004 LA16_: ;
4005 T12_ = T13_;
4006 if (!(T12_)) goto LA17_;
4007 T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4008 T19_ = getInt__ast_4592((*ab).n);
4009 T12_ = lteq___int495056_309(T18_, T19_);
4010 LA17_: ;
4011 T11_ = T12_;
4012 if (!(T11_)) goto LA20_;
4013 T21_ = getInt__ast_4592((*ab).n);
4014 T22_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4015 T11_ = lteq___int495056_309(T21_, T22_);
4016 LA20_: ;
4017 if (!T11_) goto LA23_;
4018 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4019 }
4020 goto LA6_;
4021 LA23_: ;
4022 {
4023 NIM_BOOL T26_;
4024 T26_ = (NIM_BOOL)0;
4025 T26_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
4026 if (!(T26_)) goto LA27_;
4027 T26_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
4028 LA27_: ;
4029 if (!T26_) goto LA28_;
4030 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4031 }
4032 goto LA6_;
4033 LA28_: ;
4034 {
4035 NIM_BOOL T31_;
4036 T31_ = (NIM_BOOL)0;
4037 T31_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40));
4038 if (!(T31_)) goto LA32_;
4039 T31_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4040 LA32_: ;
4041 if (!T31_) goto LA33_;
4042 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4043 }
4044 goto LA6_;
4045 LA33_: ;
4046 {
4047 NIM_BOOL T36_;
4048 T36_ = (NIM_BOOL)0;
4049 T36_ = (min <= k);
4050 if (!(T36_)) goto LA37_;
4051 T36_ = (k <= max);
4052 LA37_: ;
4053 if (!T36_) goto LA38_;
4054 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4055 }
4056 goto LA6_;
4057 LA38_: ;
4058 {
4059 NIM_BOOL T41_;
4060 NIM_BOOL T42_;
4061 NIM_BOOL T43_;
4062 NIM_BOOL T45_;
4063 NIM_BOOL T46_;
4064 NIM_BOOL T49_;
4065 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
4066 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T54_;
4067 T41_ = (NIM_BOOL)0;
4068 T42_ = (NIM_BOOL)0;
4069 T43_ = (NIM_BOOL)0;
4070 T43_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
4071 if (!(T43_)) goto LA44_;
4072 T45_ = (NIM_BOOL)0;
4073 T46_ = (NIM_BOOL)0;
4074 T46_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4075 if (!(T46_)) goto LA47_;
4076 T46_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
4077 LA47_: ;
4078 T45_ = T46_;
4079 if (T45_) goto LA48_;
4080 T49_ = (NIM_BOOL)0;
4081 T49_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4082 if (!(T49_)) goto LA50_;
4083 T49_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
4084 LA50_: ;
4085 T45_ = T49_;
4086 LA48_: ;
4087 T43_ = T45_;
4088 LA44_: ;
4089 T42_ = T43_;
4090 if (!(T42_)) goto LA51_;
4091 T52_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4092 T42_ = lteq___int495056_745(T52_, (*(*(*a).n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
4093 LA51_: ;
4094 T41_ = T42_;
4095 if (!(T41_)) goto LA53_;
4096 T54_ = lastOrd__types_1470(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f);
4097 T41_ = lteq___int495056_752((*(*(*a).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal, T54_);
4098 LA53_: ;
4099 if (!T41_) goto LA55_;
4100 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4101 }
4102 goto LA6_;
4103 LA55_: ;
4104 {
4105 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4106 }
4107 LA6_: ;
4108 }
4109 LA1_: ;
4110 return result;
4111 }
N_INLINE(NIM_BOOL,isFloatLit__types_201)4112 static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4113 NIM_BOOL result;
4114 NIM_BOOL T1_;
4115 NIM_BOOL T2_;
4116 result = (NIM_BOOL)0;
4117 T1_ = (NIM_BOOL)0;
4118 T2_ = (NIM_BOOL)0;
4119 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
4120 if (!(T2_)) goto LA3_;
4121 T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4122 LA3_: ;
4123 T1_ = T2_;
4124 if (!(T1_)) goto LA4_;
4125 T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16));
4126 LA4_: ;
4127 result = T1_;
4128 return result;
4129 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,handleFloatRange__sigmatch_596)4130 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4131 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4132 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4133 {
4134 if (!((*a).kind == (*f).kind)) goto LA3_;
4135 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4136 }
4137 goto LA1_;
4138 LA3_: ;
4139 {
4140 tyObject_TType__facALICuu8zUj0hjvbTLFg* ab;
4141 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
4142 ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
4143 k = (*ab).kind;
4144 {
4145 if (!(k == (*f).kind)) goto LA8_;
4146 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4);
4147 }
4148 goto LA6_;
4149 LA8_: ;
4150 {
4151 NIM_BOOL T11_;
4152 T11_ = (NIM_BOOL)0;
4153 T11_ = isFloatLit__types_201(ab);
4154 if (!T11_) goto LA12_;
4155 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9);
4156 }
4157 goto LA6_;
4158 LA12_: ;
4159 {
4160 NIM_BOOL T15_;
4161 T15_ = (NIM_BOOL)0;
4162 T15_ = isIntLit__types_186(ab);
4163 if (!T15_) goto LA16_;
4164 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4165 }
4166 goto LA6_;
4167 LA16_: ;
4168 {
4169 NIM_BOOL T19_;
4170 T19_ = (NIM_BOOL)0;
4171 T19_ = (((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) <= k);
4172 if (!(T19_)) goto LA20_;
4173 T19_ = (k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
4174 LA20_: ;
4175 if (!T19_) goto LA21_;
4176 {
4177 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA25_;
4178 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
4179 }
4180 goto LA23_;
4181 LA25_: ;
4182 {
4183 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
4184 }
4185 LA23_: ;
4186 }
4187 goto LA6_;
4188 LA21_: ;
4189 {
4190 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4191 }
4192 LA6_: ;
4193 }
4194 LA1_: ;
4195 return result;
4196 }
N_NIMCALL(NIM_BOOL,isCovariantPtr__sigmatch_1405)4197 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4198 NIM_BOOL result;
4199 { result = (NIM_BOOL)0;
4200 switch ((*f).kind) {
4201 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
4202 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
4203 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
4204 {
4205 NIM_BOOL T2_;
4206 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
4207 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4208 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
4209 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T7_;
4210 T2_ = (NIM_BOOL)0;
4211 T3_ = NIM_NIL;
4212 T3_ = base__types_63(f);
4213 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)));
4214 if (!(T2_)) goto LA4_;
4215 T5_ = NIM_NIL;
4216 T5_ = base__types_63(f);
4217 T6_ = NIM_NIL;
4218 T6_ = base__types_63(a);
4219 T7_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4220 T7_ = typeRel__sigmatch_202(c, T5_, T6_, 2);
4221 T2_ = (T7_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4222 LA4_: ;
4223 result = T2_;
4224 goto BeforeRet_;
4225 }
4226 break;
4227 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4228 {
4229 tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
4230 NIM_BOOL T9_;
4231 NIM_BOOL T10_;
4232 NIM_BOOL T11_;
4233 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
4234 NI T14_;
4235 NIM_BOOL T17_;
4236 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T19_;
4237 body = base__types_63(f);
4238 T9_ = (NIM_BOOL)0;
4239 T10_ = (NIM_BOOL)0;
4240 T11_ = (NIM_BOOL)0;
4241 T12_ = NIM_NIL;
4242 T12_ = base__types_63(a);
4243 T11_ = (body == T12_);
4244 if (!(T11_)) goto LA13_;
4245 T14_ = (NI)0;
4246 T14_ = len__ast_4002(a);
4247 T11_ = (T14_ == ((NI) 3));
4248 LA13_: ;
4249 T10_ = T11_;
4250 if (!(T10_)) goto LA15_;
4251 T10_ = !((((*(*body).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0));
4252 LA15_: ;
4253 T9_ = T10_;
4254 if (!(T9_)) goto LA16_;
4255 T17_ = (NIM_BOOL)0;
4256 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)));
4257 if (!(T17_)) goto LA18_;
4258 T19_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4259 T19_ = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 1)], (*a).sons->data[((NI) 1)], 2);
4260 T17_ = (T19_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4261 LA18_: ;
4262 T9_ = T17_;
4263 LA16_: ;
4264 result = T9_;
4265 goto BeforeRet_;
4266 }
4267 break;
4268 default:
4269 {
4270 result = NIM_FALSE;
4271 goto BeforeRet_;
4272 }
4273 break;
4274 }
4275 }BeforeRet_: ;
4276 return result;
4277 }
N_NIMCALL(NIM_BOOL,inferStaticParam__sigmatch_1235)4278 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs) {
4279 NIM_BOOL result;
4280 { result = (NIM_BOOL)0;
4281 {
4282 NIM_BOOL T3_;
4283 T3_ = (NIM_BOOL)0;
4284 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));
4285 if (!(T3_)) goto LA4_;
4286 T3_ = ((*(*lhs)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4287 LA4_: ;
4288 if (!T3_) goto LA5_;
4289 switch ((*(*(*lhs)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
4290 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
4291 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65):
4292 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29):
4293 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
4294 {
4295 {
4296 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA10_;
4297 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4298 goto BeforeRet_;
4299 }
4300 goto LA8_;
4301 LA10_: ;
4302 {
4303 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA13_;
4304 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4305 goto BeforeRet_;
4306 }
4307 goto LA8_;
4308 LA13_: ;
4309 LA8_: ;
4310 }
4311 break;
4312 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30):
4313 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
4314 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66):
4315 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
4316 {
4317 {
4318 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA18_;
4319 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - rhs));
4320 goto BeforeRet_;
4321 }
4322 goto LA16_;
4323 LA18_: ;
4324 {
4325 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA21_;
4326 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs + (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4327 goto BeforeRet_;
4328 }
4329 goto LA16_;
4330 LA21_: ;
4331 LA16_: ;
4332 }
4333 break;
4334 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
4335 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67):
4336 {
4337 {
4338 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4339 {
4340 if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal) == IL64(0))) goto LA30_;
4341 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal));
4342 goto BeforeRet_;
4343 }
4344 LA30_: ;
4345 }
4346 goto LA24_;
4347 LA26_: ;
4348 {
4349 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA33_;
4350 {
4351 if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal) == IL64(0))) goto LA37_;
4352 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal));
4353 goto BeforeRet_;
4354 }
4355 LA37_: ;
4356 }
4357 goto LA24_;
4358 LA33_: ;
4359 LA24_: ;
4360 }
4361 break;
4362 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
4363 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68):
4364 {
4365 {
4366 if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA42_;
4367 {
4368 if (!((NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal % rhs) == IL64(0))) goto LA46_;
4369 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal / rhs));
4370 goto BeforeRet_;
4371 }
4372 LA46_: ;
4373 }
4374 goto LA40_;
4375 LA42_: ;
4376 {
4377 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA49_;
4378 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal * rhs));
4379 goto BeforeRet_;
4380 }
4381 goto LA40_;
4382 LA49_: ;
4383 LA40_: ;
4384 }
4385 break;
4386 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58):
4387 {
4388 {
4389 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA54_;
4390 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)));
4391 goto BeforeRet_;
4392 }
4393 LA54_: ;
4394 }
4395 break;
4396 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57):
4397 {
4398 {
4399 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA59_;
4400 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)));
4401 goto BeforeRet_;
4402 }
4403 LA59_: ;
4404 }
4405 break;
4406 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59):
4407 {
4408 {
4409 if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA64_;
4410 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)));
4411 goto BeforeRet_;
4412 }
4413 LA64_: ;
4414 }
4415 break;
4416 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93):
4417 {
4418 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], -(rhs));
4419 goto BeforeRet_;
4420 }
4421 break;
4422 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97):
4423 {
4424 result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], rhs);
4425 goto BeforeRet_;
4426 }
4427 break;
4428 default:
4429 {
4430 }
4431 break;
4432 }
4433 }
4434 goto LA1_;
4435 LA5_: ;
4436 {
4437 NIM_BOOL T70_;
4438 NIM_BOOL T71_;
4439 tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
4440 T70_ = (NIM_BOOL)0;
4441 T71_ = (NIM_BOOL)0;
4442 T71_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4443 if (!(T71_)) goto LA72_;
4444 T71_ = ((*(*lhs).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
4445 LA72_: ;
4446 T70_ = T71_;
4447 if (!(T70_)) goto LA73_;
4448 T70_ = ((*(*lhs).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4449 LA73_: ;
4450 if (!T70_) goto LA74_;
4451 inferred = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*(*lhs).typ).sons);
4452 asgnRef((void**) (&(*inferred).n), newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), rhs));
4453 put__sigmatch_120(c, (*lhs).typ, inferred);
4454 {
4455 if (!!(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA78_;
4456 asgnRef((void**) (&(*(*lhs).typ).n), (*inferred).n);
4457 }
4458 LA78_: ;
4459 result = NIM_TRUE;
4460 goto BeforeRet_;
4461 }
4462 goto LA1_;
4463 LA74_: ;
4464 LA1_: ;
4465 result = NIM_FALSE;
4466 goto BeforeRet_;
4467 }BeforeRet_: ;
4468 return result;
4469 }
N_NIMCALL(void,failureToInferStaticParam__sigmatch_1361)4470 N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4471 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* staticParam;
4472 NimStringDesc* name;
4473 NimStringDesc* T6_;
4474 staticParam = findUnresolvedStatic__ast_4956(n);
4475 {
4476 if (!!((staticParam == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
4477 name = (*(*(*staticParam)._kind_4.sym).name).s;
4478 }
4479 goto LA1_;
4480 LA3_: ;
4481 {
4482 name = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_17));
4483 }
4484 LA1_: ;
4485 T6_ = NIM_NIL;
4486 T6_ = rawNewString((name ? name->Sup.len : 0) + 45);
4487 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_18));
4488 appendString(T6_, name);
4489 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
4490 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_20, NIM_FALSE);
4491 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,inferStaticsInRange__sigmatch_1370)4492 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete) {
4493 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4494 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowerBound;
4495 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upperBound;
4496 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4497 lowerBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 0)], NIM_TRUE);
4498 upperBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
4499 {
4500 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym222_;
4501 tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym222_;
4502 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T16_;
4503 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
4504 if (!((*lowerBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA3_;
4505 {
4506 if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA7_;
4507 {
4508 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
4509 NIM_BOOL T12_;
4510 T11_ = lengthOrd__types_1661((*(*(*c).c).graph).config, concrete);
4511 T12_ = (NIM_BOOL)0;
4512 T12_ = eqeq___int495056_759(T11_, (NI64)((NI64)((*upperBound)._kind_1.intVal - (*lowerBound)._kind_1.intVal) + IL64(1)));
4513 if (!T12_) goto LA13_;
4514 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4515 goto BeforeRet_;
4516 }
4517 goto LA9_;
4518 LA13_: ;
4519 {
4520 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4521 goto BeforeRet_;
4522 }
4523 LA9_: ;
4524 }
4525 LA7_: ;
4526 expX60gensym222_ = upperBound;
4527 T16_ = lengthOrd__types_1661((*(*(*c).c).graph).config, concrete);
4528 T17_ = plus___int495056_794(T16_, (*lowerBound)._kind_1.intVal);
4529 rhsX60gensym222_ = minus___int495056_780(T17_, IL64(1));
4530 {
4531 NI64 T20_;
4532 NIM_BOOL T21_;
4533 T20_ = (NI64)0;
4534 T20_ = toInt64__int495056_88(rhsX60gensym222_);
4535 T21_ = (NIM_BOOL)0;
4536 T21_ = inferStaticParam__sigmatch_1235(c, expX60gensym222_, T20_);
4537 if (!T21_) goto LA22_;
4538 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4539 goto BeforeRet_;
4540 }
4541 goto LA18_;
4542 LA22_: ;
4543 {
4544 failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym222_);
4545 }
4546 LA18_: ;
4547 }
4548 goto LA1_;
4549 LA3_: ;
4550 {
4551 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym225_;
4552 tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym225_;
4553 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
4554 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_;
4555 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_;
4556 if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
4557 expX60gensym225_ = lowerBound;
4558 T28_ = getInt__ast_4592(upperBound);
4559 T29_ = plus___int495056_794(T28_, IL64(1));
4560 T30_ = lengthOrd__types_1661((*(*(*c).c).graph).config, concrete);
4561 rhsX60gensym225_ = minus___int495056_474(T29_, T30_);
4562 {
4563 NI64 T33_;
4564 NIM_BOOL T34_;
4565 T33_ = (NI64)0;
4566 T33_ = toInt64__int495056_88(rhsX60gensym225_);
4567 T34_ = (NIM_BOOL)0;
4568 T34_ = inferStaticParam__sigmatch_1235(c, expX60gensym225_, T33_);
4569 if (!T34_) goto LA35_;
4570 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
4571 goto BeforeRet_;
4572 }
4573 goto LA31_;
4574 LA35_: ;
4575 {
4576 failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym225_);
4577 }
4578 LA31_: ;
4579 }
4580 goto LA1_;
4581 LA26_: ;
4582 LA1_: ;
4583 }BeforeRet_: ;
4584 return result;
4585 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,minRel__sigmatch_798)4586 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b) {
4587 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4588 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4589 {
4590 if (!(a <= b)) goto LA3_;
4591 result = a;
4592 }
4593 goto LA1_;
4594 LA3_: ;
4595 {
4596 result = b;
4597 }
4598 LA1_: ;
4599 return result;
4600 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,recordRel__sigmatch_806)4601 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4602 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4603 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4604 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4605 {
4606 NIM_BOOL T3_;
4607 T3_ = (NIM_BOOL)0;
4608 T3_ = sameType__types_1824(f, a, 0);
4609 if (!T3_) goto LA4_;
4610 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4611 }
4612 goto LA1_;
4613 LA4_: ;
4614 {
4615 NI T7_;
4616 NI T8_;
4617 NI firstField;
4618 T7_ = (NI)0;
4619 T7_ = len__ast_4002(a);
4620 T8_ = (NI)0;
4621 T8_ = len__ast_4002(f);
4622 if (!(T7_ == T8_)) goto LA9_;
4623 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4624 {
4625 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA13_;
4626 firstField = ((NI) 0);
4627 }
4628 goto LA11_;
4629 LA13_: ;
4630 {
4631 firstField = ((NI) 1);
4632 }
4633 LA11_: ;
4634 {
4635 NI i;
4636 NI colontmp_;
4637 NI i_2;
4638 i = (NI)0;
4639 colontmp_ = (NI)0;
4640 colontmp_ = len__ast_4002(f);
4641 i_2 = firstField;
4642 {
4643 while (1) {
4644 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw m;
4645 if (!(i_2 < colontmp_)) goto LA18;
4646 i = i_2;
4647 m = typeRel__sigmatch_202(c, (*f).sons->data[i], (*a).sons->data[i], 0);
4648 {
4649 if (!(m < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA21_;
4650 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4651 goto BeforeRet_;
4652 }
4653 LA21_: ;
4654 result = minRel__sigmatch_798(result, m);
4655 i_2 += ((NI) 1);
4656 } LA18: ;
4657 }
4658 }
4659 {
4660 NIM_BOOL T25_;
4661 T25_ = (NIM_BOOL)0;
4662 T25_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4663 if (!(T25_)) goto LA26_;
4664 T25_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4665 LA26_: ;
4666 if (!T25_) goto LA27_;
4667 {
4668 NI i_3;
4669 NI colontmp__2;
4670 NI i_4;
4671 i_3 = (NI)0;
4672 colontmp__2 = (NI)0;
4673 colontmp__2 = len__ast_3198((*f).n);
4674 i_4 = ((NI) 0);
4675 {
4676 while (1) {
4677 if (!(i_4 < colontmp__2)) goto LA31;
4678 i_3 = i_4;
4679 {
4680 if (!!(((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
4681 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4682 goto BeforeRet_;
4683 }
4684 goto LA32_;
4685 LA34_: ;
4686 {
4687 if (!!(((*(*(*a).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA37_;
4688 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4689 goto BeforeRet_;
4690 }
4691 goto LA32_;
4692 LA37_: ;
4693 {
4694 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
4695 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* y;
4696 x = (*(*(*f).n)._kind_6.sons->data[i_3])._kind_4.sym;
4697 y = (*(*(*a).n)._kind_6.sons->data[i_3])._kind_4.sym;
4698 {
4699 NIM_BOOL T42_;
4700 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T44_;
4701 T42_ = (NIM_BOOL)0;
4702 T42_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
4703 if (!(T42_)) goto LA43_;
4704 T44_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4705 T44_ = typeRel__sigmatch_202(c, (*x).typ, (*y).typ, 0);
4706 T42_ = (T44_ < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
4707 LA43_: ;
4708 if (!T42_) goto LA45_;
4709 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4710 goto BeforeRet_;
4711 }
4712 LA45_: ;
4713 {
4714 if (!!(((*(*x).name).id == (*(*y).name).id))) goto LA49_;
4715 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4716 goto BeforeRet_;
4717 }
4718 LA49_: ;
4719 }
4720 LA32_: ;
4721 i_4 += ((NI) 1);
4722 } LA31: ;
4723 }
4724 }
4725 }
4726 LA27_: ;
4727 }
4728 goto LA1_;
4729 LA9_: ;
4730 LA1_: ;
4731 }BeforeRet_: ;
4732 return result;
4733 }
N_NIMCALL(void,genericParamPut__sigmatch_622)4734 N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) {
4735 {
4736 NIM_BOOL T3_;
4737 NIM_BOOL T4_;
4738 NI T7_;
4739 NI T8_;
4740 T3_ = (NIM_BOOL)0;
4741 T4_ = (NIM_BOOL)0;
4742 T4_ = !((fGenericOrigin == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4743 if (!(T4_)) goto LA5_;
4744 T4_ = ((*last).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
4745 LA5_: ;
4746 T3_ = T4_;
4747 if (!(T3_)) goto LA6_;
4748 T7_ = (NI)0;
4749 T7_ = len__ast_4002(last);
4750 T8_ = (NI)0;
4751 T8_ = len__ast_4002(fGenericOrigin);
4752 T3_ = ((NI)(T7_ - ((NI) 1)) == T8_);
4753 LA6_: ;
4754 if (!T3_) goto LA9_;
4755 {
4756 NI i;
4757 NI colontmp_;
4758 NI i_2;
4759 i = (NI)0;
4760 colontmp_ = (NI)0;
4761 colontmp_ = len__ast_4002(fGenericOrigin);
4762 i_2 = ((NI) 1);
4763 {
4764 while (1) {
4765 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
4766 RootObj* T14_;
4767 if (!(i_2 < colontmp_)) goto LA13;
4768 i = i_2;
4769 T14_ = NIM_NIL;
4770 T14_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*fGenericOrigin).sons->data[i])))));
4771 x = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T14_));
4772 {
4773 if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA17_;
4774 put__sigmatch_120(c, (*fGenericOrigin).sons->data[i], (*last).sons->data[i]);
4775 }
4776 LA17_: ;
4777 i_2 += ((NI) 1);
4778 } LA13: ;
4779 }
4780 }
4781 }
4782 LA9_: ;
4783 }
N_NIMCALL(NI,isObjectSubtype__sigmatch_656)4784 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) {
4785 NI result;
4786 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
4787 NI depth;
4788 tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
4789 result = (NI)0;
4790 t = a;
4791 depth = ((NI) 0);
4792 last = a;
4793 {
4794 while (1) {
4795 NIM_BOOL T3_;
4796 NIM_BOOL T5_;
4797 T3_ = (NIM_BOOL)0;
4798 T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4799 if (!(T3_)) goto LA4_;
4800 T5_ = (NIM_BOOL)0;
4801 T5_ = sameObjectTypes__types_2047(f, t);
4802 T3_ = !(T5_);
4803 LA4_: ;
4804 if (!T3_) goto LA2;
4805 t = (*t).sons->data[((NI) 0)];
4806 {
4807 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
4808 goto LA1;
4809 }
4810 LA8_: ;
4811 last = t;
4812 t = skipTypes__ast_3735(t, TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
4813 depth += ((NI) 1);
4814 } LA2: ;
4815 } LA1: ;
4816 {
4817 if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
4818 genericParamPut__sigmatch_622(c, last, fGenericOrigin);
4819 result = depth;
4820 }
4821 goto LA10_;
4822 LA12_: ;
4823 {
4824 result = ((NI) -1);
4825 }
4826 LA10_: ;
4827 return result;
4828 }
N_INLINE(NIM_BOOL,sameDistinctTypes__types_2092)4829 static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2092)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
4830 NIM_BOOL result;
4831 result = (NIM_BOOL)0;
4832 result = sameObjectTypes__types_2047(a, b);
4833 return result;
4834 }
N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,allowsNil__sigmatch_875)4835 static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
4836 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4837 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4838 {
4839 if (!!((((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0))) goto LA3_;
4840 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
4841 }
4842 goto LA1_;
4843 LA3_: ;
4844 {
4845 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4846 }
4847 LA1_: ;
4848 return result;
4849 }
N_INLINE(NIM_BOOL,inconsistentVarTypes__sigmatch_882)4850 static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4851 NIM_BOOL result;
4852 NIM_BOOL T1_;
4853 NIM_BOOL T3_;
4854 result = (NIM_BOOL)0;
4855 T1_ = (NIM_BOOL)0;
4856 T1_ = !(((*f).kind == (*a).kind));
4857 if (!(T1_)) goto LA2_;
4858 T3_ = (NIM_BOOL)0;
4859 T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4860 if (T3_) goto LA4_;
4861 T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
4862 LA4_: ;
4863 T1_ = T3_;
4864 LA2_: ;
4865 result = T1_;
4866 return result;
4867 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procParamTypeRel__sigmatch_898)4868 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4869 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4870 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
4871 tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
4872 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4873 f_2 = f;
4874 a_2 = a;
4875 {
4876 NIM_BOOL T3_;
4877 tyObject_TType__facALICuu8zUj0hjvbTLFg* aResolved;
4878 RootObj* T6_;
4879 T3_ = (NIM_BOOL)0;
4880 T3_ = isMetaType__ast_3495(a_2);
4881 if (!T3_) goto LA4_;
4882 T6_ = NIM_NIL;
4883 T6_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(a_2)))));
4884 aResolved = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T6_));
4885 {
4886 if (!!((aResolved == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_;
4887 a_2 = aResolved;
4888 }
4889 LA9_: ;
4890 }
4891 LA4_: ;
4892 {
4893 NIM_BOOL T13_;
4894 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw reverseRel;
4895 T13_ = (NIM_BOOL)0;
4896 T13_ = isMetaType__ast_3495(a_2);
4897 if (!T13_) goto LA14_;
4898 {
4899 NIM_BOOL T18_;
4900 T18_ = (NIM_BOOL)0;
4901 T18_ = isMetaType__ast_3495(f_2);
4902 if (!T18_) goto LA19_;
4903 {
4904 if (!!(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
4905 f_2 = generateTypeInstance__semtypinst_1050((*c).c, (*c).bindings, (*(*c).call).info, f_2);
4906 }
4907 goto LA21_;
4908 LA23_: ;
4909 {
4910 f_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
4911 }
4912 LA21_: ;
4913 {
4914 NIM_BOOL T28_;
4915 T28_ = (NIM_BOOL)0;
4916 T28_ = (f_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
4917 if (T28_) goto LA29_;
4918 T28_ = isMetaType__ast_3495(f_2);
4919 LA29_: ;
4920 if (!T28_) goto LA30_;
4921 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5);
4922 goto BeforeRet_;
4923 }
4924 LA30_: ;
4925 }
4926 LA19_: ;
4927 reverseRel = typeRel__sigmatch_202(c, a_2, f_2, 0);
4928 {
4929 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= reverseRel)) goto LA34_;
4930 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6);
4931 }
4932 LA34_: ;
4933 }
4934 goto LA11_;
4935 LA14_: ;
4936 {
4937 result = typeRel__sigmatch_202(c, f_2, a_2, 0);
4938 }
4939 LA11_: ;
4940 {
4941 NIM_BOOL T39_;
4942 T39_ = (NIM_BOOL)0;
4943 T39_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
4944 if (T39_) goto LA40_;
4945 T39_ = inconsistentVarTypes__sigmatch_882(f_2, a_2);
4946 LA40_: ;
4947 if (!T39_) goto LA41_;
4948 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
4949 }
4950 LA41_: ;
4951 }BeforeRet_: ;
4952 return result;
4953 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,procTypeRel__sigmatch_927)4954 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
4955 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
4956 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4957 switch ((*a).kind) {
4958 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4959 {
4960 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T33_;
4961 {
4962 NI T4_;
4963 NI T5_;
4964 T4_ = (NI)0;
4965 T4_ = len__ast_4002(f);
4966 T5_ = (NI)0;
4967 T5_ = len__ast_4002(a);
4968 if (!!((T4_ == T5_))) goto LA6_;
4969 goto BeforeRet_;
4970 }
4971 LA6_: ;
4972 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
4973 {
4974 NI i;
4975 NI colontmp_;
4976 NI i_2;
4977 i = (NI)0;
4978 colontmp_ = (NI)0;
4979 colontmp_ = len__ast_4002(f);
4980 i_2 = ((NI) 1);
4981 {
4982 while (1) {
4983 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T11_;
4984 if (!(i_2 < colontmp_)) goto LA10;
4985 i = i_2;
4986 T11_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
4987 T11_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[i], (*a).sons->data[i]);
4988 result = minRel__sigmatch_798(result, T11_);
4989 {
4990 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA14_;
4991 goto BeforeRet_;
4992 }
4993 LA14_: ;
4994 i_2 += ((NI) 1);
4995 } LA10: ;
4996 }
4997 }
4998 {
4999 if (!!(((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
5000 {
5001 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T24_;
5002 if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA22_;
5003 T24_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5004 T24_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)]);
5005 result = minRel__sigmatch_798(result, T24_);
5006 {
5007 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA27_;
5008 goto BeforeRet_;
5009 }
5010 LA27_: ;
5011 }
5012 goto LA20_;
5013 LA22_: ;
5014 {
5015 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5016 goto BeforeRet_;
5017 }
5018 LA20_: ;
5019 }
5020 goto LA16_;
5021 LA18_: ;
5022 {
5023 if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA31_;
5024 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5025 goto BeforeRet_;
5026 }
5027 goto LA16_;
5028 LA31_: ;
5029 LA16_: ;
5030 T33_ = getProcConvMismatch__types_3695((*(*(*c).c).graph).config, f, a, result);
5031 result = T33_.Field1;
5032 {
5033 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T36_;
5034 T36_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
5035 T36_ = compatibleEffects__types_3425(f, a);
5036 if (!!((T36_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)))) goto LA37_;
5037 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5038 goto BeforeRet_;
5039 }
5040 LA37_: ;
5041 }
5042 break;
5043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
5044 {
5045 result = allowsNil__sigmatch_875(f);
5046 }
5047 break;
5048 default:
5049 {
5050 }
5051 break;
5052 }
5053 }BeforeRet_: ;
5054 return result;
5055 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipToObject__sigmatch_703)5056 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped) {
5057 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5058 tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5059 NI ptrs;
5060 result = NIM_NIL;
5061 r = t;
5062 ptrs = ((NI) 0);
5063 {
5064 while (1) {
5065 if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
5066 switch ((*r).kind) {
5067 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5068 {
5069 r = (*r).sons->data[((NI) 0)];
5070 }
5071 break;
5072 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
5073 {
5074 ptrs += ((NI) 1);
5075 (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 1);
5076 r = lastSon__ast_3743(r);
5077 }
5078 break;
5079 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
5080 {
5081 ptrs += ((NI) 1);
5082 (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 2);
5083 r = lastSon__ast_3743(r);
5084 }
5085 break;
5086 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
5087 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5088 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5089 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5090 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5091 {
5092 r = lastSon__ast_3743(r);
5093 }
5094 break;
5095 default:
5096 {
5097 goto LA1;
5098 }
5099 break;
5100 }
5101 } LA2: ;
5102 } LA1: ;
5103 {
5104 NIM_BOOL T10_;
5105 T10_ = (NIM_BOOL)0;
5106 T10_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5107 if (!(T10_)) goto LA11_;
5108 T10_ = (ptrs <= ((NI) 1));
5109 LA11_: ;
5110 if (!T10_) goto LA12_;
5111 result = r;
5112 }
5113 LA12_: ;
5114 return result;
5115 }
N_NIMCALL(NIM_BOOL,isGenericSubtype__sigmatch_744)5116 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) {
5117 NIM_BOOL result;
5118 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
5119 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
5120 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5121 tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
5122 NI depth;
5123 tyObject_TType__facALICuu8zUj0hjvbTLFg* last;
5124 { result = (NIM_BOOL)0;
5125 askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5126 fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
5127 t = skipToObject__sigmatch_703(a, (&askip));
5128 r = skipToObject__sigmatch_703(f, (&fskip));
5129 {
5130 if (!(r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5131 result = NIM_FALSE;
5132 goto BeforeRet_;
5133 }
5134 LA3_: ;
5135 depth = ((NI) 0);
5136 last = a;
5137 {
5138 while (1) {
5139 NIM_BOOL T7_;
5140 NIM_BOOL T8_;
5141 T7_ = (NIM_BOOL)0;
5142 T8_ = (NIM_BOOL)0;
5143 T8_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5144 if (!(T8_)) goto LA9_;
5145 T8_ = !(((*r).sym == (*t).sym));
5146 LA9_: ;
5147 T7_ = T8_;
5148 if (!(T7_)) goto LA10_;
5149 T7_ = (askip == fskip);
5150 LA10_: ;
5151 if (!T7_) goto LA6;
5152 t = (*t).sons->data[((NI) 0)];
5153 {
5154 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA13_;
5155 goto LA5;
5156 }
5157 LA13_: ;
5158 last = t;
5159 t = skipToObject__sigmatch_703(t, (&askip));
5160 depth += ((NI) 1);
5161 } LA6: ;
5162 } LA5: ;
5163 {
5164 NIM_BOOL T17_;
5165 T17_ = (NIM_BOOL)0;
5166 T17_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5167 if (!(T17_)) goto LA18_;
5168 T17_ = (askip == fskip);
5169 LA18_: ;
5170 if (!T17_) goto LA19_;
5171 genericParamPut__sigmatch_622(c, last, fGenericOrigin);
5172 (*d) = depth;
5173 result = NIM_TRUE;
5174 }
5175 LA19_: ;
5176 }BeforeRet_: ;
5177 return result;
5178 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,concreteType__sigmatch_443)5179 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) {
5180 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5181 result = NIM_NIL;
5182 switch ((*t).kind) {
5183 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5184 {
5185 {
5186 if (!(*c).isNoCall) goto LA4_;
5187 result = t;
5188 }
5189 goto LA2_;
5190 LA4_: ;
5191 {
5192 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5193 }
5194 LA2_: ;
5195 }
5196 break;
5197 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5198 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
5199 {
5200 {
5201 if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA10_;
5202 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5203 }
5204 goto LA8_;
5205 LA10_: ;
5206 {
5207 result = t;
5208 }
5209 LA8_: ;
5210 }
5211 break;
5212 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5213 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5214 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
5215 {
5216 result = t;
5217 {
5218 while (1) {
5219 RootObj* T16_;
5220 T16_ = NIM_NIL;
5221 T16_ = idTableGet__astalgo_64((*c).bindings, &t->Sup);
5222 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T16_));
5223 {
5224 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
5225 goto LA14;
5226 }
5227 LA19_: ;
5228 {
5229 if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA23_;
5230 goto LA14;
5231 }
5232 LA23_: ;
5233 }
5234 } LA14: ;
5235 }
5236 break;
5237 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
5238 {
5239 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5240 }
5241 break;
5242 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
5243 {
5244 {
5245 NIM_BOOL T29_;
5246 NIM_BOOL T30_;
5247 NI T32_;
5248 tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
5249 T29_ = (NIM_BOOL)0;
5250 T30_ = (NIM_BOOL)0;
5251 T30_ = !((f == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5252 if (!(T30_)) goto LA31_;
5253 T32_ = (NI)0;
5254 T32_ = len__ast_4002(f);
5255 T30_ = (((NI) 0) < T32_);
5256 LA31_: ;
5257 T29_ = T30_;
5258 if (!(T29_)) goto LA33_;
5259 T34_ = NIM_NIL;
5260 T34_ = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_29);
5261 T29_ = ((*T34_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
5262 LA33_: ;
5263 if (!T29_) goto LA35_;
5264 result = lastSon__ast_3743(t);
5265 }
5266 goto LA27_;
5267 LA35_: ;
5268 {
5269 result = t;
5270 }
5271 LA27_: ;
5272 }
5273 break;
5274 default:
5275 {
5276 result = t;
5277 }
5278 break;
5279 }
5280 return result;
5281 }
N_NIMCALL(void,Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)5282 static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op) {
5283 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* a;
5284 a = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*)p;
5285 nimGCvisit((void*)(*a).errorPrefix1, op);
5286 nimGCvisit((void*)(*a).typeClass2, op);
5287 nimGCvisit((void*)(*a).oldWriteHook3.ClE_0, op);
5288 nimGCvisit((void*)(*a).diagnostics4, op);
5289 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)5290 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5291 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5292 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5293 (*x).symId += ((NI) 1);
5294 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5295 result.module = (*x).module;
5296 result.item = (*x).symId;
5297 return result;
5298 }
N_NIMCALL(void,Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)5299 static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op) {
5300 tySequence__bGUffHlsVXt0g6ZKEF4OfQ* a;
5301 NI T1_;
5302 a = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*)p;
5303 T1_ = (NI)0;
5304 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
5305 nimGCvisit((void*)a->data[T1_].Field0, op);
5306 nimGCvisit((void*)a->data[T1_].Field1, op);
5307 }
5308 }
N_INLINE(void,addDeclAt__lookups_837)5309 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5310 addDeclAt__lookups_815(c, scope, sym, (*sym).info);
5311 }
N_INLINE(void,addDecl__lookups_845)5312 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
5313 addDeclAt__lookups_837(c, (*c).currentScope, sym);
5314 }
N_CLOSURE(void,colonanonymous___sigmatch_1102)5315 N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0) {
5316 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenvP_;
5317 NimStringDesc* msg;
5318 NI T10_;
5319 NimStringDesc* T11_;
5320 colonenvP_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) ClE_0;
5321 {
5322 NimStringDesc* T5_;
5323 if (!(((*colonenvP_).errorPrefix1 ? (*colonenvP_).errorPrefix1->Sup.len : 0) == ((NI) 0))) goto LA3_;
5324 T5_ = NIM_NIL;
5325 T5_ = rawNewString(((*(*(*(*colonenvP_).typeClass2).sym).name).s ? (*(*(*(*colonenvP_).typeClass2).sym).name).s->Sup.len : 0) + 1);
5326 appendString(T5_, (*(*(*(*colonenvP_).typeClass2).sym).name).s);
5327 appendString(T5_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_37));
5328 asgnRef((void**) (&(*colonenvP_).errorPrefix1), T5_);
5329 }
5330 LA3_: ;
5331 msg = nsuReplaceStr(s, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_38), (*colonenvP_).errorPrefix1);
5332 {
5333 if (!!(((*colonenvP_).oldWriteHook3.ClP_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClP_0 && (*colonenvP_).oldWriteHook3.ClE_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClE_0))) goto LA8_;
5334 (*colonenvP_).oldWriteHook3.ClE_0? (*colonenvP_).oldWriteHook3.ClP_0(msg, (*colonenvP_).oldWriteHook3.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_40)((*colonenvP_).oldWriteHook3.ClP_0))(msg);
5335 }
5336 LA8_: ;
5337 asgnRef((void**) (&(*colonenvP_).diagnostics4), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenvP_).diagnostics4), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5338 T10_ = (*colonenvP_).diagnostics4->Sup.len++;
5339 T11_ = NIM_NIL;
5340 T11_ = (*colonenvP_).diagnostics4->data[T10_]; (*colonenvP_).diagnostics4->data[T10_] = copyStringRC1(msg);
5341 if (T11_) nimGCunrefNoCycle(T11_);
5342 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,matchUserTypeClass__sigmatch_993)5343 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
5344 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5345 tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenv_;
5346 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
5347 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
5348 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg matchedConceptContext;
5349 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prevMatchedConcept;
5350 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevCandidateType;
5351 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T11_;
5352 TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_35;
5353 tySequence__bGUffHlsVXt0g6ZKEF4OfQ* typeParams;
5354 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
5355 NIM_BOOL collectDiagnostics;
5356 NIM_BOOL T56_;
5357 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkedBody;
5358 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_;
5359 { result = NIM_NIL;
5360 colonenv_ = NIM_NIL;
5361 colonenv_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) newObj((&NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_), sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA));
5362 (*colonenv_).Sup.m_type = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
5363 c = (*m).c;
5364 asgnRef((void**) (&(*colonenv_).typeClass2), skipTypes__ast_3735(ff, TM__EV5hHJmjIY9cla9b9be7fSVJQ_32));
5365 body = (*(*(*colonenv_).typeClass2).n)._kind_6.sons->data[((NI) 3)];
5366 nimZeroMem((void*)(&matchedConceptContext), sizeof(tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg));
5367 prevMatchedConcept = (*c).matchedConcept;
5368 prevCandidateType = (*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)];
5369 {
5370 if (!!((prevMatchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA3_;
5371 matchedConceptContext.prev = prevMatchedConcept;
5372 matchedConceptContext.depth = (NI)((*prevMatchedConcept).depth + ((NI) 1));
5373 {
5374 NimStringDesc* T9_;
5375 NimStringDesc* T10_;
5376 if (!(((NI) 4) < (*prevMatchedConcept).depth)) goto LA7_;
5377 T9_ = NIM_NIL;
5378 T10_ = NIM_NIL;
5379 T10_ = dollar___renderer_2106(body);
5380 T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 29);
5381 appendString(T9_, T10_);
5382 appendString(T9_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_33));
5383 liMessage__msgs_1118((*(*(*m).c).graph).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_34, NIM_FALSE);
5384 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5385 goto BeforeRet_;
5386 }
5387 LA7_: ;
5388 }
5389 LA3_: ;
5390 T11_ = NIM_NIL;
5391 T11_ = openScope__lookups_69(c);
5392 matchedConceptContext.candidateType = a;
5393 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), a);
5394 (*c).matchedConcept = (&matchedConceptContext);
5395 pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_35);
5396 TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.context);
5397 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status == 0) {
5398 typeParams = NIM_NIL;
5399 {
5400 if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA14_;
5401 {
5402 NI i;
5403 NI colontmp_;
5404 NI T17_;
5405 NI i_2;
5406 i = (NI)0;
5407 colontmp_ = (NI)0;
5408 T17_ = (NI)0;
5409 T17_ = len__ast_4002(ff);
5410 colontmp_ = (NI)(T17_ - ((NI) 1));
5411 i_2 = ((NI) 1);
5412 {
5413 while (1) {
5414 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typeParamName;
5415 tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
5416 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
5417 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
5418 tyObject_TType__facALICuu8zUj0hjvbTLFg* alreadyBound;
5419 RootObj* T21_;
5420 if (!(i_2 < colontmp_)) goto LA19;
5421 i = i_2;
5422 T20_ = NIM_NIL;
5423 T20_ = base__types_63(ff);
5424 typeParamName = (*(*(*T20_).sons->data[(NI)(i - ((NI) 1))]).sym).name;
5425 typ = (*ff).sons->data[i];
5426 param = NIM_NIL;
5427 T21_ = NIM_NIL;
5428 T21_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(typ)))));
5429 alreadyBound = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T21_));
5430 {
5431 if (!!((alreadyBound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA24_;
5432 typ = alreadyBound;
5433 }
5434 LA24_: ;
5435 {
5436 tyTuple__Qqa8F49azZNOOP4FK3LKbhw T54_;
5437 NI T55_;
5438 {
5439 tyTuple__Qqa8F49azZNOOP4FK3LKbhw* prev;
5440 NI i_3;
5441 NI L;
5442 NI T28_;
5443 prev = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5444 i_3 = ((NI) 0);
5445 T28_ = (typeParams ? typeParams->Sup.len : 0);
5446 L = T28_;
5447 {
5448 while (1) {
5449 if (!(i_3 < L)) goto LA30;
5450 prev = (&typeParams->data[i_3]);
5451 {
5452 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym159_;
5453 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym160_;
5454 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T35_;
5455 xX60gensym159_ = (*prev).Field1;
5456 xX60gensym160_ = typ;
5457 if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym159_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym159_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym160_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym160_).Sup.itemId.item))))) goto LA33_;
5458 T35_ = nextSymId__ast_3132((*c).Sup.idgen);
5459 param = newSym__ast_3445((*(*prev).Field0).kind, typeParamName, T35_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5460 asgnRef((void**) (&(*param).typ), (*(*prev).Field0).typ);
5461 goto LA26;
5462 }
5463 LA33_: ;
5464 i_3 += ((NI) 1);
5465 } LA30: ;
5466 }
5467 }
5468 switch ((*typ).kind) {
5469 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5470 {
5471 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T37_;
5472 T37_ = nextSymId__ast_3132((*c).Sup.idgen);
5473 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typeParamName, T37_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5474 asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5475 {
5476 if (!((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA40_;
5477 (*(*param).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63);
5478 }
5479 goto LA38_;
5480 LA40_: ;
5481 {
5482 asgnRef((void**) (&(*param).ast), (*typ).n);
5483 }
5484 LA38_: ;
5485 }
5486 break;
5487 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5488 {
5489 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_;
5490 T44_ = nextSymId__ast_3132((*c).Sup.idgen);
5491 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), typeParamName, T44_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5492 asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ));
5493 }
5494 break;
5495 default:
5496 {
5497 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T46_;
5498 T46_ = nextSymId__ast_3132((*c).Sup.idgen);
5499 param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), typeParamName, T46_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0);
5500 {
5501 NIM_BOOL T49_;
5502 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T52_;
5503 T49_ = (NIM_BOOL)0;
5504 T49_ = isMetaType__ast_3495(typ);
5505 if (!T49_) goto LA50_;
5506 T52_ = NIM_NIL;
5507 T52_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
5508 asgnRef((void**) (&T52_->data[0]), typ);
5509 asgnRef((void**) (&(*param).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55), T52_));
5510 }
5511 goto LA47_;
5512 LA50_: ;
5513 {
5514 asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, typ));
5515 }
5516 LA47_: ;
5517 }
5518 break;
5519 }
5520 nimZeroMem((void*)(&T54_), sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw));
5521 T54_.Field0 = param;
5522 T54_.Field1 = typ;
5523 typeParams = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*) incrSeqV3((TGenericSeq*)(typeParams), (&NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_));
5524 T55_ = typeParams->Sup.len++;
5525 asgnRef((void**) (&typeParams->data[T55_].Field0), T54_.Field0);
5526 asgnRef((void**) (&typeParams->data[T55_].Field1), T54_.Field1);
5527 } LA26: ;
5528 addDecl__lookups_845(c, param);
5529 i_2 += ((NI) 1);
5530 } LA19: ;
5531 }
5532 }
5533 }
5534 LA14_: ;
5535 nimZeroMem((void*)(&(*colonenv_).oldWriteHook3), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5536 asgnRef((void**) (&(*colonenv_).diagnostics4), NIM_NIL);
5537 asgnRef((void**) (&(*colonenv_).errorPrefix1), NIM_NIL);
5538 flags = 0;
5539 T56_ = (NIM_BOOL)0;
5540 T56_ = (*m).diagnosticsEnabled;
5541 if (T56_) goto LA57_;
5542 T56_ = (((*(*(*colonenv_).typeClass2).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0);
5543 LA57_: ;
5544 collectDiagnostics = T56_;
5545 {
5546 tyProc__k2HFjxisIgDALbEUFojxaQ T62_;
5547 if (!collectDiagnostics) goto LA60_;
5548 asgnRef((void**) (&(*colonenv_).oldWriteHook3.ClE_0), (*(*(*(*m).c).graph).config).writelnHook.ClE_0);
5549 (*colonenv_).oldWriteHook3.ClP_0 = (*(*(*(*m).c).graph).config).writelnHook.ClP_0;
5550 if ((*colonenv_).diagnostics4) { nimGCunrefRC1((*colonenv_).diagnostics4); (*colonenv_).diagnostics4 = NIM_NIL; }
5551 flags = 1024;
5552 nimZeroMem((void*)(&T62_), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ));
5553 T62_.ClP_0 = colonanonymous___sigmatch_1102; T62_.ClE_0 = colonenv_;
5554 asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), T62_.ClE_0);
5555 (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = T62_.ClP_0;
5556 }
5557 LA60_: ;
5558 T63_ = NIM_NIL;
5559 T63_ = copyTree__ast_4431(body);
5560 checkedBody = (*c).semTryExpr(c, T63_, flags);
5561 {
5562 if (!collectDiagnostics) goto LA66_;
5563 asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), (*colonenv_).oldWriteHook3.ClE_0);
5564 (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = (*colonenv_).oldWriteHook3.ClP_0;
5565 {
5566 NimStringDesc** msg;
5567 NI i_4;
5568 NI L_2;
5569 NI T69_;
5570 msg = (NimStringDesc**)0;
5571 i_4 = ((NI) 0);
5572 T69_ = ((*colonenv_).diagnostics4 ? (*colonenv_).diagnostics4->Sup.len : 0);
5573 L_2 = T69_;
5574 {
5575 while (1) {
5576 NI T72_;
5577 NimStringDesc* T73_;
5578 if (!(i_4 < L_2)) goto LA71;
5579 msg = (&(*colonenv_).diagnostics4->data[i_4]);
5580 unsureAsgnRef((void**) (&(*m).diagnostics), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*m).diagnostics), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_)));
5581 T72_ = (*m).diagnostics->Sup.len++;
5582 T73_ = NIM_NIL;
5583 T73_ = (*m).diagnostics->data[T72_]; (*m).diagnostics->data[T72_] = copyStringRC1((*msg));
5584 if (T73_) nimGCunrefNoCycle(T73_);
5585 (*m).diagnosticsEnabled = NIM_TRUE;
5586 i_4 += ((NI) 1);
5587 } LA71: ;
5588 }
5589 }
5590 }
5591 LA66_: ;
5592 {
5593 if (!(checkedBody == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA76_;
5594 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5595 popSafePoint();
5596 (*c).matchedConcept = prevMatchedConcept;
5597 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5598 closeScope__lookups_101(c);
5599 goto BeforeRet_;
5600 }
5601 LA76_: ;
5602 {
5603 tyTuple__Qqa8F49azZNOOP4FK3LKbhw* p;
5604 NI i_5;
5605 NI L_3;
5606 NI T79_;
5607 p = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0;
5608 i_5 = ((NI) 0);
5609 T79_ = (typeParams ? typeParams->Sup.len : 0);
5610 L_3 = T79_;
5611 {
5612 while (1) {
5613 if (!(i_5 < L_3)) goto LA81;
5614 p = (&typeParams->data[i_5]);
5615 put__sigmatch_120(m, (*p).Field1, (*(*p).Field0).typ);
5616 i_5 += ((NI) 1);
5617 } LA81: ;
5618 }
5619 }
5620 {
5621 if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA84_;
5622 result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*(*(*colonenv_).typeClass2).sym).info, ff);
5623 }
5624 goto LA82_;
5625 LA84_: ;
5626 {
5627 result = exactReplica__ast_4051(ff);
5628 }
5629 LA82_: ;
5630 asgnRef((void**) (&(*result).n), checkedBody);
5631 popSafePoint();
5632 }
5633 else {
5634 popSafePoint();
5635 }
5636 {
5637 (*c).matchedConcept = prevMatchedConcept;
5638 asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType);
5639 closeScope__lookups_101(c);
5640 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) nimLeaveFinally();
5641 }
5642 if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) reraiseException();
5643 }BeforeRet_: ;
5644 return result;
5645 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)5646 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
5647 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
5648 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)5649 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
5650 NimStringDesc* result;
5651 result = NIM_NIL;
5652 result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
5653 appendString(result, info.Field0);
5654 {
5655 if (!(((NI) 0) < info.Field1)) goto LA3_;
5656 result = resizeString(result, 1);
5657 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
5658 addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
5659 {
5660 if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
5661 result = resizeString(result, 2);
5662 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
5663 addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
5664 }
5665 LA7_: ;
5666 result = resizeString(result, 1);
5667 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
5668 }
5669 LA3_: ;
5670 return result;
5671 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,typeRel__sigmatch_202)5672 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) {
5673 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
5674 NIM_BOOL useTypeLoweringRuleInTypeClass;
5675 NIM_BOOL T9_;
5676 NIM_BOOL T10_;
5677 NIM_BOOL T11_;
5678 NIM_BOOL T12_;
5679 tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig_2;
5680 tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
5681 tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
5682 { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
5683 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5684 {
5685 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA3_;
5686 {
5687 if (!!((aOrig == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
5688 put__sigmatch_120(c, f, aOrig);
5689 }
5690 LA7_: ;
5691 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5692 goto BeforeRet_;
5693 }
5694 LA3_: ;
5695 T9_ = (NIM_BOOL)0;
5696 T10_ = (NIM_BOOL)0;
5697 T11_ = (NIM_BOOL)0;
5698 T12_ = (NIM_BOOL)0;
5699 T12_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
5700 if (!(T12_)) goto LA13_;
5701 T12_ = !((*c).isNoCall);
5702 LA13_: ;
5703 T11_ = T12_;
5704 if (!(T11_)) goto LA14_;
5705 T11_ = !(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
5706 LA14_: ;
5707 T10_ = T11_;
5708 if (!(T10_)) goto LA15_;
5709 T10_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0));
5710 LA15_: ;
5711 T9_ = T10_;
5712 if (!(T9_)) goto LA16_;
5713 T9_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28))&63U)))!=0));
5714 LA16_: ;
5715 useTypeLoweringRuleInTypeClass = T9_;
5716 {
5717 if (!useTypeLoweringRuleInTypeClass) goto LA19_;
5718 aOrig_2 = skipTypes__ast_3735(aOrig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
5719 }
5720 goto LA17_;
5721 LA19_: ;
5722 {
5723 aOrig_2 = aOrig;
5724 }
5725 LA17_: ;
5726 {
5727 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev;
5728 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55))) goto LA24_;
5729 {
5730 NI T28_;
5731 T28_ = ((*aOrig_2).sons ? (*aOrig_2).sons->Sup.len : 0);
5732 if (!(((NI) 1) < T28_)) goto LA29_;
5733 prev = lastSon__ast_3743(aOrig_2);
5734 }
5735 goto LA26_;
5736 LA29_: ;
5737 {
5738 prev = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
5739 }
5740 LA26_: ;
5741 {
5742 if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
5743 result = typeRel__sigmatch_202(c, f, prev, flags);
5744 goto BeforeRet_;
5745 }
5746 goto LA32_;
5747 LA34_: ;
5748 {
5749 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidate;
5750 tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
5751 candidate = f;
5752 switch ((*f).kind) {
5753 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
5754 {
5755 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_2;
5756 RootObj* T38_;
5757 T38_ = NIM_NIL;
5758 T38_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
5759 prev_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T38_));
5760 {
5761 if (!!((prev_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA41_;
5762 candidate = prev_2;
5763 }
5764 LA41_: ;
5765 }
5766 break;
5767 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
5768 {
5769 tyObject_TType__facALICuu8zUj0hjvbTLFg* computedType;
5770 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
5771 T44_ = NIM_NIL;
5772 T44_ = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
5773 computedType = (*T44_).typ;
5774 switch ((*computedType).kind) {
5775 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5776 {
5777 candidate = base__types_63(computedType);
5778 }
5779 break;
5780 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5781 {
5782 candidate = computedType;
5783 }
5784 break;
5785 default:
5786 {
5787 }
5788 break;
5789 }
5790 }
5791 break;
5792 default:
5793 {
5794 }
5795 break;
5796 }
5797 T49_ = NIM_NIL;
5798 T49_ = base__types_63(aOrig_2);
5799 result = typeRel__sigmatch_202(c, T49_, candidate, flags);
5800 {
5801 NI T54_;
5802 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA52_;
5803 unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
5804 T54_ = (*c).inferredTypes->Sup.len++;
5805 asgnRef((void**) (&(*c).inferredTypes->data[T54_]), aOrig_2);
5806 add__concepts_23(aOrig_2, candidate);
5807 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
5808 }
5809 LA52_: ;
5810 goto BeforeRet_;
5811 }
5812 LA32_: ;
5813 }
5814 LA24_: ;
5815 T55_ = NIM_NIL;
5816 T55_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5817 a = maybeSkipDistinct__sigmatch_1210((&(*c)), T55_, (*c).calleeSym);
5818 {
5819 tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
5820 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA58_;
5821 T60_ = NIM_NIL;
5822 T60_ = lastSon__ast_3743(aOrig_2);
5823 result = typeRel__sigmatch_202(c, f, T60_, flags);
5824 goto BeforeRet_;
5825 }
5826 LA58_: ;
5827 {
5828 NIM_BOOL T63_;
5829 tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
5830 tyObject_TType__facALICuu8zUj0hjvbTLFg* T68_;
5831 T63_ = (NIM_BOOL)0;
5832 T63_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
5833 if (!(T63_)) goto LA64_;
5834 T65_ = NIM_NIL;
5835 T65_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15);
5836 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)));
5837 LA64_: ;
5838 if (!T63_) goto LA66_;
5839 T68_ = NIM_NIL;
5840 T68_ = lastSon__ast_3743(a);
5841 result = typeRel__sigmatch_202(c, f, T68_, flags);
5842 goto BeforeRet_;
5843 }
5844 LA66_: ;
5845 {
5846 tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
5847 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA71_;
5848 T73_ = NIM_NIL;
5849 T73_ = lastSon__ast_3743(a);
5850 result = typeRel__sigmatch_202(c, f, T73_, flags);
5851 goto BeforeRet_;
5852 }
5853 LA71_: ;
5854 switch ((*a).kind) {
5855 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
5856 {
5857 (*c).typedescMatched = NIM_TRUE;
5858 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5859 {
5860 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
5861 NI i;
5862 NI L;
5863 NI T76_;
5864 branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5865 i = ((NI) 0);
5866 T76_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5867 L = T76_;
5868 {
5869 while (1) {
5870 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x;
5871 if (!(i < L)) goto LA78;
5872 branch = &(*a).sons->data[i];
5873 x = typeRel__sigmatch_202(c, f, (*branch), (flags | 1));
5874 {
5875 if (!(x == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA81_;
5876 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5877 goto BeforeRet_;
5878 }
5879 LA81_: ;
5880 {
5881 if (!(x < result)) goto LA85_;
5882 result = x;
5883 }
5884 LA85_: ;
5885 i += ((NI) 1);
5886 } LA78: ;
5887 }
5888 }
5889 goto BeforeRet_;
5890 }
5891 break;
5892 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
5893 {
5894 (*c).typedescMatched = NIM_TRUE;
5895 {
5896 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_2;
5897 NI i_2;
5898 NI L_2;
5899 NI T89_;
5900 branch_2 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
5901 i_2 = ((NI) 0);
5902 T89_ = ((*a).sons ? (*a).sons->Sup.len : 0);
5903 L_2 = T89_;
5904 {
5905 while (1) {
5906 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_2;
5907 if (!(i_2 < L_2)) goto LA91;
5908 branch_2 = &(*a).sons->data[i_2];
5909 x_2 = typeRel__sigmatch_202(c, f, (*branch_2), (flags | 1));
5910 {
5911 if (!!((x_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA94_;
5912 {
5913 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_2)) goto LA98_;
5914 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5915 }
5916 goto LA96_;
5917 LA98_: ;
5918 {
5919 result = x_2;
5920 }
5921 LA96_: ;
5922 goto BeforeRet_;
5923 }
5924 LA94_: ;
5925 i_2 += ((NI) 1);
5926 } LA91: ;
5927 }
5928 }
5929 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5930 goto BeforeRet_;
5931 }
5932 break;
5933 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
5934 {
5935 {
5936 if (!!(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64)))) goto LA104_;
5937 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5938 goto BeforeRet_;
5939 }
5940 LA104_: ;
5941 }
5942 break;
5943 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5944 {
5945 switch ((*f).kind) {
5946 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
5947 {
5948 tyObject_TType__facALICuu8zUj0hjvbTLFg* T108_;
5949 tyObject_TType__facALICuu8zUj0hjvbTLFg* T109_;
5950 T108_ = NIM_NIL;
5951 T108_ = lastSon__ast_3743(a);
5952 T109_ = NIM_NIL;
5953 T109_ = lastSon__ast_3743(f);
5954 result = typeRel__sigmatch_202(c, T108_, T109_, flags);
5955 goto BeforeRet_;
5956 }
5957 break;
5958 default:
5959 {
5960 {
5961 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA113_;
5962 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5963 }
5964 goto LA111_;
5965 LA113_: ;
5966 {
5967 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5968 }
5969 LA111_: ;
5970 goto BeforeRet_;
5971 }
5972 break;
5973 }
5974 }
5975 break;
5976 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
5977 {
5978 {
5979 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA119_;
5980 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
5981 goto BeforeRet_;
5982 }
5983 goto LA117_;
5984 LA119_: ;
5985 {
5986 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5987 goto BeforeRet_;
5988 }
5989 LA117_: ;
5990 }
5991 break;
5992 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
5993 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5994 {
5995 {
5996 NIM_BOOL T125_;
5997 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_3;
5998 T125_ = (NIM_BOOL)0;
5999 T125_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6000 if (!(T125_)) goto LA126_;
6001 T125_ = ((*(*(*c).c).matchedConcept).depth <= ((NI) 4));
6002 LA126_: ;
6003 if (!T125_) goto LA127_;
6004 (*(*(*c).c).matchedConcept).depth += ((NI) 1);
6005 x_3 = typeRel__sigmatch_202(c, a, f, (flags | 1));
6006 {
6007 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_3)) goto LA131_;
6008 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6009 goto BeforeRet_;
6010 }
6011 LA131_: ;
6012 }
6013 LA127_: ;
6014 }
6015 break;
6016 default:
6017 {
6018 }
6019 break;
6020 }
6021 switch ((*f).kind) {
6022 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
6023 {
6024 {
6025 NIM_BOOL T137_;
6026 T137_ = (NIM_BOOL)0;
6027 T137_ = ((*a).kind == (*f).kind);
6028 if (!(T137_)) goto LA138_;
6029 T137_ = sameEnumTypes__types_2096(f, a);
6030 LA138_: ;
6031 if (!T137_) goto LA139_;
6032 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6033 }
6034 goto LA135_;
6035 LA139_: ;
6036 {
6037 tyObject_TType__facALICuu8zUj0hjvbTLFg* T142_;
6038 NIM_BOOL T143_;
6039 T142_ = NIM_NIL;
6040 T142_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6041 T143_ = (NIM_BOOL)0;
6042 T143_ = sameEnumTypes__types_2096(f, T142_);
6043 if (!T143_) goto LA144_;
6044 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6045 }
6046 goto LA135_;
6047 LA144_: ;
6048 LA135_: ;
6049 }
6050 break;
6051 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
6052 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
6053 {
6054 {
6055 if (!((*a).kind == (*f).kind)) goto LA149_;
6056 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6057 }
6058 goto LA147_;
6059 LA149_: ;
6060 {
6061 tyObject_TType__facALICuu8zUj0hjvbTLFg* T152_;
6062 T152_ = NIM_NIL;
6063 T152_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6064 if (!((*T152_).kind == (*f).kind)) goto LA153_;
6065 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6066 }
6067 goto LA147_;
6068 LA153_: ;
6069 LA147_: ;
6070 }
6071 break;
6072 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
6073 {
6074 {
6075 tyObject_TType__facALICuu8zUj0hjvbTLFg* T165_;
6076 tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
6077 if (!((*a).kind == (*f).kind)) goto LA158_;
6078 {
6079 tyObject_TType__facALICuu8zUj0hjvbTLFg* T162_;
6080 T162_ = NIM_NIL;
6081 T162_ = base__types_63(f);
6082 if (!((*T162_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA163_;
6083 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6084 goto BeforeRet_;
6085 }
6086 LA163_: ;
6087 T165_ = NIM_NIL;
6088 T165_ = base__types_63(f);
6089 T166_ = NIM_NIL;
6090 T166_ = base__types_63(a);
6091 result = typeRel__sigmatch_202(c, T165_, T166_, flags);
6092 {
6093 if (!!(((257 &((NU16)1<<((NU)(result)&15U)))!=0))) goto LA169_;
6094 {
6095 NI i_3;
6096 NI res;
6097 i_3 = (NI)0;
6098 res = ((NI) 0);
6099 {
6100 while (1) {
6101 if (!(res <= ((NI) 1))) goto LA173;
6102 i_3 = res;
6103 {
6104 if (!((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62))) goto LA176_;
6105 asgnRef((void**) (&(*(*f).n)._kind_6.sons->data[i_3]), tryResolvingStaticExpr__sigmatch_1227(c, (*(*f).n)._kind_6.sons->data[i_3], NIM_FALSE));
6106 }
6107 LA176_: ;
6108 res += ((NI) 1);
6109 } LA173: ;
6110 }
6111 }
6112 result = typeRangeRel__sigmatch_981(f, a);
6113 }
6114 LA169_: ;
6115 }
6116 goto LA156_;
6117 LA158_: ;
6118 {
6119 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2;
6120 f_2 = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
6121 {
6122 NIM_BOOL T181_;
6123 NIM_BOOL T183_;
6124 T181_ = (NIM_BOOL)0;
6125 T181_ = ((*f_2).kind == (*a).kind);
6126 if (!(T181_)) goto LA182_;
6127 T183_ = (NIM_BOOL)0;
6128 T183_ = !(((*f_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
6129 if (T183_) goto LA184_;
6130 T183_ = sameEnumTypes__types_2096(f_2, a);
6131 LA184_: ;
6132 T181_ = T183_;
6133 LA182_: ;
6134 if (!T181_) goto LA185_;
6135 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2);
6136 }
6137 goto LA179_;
6138 LA185_: ;
6139 {
6140 NIM_BOOL T188_;
6141 T188_ = (NIM_BOOL)0;
6142 T188_ = isConvertibleToRange__sigmatch_548(f_2, a);
6143 if (!T188_) goto LA189_;
6144 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6145 }
6146 goto LA179_;
6147 LA189_: ;
6148 LA179_: ;
6149 }
6150 LA156_: ;
6151 }
6152 break;
6153 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
6154 {
6155 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6156 }
6157 break;
6158 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
6159 {
6160 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32));
6161 }
6162 break;
6163 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
6164 {
6165 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33));
6166 }
6167 break;
6168 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
6169 {
6170 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34));
6171 }
6172 break;
6173 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
6174 {
6175 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
6176 }
6177 break;
6178 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
6179 {
6180 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6181 }
6182 break;
6183 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
6184 {
6185 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41));
6186 }
6187 break;
6188 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
6189 {
6190 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42));
6191 }
6192 break;
6193 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
6194 {
6195 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43));
6196 }
6197 break;
6198 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
6199 {
6200 result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
6201 }
6202 break;
6203 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
6204 {
6205 result = handleFloatRange__sigmatch_596(f, a);
6206 }
6207 break;
6208 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
6209 {
6210 result = handleFloatRange__sigmatch_596(f, a);
6211 }
6212 break;
6213 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
6214 {
6215 result = handleFloatRange__sigmatch_596(f, a);
6216 }
6217 break;
6218 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
6219 {
6220 result = handleFloatRange__sigmatch_596(f, a);
6221 }
6222 break;
6223 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
6224 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
6225 {
6226 {
6227 tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_;
6228 tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_;
6229 if (!((*aOrig_2).kind == (*f).kind)) goto LA208_;
6230 T210_ = NIM_NIL;
6231 T210_ = base__types_63(f);
6232 T211_ = NIM_NIL;
6233 T211_ = base__types_63(aOrig_2);
6234 result = typeRel__sigmatch_202(c, T210_, T211_, flags);
6235 }
6236 goto LA206_;
6237 LA208_: ;
6238 {
6239 tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
6240 T213_ = NIM_NIL;
6241 T213_ = base__types_63(f);
6242 result = typeRel__sigmatch_202(c, T213_, aOrig_2, (flags | 2));
6243 }
6244 LA206_: ;
6245 {
6246 NIM_BOOL T216_;
6247 tyObject_TType__facALICuu8zUj0hjvbTLFg* T218_;
6248 tyObject_TType__facALICuu8zUj0hjvbTLFg* T219_;
6249 T216_ = (NIM_BOOL)0;
6250 T216_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6251 if (!(T216_)) goto LA217_;
6252 T218_ = NIM_NIL;
6253 T218_ = lastSon__ast_3743(f);
6254 T219_ = NIM_NIL;
6255 T219_ = skipTypes__ast_3735(T218_, abstractInst__ast_355);
6256 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));
6257 LA217_: ;
6258 if (!T216_) goto LA220_;
6259 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6260 }
6261 LA220_: ;
6262 }
6263 break;
6264 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6265 {
6266 switch ((*a).kind) {
6267 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6268 {
6269 tyObject_TType__facALICuu8zUj0hjvbTLFg* fRange;
6270 tyObject_TType__facALICuu8zUj0hjvbTLFg* aRange;
6271 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff;
6272 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
6273 fRange = (*f).sons->data[((NI) 0)];
6274 aRange = (*a).sons->data[((NI) 0)];
6275 {
6276 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_3;
6277 RootObj* T228_;
6278 if (!((*fRange).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA226_;
6279 T228_ = NIM_NIL;
6280 T228_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(fRange)))));
6281 prev_3 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T228_));
6282 {
6283 if (!(prev_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA231_;
6284 put__sigmatch_120(c, fRange, (*a).sons->data[((NI) 0)]);
6285 fRange = a;
6286 }
6287 goto LA229_;
6288 LA231_: ;
6289 {
6290 fRange = prev_3;
6291 }
6292 LA229_: ;
6293 }
6294 LA226_: ;
6295 ff = skipTypes__ast_3735((*f).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
6296 aa = (*a).sons->data[((NI) 1)];
6297 {
6298 NIM_BOOL T236_;
6299 T236_ = (NIM_BOOL)0;
6300 T236_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6301 if (!(T236_)) goto LA237_;
6302 T236_ = ((*aa).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6303 LA237_: ;
6304 if (!T236_) goto LA238_;
6305 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6306 }
6307 goto LA234_;
6308 LA238_: ;
6309 {
6310 result = typeRel__sigmatch_202(c, ff, aa, flags);
6311 }
6312 LA234_: ;
6313 {
6314 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA243_;
6315 {
6316 NIM_BOOL T247_;
6317 NIM_BOOL T248_;
6318 NIM_BOOL T249_;
6319 T247_ = (NIM_BOOL)0;
6320 T248_ = (NIM_BOOL)0;
6321 T249_ = (NIM_BOOL)0;
6322 T249_ = NIM_FALSE;
6323 if (!(T249_)) goto LA250_;
6324 T249_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6325 LA250_: ;
6326 T248_ = T249_;
6327 if (!(T248_)) goto LA251_;
6328 T248_ = ((*ff).kind == (*aa).kind);
6329 LA251_: ;
6330 T247_ = T248_;
6331 if (!(T247_)) goto LA252_;
6332 T247_ = isCovariantPtr__sigmatch_1405(c, ff, aa);
6333 LA252_: ;
6334 if (!T247_) goto LA253_;
6335 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6336 }
6337 goto LA245_;
6338 LA253_: ;
6339 {
6340 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6341 goto BeforeRet_;
6342 }
6343 LA245_: ;
6344 }
6345 LA243_: ;
6346 {
6347 if (!(((*fRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA258_;
6348 result = inferStaticsInRange__sigmatch_1370(c, fRange, a);
6349 goto BeforeRet_;
6350 }
6351 goto LA256_;
6352 LA258_: ;
6353 {
6354 NIM_BOOL T261_;
6355 T261_ = (NIM_BOOL)0;
6356 T261_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
6357 if (!(T261_)) goto LA262_;
6358 T261_ = (((*aRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
6359 LA262_: ;
6360 if (!T261_) goto LA263_;
6361 result = inferStaticsInRange__sigmatch_1370(c, aRange, f);
6362 goto BeforeRet_;
6363 }
6364 goto LA256_;
6365 LA263_: ;
6366 {
6367 {
6368 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T268_;
6369 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T269_;
6370 NIM_BOOL T270_;
6371 T268_ = lengthOrd__types_1661((*(*(*c).c).graph).config, fRange);
6372 T269_ = lengthOrd__types_1661((*(*(*c).c).graph).config, aRange);
6373 T270_ = (NIM_BOOL)0;
6374 T270_ = eqeq___int495056_313(T268_, T269_);
6375 if (!!(T270_)) goto LA271_;
6376 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6377 }
6378 LA271_: ;
6379 }
6380 LA256_: ;
6381 }
6382 break;
6383 default:
6384 {
6385 }
6386 break;
6387 }
6388 }
6389 break;
6390 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
6391 {
6392 {
6393 tyObject_TType__facALICuu8zUj0hjvbTLFg* T279_;
6394 tyObject_TType__facALICuu8zUj0hjvbTLFg* T280_;
6395 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49))) goto LA277_;
6396 T279_ = NIM_NIL;
6397 T279_ = base__types_63(f);
6398 T280_ = NIM_NIL;
6399 T280_ = base__types_63(a);
6400 result = typeRel__sigmatch_202(c, T279_, T280_, flags);
6401 {
6402 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA283_;
6403 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6404 }
6405 LA283_: ;
6406 }
6407 goto LA275_;
6408 LA277_: ;
6409 {
6410 }
6411 LA275_: ;
6412 }
6413 break;
6414 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6415 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6416 {
6417 {
6418 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA289_;
6419 {
6420 tyObject_TType__facALICuu8zUj0hjvbTLFg* T295_;
6421 tyObject_TType__facALICuu8zUj0hjvbTLFg* T296_;
6422 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA293_;
6423 T295_ = NIM_NIL;
6424 T295_ = base__types_63(f);
6425 T296_ = NIM_NIL;
6426 T296_ = lastSon__ast_3743(a);
6427 result = typeRel__sigmatch_202(c, T295_, T296_, flags);
6428 goto BeforeRet_;
6429 }
6430 LA293_: ;
6431 {
6432 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA299_;
6433 goto BeforeRet_;
6434 }
6435 LA299_: ;
6436 }
6437 LA289_: ;
6438 switch ((*a).kind) {
6439 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
6440 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
6441 {
6442 tyObject_TType__facALICuu8zUj0hjvbTLFg* T302_;
6443 tyObject_TType__facALICuu8zUj0hjvbTLFg* T303_;
6444 T302_ = NIM_NIL;
6445 T302_ = base__types_63(f);
6446 T303_ = NIM_NIL;
6447 T303_ = base__types_63(a);
6448 result = typeRel__sigmatch_202(c, T302_, T303_, flags);
6449 {
6450 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA306_;
6451 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6452 }
6453 LA306_: ;
6454 }
6455 break;
6456 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6457 {
6458 tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym291_;
6459 tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym291_;
6460 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym291_;
6461 {
6462 NIM_BOOL T311_;
6463 T311_ = (NIM_BOOL)0;
6464 T311_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6465 if (!(T311_)) goto LA312_;
6466 T311_ = ((*(*a).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6467 LA312_: ;
6468 if (!T311_) goto LA313_;
6469 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6470 goto BeforeRet_;
6471 }
6472 LA313_: ;
6473 ffX60gensym291_ = base__types_63(f);
6474 aaX60gensym291_ = (*a).sons->data[((NI) 1)];
6475 baseRelX60gensym291_ = typeRel__sigmatch_202(c, ffX60gensym291_, aaX60gensym291_, flags);
6476 {
6477 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym291_)) goto LA317_;
6478 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6479 }
6480 goto LA315_;
6481 LA317_: ;
6482 {
6483 NIM_BOOL T320_;
6484 NIM_BOOL T321_;
6485 NIM_BOOL T322_;
6486 T320_ = (NIM_BOOL)0;
6487 T321_ = (NIM_BOOL)0;
6488 T322_ = (NIM_BOOL)0;
6489 T322_ = NIM_FALSE;
6490 if (!(T322_)) goto LA323_;
6491 T322_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6492 LA323_: ;
6493 T321_ = T322_;
6494 if (!(T321_)) goto LA324_;
6495 T321_ = ((*ffX60gensym291_).kind == (*aaX60gensym291_).kind);
6496 LA324_: ;
6497 T320_ = T321_;
6498 if (!(T320_)) goto LA325_;
6499 T320_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym291_, aaX60gensym291_);
6500 LA325_: ;
6501 if (!T320_) goto LA326_;
6502 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6503 }
6504 goto LA315_;
6505 LA326_: ;
6506 LA315_: ;
6507 }
6508 break;
6509 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6510 {
6511 tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym298_;
6512 tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym298_;
6513 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym298_;
6514 {
6515 NIM_BOOL T331_;
6516 T331_ = (NIM_BOOL)0;
6517 T331_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6518 if (!(T331_)) goto LA332_;
6519 T331_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6520 LA332_: ;
6521 if (!T331_) goto LA333_;
6522 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6523 goto BeforeRet_;
6524 }
6525 LA333_: ;
6526 ffX60gensym298_ = base__types_63(f);
6527 aaX60gensym298_ = (*a).sons->data[((NI) 0)];
6528 baseRelX60gensym298_ = typeRel__sigmatch_202(c, ffX60gensym298_, aaX60gensym298_, flags);
6529 {
6530 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym298_)) goto LA337_;
6531 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6532 }
6533 goto LA335_;
6534 LA337_: ;
6535 {
6536 NIM_BOOL T340_;
6537 NIM_BOOL T341_;
6538 NIM_BOOL T342_;
6539 T340_ = (NIM_BOOL)0;
6540 T341_ = (NIM_BOOL)0;
6541 T342_ = (NIM_BOOL)0;
6542 T342_ = NIM_FALSE;
6543 if (!(T342_)) goto LA343_;
6544 T342_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6545 LA343_: ;
6546 T341_ = T342_;
6547 if (!(T341_)) goto LA344_;
6548 T341_ = ((*ffX60gensym298_).kind == (*aaX60gensym298_).kind);
6549 LA344_: ;
6550 T340_ = T341_;
6551 if (!(T340_)) goto LA345_;
6552 T340_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym298_, aaX60gensym298_);
6553 LA345_: ;
6554 if (!T340_) goto LA346_;
6555 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6556 }
6557 goto LA335_;
6558 LA346_: ;
6559 LA335_: ;
6560 }
6561 break;
6562 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
6563 {
6564 {
6565 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA351_;
6566 {
6567 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA355_;
6568 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6569 }
6570 goto LA353_;
6571 LA355_: ;
6572 {
6573 NIM_BOOL T358_;
6574 NIM_BOOL T359_;
6575 NI T361_;
6576 tyObject_TType__facALICuu8zUj0hjvbTLFg* T363_;
6577 tyObject_TType__facALICuu8zUj0hjvbTLFg* T364_;
6578 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T365_;
6579 T358_ = (NIM_BOOL)0;
6580 T359_ = (NIM_BOOL)0;
6581 T359_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
6582 if (!(T359_)) goto LA360_;
6583 T361_ = (NI)0;
6584 T361_ = len__ast_4002(a);
6585 T359_ = (((NI) 0) < T361_);
6586 LA360_: ;
6587 T358_ = T359_;
6588 if (!(T358_)) goto LA362_;
6589 T363_ = NIM_NIL;
6590 T363_ = base__types_63(f);
6591 T364_ = NIM_NIL;
6592 T364_ = base__types_63(a);
6593 T365_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6594 T365_ = typeRel__sigmatch_202(c, T363_, T364_, flags);
6595 T358_ = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= T365_);
6596 LA362_: ;
6597 if (!T358_) goto LA366_;
6598 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6599 }
6600 goto LA353_;
6601 LA366_: ;
6602 LA353_: ;
6603 }
6604 LA351_: ;
6605 }
6606 break;
6607 default:
6608 {
6609 }
6610 break;
6611 }
6612 }
6613 break;
6614 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6615 {
6616 switch ((*a).kind) {
6617 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6618 {
6619 {
6620 NIM_BOOL T373_;
6621 T373_ = (NIM_BOOL)0;
6622 T373_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6623 if (!(T373_)) goto LA374_;
6624 T373_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6625 LA374_: ;
6626 if (!T373_) goto LA375_;
6627 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6628 }
6629 goto LA371_;
6630 LA375_: ;
6631 {
6632 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_2;
6633 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_2;
6634 ff_2 = (*f).sons->data[((NI) 0)];
6635 aa_2 = (*a).sons->data[((NI) 0)];
6636 result = typeRel__sigmatch_202(c, ff_2, aa_2, flags);
6637 {
6638 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA380_;
6639 {
6640 NIM_BOOL T384_;
6641 NIM_BOOL T385_;
6642 NIM_BOOL T386_;
6643 T384_ = (NIM_BOOL)0;
6644 T385_ = (NIM_BOOL)0;
6645 T386_ = (NIM_BOOL)0;
6646 T386_ = NIM_FALSE;
6647 if (!(T386_)) goto LA387_;
6648 T386_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
6649 LA387_: ;
6650 T385_ = T386_;
6651 if (!(T385_)) goto LA388_;
6652 T385_ = ((*ff_2).kind == (*aa_2).kind);
6653 LA388_: ;
6654 T384_ = T385_;
6655 if (!(T384_)) goto LA389_;
6656 T384_ = isCovariantPtr__sigmatch_1405(c, ff_2, aa_2);
6657 LA389_: ;
6658 if (!T384_) goto LA390_;
6659 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6660 }
6661 goto LA382_;
6662 LA390_: ;
6663 {
6664 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6665 }
6666 LA382_: ;
6667 }
6668 goto LA378_;
6669 LA380_: ;
6670 {
6671 NIM_BOOL T394_;
6672 T394_ = (NIM_BOOL)0;
6673 T394_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6674 if (!(T394_)) goto LA395_;
6675 T394_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6676 LA395_: ;
6677 if (!T394_) goto LA396_;
6678 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6679 }
6680 goto LA378_;
6681 LA396_: ;
6682 LA378_: ;
6683 }
6684 LA371_: ;
6685 }
6686 break;
6687 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6688 {
6689 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6690 }
6691 break;
6692 default:
6693 {
6694 }
6695 break;
6696 }
6697 }
6698 break;
6699 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
6700 {
6701 {
6702 NIM_BOOL T403_;
6703 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_4;
6704 T403_ = (NIM_BOOL)0;
6705 T403_ = isOrdinalType__types_299(a, (((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
6706 if (!T403_) goto LA404_;
6707 {
6708 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15))) goto LA408_;
6709 x_4 = (*a).sons->data[((NI) 0)];
6710 }
6711 goto LA406_;
6712 LA408_: ;
6713 {
6714 x_4 = a;
6715 }
6716 LA406_: ;
6717 {
6718 if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA413_;
6719 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6720 }
6721 goto LA411_;
6722 LA413_: ;
6723 {
6724 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], x_4, flags);
6725 {
6726 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA418_;
6727 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6728 }
6729 LA418_: ;
6730 }
6731 LA411_: ;
6732 }
6733 goto LA401_;
6734 LA404_: ;
6735 {
6736 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA421_;
6737 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
6738 }
6739 goto LA401_;
6740 LA421_: ;
6741 LA401_: ;
6742 }
6743 break;
6744 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
6745 {
6746 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6747 }
6748 break;
6749 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6750 {
6751 {
6752 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA427_;
6753 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6754 }
6755 LA427_: ;
6756 {
6757 if (!((*a).kind == (*f).kind)) goto LA431_;
6758 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6759 }
6760 LA431_: ;
6761 }
6762 break;
6763 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
6764 {
6765 {
6766 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA436_;
6767 result = recordRel__sigmatch_806(c, f, a);
6768 }
6769 LA436_: ;
6770 }
6771 break;
6772 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
6773 {
6774 {
6775 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA441_;
6776 {
6777 NIM_BOOL T445_;
6778 T445_ = (NIM_BOOL)0;
6779 T445_ = sameObjectTypes__types_2047(f, a);
6780 if (!T445_) goto LA446_;
6781 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6782 }
6783 goto LA443_;
6784 LA446_: ;
6785 {
6786 NI depth;
6787 depth = isObjectSubtype__sigmatch_656(c, a, f, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
6788 {
6789 if (!(((NI) 0) < depth)) goto LA451_;
6790 (*c).inheritancePenalty += depth;
6791 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6792 }
6793 LA451_: ;
6794 }
6795 LA443_: ;
6796 }
6797 LA441_: ;
6798 }
6799 break;
6800 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
6801 {
6802 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_23);
6803 {
6804 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA456_;
6805 {
6806 NIM_BOOL T460_;
6807 T460_ = (NIM_BOOL)0;
6808 T460_ = sameDistinctTypes__types_2092(f, a);
6809 if (!T460_) goto LA461_;
6810 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
6811 }
6812 goto LA458_;
6813 LA461_: ;
6814 {
6815 tyObject_TType__facALICuu8zUj0hjvbTLFg* T466_;
6816 if (!(*c).coerceDistincts) goto LA464_;
6817 T466_ = NIM_NIL;
6818 T466_ = base__types_63(f);
6819 result = typeRel__sigmatch_202(c, T466_, a, flags);
6820 }
6821 goto LA458_;
6822 LA464_: ;
6823 LA458_: ;
6824 }
6825 goto LA454_;
6826 LA456_: ;
6827 {
6828 NIM_BOOL T468_;
6829 tyObject_TType__facALICuu8zUj0hjvbTLFg* T470_;
6830 T468_ = (NIM_BOOL)0;
6831 T468_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
6832 if (!(T468_)) goto LA469_;
6833 T470_ = NIM_NIL;
6834 T470_ = base__types_63(f);
6835 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));
6836 LA469_: ;
6837 if (!T468_) goto LA471_;
6838 result = allowsNil__sigmatch_875(f);
6839 }
6840 goto LA454_;
6841 LA471_: ;
6842 {
6843 tyObject_TType__facALICuu8zUj0hjvbTLFg* T476_;
6844 if (!(*c).coerceDistincts) goto LA474_;
6845 T476_ = NIM_NIL;
6846 T476_ = base__types_63(f);
6847 result = typeRel__sigmatch_202(c, T476_, a, flags);
6848 }
6849 goto LA454_;
6850 LA474_: ;
6851 LA454_: ;
6852 }
6853 break;
6854 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
6855 {
6856 {
6857 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA480_;
6858 {
6859 NIM_BOOL T484_;
6860 T484_ = (NIM_BOOL)0;
6861 T484_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
6862 if (!(T484_)) goto LA485_;
6863 T484_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
6864 LA485_: ;
6865 if (!T484_) goto LA486_;
6866 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
6867 }
6868 goto LA482_;
6869 LA486_: ;
6870 {
6871 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], flags);
6872 {
6873 if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA491_;
6874 {
6875 if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1))) goto LA495_;
6876 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6877 }
6878 goto LA493_;
6879 LA495_: ;
6880 {
6881 if (!!((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43))&63U)))!=0))) goto LA498_;
6882 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6883 }
6884 goto LA493_;
6885 LA498_: ;
6886 LA493_: ;
6887 }
6888 LA491_: ;
6889 }
6890 LA482_: ;
6891 }
6892 LA480_: ;
6893 }
6894 break;
6895 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
6896 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
6897 {
6898 {
6899 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA503_;
6900 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
6901 }
6902 LA503_: ;
6903 {
6904 tyObject_TType__facALICuu8zUj0hjvbTLFg* T524_;
6905 tyObject_TType__facALICuu8zUj0hjvbTLFg* T525_;
6906 if (!((*a).kind == (*f).kind)) goto LA507_;
6907 {
6908 NI T511_;
6909 NI T512_;
6910 T511_ = (NI)0;
6911 T511_ = len__ast_4002(a);
6912 T512_ = (NI)0;
6913 T512_ = len__ast_4002(f);
6914 if (!(T511_ < T512_)) goto LA513_;
6915 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6916 goto BeforeRet_;
6917 }
6918 LA513_: ;
6919 {
6920 NI i_4;
6921 NI colontmp_;
6922 NI T516_;
6923 NI i_5;
6924 i_4 = (NI)0;
6925 colontmp_ = (NI)0;
6926 T516_ = (NI)0;
6927 T516_ = len__ast_4002(f);
6928 colontmp_ = (NI)(T516_ - ((NI) 1));
6929 i_5 = ((NI) 0);
6930 {
6931 while (1) {
6932 if (!(i_5 < colontmp_)) goto LA518;
6933 i_4 = i_5;
6934 {
6935 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T521_;
6936 T521_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
6937 T521_ = typeRel__sigmatch_202(c, (*f).sons->data[i_4], (*a).sons->data[i_4], flags);
6938 if (!(T521_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA522_;
6939 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6940 goto BeforeRet_;
6941 }
6942 LA522_: ;
6943 i_5 += ((NI) 1);
6944 } LA518: ;
6945 }
6946 }
6947 T524_ = NIM_NIL;
6948 T524_ = lastSon__ast_3743(f);
6949 T525_ = NIM_NIL;
6950 T525_ = lastSon__ast_3743(a);
6951 result = typeRel__sigmatch_202(c, T524_, T525_, (flags | 2));
6952 {
6953 NIM_BOOL T528_;
6954 tyObject_TType__facALICuu8zUj0hjvbTLFg* T530_;
6955 tyObject_TType__facALICuu8zUj0hjvbTLFg* T531_;
6956 T528_ = (NIM_BOOL)0;
6957 T528_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4));
6958 if (!(T528_)) goto LA529_;
6959 T530_ = NIM_NIL;
6960 T530_ = lastSon__ast_3743(f);
6961 T531_ = NIM_NIL;
6962 T531_ = skipTypes__ast_3735(T530_, abstractInst__ast_355);
6963 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));
6964 LA529_: ;
6965 if (!T528_) goto LA532_;
6966 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6967 }
6968 LA532_: ;
6969 {
6970 if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2))) goto LA536_;
6971 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
6972 }
6973 goto LA534_;
6974 LA536_: ;
6975 {
6976 NIM_BOOL T539_;
6977 T539_ = (NIM_BOOL)0;
6978 T539_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
6979 if (!(T539_)) goto LA540_;
6980 T539_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
6981 LA540_: ;
6982 if (!T539_) goto LA541_;
6983 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
6984 }
6985 goto LA534_;
6986 LA541_: ;
6987 LA534_: ;
6988 }
6989 goto LA505_;
6990 LA507_: ;
6991 {
6992 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA544_;
6993 result = allowsNil__sigmatch_875(f);
6994 }
6995 goto LA505_;
6996 LA544_: ;
6997 {
6998 }
6999 LA505_: ;
7000 }
7001 break;
7002 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7003 {
7004 {
7005 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA550_;
7006 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7007 }
7008 LA550_: ;
7009 result = procTypeRel__sigmatch_927(c, f, a);
7010 {
7011 NIM_BOOL T554_;
7012 NIM_BOOL T555_;
7013 T554_ = (NIM_BOOL)0;
7014 T555_ = (NIM_BOOL)0;
7015 T555_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7016 if (!(T555_)) goto LA556_;
7017 T555_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7018 LA556_: ;
7019 T554_ = T555_;
7020 if (!(T554_)) goto LA557_;
7021 T554_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7022 LA557_: ;
7023 if (!T554_) goto LA558_;
7024 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7025 }
7026 LA558_: ;
7027 }
7028 break;
7029 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7030 {
7031 switch ((*a).kind) {
7032 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7033 {
7034 tyObject_TType__facALICuu8zUj0hjvbTLFg* T562_;
7035 tyObject_TType__facALICuu8zUj0hjvbTLFg* T563_;
7036 T562_ = NIM_NIL;
7037 T562_ = lastSon__ast_3743(f);
7038 T563_ = NIM_NIL;
7039 T563_ = lastSon__ast_3743(a);
7040 result = typeRel__sigmatch_202(c, T562_, T563_, flags);
7041 }
7042 break;
7043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7044 {
7045 result = allowsNil__sigmatch_875(f);
7046 }
7047 break;
7048 default:
7049 {
7050 }
7051 break;
7052 }
7053 }
7054 break;
7055 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7056 {
7057 {
7058 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA569_;
7059 a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22);
7060 }
7061 LA569_: ;
7062 switch ((*a).kind) {
7063 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
7064 {
7065 {
7066 NIM_BOOL T574_;
7067 T574_ = (NIM_BOOL)0;
7068 T574_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7069 if (!(T574_)) goto LA575_;
7070 T574_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7071 LA575_: ;
7072 if (!T574_) goto LA576_;
7073 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7074 }
7075 goto LA572_;
7076 LA576_: ;
7077 {
7078 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7079 }
7080 LA572_: ;
7081 }
7082 break;
7083 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7084 {
7085 result = allowsNil__sigmatch_875(f);
7086 }
7087 break;
7088 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
7089 {
7090 {
7091 if (!!(((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA583_;
7092 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7093 }
7094 LA583_: ;
7095 }
7096 break;
7097 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7098 {
7099 {
7100 NI T588_;
7101 T588_ = (NI)0;
7102 T588_ = len__ast_4002(a);
7103 if (!(T588_ == ((NI) 1))) goto LA589_;
7104 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7105 }
7106 LA589_: ;
7107 }
7108 break;
7109 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7110 {
7111 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7112 }
7113 break;
7114 default:
7115 {
7116 }
7117 break;
7118 }
7119 }
7120 break;
7121 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7122 {
7123 switch ((*a).kind) {
7124 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7125 {
7126 {
7127 NIM_BOOL T597_;
7128 T597_ = (NIM_BOOL)0;
7129 T597_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7130 if (!(T597_)) goto LA598_;
7131 T597_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7132 LA598_: ;
7133 if (!T597_) goto LA599_;
7134 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7135 }
7136 goto LA595_;
7137 LA599_: ;
7138 {
7139 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7140 }
7141 LA595_: ;
7142 }
7143 break;
7144 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7145 {
7146 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7147 }
7148 break;
7149 default:
7150 {
7151 }
7152 break;
7153 }
7154 }
7155 break;
7156 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7157 {
7158 switch ((*a).kind) {
7159 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
7160 {
7161 {
7162 NIM_BOOL T608_;
7163 T608_ = (NIM_BOOL)0;
7164 T608_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
7165 if (!(T608_)) goto LA609_;
7166 T608_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
7167 LA609_: ;
7168 if (!T608_) goto LA610_;
7169 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7170 }
7171 goto LA606_;
7172 LA610_: ;
7173 {
7174 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7175 }
7176 LA606_: ;
7177 }
7178 break;
7179 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
7180 {
7181 result = allowsNil__sigmatch_875(f);
7182 }
7183 break;
7184 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
7185 {
7186 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7187 }
7188 break;
7189 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
7190 {
7191 {
7192 NI T618_;
7193 tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo;
7194 T618_ = (NI)0;
7195 T618_ = len__ast_4002(a);
7196 if (!(T618_ == ((NI) 1))) goto LA619_;
7197 pointsTo = skipTypes__ast_3735((*a).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_24);
7198 {
7199 if (!((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA623_;
7200 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7201 }
7202 goto LA621_;
7203 LA623_: ;
7204 {
7205 NIM_BOOL T626_;
7206 T626_ = (NIM_BOOL)0;
7207 T626_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49));
7208 if (!(T626_)) goto LA627_;
7209 T626_ = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7210 LA627_: ;
7211 if (!T626_) goto LA628_;
7212 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7213 }
7214 goto LA621_;
7215 LA628_: ;
7216 {
7217 NIM_BOOL T631_;
7218 NIM_BOOL T632_;
7219 NIM_BOOL T633_;
7220 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T635_;
7221 tyObject_TType__facALICuu8zUj0hjvbTLFg* T637_;
7222 T631_ = (NIM_BOOL)0;
7223 T632_ = (NIM_BOOL)0;
7224 T633_ = (NIM_BOOL)0;
7225 T633_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7226 if (!(T633_)) goto LA634_;
7227 T635_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]);
7228 T633_ = eqeq___int495056_759(T635_, IL64(0));
7229 LA634_: ;
7230 T632_ = T633_;
7231 if (!(T632_)) goto LA636_;
7232 T637_ = NIM_NIL;
7233 T637_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7234 T632_ = ((*T637_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T637_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
7235 LA636_: ;
7236 T631_ = T632_;
7237 if (!(T631_)) goto LA638_;
7238 T631_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
7239 LA638_: ;
7240 if (!T631_) goto LA639_;
7241 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
7242 }
7243 goto LA621_;
7244 LA639_: ;
7245 LA621_: ;
7246 }
7247 LA619_: ;
7248 }
7249 break;
7250 default:
7251 {
7252 }
7253 break;
7254 }
7255 }
7256 break;
7257 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
7258 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
7259 {
7260 {
7261 if (!((*a).kind == (*f).kind)) goto LA645_;
7262 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7263 }
7264 LA645_: ;
7265 }
7266 break;
7267 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
7268 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
7269 {
7270 tyObject_TType__facALICuu8zUj0hjvbTLFg* T648_;
7271 T648_ = NIM_NIL;
7272 T648_ = lastSon__ast_3743(f);
7273 result = typeRel__sigmatch_202(c, T648_, a, flags);
7274 }
7275 break;
7276 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
7277 {
7278 {
7279 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA652_;
7280 {
7281 NI T656_;
7282 tyObject_TType__facALICuu8zUj0hjvbTLFg* T659_;
7283 tyObject_TType__facALICuu8zUj0hjvbTLFg* T660_;
7284 T656_ = (NI)0;
7285 T656_ = len__ast_4002(f);
7286 if (!(T656_ == ((NI) 1))) goto LA657_;
7287 T659_ = NIM_NIL;
7288 T659_ = lastSon__ast_3743(f);
7289 T660_ = NIM_NIL;
7290 T660_ = lastSon__ast_3743(a);
7291 result = typeRel__sigmatch_202(c, T659_, T660_, flags);
7292 }
7293 goto LA654_;
7294 LA657_: ;
7295 {
7296 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7297 }
7298 LA654_: ;
7299 }
7300 goto LA650_;
7301 LA652_: ;
7302 {
7303 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7304 }
7305 LA650_: ;
7306 }
7307 break;
7308 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
7309 {
7310 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_4;
7311 RootObj* T664_;
7312 tyObject_TType__facALICuu8zUj0hjvbTLFg* origF;
7313 tyObject_TType__facALICuu8zUj0hjvbTLFg* f_3;
7314 tyObject_TType__facALICuu8zUj0hjvbTLFg* roota;
7315 tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf;
7316 T664_ = NIM_NIL;
7317 T664_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7318 prev_4 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T664_));
7319 origF = f;
7320 {
7321 if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA667_;
7322 f_3 = f;
7323 }
7324 goto LA665_;
7325 LA667_: ;
7326 {
7327 f_3 = prev_4;
7328 }
7329 LA665_: ;
7330 roota = skipGenericAlias__types_2219(a);
7331 rootf = skipGenericAlias__types_2219(f_3);
7332 {
7333 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA672_;
7334 {
7335 tyObject_TType__facALICuu8zUj0hjvbTLFg* T676_;
7336 tyObject_TType__facALICuu8zUj0hjvbTLFg* T677_;
7337 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg nextFlags;
7338 NIM_BOOL hasCovariance;
7339 T676_ = NIM_NIL;
7340 T676_ = base__types_63(roota);
7341 T677_ = NIM_NIL;
7342 T677_ = base__types_63(rootf);
7343 if (!(T676_ == T677_)) goto LA678_;
7344 nextFlags = (flags | 2);
7345 hasCovariance = NIM_FALSE;
7346 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7347 {
7348 NI i_6;
7349 NI colontmp__2;
7350 NI T681_;
7351 NI i_7;
7352 i_6 = (NI)0;
7353 colontmp__2 = (NI)0;
7354 T681_ = (NI)0;
7355 T681_ = len__ast_4002(rootf);
7356 colontmp__2 = (NI)(T681_ - ((NI) 1));
7357 i_7 = ((NI) 1);
7358 {
7359 while (1) {
7360 if (!(i_7 < colontmp__2)) goto LA683;
7361 i_6 = i_7;
7362 {
7363 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_3;
7364 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_3;
7365 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw res_2;
7366 ff_3 = (*rootf).sons->data[i_6];
7367 aa_3 = (*roota).sons->data[i_6];
7368 res_2 = typeRel__sigmatch_202(c, ff_3, aa_3, nextFlags);
7369 {
7370 NIM_BOOL T687_;
7371 T687_ = (NIM_BOOL)0;
7372 T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7373 if (!(T687_)) goto LA688_;
7374 T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
7375 LA688_: ;
7376 if (!T687_) goto LA689_;
7377 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7378 }
7379 LA689_: ;
7380 {
7381 if (!!(((1280 &((NU16)1<<((NU)(res_2)&15U)))!=0))) goto LA693_;
7382 {
7383 NIM_BOOL T697_;
7384 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw paramFlags;
7385 tyObject_TType__facALICuu8zUj0hjvbTLFg* T701_;
7386 T697_ = (NIM_BOOL)0;
7387 T697_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0));
7388 if (!(T697_)) goto LA698_;
7389 T697_ = ((*ff_3).kind == (*aa_3).kind);
7390 LA698_: ;
7391 if (!T697_) goto LA699_;
7392 T701_ = NIM_NIL;
7393 T701_ = base__types_63(rootf);
7394 paramFlags = (*(*T701_).sons->data[(NI)(i_6 - ((NI) 1))]).flags;
7395 {
7396 if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA704_;
7397 {
7398 if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA708_;
7399 hasCovariance = isCovariantPtr__sigmatch_1405(c, ff_3, aa_3);
7400 }
7401 goto LA706_;
7402 LA708_: ;
7403 {
7404 NIM_BOOL T711_;
7405 T711_ = (NIM_BOOL)0;
7406 T711_ = !(((*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21)));
7407 if (!(T711_)) goto LA712_;
7408 T711_ = (res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7409 LA712_: ;
7410 hasCovariance = T711_;
7411 }
7412 LA706_: ;
7413 }
7414 goto LA702_;
7415 LA704_: ;
7416 {
7417 NIM_BOOL T714_;
7418 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T716_;
7419 T714_ = (NIM_BOOL)0;
7420 T714_ = ((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0);
7421 if (!(T714_)) goto LA715_;
7422 T716_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7423 T716_ = typeRel__sigmatch_202(c, aa_3, ff_3, flags);
7424 T714_ = (T716_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3));
7425 LA715_: ;
7426 hasCovariance = T714_;
7427 }
7428 LA702_: ;
7429 {
7430 if (!hasCovariance) goto LA719_;
7431 goto LA684;
7432 }
7433 LA719_: ;
7434 }
7435 LA699_: ;
7436 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7437 goto BeforeRet_;
7438 }
7439 LA693_: ;
7440 } LA684: ;
7441 i_7 += ((NI) 1);
7442 } LA683: ;
7443 }
7444 }
7445 {
7446 if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA723_;
7447 put__sigmatch_120(c, f_3, a);
7448 }
7449 LA723_: ;
7450 }
7451 goto LA674_;
7452 LA678_: ;
7453 {
7454 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fKind;
7455 tyObject_TType__facALICuu8zUj0hjvbTLFg* T726_;
7456 tyObject_TType__facALICuu8zUj0hjvbTLFg* aAsObject;
7457 T726_ = NIM_NIL;
7458 T726_ = lastSon__ast_3743(rootf);
7459 fKind = (*T726_).kind;
7460 {
7461 tyObject_TType__facALICuu8zUj0hjvbTLFg* T731_;
7462 if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA729_;
7463 T731_ = NIM_NIL;
7464 T731_ = lastSon__ast_3743(f_3);
7465 result = typeRel__sigmatch_202(c, T731_, a, flags);
7466 {
7467 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA734_;
7468 put__sigmatch_120(c, f_3, a);
7469 }
7470 LA734_: ;
7471 goto BeforeRet_;
7472 }
7473 LA729_: ;
7474 aAsObject = lastSon__ast_3743(roota);
7475 {
7476 if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA738_;
7477 {
7478 if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA742_;
7479 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7480 goto BeforeRet_;
7481 }
7482 goto LA740_;
7483 LA742_: ;
7484 {
7485 if (!((*aAsObject).kind == fKind)) goto LA745_;
7486 aAsObject = base__types_63(aAsObject);
7487 }
7488 goto LA740_;
7489 LA745_: ;
7490 LA740_: ;
7491 }
7492 LA738_: ;
7493 {
7494 tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
7495 if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA749_;
7496 baseType = base__types_63(aAsObject);
7497 {
7498 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw ret;
7499 if (!!((baseType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA753_;
7500 (*c).inheritancePenalty += ((NI) 1);
7501 ret = typeRel__sigmatch_202(c, f_3, baseType, flags);
7502 {
7503 if (!((1280 &((NU16)1<<((NU)(ret)&15U)))!=0)) goto LA757_;
7504 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7505 }
7506 goto LA755_;
7507 LA757_: ;
7508 {
7509 result = ret;
7510 }
7511 LA755_: ;
7512 goto BeforeRet_;
7513 }
7514 LA753_: ;
7515 }
7516 LA749_: ;
7517 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7518 }
7519 LA674_: ;
7520 }
7521 goto LA670_;
7522 LA672_: ;
7523 {
7524 tyObject_TType__facALICuu8zUj0hjvbTLFg* T761_;
7525 T761_ = NIM_NIL;
7526 T761_ = lastSon__ast_3743(origF);
7527 result = typeRel__sigmatch_202(c, T761_, a, flags);
7528 {
7529 NIM_BOOL T764_;
7530 T764_ = (NIM_BOOL)0;
7531 T764_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
7532 if (!(T764_)) goto LA765_;
7533 T764_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5)));
7534 LA765_: ;
7535 if (!T764_) goto LA766_;
7536 put__sigmatch_120(c, f_3, a);
7537 }
7538 LA766_: ;
7539 }
7540 LA670_: ;
7541 }
7542 break;
7543 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
7544 {
7545 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym373_;
7546 RootObj* T769_;
7547 T769_ = NIM_NIL;
7548 T769_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7549 prevX60gensym373_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T769_));
7550 {
7551 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_4;
7552 if (!(prevX60gensym373_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA772_;
7553 {
7554 NIM_BOOL T776_;
7555 NIM_BOOL T778_;
7556 tyObject_TType__facALICuu8zUj0hjvbTLFg* T780_;
7557 T776_ = (NIM_BOOL)0;
7558 T776_ = (a == f);
7559 if (T776_) goto LA777_;
7560 T778_ = (NIM_BOOL)0;
7561 T778_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7562 if (!(T778_)) goto LA779_;
7563 T780_ = NIM_NIL;
7564 T780_ = skipGenericAlias__types_2219(a);
7565 T778_ = ((*T780_).sons->data[((NI) 0)] == f);
7566 LA779_: ;
7567 T776_ = T778_;
7568 LA777_: ;
7569 if (!T776_) goto LA781_;
7570 {
7571 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym375_;
7572 tyObject_TType__facALICuu8zUj0hjvbTLFg* T787_;
7573 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA785_;
7574 T787_ = NIM_NIL;
7575 T787_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7576 boundX60gensym375_ = skipIntLit__magicsys_124(T787_, (*(*c).c).Sup.idgen);
7577 put__sigmatch_120(c, f, boundX60gensym375_);
7578 }
7579 LA785_: ;
7580 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7581 goto BeforeRet_;
7582 }
7583 LA781_: ;
7584 ff_4 = lastSon__ast_3743(f);
7585 {
7586 if (!!((ff_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA790_;
7587 result = typeRel__sigmatch_202(c, ff_4, a, flags);
7588 }
7589 LA790_: ;
7590 }
7591 goto LA770_;
7592 LA772_: ;
7593 {
7594 result = typeRel__sigmatch_202(c, prevX60gensym373_, a, flags);
7595 goto BeforeRet_;
7596 }
7597 LA770_: ;
7598 }
7599 break;
7600 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
7601 {
7602 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_5;
7603 tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt;
7604 NIM_BOOL preventHack;
7605 x_5 = skipGenericAlias__types_2219(a);
7606 concpt = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_25);
7607 preventHack = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7608 {
7609 NIM_BOOL T796_;
7610 T796_ = (NIM_BOOL)0;
7611 T796_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
7612 if (!(T796_)) goto LA797_;
7613 T796_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
7614 LA797_: ;
7615 if (!T796_) goto LA798_;
7616 preventHack = NIM_TRUE;
7617 x_5 = lastSon__ast_3743(x_5);
7618 }
7619 LA798_: ;
7620 {
7621 NIM_BOOL T802_;
7622 NIM_BOOL T803_;
7623 NIM_BOOL T804_;
7624 NIM_BOOL T805_;
7625 tyObject_TType__facALICuu8zUj0hjvbTLFg* inst;
7626 T802_ = (NIM_BOOL)0;
7627 T803_ = (NIM_BOOL)0;
7628 T804_ = (NIM_BOOL)0;
7629 T805_ = (NIM_BOOL)0;
7630 T805_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
7631 if (!(T805_)) goto LA806_;
7632 T805_ = !(((*c).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7633 LA806_: ;
7634 T804_ = T805_;
7635 if (!(T804_)) goto LA807_;
7636 T804_ = ((12288 &((NU32)1<<((NU)((*(*c).calleeSym).kind)&31U)))!=0);
7637 LA807_: ;
7638 T803_ = T804_;
7639 if (!(T803_)) goto LA808_;
7640 T803_ = !(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7641 LA808_: ;
7642 T802_ = T803_;
7643 if (!(T802_)) goto LA809_;
7644 T802_ = !(preventHack);
7645 LA809_: ;
7646 if (!T802_) goto LA810_;
7647 inst = prepareMetatypeForSigmatch__semtypinst_1064((*c).c, (*c).bindings, (*(*c).call).info, f);
7648 result = typeRel__sigmatch_202(c, inst, a, flags);
7649 goto BeforeRet_;
7650 }
7651 LA810_: ;
7652 {
7653 if (!((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA814_;
7654 {
7655 if (!((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)])) goto LA818_;
7656 {
7657 NI i_8;
7658 NI colontmp__3;
7659 NI i_9;
7660 i_8 = (NI)0;
7661 colontmp__3 = (NI)0;
7662 colontmp__3 = len__ast_4002(f);
7663 i_9 = ((NI) 1);
7664 {
7665 while (1) {
7666 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tr;
7667 if (!(i_9 < colontmp__3)) goto LA822;
7668 i_8 = i_9;
7669 tr = typeRel__sigmatch_202(c, (*f).sons->data[i_8], (*x_5).sons->data[i_8], flags);
7670 {
7671 if (!(tr <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA825_;
7672 goto BeforeRet_;
7673 }
7674 LA825_: ;
7675 i_9 += ((NI) 1);
7676 } LA822: ;
7677 }
7678 }
7679 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7680 }
7681 LA818_: ;
7682 }
7683 goto LA812_;
7684 LA814_: ;
7685 {
7686 NIM_BOOL T828_;
7687 NIM_BOOL T829_;
7688 NI T832_;
7689 NI T833_;
7690 T828_ = (NIM_BOOL)0;
7691 T829_ = (NIM_BOOL)0;
7692 T829_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7693 if (!(T829_)) goto LA830_;
7694 T829_ = ((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)]);
7695 LA830_: ;
7696 T828_ = T829_;
7697 if (!(T828_)) goto LA831_;
7698 T832_ = (NI)0;
7699 T832_ = len__ast_4002(x_5);
7700 T833_ = (NI)0;
7701 T833_ = len__ast_4002(f);
7702 T828_ = ((NI)(T832_ - ((NI) 1)) == T833_);
7703 LA831_: ;
7704 if (!T828_) goto LA834_;
7705 {
7706 NI i_10;
7707 NI colontmp__4;
7708 NI i_11;
7709 i_10 = (NI)0;
7710 colontmp__4 = (NI)0;
7711 colontmp__4 = len__ast_4002(f);
7712 i_11 = ((NI) 1);
7713 {
7714 while (1) {
7715 if (!(i_11 < colontmp__4)) goto LA838;
7716 i_10 = i_11;
7717 {
7718 if (!((*(*x_5).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA841_;
7719 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_27);
7720 }
7721 goto LA839_;
7722 LA841_: ;
7723 {
7724 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T844_;
7725 T844_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7726 T844_ = typeRel__sigmatch_202(c, (*f).sons->data[i_10], (*x_5).sons->data[i_10], flags);
7727 if (!(T844_ <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA845_;
7728 {
7729 if (!!(((*(*f).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA849_;
7730 goto BeforeRet_;
7731 }
7732 LA849_: ;
7733 }
7734 goto LA839_;
7735 LA845_: ;
7736 LA839_: ;
7737 i_11 += ((NI) 1);
7738 } LA838: ;
7739 }
7740 }
7741 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7742 }
7743 goto LA812_;
7744 LA834_: ;
7745 {
7746 NIM_BOOL T852_;
7747 T852_ = (NIM_BOOL)0;
7748 T852_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
7749 if (!(T852_)) goto LA853_;
7750 T852_ = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62));
7751 LA853_: ;
7752 if (!T852_) goto LA854_;
7753 {
7754 NIM_BOOL T858_;
7755 T858_ = (NIM_BOOL)0;
7756 T858_ = conceptMatch__concepts_538((*c).c, concpt, x_5, (&(*c).bindings), f);
7757 if (!T858_) goto LA859_;
7758 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7759 }
7760 goto LA856_;
7761 LA859_: ;
7762 {
7763 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7764 }
7765 LA856_: ;
7766 }
7767 goto LA812_;
7768 LA854_: ;
7769 {
7770 tyObject_TType__facALICuu8zUj0hjvbTLFg* genericBody;
7771 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip;
7772 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip;
7773 tyObject_TType__facALICuu8zUj0hjvbTLFg* aobj;
7774 tyObject_TType__facALICuu8zUj0hjvbTLFg* fobj;
7775 tyObject_TType__facALICuu8zUj0hjvbTLFg* T863_;
7776 NI depth_2;
7777 genericBody = (*f).sons->data[((NI) 0)];
7778 askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7779 fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0);
7780 aobj = skipToObject__sigmatch_703(x_5, (&askip));
7781 T863_ = NIM_NIL;
7782 T863_ = lastSon__ast_3743(genericBody);
7783 fobj = skipToObject__sigmatch_703(T863_, (&fskip));
7784 depth_2 = ((NI) -1);
7785 {
7786 NIM_BOOL T866_;
7787 NIM_BOOL T867_;
7788 T866_ = (NIM_BOOL)0;
7789 T867_ = (NIM_BOOL)0;
7790 T867_ = !((fobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7791 if (!(T867_)) goto LA868_;
7792 T867_ = !((aobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7793 LA868_: ;
7794 T866_ = T867_;
7795 if (!(T866_)) goto LA869_;
7796 T866_ = (askip == fskip);
7797 LA869_: ;
7798 if (!T866_) goto LA870_;
7799 depth_2 = isObjectSubtype__sigmatch_656(c, aobj, fobj, f);
7800 }
7801 LA870_: ;
7802 result = typeRel__sigmatch_202(c, genericBody, x_5, flags);
7803 {
7804 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA874_;
7805 {
7806 NI i_12;
7807 NI colontmp__5;
7808 NI i_13;
7809 i_12 = (NI)0;
7810 colontmp__5 = (NI)0;
7811 colontmp__5 = len__ast_4002(f);
7812 i_13 = ((NI) 1);
7813 {
7814 while (1) {
7815 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_6;
7816 RootObj* T879_;
7817 if (!(i_13 < colontmp__5)) goto LA878;
7818 i_12 = i_13;
7819 T879_ = NIM_NIL;
7820 T879_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*genericBody).sons->data[(NI)(i_12 - ((NI) 1))])))));
7821 x_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T879_));
7822 {
7823 if (!(x_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA882_;
7824 }
7825 goto LA880_;
7826 LA882_: ;
7827 {
7828 if (!((*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA885_;
7829 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_28);
7830 }
7831 goto LA880_;
7832 LA885_: ;
7833 {
7834 tyObject_TType__facALICuu8zUj0hjvbTLFg* key;
7835 tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
7836 RootObj* T888_;
7837 key = (*f).sons->data[i_12];
7838 T888_ = NIM_NIL;
7839 T888_ = idTableGet__astalgo_64((*c).bindings, &key->Sup);
7840 old = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T888_));
7841 {
7842 if (!(old == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA891_;
7843 put__sigmatch_120(c, key, x_6);
7844 }
7845 goto LA889_;
7846 LA891_: ;
7847 {
7848 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T894_;
7849 T894_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
7850 T894_ = typeRel__sigmatch_202(c, old, x_6, (flags | 1));
7851 if (!(T894_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA895_;
7852 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7853 goto BeforeRet_;
7854 }
7855 goto LA889_;
7856 LA895_: ;
7857 LA889_: ;
7858 }
7859 LA880_: ;
7860 i_13 += ((NI) 1);
7861 } LA878: ;
7862 }
7863 }
7864 }
7865 LA874_: ;
7866 {
7867 NIM_BOOL genericSubtype;
7868 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA899_;
7869 genericSubtype = isGenericSubtype__sigmatch_744(c, x_5, f, (&depth_2), f);
7870 {
7871 NIM_BOOL T903_;
7872 NIM_BOOL T904_;
7873 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym409_;
7874 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym410_;
7875 T903_ = (NIM_BOOL)0;
7876 T904_ = (NIM_BOOL)0;
7877 T904_ = genericSubtype;
7878 if (!(T904_)) goto LA905_;
7879 xX60gensym409_ = (*aobj).sym;
7880 xX60gensym410_ = (*fobj).sym;
7881 T904_ = !(((NI)((NI)((NU64)(((NI) ((*xX60gensym409_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym409_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym410_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym410_).Sup.itemId.item)))));
7882 LA905_: ;
7883 T903_ = !(T904_);
7884 if (!(T903_)) goto LA906_;
7885 T903_ = !(((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)));
7886 LA906_: ;
7887 if (!T903_) goto LA907_;
7888 depth_2 = ((NI) -1);
7889 }
7890 LA907_: ;
7891 }
7892 LA899_: ;
7893 {
7894 if (!(((NI) 0) <= depth_2)) goto LA911_;
7895 (*c).inheritancePenalty += depth_2;
7896 {
7897 if (!(depth_2 == ((NI) 0))) goto LA915_;
7898 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7899 }
7900 goto LA913_;
7901 LA915_: ;
7902 {
7903 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3);
7904 }
7905 LA913_: ;
7906 }
7907 LA911_: ;
7908 }
7909 LA812_: ;
7910 }
7911 break;
7912 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
7913 {
7914 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym413_;
7915 RootObj* T919_;
7916 T919_ = NIM_NIL;
7917 T919_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7918 prevX60gensym413_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T919_));
7919 {
7920 if (!(prevX60gensym413_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA922_;
7921 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
7922 {
7923 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_3;
7924 NI i_14;
7925 NI L_3;
7926 NI T925_;
7927 branch_3 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7928 i_14 = ((NI) 0);
7929 T925_ = ((*f).sons ? (*f).sons->Sup.len : 0);
7930 L_3 = T925_;
7931 {
7932 while (1) {
7933 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_7;
7934 if (!(i_14 < L_3)) goto LA927;
7935 branch_3 = &(*f).sons->data[i_14];
7936 x_7 = typeRel__sigmatch_202(c, (*branch_3), aOrig_2, flags);
7937 {
7938 if (!(x_7 < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA930_;
7939 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7940 goto BeforeRet_;
7941 }
7942 LA930_: ;
7943 {
7944 if (!(x_7 < result)) goto LA934_;
7945 result = x_7;
7946 }
7947 LA934_: ;
7948 i_14 += ((NI) 1);
7949 } LA927: ;
7950 }
7951 }
7952 {
7953 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA938_;
7954 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
7955 }
7956 LA938_: ;
7957 {
7958 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym415_;
7959 tyObject_TType__facALICuu8zUj0hjvbTLFg* T944_;
7960 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA942_;
7961 T944_ = NIM_NIL;
7962 T944_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
7963 boundX60gensym415_ = skipIntLit__magicsys_124(T944_, (*(*c).c).Sup.idgen);
7964 put__sigmatch_120(c, f, boundX60gensym415_);
7965 }
7966 LA942_: ;
7967 goto BeforeRet_;
7968 }
7969 goto LA920_;
7970 LA922_: ;
7971 {
7972 result = typeRel__sigmatch_202(c, prevX60gensym413_, a, flags);
7973 goto BeforeRet_;
7974 }
7975 LA920_: ;
7976 }
7977 break;
7978 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
7979 {
7980 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym418_;
7981 RootObj* T947_;
7982 T947_ = NIM_NIL;
7983 T947_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
7984 prevX60gensym418_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T947_));
7985 {
7986 NI oldInheritancePenalty;
7987 NI maxInheritance;
7988 if (!(prevX60gensym418_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA950_;
7989 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
7990 oldInheritancePenalty = (*c).inheritancePenalty;
7991 maxInheritance = ((NI) 0);
7992 {
7993 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_4;
7994 NI i_15;
7995 NI L_4;
7996 NI T953_;
7997 branch_4 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7998 i_15 = ((NI) 0);
7999 T953_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8000 L_4 = T953_;
8001 {
8002 while (1) {
8003 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_8;
8004 if (!(i_15 < L_4)) goto LA955;
8005 branch_4 = &(*f).sons->data[i_15];
8006 (*c).inheritancePenalty = ((NI) 0);
8007 x_8 = typeRel__sigmatch_202(c, (*branch_4), aOrig_2, flags);
8008 maxInheritance = ((maxInheritance >= (*c).inheritancePenalty) ? maxInheritance : (*c).inheritancePenalty);
8009 {
8010 if (!(result < x_8)) goto LA958_;
8011 result = x_8;
8012 }
8013 LA958_: ;
8014 i_15 += ((NI) 1);
8015 } LA955: ;
8016 }
8017 }
8018 {
8019 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= result)) goto LA962_;
8020 {
8021 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA966_;
8022 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8023 }
8024 LA966_: ;
8025 {
8026 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym422_;
8027 tyObject_TType__facALICuu8zUj0hjvbTLFg* T972_;
8028 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA970_;
8029 T972_ = NIM_NIL;
8030 T972_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8031 boundX60gensym422_ = skipIntLit__magicsys_124(T972_, (*(*c).c).Sup.idgen);
8032 put__sigmatch_120(c, f, boundX60gensym422_);
8033 }
8034 LA970_: ;
8035 goto BeforeRet_;
8036 }
8037 goto LA960_;
8038 LA962_: ;
8039 {
8040 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8041 }
8042 LA960_: ;
8043 (*c).inheritancePenalty = (NI)(oldInheritancePenalty + maxInheritance);
8044 }
8045 goto LA948_;
8046 LA950_: ;
8047 {
8048 result = typeRel__sigmatch_202(c, prevX60gensym418_, a, flags);
8049 goto BeforeRet_;
8050 }
8051 LA948_: ;
8052 }
8053 break;
8054 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
8055 {
8056 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym425_;
8057 RootObj* T976_;
8058 T976_ = NIM_NIL;
8059 T976_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8060 prevX60gensym425_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T976_));
8061 {
8062 if (!(prevX60gensym425_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA979_;
8063 {
8064 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_5;
8065 NI i_16;
8066 NI L_5;
8067 NI T982_;
8068 branch_5 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
8069 i_16 = ((NI) 0);
8070 T982_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8071 L_5 = T982_;
8072 {
8073 while (1) {
8074 if (!(i_16 < L_5)) goto LA984;
8075 branch_5 = &(*f).sons->data[i_16];
8076 {
8077 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T987_;
8078 T987_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
8079 T987_ = typeRel__sigmatch_202(c, (*branch_5), aOrig_2, flags);
8080 if (!!((T987_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA988_;
8081 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8082 goto BeforeRet_;
8083 }
8084 LA988_: ;
8085 i_16 += ((NI) 1);
8086 } LA984: ;
8087 }
8088 }
8089 {
8090 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym427_;
8091 tyObject_TType__facALICuu8zUj0hjvbTLFg* T994_;
8092 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA992_;
8093 T994_ = NIM_NIL;
8094 T994_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16);
8095 boundX60gensym427_ = skipIntLit__magicsys_124(T994_, (*(*c).c).Sup.idgen);
8096 put__sigmatch_120(c, f, boundX60gensym427_);
8097 }
8098 LA992_: ;
8099 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8100 goto BeforeRet_;
8101 }
8102 goto LA977_;
8103 LA979_: ;
8104 {
8105 result = typeRel__sigmatch_202(c, prevX60gensym425_, a, flags);
8106 goto BeforeRet_;
8107 }
8108 LA977_: ;
8109 }
8110 break;
8111 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
8112 {
8113 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym430_;
8114 RootObj* T997_;
8115 T997_ = NIM_NIL;
8116 T997_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8117 prevX60gensym430_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T997_));
8118 {
8119 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete;
8120 if (!(prevX60gensym430_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1000_;
8121 concrete = concreteType__sigmatch_443((&(*c)), a, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8122 {
8123 NIM_BOOL T1004_;
8124 T1004_ = (NIM_BOOL)0;
8125 T1004_ = !((concrete == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8126 if (!(T1004_)) goto LA1005_;
8127 T1004_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8128 LA1005_: ;
8129 if (!T1004_) goto LA1006_;
8130 put__sigmatch_120(c, f, concrete);
8131 }
8132 LA1006_: ;
8133 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8134 goto BeforeRet_;
8135 }
8136 goto LA998_;
8137 LA1000_: ;
8138 {
8139 result = typeRel__sigmatch_202(c, prevX60gensym430_, a, flags);
8140 goto BeforeRet_;
8141 }
8142 LA998_: ;
8143 }
8144 break;
8145 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
8146 {
8147 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym434_;
8148 RootObj* T1010_;
8149 T1010_ = NIM_NIL;
8150 T1010_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8151 prevX60gensym434_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1010_));
8152 {
8153 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag targetKind;
8154 tyObject_TType__facALICuu8zUj0hjvbTLFg* effectiveArgType;
8155 NIM_BOOL typeClassMatches;
8156 NIM_BOOL T1015_;
8157 NIM_BOOL T1017_;
8158 if (!(prevX60gensym434_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1013_;
8159 targetKind = (*(*f).sons->data[((NI) 0)]).kind;
8160 effectiveArgType = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_30);
8161 T1015_ = (NIM_BOOL)0;
8162 T1015_ = (targetKind == (*effectiveArgType).kind);
8163 if (!(T1015_)) goto LA1016_;
8164 T1017_ = (NIM_BOOL)0;
8165 T1017_ = isEmptyContainer__types_3626(effectiveArgType);
8166 T1015_ = !(T1017_);
8167 LA1016_: ;
8168 typeClassMatches = T1015_;
8169 {
8170 NIM_BOOL T1020_;
8171 NIM_BOOL T1022_;
8172 T1020_ = (NIM_BOOL)0;
8173 T1020_ = typeClassMatches;
8174 if (T1020_) goto LA1021_;
8175 T1022_ = (NIM_BOOL)0;
8176 T1022_ = (targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
8177 if (!(T1022_)) goto LA1023_;
8178 T1022_ = ((*effectiveArgType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
8179 LA1023_: ;
8180 T1020_ = T1022_;
8181 LA1021_: ;
8182 if (!T1020_) goto LA1024_;
8183 put__sigmatch_120(c, f, a);
8184 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8185 goto BeforeRet_;
8186 }
8187 goto LA1018_;
8188 LA1024_: ;
8189 {
8190 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8191 goto BeforeRet_;
8192 }
8193 LA1018_: ;
8194 }
8195 goto LA1011_;
8196 LA1013_: ;
8197 {
8198 result = typeRel__sigmatch_202(c, prevX60gensym434_, a, flags);
8199 goto BeforeRet_;
8200 }
8201 LA1011_: ;
8202 }
8203 break;
8204 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8205 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
8206 {
8207 {
8208 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1033_;
8209 if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA1031_;
8210 T1033_ = NIM_NIL;
8211 T1033_ = lastSon__ast_3743(f);
8212 result = typeRel__sigmatch_202(c, T1033_, a, flags);
8213 }
8214 goto LA1029_;
8215 LA1031_: ;
8216 {
8217 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym439_;
8218 RootObj* T1035_;
8219 T1035_ = NIM_NIL;
8220 T1035_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8221 prevX60gensym439_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1035_));
8222 {
8223 tyObject_TType__facALICuu8zUj0hjvbTLFg* matched;
8224 if (!(prevX60gensym439_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1038_;
8225 {
8226 if (!(aOrig_2 == f)) goto LA1042_;
8227 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8228 goto BeforeRet_;
8229 }
8230 LA1042_: ;
8231 matched = matchUserTypeClass__sigmatch_993(c, f, aOrig_2);
8232 {
8233 if (!!((matched == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1046_;
8234 add__concepts_23(matched, a);
8235 (*matched).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10)) & 63);
8236 {
8237 if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA1050_;
8238 put__sigmatch_120(c, f, matched);
8239 }
8240 LA1050_: ;
8241 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8242 }
8243 goto LA1044_;
8244 LA1046_: ;
8245 {
8246 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8247 }
8248 LA1044_: ;
8249 }
8250 goto LA1036_;
8251 LA1038_: ;
8252 {
8253 result = typeRel__sigmatch_202(c, prevX60gensym439_, a, flags);
8254 goto BeforeRet_;
8255 }
8256 LA1036_: ;
8257 }
8258 LA1029_: ;
8259 }
8260 break;
8261 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
8262 {
8263 {
8264 NIM_BOOL T1057_;
8265 T1057_ = (NIM_BOOL)0;
8266 T1057_ = conceptMatch__concepts_538((*c).c, f, a, (&(*c).bindings), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8267 if (!T1057_) goto LA1058_;
8268 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8269 }
8270 goto LA1055_;
8271 LA1058_: ;
8272 {
8273 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8274 }
8275 LA1055_: ;
8276 }
8277 break;
8278 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
8279 {
8280 tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym444_;
8281 RootObj* T1062_;
8282 T1062_ = NIM_NIL;
8283 T1062_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8284 prevX60gensym444_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1062_));
8285 {
8286 tyObject_TType__facALICuu8zUj0hjvbTLFg* roota_2;
8287 tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf_2;
8288 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1067_;
8289 if (!(prevX60gensym444_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1065_;
8290 roota_2 = skipGenericAlias__types_2219(a);
8291 T1067_ = NIM_NIL;
8292 T1067_ = lastSon__ast_3743(f);
8293 rootf_2 = skipGenericAlias__types_2219(T1067_);
8294 {
8295 NIM_BOOL T1070_;
8296 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1072_;
8297 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1073_;
8298 T1070_ = (NIM_BOOL)0;
8299 T1070_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
8300 if (!(T1070_)) goto LA1071_;
8301 T1072_ = NIM_NIL;
8302 T1072_ = base__types_63(roota_2);
8303 T1073_ = NIM_NIL;
8304 T1073_ = base__types_63(rootf_2);
8305 T1070_ = (T1072_ == T1073_);
8306 LA1071_: ;
8307 if (!T1070_) goto LA1074_;
8308 {
8309 NI i_17;
8310 NI colontmp__6;
8311 NI T1077_;
8312 NI i_18;
8313 i_17 = (NI)0;
8314 colontmp__6 = (NI)0;
8315 T1077_ = (NI)0;
8316 T1077_ = len__ast_4002(rootf_2);
8317 colontmp__6 = (NI)(T1077_ - ((NI) 1));
8318 i_18 = ((NI) 1);
8319 {
8320 while (1) {
8321 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_5;
8322 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_4;
8323 if (!(i_18 < colontmp__6)) goto LA1079;
8324 i_17 = i_18;
8325 ff_5 = (*rootf_2).sons->data[i_17];
8326 aa_4 = (*roota_2).sons->data[i_17];
8327 result = typeRel__sigmatch_202(c, ff_5, aa_4, flags);
8328 {
8329 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA1082_;
8330 goto BeforeRet_;
8331 }
8332 LA1082_: ;
8333 {
8334 NIM_BOOL T1086_;
8335 T1086_ = (NIM_BOOL)0;
8336 T1086_ = ((*ff_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
8337 if (!(T1086_)) goto LA1087_;
8338 T1086_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)));
8339 LA1087_: ;
8340 if (!T1086_) goto LA1088_;
8341 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8342 goto BeforeRet_;
8343 }
8344 LA1088_: ;
8345 i_18 += ((NI) 1);
8346 } LA1079: ;
8347 }
8348 }
8349 }
8350 goto LA1068_;
8351 LA1074_: ;
8352 {
8353 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1091_;
8354 T1091_ = NIM_NIL;
8355 T1091_ = lastSon__ast_3743(rootf_2);
8356 result = typeRel__sigmatch_202(c, T1091_, a, flags);
8357 }
8358 LA1068_: ;
8359 {
8360 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1094_;
8361 put__sigmatch_120(c, f, a);
8362 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8363 }
8364 LA1094_: ;
8365 }
8366 goto LA1063_;
8367 LA1065_: ;
8368 {
8369 result = typeRel__sigmatch_202(c, prevX60gensym444_, a, flags);
8370 goto BeforeRet_;
8371 }
8372 LA1063_: ;
8373 }
8374 break;
8375 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
8376 {
8377 NIM_BOOL doBindGP;
8378 NIM_BOOL T1098_;
8379 tyObject_TType__facALICuu8zUj0hjvbTLFg* x_9;
8380 RootObj* T1100_;
8381 T1098_ = (NIM_BOOL)0;
8382 T1098_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0));
8383 if (T1098_) goto LA1099_;
8384 T1098_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 2))&7U)))!=0);
8385 LA1099_: ;
8386 doBindGP = T1098_;
8387 T1100_ = NIM_NIL;
8388 T1100_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8389 x_9 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1100_));
8390 {
8391 if (!(x_9 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1103_;
8392 {
8393 NIM_BOOL T1107_;
8394 T1107_ = (NIM_BOOL)0;
8395 T1107_ = ((*(*c).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
8396 if (!(T1107_)) goto LA1108_;
8397 T1107_ = !((*c).typedescMatched);
8398 LA1108_: ;
8399 if (!T1107_) goto LA1109_;
8400 {
8401 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1113_;
8402 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8403 }
8404 goto LA1111_;
8405 LA1113_: ;
8406 {
8407 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1116_;
8408 {
8409 NI T1120_;
8410 T1120_ = (NI)0;
8411 T1120_ = len__ast_4002(f);
8412 if (!(T1120_ == ((NI) 0))) goto LA1121_;
8413 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8414 }
8415 goto LA1118_;
8416 LA1121_: ;
8417 {
8418 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_5;
8419 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1138_;
8420 {
8421 NI T1126_;
8422 NimStringDesc* argX60gensym454_;
8423 T1126_ = (NI)0;
8424 T1126_ = len__ast_4002(a);
8425 if (!!((((NI) 0) < T1126_))) goto LA1127_;
8426 argX60gensym454_ = toFileLineCol__msgs_615(TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8427 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym454_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_44);
8428 }
8429 LA1127_: ;
8430 (*c).typedescMatched = NIM_TRUE;
8431 aa_5 = a;
8432 {
8433 while (1) {
8434 NIM_BOOL T1131_;
8435 NI T1133_;
8436 T1131_ = (NIM_BOOL)0;
8437 T1131_ = ((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8438 if (!(T1131_)) goto LA1132_;
8439 T1133_ = (NI)0;
8440 T1133_ = len__ast_4002(aa_5);
8441 T1131_ = (((NI) 0) < T1133_);
8442 LA1132_: ;
8443 if (!T1131_) goto LA1130;
8444 aa_5 = lastSon__ast_3743(aa_5);
8445 } LA1130: ;
8446 }
8447 {
8448 if (!((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1136_;
8449 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8450 goto BeforeRet_;
8451 }
8452 LA1136_: ;
8453 T1138_ = NIM_NIL;
8454 T1138_ = base__types_63(f);
8455 result = typeRel__sigmatch_202(c, T1138_, aa_5, flags);
8456 {
8457 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1141_;
8458 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8459 }
8460 LA1141_: ;
8461 }
8462 LA1118_: ;
8463 }
8464 goto LA1111_;
8465 LA1116_: ;
8466 {
8467 if (!(*c).isNoCall) goto LA1144_;
8468 {
8469 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_2;
8470 if (!doBindGP) goto LA1148_;
8471 concrete_2 = concreteType__sigmatch_443((&(*c)), a, f);
8472 {
8473 if (!(concrete_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1152_;
8474 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8475 goto BeforeRet_;
8476 }
8477 LA1152_: ;
8478 put__sigmatch_120(c, f, concrete_2);
8479 }
8480 LA1148_: ;
8481 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8482 }
8483 goto LA1111_;
8484 LA1144_: ;
8485 {
8486 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8487 }
8488 LA1111_: ;
8489 }
8490 goto LA1105_;
8491 LA1109_: ;
8492 {
8493 {
8494 NIM_BOOL T1158_;
8495 NI T1159_;
8496 NI oldInheritancePenalty_2;
8497 T1158_ = (NIM_BOOL)0;
8498 T1159_ = (NI)0;
8499 T1159_ = len__ast_4002(f);
8500 T1158_ = (((NI) 0) < T1159_);
8501 if (!(T1158_)) goto LA1160_;
8502 T1158_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
8503 LA1160_: ;
8504 if (!T1158_) goto LA1161_;
8505 oldInheritancePenalty_2 = (*c).inheritancePenalty;
8506 result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], a, (flags | 5));
8507 {
8508 NIM_BOOL T1165_;
8509 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_3;
8510 T1165_ = (NIM_BOOL)0;
8511 T1165_ = doBindGP;
8512 if (!(T1165_)) goto LA1166_;
8513 T1165_ = !(((257 &((NU16)1<<((NU)(result)&15U)))!=0));
8514 LA1166_: ;
8515 if (!T1165_) goto LA1167_;
8516 concrete_3 = concreteType__sigmatch_443((&(*c)), a, f);
8517 {
8518 if (!(concrete_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1171_;
8519 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8520 goto BeforeRet_;
8521 }
8522 LA1171_: ;
8523 put__sigmatch_120(c, f, concrete_3);
8524 }
8525 LA1167_: ;
8526 {
8527 if (!((1032 &((NU16)1<<((NU)(result)&15U)))!=0)) goto LA1175_;
8528 (*c).inheritancePenalty = (NI)((NI)(oldInheritancePenalty_2 - (*c).inheritancePenalty) - (NI)(((NI) 100) * (result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10))));
8529 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8530 }
8531 LA1175_: ;
8532 }
8533 goto LA1156_;
8534 LA1161_: ;
8535 {
8536 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1178_;
8537 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8538 }
8539 goto LA1156_;
8540 LA1178_: ;
8541 {
8542 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8543 }
8544 LA1156_: ;
8545 }
8546 LA1105_: ;
8547 {
8548 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_4;
8549 if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA1183_;
8550 concrete_4 = a;
8551 {
8552 if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1187_;
8553 transitionGenericParamToType__ast_4390((*a).sym);
8554 (*a).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
8555 }
8556 goto LA1185_;
8557 LA1187_: ;
8558 {
8559 concrete_4 = concreteType__sigmatch_443((&(*c)), a, f);
8560 {
8561 if (!(concrete_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1192_;
8562 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8563 goto BeforeRet_;
8564 }
8565 LA1192_: ;
8566 }
8567 LA1185_: ;
8568 {
8569 if (!doBindGP) goto LA1196_;
8570 put__sigmatch_120(c, f, concrete_4);
8571 }
8572 LA1196_: ;
8573 }
8574 goto LA1181_;
8575 LA1183_: ;
8576 {
8577 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1199_;
8578 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8579 }
8580 goto LA1181_;
8581 LA1199_: ;
8582 LA1181_: ;
8583 }
8584 goto LA1101_;
8585 LA1103_: ;
8586 {
8587 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA1202_;
8588 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8589 }
8590 goto LA1101_;
8591 LA1202_: ;
8592 {
8593 if (!((*x_9).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1205_;
8594 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8595 }
8596 goto LA1101_;
8597 LA1205_: ;
8598 {
8599 result = typeRel__sigmatch_202(c, x_9, a, flags);
8600 {
8601 if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1210_;
8602 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8603 }
8604 LA1210_: ;
8605 }
8606 LA1101_: ;
8607 }
8608 break;
8609 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8610 {
8611 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_5;
8612 RootObj* T1213_;
8613 T1213_ = NIM_NIL;
8614 T1213_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8615 prev_5 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1213_));
8616 {
8617 if (!(prev_5 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1216_;
8618 {
8619 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1220_;
8620 {
8621 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1224_;
8622 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1227_;
8623 T1224_ = NIM_NIL;
8624 T1224_ = base__types_63(f);
8625 if (!!(((*T1224_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1225_;
8626 T1227_ = NIM_NIL;
8627 T1227_ = base__types_63(f);
8628 result = typeRel__sigmatch_202(c, T1227_, a, flags);
8629 {
8630 NIM_BOOL T1230_;
8631 T1230_ = (NIM_BOOL)0;
8632 T1230_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8633 if (!(T1230_)) goto LA1231_;
8634 T1230_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8635 LA1231_: ;
8636 if (!T1230_) goto LA1232_;
8637 {
8638 NIM_BOOL T1236_;
8639 T1236_ = (NIM_BOOL)0;
8640 T1236_ = exprStructuralEquivalent__trees_56((*f).n, (*aOrig_2).n, NIM_FALSE);
8641 if (!!(T1236_)) goto LA1237_;
8642 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8643 }
8644 LA1237_: ;
8645 }
8646 LA1232_: ;
8647 }
8648 goto LA1222_;
8649 LA1225_: ;
8650 {
8651 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8652 }
8653 LA1222_: ;
8654 {
8655 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1242_;
8656 put__sigmatch_120(c, f, aOrig_2);
8657 }
8658 LA1242_: ;
8659 }
8660 goto LA1218_;
8661 LA1220_: ;
8662 {
8663 NIM_BOOL T1245_;
8664 T1245_ = (NIM_BOOL)0;
8665 T1245_ = !(((*aOrig_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8666 if (!(T1245_)) goto LA1246_;
8667 T1245_ = !(((*(*aOrig_2).n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8668 LA1246_: ;
8669 if (!T1245_) goto LA1247_;
8670 {
8671 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1251_;
8672 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1254_;
8673 T1251_ = NIM_NIL;
8674 T1251_ = base__types_63(f);
8675 if (!!(((*T1251_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1252_;
8676 T1254_ = NIM_NIL;
8677 T1254_ = lastSon__ast_3743(f);
8678 result = typeRel__sigmatch_202(c, T1254_, (*(*aOrig_2).n).typ, flags);
8679 }
8680 goto LA1249_;
8681 LA1252_: ;
8682 {
8683 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8684 }
8685 LA1249_: ;
8686 {
8687 tyObject_TType__facALICuu8zUj0hjvbTLFg* boundType;
8688 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1260_;
8689 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1258_;
8690 T1260_ = NIM_NIL;
8691 T1260_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
8692 asgnRef((void**) (&T1260_->data[0]), (*(*aOrig_2).n).typ);
8693 boundType = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T1260_);
8694 asgnRef((void**) (&(*boundType).n), (*aOrig_2).n);
8695 put__sigmatch_120(c, f, boundType);
8696 }
8697 LA1258_: ;
8698 }
8699 goto LA1218_;
8700 LA1247_: ;
8701 {
8702 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8703 }
8704 LA1218_: ;
8705 }
8706 goto LA1214_;
8707 LA1216_: ;
8708 {
8709 if (!((*prev_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1263_;
8710 {
8711 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1269_;
8712 if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1267_;
8713 T1269_ = NIM_NIL;
8714 T1269_ = lastSon__ast_3743(prev_5);
8715 result = typeRel__sigmatch_202(c, T1269_, a, flags);
8716 {
8717 NIM_BOOL T1272_;
8718 T1272_ = (NIM_BOOL)0;
8719 T1272_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8720 if (!(T1272_)) goto LA1273_;
8721 T1272_ = !(((*prev_5).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8722 LA1273_: ;
8723 if (!T1272_) goto LA1274_;
8724 {
8725 NIM_BOOL T1278_;
8726 T1278_ = (NIM_BOOL)0;
8727 T1278_ = exprStructuralEquivalent__trees_56((*prev_5).n, (*aOrig_2).n, NIM_FALSE);
8728 if (!!(T1278_)) goto LA1279_;
8729 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8730 }
8731 LA1279_: ;
8732 }
8733 LA1274_: ;
8734 }
8735 goto LA1265_;
8736 LA1267_: ;
8737 {
8738 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8739 }
8740 LA1265_: ;
8741 }
8742 goto LA1214_;
8743 LA1263_: ;
8744 {
8745 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8746 }
8747 LA1214_: ;
8748 }
8749 break;
8750 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
8751 {
8752 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_6;
8753 {
8754 NI T1286_;
8755 T1286_ = ((*f).sons ? (*f).sons->Sup.len : 0);
8756 if (!(((NI) 1) < T1286_)) goto LA1287_;
8757 prev_6 = lastSon__ast_3743(f);
8758 }
8759 goto LA1284_;
8760 LA1287_: ;
8761 {
8762 prev_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
8763 }
8764 LA1284_: ;
8765 {
8766 if (!!((prev_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1292_;
8767 result = typeRel__sigmatch_202(c, prev_6, a, flags);
8768 }
8769 goto LA1290_;
8770 LA1292_: ;
8771 {
8772 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1295_;
8773 T1295_ = NIM_NIL;
8774 T1295_ = base__types_63(f);
8775 result = typeRel__sigmatch_202(c, T1295_, a, flags);
8776 {
8777 NI T1300_;
8778 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1298_;
8779 unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_)));
8780 T1300_ = (*c).inferredTypes->Sup.len++;
8781 asgnRef((void**) (&(*c).inferredTypes->data[T1300_]), f);
8782 add__concepts_23(f, a);
8783 }
8784 LA1298_: ;
8785 }
8786 LA1290_: ;
8787 }
8788 break;
8789 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8790 {
8791 tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_7;
8792 RootObj* T1302_;
8793 T1302_ = NIM_NIL;
8794 T1302_ = idTableGet__astalgo_64((*c).bindings, &f->Sup);
8795 prev_7 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1302_));
8796 {
8797 if (!(prev_7 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1305_;
8798 {
8799 if (!!(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA1309_;
8800 {
8801 NIM_BOOL T1313_;
8802 T1313_ = (NIM_BOOL)0;
8803 T1313_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
8804 if (!(T1313_)) goto LA1314_;
8805 T1313_ = (((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
8806 LA1314_: ;
8807 if (!T1313_) goto LA1315_;
8808 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8809 }
8810 goto LA1311_;
8811 LA1315_: ;
8812 {
8813 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8814 }
8815 LA1311_: ;
8816 }
8817 goto LA1307_;
8818 LA1309_: ;
8819 {
8820 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1319_;
8821 T1319_ = NIM_NIL;
8822 T1319_ = base__types_63(f);
8823 if (!((*T1319_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1320_;
8824 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8825 }
8826 goto LA1307_;
8827 LA1320_: ;
8828 {
8829 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1323_;
8830 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1324_;
8831 T1323_ = NIM_NIL;
8832 T1323_ = base__types_63(f);
8833 T1324_ = NIM_NIL;
8834 T1324_ = base__types_63(a);
8835 result = typeRel__sigmatch_202(c, T1323_, T1324_, flags);
8836 }
8837 LA1307_: ;
8838 {
8839 if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1327_;
8840 put__sigmatch_120(c, f, a);
8841 }
8842 LA1327_: ;
8843 }
8844 goto LA1303_;
8845 LA1305_: ;
8846 {
8847 {
8848 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1334_;
8849 if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA1332_;
8850 T1334_ = NIM_NIL;
8851 T1334_ = base__types_63(prev_7);
8852 result = typeRel__sigmatch_202(c, T1334_, a, flags);
8853 }
8854 goto LA1330_;
8855 LA1332_: ;
8856 {
8857 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1338_;
8858 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1339_;
8859 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1336_;
8860 T1338_ = NIM_NIL;
8861 T1338_ = base__types_63(prev_7);
8862 T1339_ = NIM_NIL;
8863 T1339_ = base__types_63(a);
8864 result = typeRel__sigmatch_202(c, T1338_, T1339_, flags);
8865 }
8866 goto LA1330_;
8867 LA1336_: ;
8868 {
8869 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8870 }
8871 LA1330_: ;
8872 }
8873 LA1303_: ;
8874 }
8875 break;
8876 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
8877 {
8878 {
8879 if (!!((aOrig_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1344_;
8880 put__sigmatch_120(c, f, aOrig_2);
8881 }
8882 LA1344_: ;
8883 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8884 }
8885 break;
8886 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
8887 {
8888 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8889 }
8890 break;
8891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
8892 {
8893 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reevaluated;
8894 {
8895 NIM_BOOL T1350_;
8896 T1350_ = (NIM_BOOL)0;
8897 T1350_ = ((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8898 if (T1350_) goto LA1351_;
8899 T1350_ = ((*(*f).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
8900 LA1351_: ;
8901 if (!T1350_) goto LA1352_;
8902 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8);
8903 goto BeforeRet_;
8904 }
8905 LA1352_: ;
8906 reevaluated = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE);
8907 switch ((*(*reevaluated).typ).kind) {
8908 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8909 {
8910 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1355_;
8911 T1355_ = NIM_NIL;
8912 T1355_ = base__types_63((*reevaluated).typ);
8913 result = typeRel__sigmatch_202(c, a, T1355_, flags);
8914 }
8915 break;
8916 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8917 {
8918 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1357_;
8919 T1357_ = NIM_NIL;
8920 T1357_ = base__types_63((*reevaluated).typ);
8921 result = typeRel__sigmatch_202(c, a, T1357_, flags);
8922 {
8923 NIM_BOOL T1360_;
8924 T1360_ = (NIM_BOOL)0;
8925 T1360_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8926 if (!(T1360_)) goto LA1361_;
8927 T1360_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8928 LA1361_: ;
8929 if (!T1360_) goto LA1362_;
8930 {
8931 NIM_BOOL T1366_;
8932 T1366_ = (NIM_BOOL)0;
8933 T1366_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8934 if (!!(T1366_)) goto LA1367_;
8935 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8936 }
8937 LA1367_: ;
8938 }
8939 LA1362_: ;
8940 }
8941 break;
8942 default:
8943 {
8944 result = typeRel__sigmatch_202(c, a, (*reevaluated).typ, flags);
8945 {
8946 NIM_BOOL T1372_;
8947 T1372_ = (NIM_BOOL)0;
8948 T1372_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
8949 if (!(T1372_)) goto LA1373_;
8950 T1372_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8951 LA1373_: ;
8952 if (!T1372_) goto LA1374_;
8953 {
8954 NIM_BOOL T1378_;
8955 T1378_ = (NIM_BOOL)0;
8956 T1378_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE);
8957 if (!!(T1378_)) goto LA1379_;
8958 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
8959 }
8960 LA1379_: ;
8961 }
8962 LA1374_: ;
8963 }
8964 break;
8965 }
8966 }
8967 break;
8968 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
8969 {
8970 {
8971 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1384_;
8972 result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10);
8973 }
8974 LA1384_: ;
8975 }
8976 break;
8977 default:
8978 {
8979 NimStringDesc* T1387_;
8980 T1387_ = NIM_NIL;
8981 T1387_ = rawNewString((reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 19);
8982 appendString(T1387_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_45));
8983 appendString(T1387_, reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8984 internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, T1387_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_46);
8985 }
8986 break;
8987 }
8988 }BeforeRet_: ;
8989 return result;
8990 }
N_NIMCALL(void,incMatches__sigmatch_3238)8991 N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch) {
8992 switch (r) {
8993 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
8994 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
8995 {
8996 (*m).convMatches += convMatch;
8997 }
8998 break;
8999 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
9000 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
9001 {
9002 (*m).subtypeMatches += ((NI) 1);
9003 }
9004 break;
9005 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
9006 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
9007 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
9008 {
9009 (*m).genericMatches += ((NI) 1);
9010 }
9011 break;
9012 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
9013 {
9014 (*m).intConvMatches += ((NI) 256);
9015 }
9016 break;
9017 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
9018 {
9019 (*m).convMatches += ((NI) 1);
9020 }
9021 break;
9022 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
9023 {
9024 (*m).exactMatches += ((NI) 1);
9025 }
9026 break;
9027 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
9028 {
9029 }
9030 break;
9031 }
9032 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getInstantiatedType__sigmatch_3053)9033 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) {
9034 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9035 RootObj* T1_;
9036 result = NIM_NIL;
9037 T1_ = NIM_NIL;
9038 T1_ = idTableGet__astalgo_64((*m).bindings, &f->Sup);
9039 result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1_));
9040 {
9041 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA4_;
9042 result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, f);
9043 }
9044 LA4_: ;
9045 {
9046 if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_;
9047 internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_49), TM__EV5hHJmjIY9cla9b9be7fSVJQ_50);
9048 result = errorType__semdata_1002(c);
9049 }
9050 LA8_: ;
9051 return result;
9052 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitConv__sigmatch_3067)9053 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) {
9054 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9055 result = NIM_NIL;
9056 result = newNodeI__ast_3356(kind, (*arg).info);
9057 {
9058 NIM_BOOL T3_;
9059 T3_ = (NIM_BOOL)0;
9060 T3_ = containsGenericType__types_3360(f);
9061 if (!T3_) goto LA4_;
9062 {
9063 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
9064 if (!!(!(((*m).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))))) goto LA8_;
9065 T10_ = NIM_NIL;
9066 T10_ = getInstantiatedType__sigmatch_3053(c, arg, m, f);
9067 asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(T10_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9068 }
9069 goto LA6_;
9070 LA8_: ;
9071 {
9072 asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
9073 }
9074 LA6_: ;
9075 }
9076 goto LA1_;
9077 LA4_: ;
9078 {
9079 asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51));
9080 }
9081 LA1_: ;
9082 {
9083 if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
9084 internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_52), TM__EV5hHJmjIY9cla9b9be7fSVJQ_53);
9085 }
9086 LA15_: ;
9087 add__ast_4797(result, (*(*c).graph).emptyNode);
9088 add__ast_4797(result, arg);
9089 return result;
9090 }
N_INLINE(NIM_BOOL,isLValue__sigmatch_3090)9091 static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9092 NIM_BOOL result;
9093 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
9094 result = (NIM_BOOL)0;
9095 aa = isAssignable__parampatterns_334(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), n, NIM_FALSE);
9096 switch (aa) {
9097 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1):
9098 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2):
9099 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 5):
9100 {
9101 result = NIM_TRUE;
9102 }
9103 break;
9104 case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3):
9105 {
9106 result = (((NI) 0) < (*c).inUncheckedAssignSection);
9107 }
9108 break;
9109 default:
9110 {
9111 result = NIM_FALSE;
9112 }
9113 break;
9114 }
9115 return result;
9116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,extractPragma__sigmatch_5382)9117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9118 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9119 result = NIM_NIL;
9120 {
9121 if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_;
9122 result = (*(*s).ast)._kind_6.sons->data[((NI) 4)];
9123 }
9124 goto LA1_;
9125 LA3_: ;
9126 {
9127 if (!((896 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA6_;
9128 {
9129 NIM_BOOL T10_;
9130 NI T12_;
9131 T10_ = (NIM_BOOL)0;
9132 T10_ = !(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
9133 if (!(T10_)) goto LA11_;
9134 T12_ = (NI)0;
9135 T12_ = len__ast_3198((*s).ast);
9136 T10_ = (((NI) 0) < T12_);
9137 LA11_: ;
9138 if (!T10_) goto LA13_;
9139 {
9140 NIM_BOOL T17_;
9141 NI T19_;
9142 T17_ = (NIM_BOOL)0;
9143 T17_ = ((*(*(*s).ast)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
9144 if (!(T17_)) goto LA18_;
9145 T19_ = (NI)0;
9146 T19_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 0)]);
9147 T17_ = (((NI) 1) < T19_);
9148 LA18_: ;
9149 if (!T17_) goto LA20_;
9150 result = (*(*(*s).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
9151 }
9152 LA20_: ;
9153 }
9154 LA13_: ;
9155 }
9156 goto LA1_;
9157 LA6_: ;
9158 LA1_: ;
9159 {
9160 NIM_BOOL T24_;
9161 T24_ = (NIM_BOOL)0;
9162 T24_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9163 if (T24_) goto LA25_;
9164 T24_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
9165 LA25_: ;
9166 if (!!(T24_)) goto LA26_;
9167 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_57));
9168 }
9169 LA26_: ;
9170 return result;
9171 }
N_NIMCALL(void,warnAboutDeprecated__sigmatch_5425)9172 N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9173 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9174 NimStringDesc* name;
9175 NimStringDesc* T33_;
9176 { pragmaNode = NIM_NIL;
9177 {
9178 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA3_;
9179 pragmaNode = extractPragma__sigmatch_5382((*s).owner);
9180 }
9181 goto LA1_;
9182 LA3_: ;
9183 {
9184 pragmaNode = extractPragma__sigmatch_5382(s);
9185 }
9186 LA1_: ;
9187 {
9188 NIM_BOOL T8_;
9189 NimStringDesc* T12_;
9190 T8_ = (NIM_BOOL)0;
9191 T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9192 if (!(T8_)) goto LA9_;
9193 T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0));
9194 LA9_: ;
9195 if (!T8_) goto LA10_;
9196 T12_ = NIM_NIL;
9197 T12_ = rawNewString(((*(*(*s).owner).name).s ? (*(*(*s).owner).name).s->Sup.len : 0) + ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 31);
9198 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_58));
9199 appendString(T12_, (*(*(*s).owner).name).s);
9200 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_59));
9201 appendString(T12_, (*(*s).name).s);
9202 appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
9203 name = T12_;
9204 }
9205 goto LA6_;
9206 LA10_: ;
9207 {
9208 name = (*(*s).name).s;
9209 }
9210 LA6_: ;
9211 {
9212 if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
9213 {
9214 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9215 it = NIM_NIL;
9216 {
9217 NI i;
9218 NI colontmp_;
9219 NI i_2;
9220 i = (NI)0;
9221 colontmp_ = (NI)0;
9222 colontmp_ = safeLen__ast_3191(pragmaNode);
9223 i_2 = ((NI) 0);
9224 {
9225 while (1) {
9226 if (!(i_2 < colontmp_)) goto LA21;
9227 i = i_2;
9228 it = (*pragmaNode)._kind_6.sons->data[i];
9229 {
9230 NIM_BOOL T24_;
9231 NIM_BOOL T25_;
9232 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T26_;
9233 NI T28_;
9234 NimStringDesc* T32_;
9235 T24_ = (NIM_BOOL)0;
9236 T25_ = (NIM_BOOL)0;
9237 T26_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9238 T26_ = whichPragma__trees_244(it);
9239 T25_ = (T26_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 138));
9240 if (!(T25_)) goto LA27_;
9241 T28_ = (NI)0;
9242 T28_ = safeLen__ast_3191(it);
9243 T25_ = (T28_ == ((NI) 2));
9244 LA27_: ;
9245 T24_ = T25_;
9246 if (!(T24_)) goto LA29_;
9247 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));
9248 LA29_: ;
9249 if (!T24_) goto LA30_;
9250 T32_ = NIM_NIL;
9251 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);
9252 appendString(T32_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9253 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9254 appendString(T32_, name);
9255 appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9256 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_62, NIM_FALSE);
9257 goto BeforeRet_;
9258 }
9259 LA30_: ;
9260 i_2 += ((NI) 1);
9261 } LA21: ;
9262 }
9263 }
9264 }
9265 }
9266 LA16_: ;
9267 T33_ = NIM_NIL;
9268 T33_ = rawNewString((name ? name->Sup.len : 0) + 14);
9269 appendString(T33_, name);
9270 appendString(T33_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61));
9271 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_64, NIM_FALSE);
9272 }BeforeRet_: ;
9273 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_619)9274 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
9275 NimStringDesc* result;
9276 NimStringDesc* T1_;
9277 result = NIM_NIL;
9278 T1_ = NIM_NIL;
9279 T1_ = toMsgFilename__msgs_602(conf, info.fileIndex);
9280 result = resizeString(result, (T1_ ? T1_->Sup.len : 0) + 0);
9281 appendString(result, T1_);
9282 {
9283 if (!(((NI) 0) < ((NI) (info.line)))) goto LA4_;
9284 result = resizeString(result, 1);
9285 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41));
9286 addInt__stdZprivateZdigitsutils_189((&result), ((NI) (info.line)));
9287 {
9288 if (!(((NI) 0) < (NI)(((NI) (info.col)) + ((NI) 1)))) goto LA8_;
9289 result = resizeString(result, 2);
9290 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
9291 addInt__stdZprivateZdigitsutils_189((&result), (NI)(((NI) (info.col)) + ((NI) 1)));
9292 }
9293 LA8_: ;
9294 result = resizeString(result, 1);
9295 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43));
9296 }
9297 LA4_: ;
9298 return result;
9299 }
N_NIMCALL(void,userError__sigmatch_5458)9300 N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9301 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
9302 tyArray__24KAM9afIUgUaqBaEBB6r9bg T22_;
9303 NimStringDesc* T23_;
9304 { pragmaNode = extractPragma__sigmatch_5382(s);
9305 {
9306 if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
9307 {
9308 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
9309 it = NIM_NIL;
9310 {
9311 NI i;
9312 NI colontmp_;
9313 NI i_2;
9314 i = (NI)0;
9315 colontmp_ = (NI)0;
9316 colontmp_ = safeLen__ast_3191(pragmaNode);
9317 i_2 = ((NI) 0);
9318 {
9319 while (1) {
9320 if (!(i_2 < colontmp_)) goto LA8;
9321 i = i_2;
9322 it = (*pragmaNode)._kind_6.sons->data[i];
9323 {
9324 NIM_BOOL T11_;
9325 NIM_BOOL T12_;
9326 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
9327 NI T15_;
9328 tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
9329 NimStringDesc* T20_;
9330 NimStringDesc* T21_;
9331 T11_ = (NIM_BOOL)0;
9332 T12_ = (NIM_BOOL)0;
9333 T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
9334 T13_ = whichPragma__trees_244(it);
9335 T12_ = (T13_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 122));
9336 if (!(T12_)) goto LA14_;
9337 T15_ = (NI)0;
9338 T15_ = safeLen__ast_3191(it);
9339 T12_ = (T15_ == ((NI) 2));
9340 LA14_: ;
9341 T11_ = T12_;
9342 if (!(T11_)) goto LA16_;
9343 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));
9344 LA16_: ;
9345 if (!T11_) goto LA17_;
9346 nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9347 T20_ = NIM_NIL;
9348 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);
9349 appendString(T20_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal);
9350 appendString(T20_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60));
9351 T19_[0] = T20_;
9352 T19_[1] = copyString((*(*s).name).s);
9353 T19_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9354 T21_ = NIM_NIL;
9355 T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T19_, 3);
9356 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_66, NIM_FALSE);
9357 goto BeforeRet_;
9358 }
9359 LA17_: ;
9360 i_2 += ((NI) 1);
9361 } LA8: ;
9362 }
9363 }
9364 }
9365 }
9366 LA3_: ;
9367 nimZeroMem((void*)T22_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
9368 T22_[0] = ((NimStringDesc*) NIM_NIL);
9369 T22_[1] = copyString((*(*s).name).s);
9370 T22_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info);
9371 T23_ = NIM_NIL;
9372 T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T22_, 3);
9373 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_67, NIM_FALSE);
9374 }BeforeRet_: ;
9375 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)9376 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
9377 NU64 result;
9378 result = (NU64)0;
9379 __uint128_t r = a; r *= b; result = (r >> 64) ^ r;
9380 return result;
9381 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)9382 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
9383 NI result;
9384 NU64 T1_;
9385 NU64 T2_;
9386 result = (NI)0;
9387 T1_ = (NU64)0;
9388 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
9389 T2_ = (NU64)0;
9390 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
9391 result = ((NI) (T2_));
9392 return result;
9393 }
N_INLINE(NI,hash__pureZhashes_128)9394 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
9395 NI result;
9396 result = (NI)0;
9397 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
9398 return result;
9399 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)9400 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
9401 NIM_BOOL result;
9402 result = (NIM_BOOL)0;
9403 result = !((hcode == ((NI) 0)));
9404 return result;
9405 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)9406 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
9407 NI result;
9408 result = (NI)0;
9409 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9410 return result;
9411 }
N_INLINE(NI,rawGet__sigmatch_5618)9412 static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) {
9413 NI result;
9414 NI h;
9415 NI T10_;
9416 { result = (NI)0;
9417 (*hc) = hash__pureZhashes_128(key);
9418 {
9419 if (!((*hc) == ((NI) 0))) goto LA3_;
9420 (*hc) = ((NI) 314159265);
9421 }
9422 LA3_: ;
9423 {
9424 NI T7_;
9425 T7_ = (t.data ? t.data->Sup.len : 0);
9426 if (!(T7_ == ((NI) 0))) goto LA8_;
9427 result = ((NI) -1);
9428 goto BeforeRet_;
9429 }
9430 LA8_: ;
9431 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9432 h = (NI)((*hc) & T10_);
9433 {
9434 while (1) {
9435 NIM_BOOL T13_;
9436 NI T20_;
9437 T13_ = (NIM_BOOL)0;
9438 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
9439 if (!T13_) goto LA12;
9440 {
9441 NIM_BOOL T16_;
9442 T16_ = (NIM_BOOL)0;
9443 T16_ = (t.data->data[h].Field0 == (*hc));
9444 if (!(T16_)) goto LA17_;
9445 T16_ = (t.data->data[h].Field1 == key);
9446 LA17_: ;
9447 if (!T16_) goto LA18_;
9448 result = h;
9449 goto BeforeRet_;
9450 }
9451 LA18_: ;
9452 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9453 h = nextTry__pureZcollectionsZtables_34(h, T20_);
9454 } LA12: ;
9455 }
9456 result = (NI)(((NI) -1) - h);
9457 }BeforeRet_: ;
9458 return result;
9459 }
N_NIMCALL(NI,getOrDefault__sigmatch_5608)9460 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0) {
9461 NI result;
9462 NI hcX60gensym888_;
9463 NI indexX60gensym888_;
9464 result = (NI)0;
9465 hcX60gensym888_ = (NI)0;
9466 indexX60gensym888_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym888_));
9467 {
9468 if (!(((NI) 0) <= indexX60gensym888_)) goto LA3_;
9469 result = t.data->data[indexX60gensym888_].Field2;
9470 }
9471 goto LA1_;
9472 LA3_: ;
9473 {
9474 result = default_0;
9475 }
9476 LA1_: ;
9477 return result;
9478 }
N_INLINE(NI,emarkamp___pureZhashes_3)9479 static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) {
9480 NI result;
9481 NU h_2;
9482 NU val_2;
9483 NU res;
9484 result = (NI)0;
9485 h_2 = ((NU) (h));
9486 val_2 = ((NU) (val));
9487 res = (NU)((NU64)(h_2) + (NU64)(val_2));
9488 res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 10)))));
9489 res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 6))));
9490 result = ((NI) (res));
9491 return result;
9492 }
N_INLINE(NI,emarkdollar___pureZhashes_18)9493 static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) {
9494 NI result;
9495 NU h_2;
9496 NU res;
9497 result = (NI)0;
9498 h_2 = ((NU) (h));
9499 res = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI) 3)))));
9500 res = (NU)(res ^ (NU)((NU64)(res) >> (NU64)(((NI) 11))));
9501 res = (NU)((NU64)(res) + (NU64)((NU)((NU64)(res) << (NU64)(((NI) 15)))));
9502 result = ((NI) (res));
9503 return result;
9504 }
N_NIMCALL(NI,hash__sigmatch_6038)9505 N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x) {
9506 NI result;
9507 NI T1_;
9508 NI T2_;
9509 result = (NI)0;
9510 T1_ = (NI)0;
9511 T1_ = hash__pureZhashes_128(x.Field0);
9512 result = emarkamp___pureZhashes_3(result, T1_);
9513 T2_ = (NI)0;
9514 T2_ = hash__pureZhashes_128(x.Field1);
9515 result = emarkamp___pureZhashes_3(result, T2_);
9516 result = emarkdollar___pureZhashes_18(result);
9517 return result;
9518 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)9519 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
9520 NIM_BOOL result;
9521 result = (NIM_BOOL)0;
9522 result = !((hcode == ((NI) 0)));
9523 return result;
9524 }
N_NIMCALL(NIM_BOOL,eqeq___sigmatch_6286)9525 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y) {
9526 NIM_BOOL result;
9527 { result = (NIM_BOOL)0;
9528 {
9529 if (!!((x.Field0 == y.Field0))) goto LA3_;
9530 result = NIM_FALSE;
9531 goto BeforeRet_;
9532 }
9533 LA3_: ;
9534 {
9535 if (!!((x.Field1 == y.Field1))) goto LA7_;
9536 result = NIM_FALSE;
9537 goto BeforeRet_;
9538 }
9539 LA7_: ;
9540 result = NIM_TRUE;
9541 goto BeforeRet_;
9542 }BeforeRet_: ;
9543 return result;
9544 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)9545 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
9546 NI result;
9547 result = (NI)0;
9548 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
9549 return result;
9550 }
N_INLINE(NI,rawGet__sigmatch_6031)9551 static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc) {
9552 NI result;
9553 NI h;
9554 NI T10_;
9555 { result = (NI)0;
9556 (*hc) = hash__sigmatch_6038(key);
9557 {
9558 if (!((*hc) == ((NI) 0))) goto LA3_;
9559 (*hc) = ((NI) 314159265);
9560 }
9561 LA3_: ;
9562 {
9563 NI T7_;
9564 T7_ = (t.data ? t.data->Sup.len : 0);
9565 if (!(T7_ == ((NI) 0))) goto LA8_;
9566 result = ((NI) -1);
9567 goto BeforeRet_;
9568 }
9569 LA8_: ;
9570 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
9571 h = (NI)((*hc) & T10_);
9572 {
9573 while (1) {
9574 NIM_BOOL T13_;
9575 NI T20_;
9576 T13_ = (NIM_BOOL)0;
9577 T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
9578 if (!T13_) goto LA12;
9579 {
9580 NIM_BOOL T16_;
9581 T16_ = (NIM_BOOL)0;
9582 T16_ = (t.data->data[h].Field0 == (*hc));
9583 if (!(T16_)) goto LA17_;
9584 T16_ = eqeq___sigmatch_6286(t.data->data[h].Field1, key);
9585 LA17_: ;
9586 if (!T16_) goto LA18_;
9587 result = h;
9588 goto BeforeRet_;
9589 }
9590 LA18_: ;
9591 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
9592 h = nextTry__pureZcollectionsZsets_41(h, T20_);
9593 } LA12: ;
9594 }
9595 result = (NI)(((NI) -1) - h);
9596 }BeforeRet_: ;
9597 return result;
9598 }
N_NIMCALL(NIM_BOOL,contains__sigmatch_6018)9599 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) {
9600 NIM_BOOL result;
9601 NI hc;
9602 NI index;
9603 result = (NIM_BOOL)0;
9604 hc = (NI)0;
9605 index = rawGet__sigmatch_6031(s, key, (&hc));
9606 result = (((NI) 0) <= index);
9607 return result;
9608 }
N_NIMCALL(void,del__sigmatch_6318)9609 N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i) {
9610 NI xl;
9611 NI T1_;
9612 T1_ = ((*x) ? (*x)->Sup.len : 0);
9613 xl = (NI)(T1_ - ((NI) 1));
9614 asgnRef((void**) (&(*x)->data[i].Field0), (*x)->data[xl].Field0);
9615 (*x)->data[i].Field1 = (*x)->data[xl].Field1;
9616 unsureAsgnRef((void**) (&(*x)), (tySequence__xSqu3cxq5WeFlOO3YgE6yA*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_), ((NI) (xl))));
9617 }
N_NIMCALL(void,markOwnerModuleAsUsed__sigmatch_89)9618 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9619 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
9620 module = s;
9621 {
9622 while (1) {
9623 NIM_BOOL T3_;
9624 T3_ = (NIM_BOOL)0;
9625 T3_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9626 if (!(T3_)) goto LA4_;
9627 T3_ = !(((*module).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
9628 LA4_: ;
9629 if (!T3_) goto LA2;
9630 module = (*module).owner;
9631 } LA2: ;
9632 }
9633 {
9634 NIM_BOOL T7_;
9635 NI i;
9636 T7_ = (NIM_BOOL)0;
9637 T7_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9638 if (!(T7_)) goto LA8_;
9639 T7_ = !((module == (*c).module));
9640 LA8_: ;
9641 if (!T7_) goto LA9_;
9642 i = ((NI) 0);
9643 {
9644 while (1) {
9645 NI T13_;
9646 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
9647 T13_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
9648 if (!(i <= T13_)) goto LA12;
9649 candidate = (*c).unusedImports->data[i].Field0;
9650 {
9651 NIM_BOOL T16_;
9652 NIM_BOOL T17_;
9653 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym887_;
9654 NI T19_;
9655 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym892_;
9656 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T21_;
9657 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym893_;
9658 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym894_;
9659 T16_ = (NIM_BOOL)0;
9660 T17_ = (NIM_BOOL)0;
9661 T17_ = (candidate == module);
9662 if (T17_) goto LA18_;
9663 xX60gensym887_ = candidate;
9664 T19_ = (NI)0;
9665 T19_ = getOrDefault__sigmatch_5608((*c).importModuleMap, (NI)((NI)((NU64)(((NI) ((*xX60gensym887_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym887_).Sup.itemId.item))), ((NI) (IL64(-9223372036854775807) - IL64(1))));
9666 xX60gensym892_ = module;
9667 T17_ = (T19_ == (NI)((NI)((NU64)(((NI) ((*xX60gensym892_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym892_).Sup.itemId.item))));
9668 LA18_: ;
9669 T16_ = T17_;
9670 if (T16_) goto LA20_;
9671 xX60gensym893_ = candidate;
9672 T21_.Field0 = (NI)((NI)((NU64)(((NI) ((*xX60gensym893_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym893_).Sup.itemId.item)));
9673 xX60gensym894_ = s;
9674 T21_.Field1 = (NI)((NI)((NU64)(((NI) ((*xX60gensym894_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym894_).Sup.itemId.item)));
9675 T16_ = contains__sigmatch_6018((*c).exportIndirections, T21_);
9676 LA20_: ;
9677 if (!T16_) goto LA22_;
9678 del__sigmatch_6318((&(*c).unusedImports), ((NI) (i)));
9679 }
9680 goto LA14_;
9681 LA22_: ;
9682 {
9683 i += ((NI) 1);
9684 }
9685 LA14_: ;
9686 } LA12: ;
9687 }
9688 }
9689 LA9_: ;
9690 }
N_NIMCALL(void,markUsed__sigmatch_85)9691 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
9692 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
9693 conf = (*(*c).graph).config;
9694 (*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9695 {
9696 NIM_BOOL T3_;
9697 T3_ = (NIM_BOOL)0;
9698 T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
9699 if (!(T3_)) goto LA4_;
9700 T3_ = !(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
9701 LA4_: ;
9702 if (!T3_) goto LA5_;
9703 (*(*s).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9704 {
9705 if (!(((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA9_;
9706 warnAboutDeprecated__sigmatch_5425(conf, info, s);
9707 }
9708 LA9_: ;
9709 }
9710 LA5_: ;
9711 {
9712 if (!!(((20971520 & (*s).flags) == 0))) goto LA13_;
9713 {
9714 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA17_;
9715 {
9716 NIM_BOOL T21_;
9717 T21_ = (NIM_BOOL)0;
9718 T21_ = ((*c).lastTLineInfo.line == info.line);
9719 if (!(T21_)) goto LA22_;
9720 T21_ = ((*c).lastTLineInfo.col == info.col);
9721 LA22_: ;
9722 if (!!(T21_)) goto LA23_;
9723 warnAboutDeprecated__sigmatch_5425(conf, info, s);
9724 (*c).lastTLineInfo = info;
9725 }
9726 LA23_: ;
9727 }
9728 LA17_: ;
9729 {
9730 if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA27_;
9731 userError__sigmatch_5458(conf, info, s);
9732 }
9733 LA27_: ;
9734 }
9735 LA13_: ;
9736 {
9737 if (!!(((49152 & (*conf).globalOptions) == 0))) goto LA31_;
9738 styleCheckUse__linter_192(conf, info, s);
9739 }
9740 LA31_: ;
9741 markOwnerModuleAsUsed__sigmatch_89(c, s);
9742 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)9743 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9744 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9745 result = NIM_NIL;
9746 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
9747 add__ast_4797(result, n);
9748 return result;
9749 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,userConvMatch__sigmatch_3095)9750 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) {
9751 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9752 { result = NIM_NIL;
9753 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9754 {
9755 NI i;
9756 NI colontmp_;
9757 NI T2_;
9758 NI i_2;
9759 i = (NI)0;
9760 colontmp_ = (NI)0;
9761 T2_ = ((*c).converters ? (*c).converters->Sup.len : 0);
9762 colontmp_ = T2_;
9763 i_2 = ((NI) 0);
9764 {
9765 while (1) {
9766 if (!(i_2 < colontmp_)) goto LA4;
9767 i = i_2;
9768 {
9769 tyObject_TType__facALICuu8zUj0hjvbTLFg* src;
9770 tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
9771 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw srca;
9772 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
9773 NIM_BOOL destIsGeneric;
9774 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw fdest;
9775 src = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 1)];
9776 dest = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 0)];
9777 srca = typeRel__sigmatch_202(m, src, a, 0);
9778 {
9779 if (!!(((1288 &((NU16)1<<((NU)(srca)&15U)))!=0))) goto LA8_;
9780 goto LA5;
9781 }
9782 LA8_: ;
9783 constraint = (*(*(*(*(*(*c).converters->data[i]).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).constraint;
9784 {
9785 NIM_BOOL T12_;
9786 NIM_BOOL T14_;
9787 T12_ = (NIM_BOOL)0;
9788 T12_ = !((constraint == 0));
9789 if (!(T12_)) goto LA13_;
9790 T14_ = (NIM_BOOL)0;
9791 T14_ = matchNodeKinds__parampatterns_505(constraint, arg);
9792 T12_ = !(T14_);
9793 LA13_: ;
9794 if (!T12_) goto LA15_;
9795 goto LA5;
9796 }
9797 LA15_: ;
9798 {
9799 NIM_BOOL T19_;
9800 NIM_BOOL T21_;
9801 T19_ = (NIM_BOOL)0;
9802 T19_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9803 if (!(T19_)) goto LA20_;
9804 T21_ = (NIM_BOOL)0;
9805 T21_ = isLValue__sigmatch_3090(c, arg);
9806 T19_ = !(T21_);
9807 LA20_: ;
9808 if (!T19_) goto LA22_;
9809 goto LA5;
9810 }
9811 LA22_: ;
9812 destIsGeneric = containsGenericType__types_3360(dest);
9813 {
9814 if (!destIsGeneric) goto LA26_;
9815 dest = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, dest);
9816 }
9817 LA26_: ;
9818 fdest = typeRel__sigmatch_202(m, f, dest, 0);
9819 {
9820 NIM_BOOL T30_;
9821 NIM_BOOL T32_;
9822 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
9823 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
9824 T30_ = (NIM_BOOL)0;
9825 T30_ = ((1280 &((NU16)1<<((NU)(fdest)&15U)))!=0);
9826 if (!(T30_)) goto LA31_;
9827 T32_ = (NIM_BOOL)0;
9828 T32_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
9829 if (!(T32_)) goto LA33_;
9830 T32_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
9831 LA33_: ;
9832 T30_ = !(T32_);
9833 LA31_: ;
9834 if (!T30_) goto LA34_;
9835 markUsed__sigmatch_85(c, (*arg).info, (*c).converters->data[i]);
9836 s = newSymNode__ast_3716((*c).converters->data[i]);
9837 asgnRef((void**) (&(*s).typ), (*(*c).converters->data[i]).typ);
9838 (*s).info = (*arg).info;
9839 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32), (*arg).info, dest);
9840 add__ast_4797(result, s);
9841 param = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9842 {
9843 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
9844 if (!(srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA38_;
9845 T40_ = NIM_NIL;
9846 T40_ = copyTree__ast_4431(arg);
9847 param = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), src, T40_, (&(*m)), c);
9848 }
9849 goto LA36_;
9850 LA38_: ;
9851 {
9852 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
9853 if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA42_;
9854 param = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*arg).info, (*(*s).typ).sons->data[((NI) 1)]);
9855 T44_ = NIM_NIL;
9856 T44_ = copyTree__ast_4431(arg);
9857 add__ast_4797(param, T44_);
9858 }
9859 goto LA36_;
9860 LA42_: ;
9861 {
9862 param = copyTree__ast_4431(arg);
9863 }
9864 LA36_: ;
9865 add__ast_4797(result, param);
9866 {
9867 if (!((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA48_;
9868 (*dest).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
9869 result = newDeref__lowerings_11(result);
9870 }
9871 LA48_: ;
9872 (*m).convMatches += ((NI) 1);
9873 {
9874 NIM_BOOL T54_;
9875 if (!!((*m).genericConverter)) goto LA52_;
9876 T54_ = (NIM_BOOL)0;
9877 T54_ = (srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
9878 if (T54_) goto LA55_;
9879 T54_ = destIsGeneric;
9880 LA55_: ;
9881 (*m).genericConverter = T54_;
9882 }
9883 LA52_: ;
9884 goto BeforeRet_;
9885 }
9886 LA34_: ;
9887 } LA5: ;
9888 i_2 += ((NI) 1);
9889 } LA4: ;
9890 }
9891 }
9892 }BeforeRet_: ;
9893 return result;
9894 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,localConvMatch__sigmatch_3181)9895 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) {
9896 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9897 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
9898 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
9899 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
9900 { result = NIM_NIL;
9901 {
9902 if (!((*arg).typ == 0)) goto LA3_;
9903 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9904 goto BeforeRet_;
9905 }
9906 LA3_: ;
9907 {
9908 NIM_BOOL T7_;
9909 T7_ = (NIM_BOOL)0;
9910 T7_ = (f == (*arg).typ);
9911 if (!(T7_)) goto LA8_;
9912 T7_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58));
9913 LA8_: ;
9914 if (!T7_) goto LA9_;
9915 result = arg;
9916 goto BeforeRet_;
9917 }
9918 LA9_: ;
9919 call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
9920 T11_ = NIM_NIL;
9921 T11_ = copyTree__ast_4431((*f).n);
9922 add__ast_4797(call, T11_);
9923 T12_ = NIM_NIL;
9924 T12_ = copyTree__ast_4431(arg);
9925 add__ast_4797(call, T12_);
9926 result = (*c).semTryExpr(c, call, 131072);
9927 {
9928 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
9929 if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA15_;
9930 {
9931 if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_;
9932 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9933 goto BeforeRet_;
9934 }
9935 LA19_: ;
9936 result = (*c).semExpr(c, call, 0);
9937 r = typeRel__sigmatch_202(m, (*f).sons->data[((NI) 0)], (*result).typ, 0);
9938 {
9939 if (!(r < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA23_;
9940 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
9941 goto BeforeRet_;
9942 }
9943 LA23_: ;
9944 {
9945 if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA27_;
9946 transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 32));
9947 }
9948 LA27_: ;
9949 (*m).convMatches += ((NI) 1);
9950 {
9951 tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
9952 if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA31_;
9953 T33_ = NIM_NIL;
9954 T33_ = base__types_63(f);
9955 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T33_));
9956 }
9957 LA31_: ;
9958 (*m).baseTypeMatch = NIM_TRUE;
9959 }
9960 LA15_: ;
9961 }BeforeRet_: ;
9962 return result;
9963 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatchAux__sigmatch_3268)9964 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) {
9965 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9966 tyObject_TType__facALICuu8zUj0hjvbTLFg* fMaybeStatic;
9967 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
9968 tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2;
9969 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
9970 NI oldInheritancePenalty;
9971 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
9972 NI bothMetaCounter;
9973 NI lastBindingsLength;
9974 { result = NIM_NIL;
9975 fMaybeStatic = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_13);
9976 arg = argSemantized;
9977 a_2 = a;
9978 c = (*m).c;
9979 {
9980 if (!(((*fMaybeStatic).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24))&63U)))!=0)) goto LA3_;
9981 {
9982 NIM_BOOL T7_;
9983 T7_ = (NIM_BOOL)0;
9984 T7_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
9985 if (!(T7_)) goto LA8_;
9986 T7_ = (((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
9987 LA8_: ;
9988 if (!T7_) goto LA9_;
9989 assignType__ast_3976(a_2, f);
9990 result = argSemantized;
9991 goto BeforeRet_;
9992 }
9993 LA9_: ;
9994 {
9995 if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_;
9996 {
9997 NIM_BOOL T17_;
9998 NIM_BOOL T18_;
9999 tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
10000 T17_ = (NIM_BOOL)0;
10001 T18_ = (NIM_BOOL)0;
10002 T18_ = ((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
10003 if (!(T18_)) goto LA19_;
10004 T18_ = ((*a_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10005 LA19_: ;
10006 T17_ = T18_;
10007 if (!(T17_)) goto LA20_;
10008 T17_ = !((((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
10009 LA20_: ;
10010 if (!T17_) goto LA21_;
10011 T23_ = NIM_NIL;
10012 T23_ = makeTypeFromExpr__semdata_804(c, arg);
10013 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*argOrig).info, T23_);
10014 goto BeforeRet_;
10015 }
10016 LA21_: ;
10017 }
10018 goto LA11_;
10019 LA13_: ;
10020 {
10021 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
10022 evaluated = (*c).semTryConstExpr(c, arg);
10023 {
10024 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
10025 if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
10026 typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c);
10027 if ((*typ).sons) { nimGCunrefRC1((*typ).sons); (*typ).sons = NIM_NIL; }
10028 (*typ).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
10029 asgnRef((void**) (&(*typ).sons->data[0]), (*evaluated).typ);
10030 asgnRef((void**) (&(*typ).n), evaluated);
10031 arg = copyTree__ast_4431(arg);
10032 asgnRef((void**) (&(*arg).typ), typ);
10033 a_2 = typ;
10034 }
10035 goto LA25_;
10036 LA27_: ;
10037 {
10038 {
10039 if (!((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA32_;
10040 {
10041 NIM_BOOL T36_;
10042 tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
10043 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T39_;
10044 T36_ = (NIM_BOOL)0;
10045 T36_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10046 if (!(T36_)) goto LA37_;
10047 T38_ = NIM_NIL;
10048 T38_ = base__types_63(f);
10049 T39_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
10050 T39_ = typeRel__sigmatch_202(m, T38_, a_2, 0);
10051 T36_ = !((T39_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10052 LA37_: ;
10053 if (!T36_) goto LA40_;
10054 result = makeStaticExpr__semdata_826((*m).c, arg);
10055 (*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
10056 asgnRef((void**) (&(*(*result).typ).n), arg);
10057 goto BeforeRet_;
10058 }
10059 LA40_: ;
10060 }
10061 LA32_: ;
10062 }
10063 LA25_: ;
10064 }
10065 LA11_: ;
10066 }
10067 LA3_: ;
10068 oldInheritancePenalty = (*m).inheritancePenalty;
10069 r = typeRel__sigmatch_202(m, f, a_2, 0);
10070 {
10071 NIM_BOOL T44_;
10072 NIM_BOOL T45_;
10073 T44_ = (NIM_BOOL)0;
10074 T45_ = (NIM_BOOL)0;
10075 T45_ = !((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)));
10076 if (!(T45_)) goto LA46_;
10077 T45_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
10078 LA46_: ;
10079 T44_ = T45_;
10080 if (!(T44_)) goto LA47_;
10081 T44_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
10082 LA47_: ;
10083 if (!T44_) goto LA48_;
10084 incMatches__sigmatch_3238(m, r, ((NI) 1));
10085 {
10086 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
10087 result = arg;
10088 goto BeforeRet_;
10089 }
10090 goto LA50_;
10091 LA52_: ;
10092 {
10093 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA55_;
10094 result = arg;
10095 goto BeforeRet_;
10096 }
10097 goto LA50_;
10098 LA55_: ;
10099 {
10100 NIM_BOOL T58_;
10101 T58_ = (NIM_BOOL)0;
10102 T58_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
10103 if (!(T58_)) goto LA59_;
10104 T58_ = !(((*(*arg).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
10105 LA59_: ;
10106 if (!T58_) goto LA60_;
10107 result = (*(*arg).typ).n;
10108 goto BeforeRet_;
10109 }
10110 goto LA50_;
10111 LA60_: ;
10112 {
10113 result = argSemantized;
10114 goto BeforeRet_;
10115 }
10116 LA50_: ;
10117 }
10118 LA48_: ;
10119 bothMetaCounter = ((NI) 0);
10120 lastBindingsLength = ((NI) -1);
10121 {
10122 while (1) {
10123 NIM_BOOL T65_;
10124 NIM_BOOL T66_;
10125 T65_ = (NIM_BOOL)0;
10126 T66_ = (NIM_BOOL)0;
10127 T66_ = (r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5));
10128 if (!(T66_)) goto LA67_;
10129 T66_ = !((lastBindingsLength == (*m).bindings.counter));
10130 LA67_: ;
10131 T65_ = T66_;
10132 if (!(T65_)) goto LA68_;
10133 T65_ = (bothMetaCounter < ((NI) 100));
10134 LA68_: ;
10135 if (!T65_) goto LA64;
10136 lastBindingsLength = (*m).bindings.counter;
10137 bothMetaCounter += ((NI) 1);
10138 {
10139 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_;
10140 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);
10141 }
10142 goto LA69_;
10143 LA71_: ;
10144 {
10145 if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA74_;
10146 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10147 goto BeforeRet_;
10148 }
10149 goto LA69_;
10150 LA74_: ;
10151 {
10152 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred;
10153 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);
10154 result = newSymNode__ast_3719(inferred, (*arg).info);
10155 }
10156 LA69_: ;
10157 (*m).convMatches += ((NI) 1);
10158 arg = result;
10159 r = typeRel__sigmatch_202(m, f, (*arg).typ, 0);
10160 } LA64: ;
10161 }
10162 switch (r) {
10163 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1):
10164 {
10165 (*m).convMatches += ((NI) 1);
10166 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10167 }
10168 break;
10169 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2):
10170 {
10171 (*m).intConvMatches += ((NI) 1);
10172 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10173 }
10174 break;
10175 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10176 {
10177 (*m).subtypeMatches += ((NI) 1);
10178 {
10179 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA82_;
10180 result = arg;
10181 }
10182 goto LA80_;
10183 LA82_: ;
10184 {
10185 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10186 }
10187 LA80_: ;
10188 }
10189 break;
10190 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4):
10191 {
10192 (*m).subtypeMatches += ((NI) 1);
10193 {
10194 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA88_;
10195 result = arg;
10196 }
10197 goto LA86_;
10198 LA88_: ;
10199 {
10200 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10201 }
10202 LA86_: ;
10203 }
10204 break;
10205 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
10206 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7):
10207 {
10208 {
10209 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_;
10210 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);
10211 }
10212 goto LA92_;
10213 LA94_: ;
10214 {
10215 if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA97_;
10216 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10217 goto BeforeRet_;
10218 }
10219 goto LA92_;
10220 LA97_: ;
10221 {
10222 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred_2;
10223 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);
10224 result = newSymNode__ast_3719(inferred_2, (*arg).info);
10225 }
10226 LA92_: ;
10227 {
10228 if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7))) goto LA102_;
10229 (*m).convMatches += ((NI) 1);
10230 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, result, (&(*m)), c);
10231 }
10232 goto LA100_;
10233 LA102_: ;
10234 {
10235 (*m).genericMatches += ((NI) 1);
10236 }
10237 LA100_: ;
10238 }
10239 break;
10240 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10241 {
10242 (*m).genericMatches += ((NI) 1);
10243 {
10244 if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
10245 result = arg;
10246 }
10247 goto LA106_;
10248 LA108_: ;
10249 {
10250 NIM_BOOL T111_;
10251 tyObject_TType__facALICuu8zUj0hjvbTLFg* T112_;
10252 T111_ = (NIM_BOOL)0;
10253 T112_ = NIM_NIL;
10254 T112_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10255 T111_ = ((*T112_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10256 if (T111_) goto LA113_;
10257 T111_ = (oldInheritancePenalty < (*m).inheritancePenalty);
10258 LA113_: ;
10259 if (!T111_) goto LA114_;
10260 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10261 }
10262 goto LA106_;
10263 LA114_: ;
10264 {
10265 NIM_BOOL T117_;
10266 T117_ = (NIM_BOOL)0;
10267 T117_ = isEmptyContainer__types_3626((*arg).typ);
10268 if (!T117_) goto LA118_;
10269 result = copyTree__ast_4431(arg);
10270 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), f));
10271 }
10272 goto LA106_;
10273 LA118_: ;
10274 {
10275 result = arg;
10276 }
10277 LA106_: ;
10278 }
10279 break;
10280 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
10281 {
10282 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10283 }
10284 break;
10285 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10286 {
10287 (*m).intConvMatches += ((NI) 256);
10288 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c);
10289 }
10290 break;
10291 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10292 {
10293 (*m).exactMatches += ((NI) 1);
10294 result = arg;
10295 {
10296 NIM_BOOL T126_;
10297 tyObject_TType__facALICuu8zUj0hjvbTLFg* T127_;
10298 NIM_BOOL T129_;
10299 tyObject_TType__facALICuu8zUj0hjvbTLFg* T131_;
10300 T126_ = (NIM_BOOL)0;
10301 T127_ = NIM_NIL;
10302 T127_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10303 T126_ = ((*T127_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10304 if (T126_) goto LA128_;
10305 T129_ = (NIM_BOOL)0;
10306 T129_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10307 if (!(T129_)) goto LA130_;
10308 T131_ = NIM_NIL;
10309 T131_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
10310 T129_ = ((*T131_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
10311 LA130_: ;
10312 T126_ = T129_;
10313 LA128_: ;
10314 if (!T126_) goto LA132_;
10315 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c);
10316 }
10317 LA132_: ;
10318 }
10319 break;
10320 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
10321 {
10322 {
10323 if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA137_;
10324 (*m).genericMatches += ((NI) 1);
10325 (*m).fauxMatch = (*a_2).kind;
10326 result = arg;
10327 goto BeforeRet_;
10328 }
10329 goto LA135_;
10330 LA137_: ;
10331 {
10332 NIM_BOOL T140_;
10333 NIM_BOOL T141_;
10334 NIM_BOOL T143_;
10335 NIM_BOOL T144_;
10336 NIM_BOOL T145_;
10337 NI T147_;
10338 NIM_BOOL T150_;
10339 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* p;
10340 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lifted;
10341 tyArray__jlWPjgtbdjE069arIWHC9c9bg T155_;
10342 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T156_;
10343 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T157_;
10344 T140_ = (NIM_BOOL)0;
10345 T141_ = (NIM_BOOL)0;
10346 T141_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
10347 if (!(T141_)) goto LA142_;
10348 T143_ = (NIM_BOOL)0;
10349 T144_ = (NIM_BOOL)0;
10350 T145_ = (NIM_BOOL)0;
10351 T145_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10352 if (!(T145_)) goto LA146_;
10353 T147_ = (NI)0;
10354 T147_ = len__ast_4002(f);
10355 T145_ = (T147_ == ((NI) 1));
10356 LA146_: ;
10357 T144_ = T145_;
10358 if (!(T144_)) goto LA148_;
10359 T144_ = ((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
10360 LA148_: ;
10361 T143_ = T144_;
10362 if (T143_) goto LA149_;
10363 T150_ = (NIM_BOOL)0;
10364 T150_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
10365 if (!(T150_)) goto LA151_;
10366 T150_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
10367 LA151_: ;
10368 T143_ = T150_;
10369 LA149_: ;
10370 T141_ = T143_;
10371 LA142_: ;
10372 T140_ = T141_;
10373 if (!(T140_)) goto LA152_;
10374 T140_ = ((*argOrig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
10375 LA152_: ;
10376 if (!T140_) goto LA153_;
10377 p = (*c).graph;
10378 nimZeroMem((void*)T155_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
10379 T155_[0] = (*p).emptyNode;
10380 T156_ = NIM_NIL;
10381 T156_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), T155_, 1);
10382 T157_ = NIM_NIL;
10383 T157_ = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), (*argOrig).info, argOrig, T156_, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode);
10384 lifted = (*c).semExpr(c, T157_, 0);
10385 {
10386 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA160_;
10387 (*m).genericMatches += ((NI) 1);
10388 put__sigmatch_120(m, f, (*lifted).typ);
10389 }
10390 LA160_: ;
10391 (*m).convMatches += ((NI) 1);
10392 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, lifted, (&(*m)), c);
10393 goto BeforeRet_;
10394 }
10395 goto LA135_;
10396 LA153_: ;
10397 LA135_: ;
10398 result = userConvMatch__sigmatch_3095(c, m, f, a_2, arg);
10399 {
10400 NIM_BOOL T164_;
10401 T164_ = (NIM_BOOL)0;
10402 T164_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10403 if (!(T164_)) goto LA165_;
10404 T164_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
10405 LA165_: ;
10406 if (!T164_) goto LA166_;
10407 {
10408 if (!!(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA170_;
10409 result = localConvMatch__sigmatch_3181(c, m, f, a_2, arg);
10410 }
10411 goto LA168_;
10412 LA170_: ;
10413 {
10414 tyObject_TType__facALICuu8zUj0hjvbTLFg* T173_;
10415 T173_ = NIM_NIL;
10416 T173_ = base__types_63(f);
10417 r = typeRel__sigmatch_202(m, T173_, a_2, 0);
10418 switch (r) {
10419 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
10420 {
10421 tyObject_TType__facALICuu8zUj0hjvbTLFg* T175_;
10422 (*m).convMatches += ((NI) 1);
10423 result = copyTree__ast_4431(arg);
10424 T175_ = NIM_NIL;
10425 T175_ = base__types_63(f);
10426 asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T175_));
10427 (*m).baseTypeMatch = NIM_TRUE;
10428 }
10429 break;
10430 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9):
10431 {
10432 (*m).intConvMatches += ((NI) 256);
10433 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*f).sons->data[((NI) 0)], arg, (&(*m)), c);
10434 (*m).baseTypeMatch = NIM_TRUE;
10435 }
10436 break;
10437 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10):
10438 {
10439 (*m).convMatches += ((NI) 1);
10440 result = copyTree__ast_4431(arg);
10441 (*m).baseTypeMatch = NIM_TRUE;
10442 }
10443 break;
10444 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3):
10445 {
10446 (*m).subtypeMatches += ((NI) 1);
10447 {
10448 tyObject_TType__facALICuu8zUj0hjvbTLFg* T181_;
10449 T181_ = NIM_NIL;
10450 T181_ = base__types_63(f);
10451 if (!((*T181_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA182_;
10452 result = arg;
10453 }
10454 goto LA179_;
10455 LA182_: ;
10456 {
10457 tyObject_TType__facALICuu8zUj0hjvbTLFg* T185_;
10458 T185_ = NIM_NIL;
10459 T185_ = base__types_63(f);
10460 result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), T185_, arg, (&(*m)), c);
10461 }
10462 LA179_: ;
10463 (*m).baseTypeMatch = NIM_TRUE;
10464 }
10465 break;
10466 default:
10467 {
10468 tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_;
10469 T187_ = NIM_NIL;
10470 T187_ = base__types_63(f);
10471 result = userConvMatch__sigmatch_3095(c, m, T187_, a_2, arg);
10472 {
10473 if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA190_;
10474 (*m).baseTypeMatch = NIM_TRUE;
10475 }
10476 LA190_: ;
10477 }
10478 break;
10479 }
10480 }
10481 LA168_: ;
10482 }
10483 LA166_: ;
10484 }
10485 break;
10486 }
10487 }BeforeRet_: ;
10488 return result;
10489 }
N_NIMCALL(void,copyCandidate__sigmatch_199)10490 N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10491 unsureAsgnRef((void**) (&(*a).c), (*b).c);
10492 (*a).exactMatches = (*b).exactMatches;
10493 (*a).subtypeMatches = (*b).subtypeMatches;
10494 (*a).convMatches = (*b).convMatches;
10495 (*a).intConvMatches = (*b).intConvMatches;
10496 (*a).genericMatches = (*b).genericMatches;
10497 (*a).state = (*b).state;
10498 unsureAsgnRef((void**) (&(*a).callee), (*b).callee);
10499 unsureAsgnRef((void**) (&(*a).calleeSym), (*b).calleeSym);
10500 unsureAsgnRef((void**) (&(*a).call), copyTree__ast_4431((*b).call));
10501 (*a).baseTypeMatch = (*b).baseTypeMatch;
10502 copyIdTable__ast_3610((&(*a).bindings), (*b).bindings);
10503 }
N_NIMCALL(NI,checkGeneric__sigmatch_207)10504 N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10505 NI result;
10506 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10507 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
10508 tyObject_TType__facALICuu8zUj0hjvbTLFg* bb;
10509 NI winner;
10510 { result = (NI)0;
10511 c = (*a).c;
10512 aa = (*a).callee;
10513 bb = (*b).callee;
10514 winner = ((NI) 0);
10515 {
10516 NI i;
10517 NI colontmp_;
10518 NI T2_;
10519 NI T3_;
10520 NI i_2;
10521 i = (NI)0;
10522 colontmp_ = (NI)0;
10523 T2_ = (NI)0;
10524 T2_ = len__ast_4002(aa);
10525 T3_ = (NI)0;
10526 T3_ = len__ast_4002(bb);
10527 colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10528 i_2 = ((NI) 1);
10529 {
10530 while (1) {
10531 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA ma;
10532 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tra;
10533 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA mb;
10534 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw trb;
10535 if (!(i_2 < colontmp_)) goto LA5;
10536 i = i_2;
10537 nimZeroMem((void*)(&ma), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10538 newCandidate__sigmatch_195(c, (*bb).sons->data[i], (&ma));
10539 tra = typeRel__sigmatch_202((&ma), (*bb).sons->data[i], (*aa).sons->data[i], 1);
10540 nimZeroMem((void*)(&mb), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10541 newCandidate__sigmatch_195(c, (*aa).sons->data[i], (&mb));
10542 trb = typeRel__sigmatch_202((&mb), (*aa).sons->data[i], (*bb).sons->data[i], 1);
10543 {
10544 NIM_BOOL T8_;
10545 T8_ = (NIM_BOOL)0;
10546 T8_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10547 if (!(T8_)) goto LA9_;
10548 T8_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10549 LA9_: ;
10550 if (!T8_) goto LA10_;
10551 {
10552 if (!(winner == ((NI) -1))) goto LA14_;
10553 result = ((NI) 0);
10554 goto BeforeRet_;
10555 }
10556 LA14_: ;
10557 winner = ((NI) 1);
10558 }
10559 LA10_: ;
10560 {
10561 NIM_BOOL T18_;
10562 T18_ = (NIM_BOOL)0;
10563 T18_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8));
10564 if (!(T18_)) goto LA19_;
10565 T18_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
10566 LA19_: ;
10567 if (!T18_) goto LA20_;
10568 {
10569 if (!(winner == ((NI) 1))) goto LA24_;
10570 result = ((NI) 0);
10571 goto BeforeRet_;
10572 }
10573 LA24_: ;
10574 winner = ((NI) -1);
10575 }
10576 LA20_: ;
10577 i_2 += ((NI) 1);
10578 } LA5: ;
10579 }
10580 }
10581 result = winner;
10582 }BeforeRet_: ;
10583 return result;
10584 }
N_NIMCALL(NI,sumGeneric__sigmatch_261)10585 N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
10586 NI result;
10587 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
10588 NI isvar;
10589 { result = (NI)0;
10590 t_2 = t;
10591 isvar = ((NI) 1);
10592 {
10593 while (1) {
10594 switch ((*t_2).kind) {
10595 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
10596 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
10597 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
10598 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
10599 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
10600 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
10601 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
10602 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
10603 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
10604 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
10605 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
10606 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
10607 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
10608 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
10609 {
10610 t_2 = lastSon__ast_3743(t_2);
10611 result += ((NI) 1);
10612 }
10613 break;
10614 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
10615 {
10616 NI maxBranch;
10617 maxBranch = ((NI) 0);
10618 {
10619 tyObject_TType__facALICuu8zUj0hjvbTLFg** branch;
10620 NI i;
10621 NI L;
10622 NI T6_;
10623 branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
10624 i = ((NI) 0);
10625 T6_ = ((*t_2).sons ? (*t_2).sons->Sup.len : 0);
10626 L = T6_;
10627 {
10628 while (1) {
10629 NI branchSum;
10630 if (!(i < L)) goto LA8;
10631 branch = &(*t_2).sons->data[i];
10632 branchSum = sumGeneric__sigmatch_261((*branch));
10633 {
10634 if (!(maxBranch < branchSum)) goto LA11_;
10635 maxBranch = branchSum;
10636 }
10637 LA11_: ;
10638 i += ((NI) 1);
10639 } LA8: ;
10640 }
10641 }
10642 result += maxBranch;
10643 goto LA1;
10644 }
10645 break;
10646 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
10647 {
10648 t_2 = (*t_2).sons->data[((NI) 0)];
10649 result += ((NI) 1);
10650 isvar += ((NI) 1);
10651 }
10652 break;
10653 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
10654 {
10655 t_2 = lastSon__ast_3743(t_2);
10656 {
10657 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA17_;
10658 goto LA1;
10659 }
10660 LA17_: ;
10661 result += ((NI) 1);
10662 }
10663 break;
10664 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
10665 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
10666 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
10667 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
10668 {
10669 result += ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56));
10670 {
10671 NI i_2;
10672 NI colontmp_;
10673 NI i_3;
10674 i_2 = (NI)0;
10675 colontmp_ = (NI)0;
10676 colontmp_ = len__ast_4002(t_2);
10677 i_3 = ((NI) 0);
10678 {
10679 while (1) {
10680 if (!(i_3 < colontmp_)) goto LA22;
10681 i_2 = i_3;
10682 {
10683 NI T27_;
10684 if (!!(((*t_2).sons->data[i_2] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA25_;
10685 T27_ = (NI)0;
10686 T27_ = sumGeneric__sigmatch_261((*t_2).sons->data[i_2]);
10687 result += T27_;
10688 }
10689 LA25_: ;
10690 i_3 += ((NI) 1);
10691 } LA22: ;
10692 }
10693 }
10694 goto LA1;
10695 }
10696 break;
10697 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
10698 {
10699 NI T29_;
10700 T29_ = (NI)0;
10701 T29_ = sumGeneric__sigmatch_261((*t_2).sons->data[((NI) 0)]);
10702 result = (NI)(T29_ + ((NI) 1));
10703 goto BeforeRet_;
10704 }
10705 break;
10706 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
10707 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
10708 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
10709 {
10710 goto LA1;
10711 }
10712 break;
10713 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
10714 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
10715 {
10716 t_2 = lastSon__ast_3743(t_2);
10717 }
10718 break;
10719 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
10720 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
10721 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
10722 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
10723 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
10724 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
10725 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
10726 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
10727 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
10728 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
10729 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
10730 {
10731 result = isvar;
10732 goto BeforeRet_;
10733 }
10734 break;
10735 default:
10736 {
10737 result = ((NI) 0);
10738 goto BeforeRet_;
10739 }
10740 break;
10741 }
10742 }
10743 } LA1: ;
10744 }BeforeRet_: ;
10745 return result;
10746 }
N_NIMCALL(NI,complexDisambiguation__sigmatch_336)10747 N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
10748 NI result;
10749 NI winner;
10750 { result = (NI)0;
10751 winner = ((NI) 0);
10752 {
10753 NI i;
10754 NI colontmp_;
10755 NI T2_;
10756 NI T3_;
10757 NI i_2;
10758 i = (NI)0;
10759 colontmp_ = (NI)0;
10760 T2_ = (NI)0;
10761 T2_ = len__ast_4002(a);
10762 T3_ = (NI)0;
10763 T3_ = len__ast_4002(b);
10764 colontmp_ = ((T2_ <= T3_) ? T2_ : T3_);
10765 i_2 = ((NI) 1);
10766 {
10767 while (1) {
10768 NI x;
10769 NI y;
10770 if (!(i_2 < colontmp_)) goto LA5;
10771 i = i_2;
10772 x = sumGeneric__sigmatch_261((*a).sons->data[i]);
10773 y = sumGeneric__sigmatch_261((*b).sons->data[i]);
10774 {
10775 if (!!((x == y))) goto LA8_;
10776 {
10777 if (!(winner == ((NI) 0))) goto LA12_;
10778 {
10779 if (!(y < x)) goto LA16_;
10780 winner = ((NI) 1);
10781 }
10782 goto LA14_;
10783 LA16_: ;
10784 {
10785 winner = ((NI) -1);
10786 }
10787 LA14_: ;
10788 }
10789 goto LA10_;
10790 LA12_: ;
10791 {
10792 if (!(y < x)) goto LA20_;
10793 {
10794 if (!!((winner == ((NI) 1)))) goto LA24_;
10795 result = ((NI) 0);
10796 goto BeforeRet_;
10797 }
10798 LA24_: ;
10799 }
10800 goto LA10_;
10801 LA20_: ;
10802 {
10803 {
10804 if (!!((winner == ((NI) -1)))) goto LA29_;
10805 result = ((NI) 0);
10806 goto BeforeRet_;
10807 }
10808 LA29_: ;
10809 }
10810 LA10_: ;
10811 }
10812 LA8_: ;
10813 i_2 += ((NI) 1);
10814 } LA5: ;
10815 }
10816 }
10817 result = winner;
10818 }BeforeRet_: ;
10819 return result;
10820 }
N_NIMCALL(NI,cmpCandidates__sigmatch_358)10821 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) {
10822 NI result;
10823 { result = (NI)0;
10824 result = (NI)((*a).exactMatches - (*b).exactMatches);
10825 {
10826 if (!!((result == ((NI) 0)))) goto LA3_;
10827 goto BeforeRet_;
10828 }
10829 LA3_: ;
10830 result = (NI)((*a).genericMatches - (*b).genericMatches);
10831 {
10832 if (!!((result == ((NI) 0)))) goto LA7_;
10833 goto BeforeRet_;
10834 }
10835 LA7_: ;
10836 result = (NI)((*a).subtypeMatches - (*b).subtypeMatches);
10837 {
10838 if (!!((result == ((NI) 0)))) goto LA11_;
10839 goto BeforeRet_;
10840 }
10841 LA11_: ;
10842 result = (NI)((*a).intConvMatches - (*b).intConvMatches);
10843 {
10844 if (!!((result == ((NI) 0)))) goto LA15_;
10845 goto BeforeRet_;
10846 }
10847 LA15_: ;
10848 result = (NI)((*a).convMatches - (*b).convMatches);
10849 {
10850 if (!!((result == ((NI) 0)))) goto LA19_;
10851 goto BeforeRet_;
10852 }
10853 LA19_: ;
10854 result = (NI)((*b).inheritancePenalty - (*a).inheritancePenalty);
10855 {
10856 if (!!((result == ((NI) 0)))) goto LA23_;
10857 goto BeforeRet_;
10858 }
10859 LA23_: ;
10860 result = checkGeneric__sigmatch_207(a, b);
10861 {
10862 if (!!((result == ((NI) 0)))) goto LA27_;
10863 goto BeforeRet_;
10864 }
10865 LA27_: ;
10866 result = complexDisambiguation__sigmatch_336((*a).callee, (*b).callee);
10867 {
10868 if (!!((result == ((NI) 0)))) goto LA31_;
10869 goto BeforeRet_;
10870 }
10871 LA31_: ;
10872 result = (NI)((*a).calleeScope - (*b).calleeScope);
10873 }BeforeRet_: ;
10874 return result;
10875 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,paramTypesMatch__sigmatch_3583)10876 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) {
10877 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10878 result = NIM_NIL;
10879 {
10880 NIM_BOOL T3_;
10881 T3_ = (NIM_BOOL)0;
10882 T3_ = (arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10883 if (T3_) goto LA4_;
10884 T3_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57)));
10885 LA4_: ;
10886 if (!T3_) goto LA5_;
10887 result = paramTypesMatchAux__sigmatch_3268(m, f, a, arg, argOrig);
10888 }
10889 goto LA1_;
10890 LA5_: ;
10891 {
10892 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
10893 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA x;
10894 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T8_;
10895 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA y;
10896 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T9_;
10897 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
10898 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T10_;
10899 NI best;
10900 c = (*m).c;
10901 nimZeroMem((void*)(&x), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10902 nimZeroMem((void*)(&T8_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10903 newCandidate__sigmatch_195(c, (*m).callee, (&T8_));
10904 nimCopyMem((void*)(&x), (NIM_CONST void*)(&T8_), sizeof(x));
10905 nimZeroMem((void*)(&y), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10906 nimZeroMem((void*)(&T9_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10907 newCandidate__sigmatch_195(c, (*m).callee, (&T9_));
10908 nimCopyMem((void*)(&y), (NIM_CONST void*)(&T9_), sizeof(y));
10909 nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10910 nimZeroMem((void*)(&T10_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
10911 newCandidate__sigmatch_195(c, (*m).callee, (&T10_));
10912 nimCopyMem((void*)(&z), (NIM_CONST void*)(&T10_), sizeof(z));
10913 x.calleeSym = (*m).calleeSym;
10914 y.calleeSym = (*m).calleeSym;
10915 z.calleeSym = (*m).calleeSym;
10916 best = ((NI) -1);
10917 {
10918 NI i;
10919 NI colontmp_;
10920 NI i_2;
10921 i = (NI)0;
10922 colontmp_ = (NI)0;
10923 colontmp_ = len__ast_3198(arg);
10924 i_2 = ((NI) 0);
10925 {
10926 while (1) {
10927 if (!(i_2 < colontmp_)) goto LA13;
10928 i = i_2;
10929 {
10930 {
10931 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r;
10932 if (!((1568768 &((NU32)1<<((NU)((*(*(*arg)._kind_6.sons->data[i])._kind_4.sym).kind)&31U)))!=0)) goto LA17_;
10933 copyCandidate__sigmatch_199((&z), (&(*m)));
10934 z.callee = (*(*arg)._kind_6.sons->data[i]).typ;
10935 {
10936 if (!(((*z.callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA21_;
10937 goto LA14;
10938 }
10939 LA21_: ;
10940 z.calleeSym = (*(*arg)._kind_6.sons->data[i])._kind_4.sym;
10941 r = typeRel__sigmatch_202((&z), f, (*(*arg)._kind_6.sons->data[i]).typ, 0);
10942 incMatches__sigmatch_3238((&z), r, ((NI) 2));
10943 {
10944 if (!!((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA25_;
10945 z.state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
10946 switch (x.state) {
10947 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
10948 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
10949 {
10950 genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
10951 best = i;
10952 }
10953 break;
10954 case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
10955 {
10956 NI cmp;
10957 cmp = cmpCandidates__sigmatch_358((&x), (&z));
10958 {
10959 if (!(cmp < ((NI) 0))) goto LA31_;
10960 best = i;
10961 genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
10962 }
10963 goto LA29_;
10964 LA31_: ;
10965 {
10966 if (!(cmp == ((NI) 0))) goto LA34_;
10967 genericAssign((void*)(&y), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
10968 }
10969 goto LA29_;
10970 LA34_: ;
10971 LA29_: ;
10972 }
10973 break;
10974 }
10975 }
10976 LA25_: ;
10977 }
10978 LA17_: ;
10979 } LA14: ;
10980 i_2 += ((NI) 1);
10981 } LA13: ;
10982 }
10983 }
10984 {
10985 if (!(x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0))) goto LA38_;
10986 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
10987 }
10988 goto LA36_;
10989 LA38_: ;
10990 {
10991 NIM_BOOL T41_;
10992 NI T43_;
10993 T41_ = (NIM_BOOL)0;
10994 T41_ = (y.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
10995 if (!(T41_)) goto LA42_;
10996 T43_ = (NI)0;
10997 T43_ = cmpCandidates__sigmatch_358((&x), (&y));
10998 T41_ = (T43_ == ((NI) 0));
10999 LA42_: ;
11000 if (!T41_) goto LA44_;
11001 {
11002 if (!!((x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA48_;
11003 internalErrorImpl__msgs_1431((*(*(*m).c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_76), TM__EV5hHJmjIY9cla9b9be7fSVJQ_77);
11004 }
11005 LA48_: ;
11006 {
11007 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_;
11008 result = arg;
11009 }
11010 goto LA50_;
11011 LA52_: ;
11012 {
11013 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11014 }
11015 LA50_: ;
11016 }
11017 goto LA36_;
11018 LA44_: ;
11019 {
11020 markUsed__sigmatch_85((*m).c, (*arg).info, (*(*arg)._kind_6.sons->data[best])._kind_4.sym);
11021 result = paramTypesMatchAux__sigmatch_3268(m, f, (*(*arg)._kind_6.sons->data[best]).typ, (*arg)._kind_6.sons->data[best], argOrig);
11022 }
11023 LA36_: ;
11024 }
11025 LA1_: ;
11026 return result;
11027 }
N_INLINE(NI,find__sigmatch_4304)11028 static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) {
11029 NI result;
11030 { result = (NI)0;
11031 result = ((NI) 0);
11032 {
11033 NI* i;
11034 NI i_2;
11035 i = (NI*)0;
11036 i_2 = ((NI) 0);
11037 {
11038 while (1) {
11039 if (!(i_2 < aLen_0)) goto LA3;
11040 i = (&a[i_2]);
11041 {
11042 if (!((*i) == item)) goto LA6_;
11043 goto BeforeRet_;
11044 }
11045 LA6_: ;
11046 result += ((NI) 1);
11047 i_2 += ((NI) 1);
11048 } LA3: ;
11049 }
11050 }
11051 result = ((NI) -1);
11052 }BeforeRet_: ;
11053 return result;
11054 }
N_INLINE(NIM_BOOL,contains__sigmatch_4299)11055 static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) {
11056 NIM_BOOL result;
11057 NI T1_;
11058 { result = (NIM_BOOL)0;
11059 T1_ = (NI)0;
11060 T1_ = find__sigmatch_4304(a, aLen_0, item);
11061 result = (((NI) 0) <= T1_);
11062 goto BeforeRet_;
11063 }BeforeRet_: ;
11064 return result;
11065 }
N_NIMCALL(NIM_BOOL,argtypeMatches__sigmatch_4281)11066 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) {
11067 NIM_BOOL result;
11068 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
11069 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
11070 result = (NIM_BOOL)0;
11071 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
11072 newCandidate__sigmatch_195(c, f, (&m));
11073 res = paramTypesMatch__sigmatch_3583((&m), f, a, (*(*c).graph).emptyNode, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
11074 {
11075 if (!!(fromHlo)) goto LA3_;
11076 result = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11077 }
11078 goto LA1_;
11079 LA3_: ;
11080 {
11081 NIM_BOOL T6_;
11082 NIM_BOOL T7_;
11083 T6_ = (NIM_BOOL)0;
11084 T7_ = (NIM_BOOL)0;
11085 T7_ = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11086 if (!(T7_)) goto LA8_;
11087 T7_ = (m.convMatches == ((NI) 0));
11088 LA8_: ;
11089 T6_ = T7_;
11090 if (!(T6_)) goto LA9_;
11091 T6_ = contains__sigmatch_4299(TM__EV5hHJmjIY9cla9b9be7fSVJQ_78, 2, m.intConvMatches);
11092 LA9_: ;
11093 result = T6_;
11094 }
11095 LA1_: ;
11096 return result;
11097 }
N_INLINE(NIM_BOOL,typeFits__sigmatch_5153)11098 static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg) {
11099 NIM_BOOL result;
11100 { result = (NIM_BOOL)0;
11101 {
11102 NIM_BOOL T3_;
11103 NIM_BOOL T4_;
11104 NI T6_;
11105 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
11106 T3_ = (NIM_BOOL)0;
11107 T4_ = (NIM_BOOL)0;
11108 T4_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11109 if (!(T4_)) goto LA5_;
11110 T6_ = (NI)0;
11111 T6_ = len__ast_4002((*s).typ);
11112 T4_ = (((NI) 1) < T6_);
11113 LA5_: ;
11114 T3_ = T4_;
11115 if (!(T3_)) goto LA7_;
11116 T3_ = !(((*(*s).typ).sons->data[((NI) 1)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
11117 LA7_: ;
11118 if (!T3_) goto LA8_;
11119 m = getModule__astalgo_216(s);
11120 {
11121 NIM_BOOL T12_;
11122 tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1;
11123 T12_ = (NIM_BOOL)0;
11124 T12_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
11125 if (!(T12_)) goto LA13_;
11126 T12_ = (((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
11127 LA13_: ;
11128 if (!T12_) goto LA14_;
11129 {
11130 if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA18_;
11131 goto BeforeRet_;
11132 }
11133 LA18_: ;
11134 exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10);
11135 {
11136 if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA22_;
11137 exp_1 = elemType__types_263(exp_1);
11138 }
11139 LA22_: ;
11140 {
11141 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_;
11142 goto BeforeRet_;
11143 }
11144 LA26_: ;
11145 }
11146 LA14_: ;
11147 result = argtypeMatches__sigmatch_4281(c, (*(*s).typ).sons->data[((NI) 1)], firstArg, NIM_FALSE);
11148 }
11149 LA8_: ;
11150 }BeforeRet_: ;
11151 return result;
11152 }
N_NIMCALL(void,suggestOperations__sigmatch_5194)11153 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) {
11154 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11155 info = (*n).info;
11156 {
11157 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11158 NI scopeN;
11159 NIM_BOOL isLocal;
11160 NIM_BOOL isLocal_2;
11161 NI scopeN_2;
11162 item = NIM_NIL;
11163 scopeN = (NI)0;
11164 isLocal = (NIM_BOOL)0;
11165 isLocal_2 = NIM_TRUE;
11166 scopeN_2 = ((NI) 0);
11167 {
11168 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11169 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11170 scope = NIM_NIL;
11171 current = (*c).currentScope;
11172 {
11173 while (1) {
11174 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
11175 scope = current;
11176 {
11177 if (!(scope == (*c).topLevelScope)) goto LA7_;
11178 isLocal_2 = NIM_FALSE;
11179 }
11180 LA7_: ;
11181 scopeN_2 -= ((NI) 1);
11182 {
11183 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11184 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11185 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11186 item_2 = NIM_NIL;
11187 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11188 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11189 {
11190 while (1) {
11191 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11193 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11194 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
11195 item_2 = s;
11196 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11197 colontmp_.Field0 = item_2;
11198 colontmp_.Field1 = scopeN_2;
11199 colontmp_.Field2 = isLocal_2;
11200 item = colontmp_.Field0;
11201 scopeN = colontmp_.Field1;
11202 isLocal = colontmp_.Field2;
11203 it_2 = item;
11204 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11205 {
11206 NIM_BOOL T14_;
11207 NI T18_;
11208 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T19_;
11209 NI T20_;
11210 T14_ = (NIM_BOOL)0;
11211 T14_ = filterSymNoOpr__sigmatch_4935(it_2, f, (&pm));
11212 if (!(T14_)) goto LA15_;
11213 T14_ = typeFits__sigmatch_5153(c, it_2, typ);
11214 LA15_: ;
11215 if (!T14_) goto LA16_;
11216 T18_ = (NI)0;
11217 T18_ = getQuality__sigmatch_5002(it_2);
11218 T19_ = NIM_NIL;
11219 T19_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T18_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11220 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11221 T20_ = (*outputs)->Sup.len++;
11222 asgnRef((void**) (&(*outputs)->data[T20_]), T19_);
11223 }
11224 LA16_: ;
11225 s = nextIter__astalgo_3762((&it), (*scope).symbols);
11226 } LA11: ;
11227 }
11228 }
11229 current = (*current).parent;
11230 } LA4: ;
11231 }
11232 }
11233 scopeN_2 -= ((NI) 1);
11234 isLocal_2 = NIM_FALSE;
11235 {
11236 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11237 NI i;
11238 NI L;
11239 NI T22_;
11240 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11241 i = ((NI) 0);
11242 T22_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11243 L = T22_;
11244 {
11245 while (1) {
11246 if (!(i < L)) goto LA24;
11247 im = (&(*c).imports->data[i]);
11248 {
11249 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11250 NIM_BOOL importHidden;
11251 s_2 = NIM_NIL;
11252 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11253 {
11254 NIM_BOOL T28_;
11255 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11256 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11257 T28_ = (NIM_BOOL)0;
11258 T28_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11259 if (!T28_) goto LA29_;
11260 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11261 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11262 {
11263 while (1) {
11264 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11265 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11266 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11267 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA32;
11268 s_2 = r;
11269 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11270 colontmp__2.Field0 = s_2;
11271 colontmp__2.Field1 = scopeN_2;
11272 colontmp__2.Field2 = isLocal_2;
11273 item = colontmp__2.Field0;
11274 scopeN = colontmp__2.Field1;
11275 isLocal = colontmp__2.Field2;
11276 it_3 = item;
11277 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11278 {
11279 NIM_BOOL T35_;
11280 NI T39_;
11281 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11282 NI T41_;
11283 T35_ = (NIM_BOOL)0;
11284 T35_ = filterSymNoOpr__sigmatch_4935(it_3, f, (&pm_2));
11285 if (!(T35_)) goto LA36_;
11286 T35_ = typeFits__sigmatch_5153(c, it_3, typ);
11287 LA36_: ;
11288 if (!T35_) goto LA37_;
11289 T39_ = (NI)0;
11290 T39_ = getQuality__sigmatch_5002(it_3);
11291 T40_ = NIM_NIL;
11292 T40_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11293 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11294 T41_ = (*outputs)->Sup.len++;
11295 asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11296 }
11297 LA37_: ;
11298 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11299 } LA32: ;
11300 }
11301 }
11302 goto LA26_;
11303 LA29_: ;
11304 {
11305 {
11306 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11307 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11308 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11309 NI i_2;
11310 NI L_2;
11311 NI T48_;
11312 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11313 colontmp__3 = NIM_NIL;
11314 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11315 {
11316 if (!importHidden) goto LA46_;
11317 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11318 }
11319 LA46_: ;
11320 colontmp__3 = (*retX60gensym17_).data;
11321 i_2 = ((NI) 0);
11322 T48_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11323 L_2 = T48_;
11324 {
11325 while (1) {
11326 if (!(i_2 < L_2)) goto LA50;
11327 s_3 = &colontmp__3->data[i_2];
11328 {
11329 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11330 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11331 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11332 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53_;
11333 s_2 = (*s_3);
11334 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11335 colontmp__4.Field0 = s_2;
11336 colontmp__4.Field1 = scopeN_2;
11337 colontmp__4.Field2 = isLocal_2;
11338 item = colontmp__4.Field0;
11339 scopeN = colontmp__4.Field1;
11340 isLocal = colontmp__4.Field2;
11341 it_4 = item;
11342 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11343 {
11344 NIM_BOOL T57_;
11345 NI T61_;
11346 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11347 NI T63_;
11348 T57_ = (NIM_BOOL)0;
11349 T57_ = filterSymNoOpr__sigmatch_4935(it_4, f, (&pm_3));
11350 if (!(T57_)) goto LA58_;
11351 T57_ = typeFits__sigmatch_5153(c, it_4, typ);
11352 LA58_: ;
11353 if (!T57_) goto LA59_;
11354 T61_ = (NI)0;
11355 T61_ = getQuality__sigmatch_5002(it_4);
11356 T62_ = NIM_NIL;
11357 T62_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T61_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11358 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11359 T63_ = (*outputs)->Sup.len++;
11360 asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11361 }
11362 LA59_: ;
11363 }
11364 LA53_: ;
11365 i_2 += ((NI) 1);
11366 } LA50: ;
11367 }
11368 }
11369 }
11370 LA26_: ;
11371 }
11372 i += ((NI) 1);
11373 } LA24: ;
11374 }
11375 }
11376 }
11377 }
N_NIMCALL(void,suggestFieldAccess__sigmatch_5230)11378 N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11379 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
11380 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11381 typ = (*n).typ;
11382 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11383 {
11384 if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
11385 {
11386 NIM_BOOL T7_;
11387 T7_ = (NIM_BOOL)0;
11388 T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11389 if (!(T7_)) goto LA8_;
11390 T7_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
11391 LA8_: ;
11392 if (!T7_) goto LA9_;
11393 {
11394 if (!((*n)._kind_4.sym == (*c).module)) goto LA13_;
11395 {
11396 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
11397 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
11398 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11399 it = NIM_NIL;
11400 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11401 s = initTabIter__astalgo_3777((&it_2), (*(*c).topLevelScope).symbols);
11402 {
11403 while (1) {
11404 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA17;
11405 it = s;
11406 {
11407 NIM_BOOL T20_;
11408 NI T23_;
11409 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T24_;
11410 NI T25_;
11411 T20_ = (NIM_BOOL)0;
11412 T20_ = filterSym__sigmatch_4909(it, field, (&pm));
11413 if (!T20_) goto LA21_;
11414 T23_ = (NI)0;
11415 T23_ = getQuality__sigmatch_5002(it);
11416 T24_ = NIM_NIL;
11417 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);
11418 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11419 T25_ = (*outputs)->Sup.len++;
11420 asgnRef((void**) (&(*outputs)->data[T25_]), T24_);
11421 }
11422 LA21_: ;
11423 s = nextIter__astalgo_3762((&it_2), (*(*c).topLevelScope).symbols);
11424 } LA17: ;
11425 }
11426 }
11427 }
11428 goto LA11_;
11429 LA13_: ;
11430 {
11431 {
11432 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11433 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* colontmp_;
11434 NIM_BOOL importHidden;
11435 it_3 = NIM_NIL;
11436 colontmp_ = NIM_NIL;
11437 colontmp_ = (*n)._kind_4.sym;
11438 importHidden = (((*colontmp_).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11439 {
11440 NIM_BOOL T30_;
11441 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11442 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11443 T30_ = (NIM_BOOL)0;
11444 T30_ = isCachedModule__modulegraphs_2709((*c).graph, colontmp_);
11445 if (!T30_) goto LA31_;
11446 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11447 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*colontmp_).position)), importHidden);
11448 {
11449 while (1) {
11450 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
11451 it_3 = r;
11452 {
11453 NIM_BOOL T37_;
11454 NI T40_;
11455 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T41_;
11456 NI T42_;
11457 T37_ = (NIM_BOOL)0;
11458 T37_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11459 if (!T37_) goto LA38_;
11460 T40_ = (NI)0;
11461 T40_ = getQuality__sigmatch_5002(it_3);
11462 T41_ = NIM_NIL;
11463 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);
11464 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11465 T42_ = (*outputs)->Sup.len++;
11466 asgnRef((void**) (&(*outputs)->data[T42_]), T41_);
11467 }
11468 LA38_: ;
11469 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11470 } LA34: ;
11471 }
11472 }
11473 goto LA28_;
11474 LA31_: ;
11475 {
11476 {
11477 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
11478 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
11479 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11480 NI i;
11481 NI L;
11482 NI T49_;
11483 s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11484 colontmp__2 = NIM_NIL;
11485 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interf);
11486 {
11487 if (!importHidden) goto LA47_;
11488 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interfHidden);
11489 }
11490 LA47_: ;
11491 colontmp__2 = (*retX60gensym17_).data;
11492 i = ((NI) 0);
11493 T49_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
11494 L = T49_;
11495 {
11496 while (1) {
11497 if (!(i < L)) goto LA51;
11498 s_2 = &colontmp__2->data[i];
11499 {
11500 if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA54_;
11501 it_3 = (*s_2);
11502 {
11503 NIM_BOOL T58_;
11504 NI T61_;
11505 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_;
11506 NI T63_;
11507 T58_ = (NIM_BOOL)0;
11508 T58_ = filterSym__sigmatch_4909(it_3, field, (&pm));
11509 if (!T58_) goto LA59_;
11510 T61_ = (NI)0;
11511 T61_ = getQuality__sigmatch_5002(it_3);
11512 T62_ = NIM_NIL;
11513 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);
11514 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11515 T63_ = (*outputs)->Sup.len++;
11516 asgnRef((void**) (&(*outputs)->data[T63_]), T62_);
11517 }
11518 LA59_: ;
11519 }
11520 LA54_: ;
11521 i += ((NI) 1);
11522 } LA51: ;
11523 }
11524 }
11525 }
11526 LA28_: ;
11527 }
11528 }
11529 LA11_: ;
11530 }
11531 goto LA5_;
11532 LA9_: ;
11533 {
11534 suggestEverything__sigmatch_5217(c, n, field, outputs);
11535 }
11536 LA5_: ;
11537 }
11538 goto LA1_;
11539 LA3_: ;
11540 {
11541 tyObject_TType__facALICuu8zUj0hjvbTLFg* orig;
11542 orig = typ;
11543 typ = skipTypes__ast_3735(orig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_11);
11544 {
11545 NIM_BOOL T68_;
11546 NIM_BOOL T69_;
11547 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
11548 T68_ = (NIM_BOOL)0;
11549 T69_ = (NIM_BOOL)0;
11550 T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
11551 if (!(T69_)) goto LA70_;
11552 T69_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
11553 LA70_: ;
11554 T68_ = T69_;
11555 if (!(T68_)) goto LA71_;
11556 T68_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11557 LA71_: ;
11558 if (!T68_) goto LA72_;
11559 t = typ;
11560 {
11561 while (1) {
11562 if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA75;
11563 suggestSymList__sigmatch_5040(c, (*t).n, field, (*n).info, outputs);
11564 t = (*t).sons->data[((NI) 0)];
11565 } LA75: ;
11566 }
11567 }
11568 goto LA66_;
11569 LA72_: ;
11570 {
11571 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
11572 if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA77_;
11573 t_2 = typ;
11574 {
11575 while (1) {
11576 suggestObject__sigmatch_5060(c, (*t_2).n, field, (*n).info, outputs);
11577 {
11578 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
11579 goto LA79;
11580 }
11581 LA83_: ;
11582 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_12);
11583 }
11584 } LA79: ;
11585 }
11586 goto LA66_;
11587 LA77_: ;
11588 {
11589 NIM_BOOL T86_;
11590 T86_ = (NIM_BOOL)0;
11591 T86_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
11592 if (!(T86_)) goto LA87_;
11593 T86_ = !(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11594 LA87_: ;
11595 if (!T86_) goto LA88_;
11596 suggestSymList__sigmatch_5040(c, (*typ).n, field, (*n).info, outputs);
11597 }
11598 goto LA66_;
11599 LA88_: ;
11600 LA66_: ;
11601 suggestOperations__sigmatch_5194(c, n, field, orig, outputs);
11602 {
11603 if (!!((typ == orig))) goto LA92_;
11604 suggestOperations__sigmatch_5194(c, n, field, typ, outputs);
11605 }
11606 LA92_: ;
11607 }
11608 LA1_: ;
11609 }
N_NIMCALL(void,sugExpr__sigmatch_6417)11610 N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
11611 {
11612 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj;
11613 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix;
11614 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
11615 obj = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
11616 {
11617 NIM_BOOL T7_;
11618 NIM_BOOL T8_;
11619 NI T9_;
11620 T7_ = (NIM_BOOL)0;
11621 T8_ = (NIM_BOOL)0;
11622 T9_ = (NI)0;
11623 T9_ = len__ast_3198(n);
11624 T8_ = (T9_ == ((NI) 2));
11625 if (!(T8_)) goto LA10_;
11626 T8_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).info.line == (*(*n)._kind_6.sons->data[((NI) 0)]).info.line);
11627 LA10_: ;
11628 T7_ = T8_;
11629 if (!(T7_)) goto LA11_;
11630 T7_ = !((*(*(*c).graph).config).m.trackPosAttached);
11631 LA11_: ;
11632 if (!T7_) goto LA12_;
11633 prefix = (*n)._kind_6.sons->data[((NI) 1)];
11634 }
11635 goto LA5_;
11636 LA12_: ;
11637 {
11638 prefix = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11639 }
11640 LA5_: ;
11641 suggestFieldAccess__sigmatch_5230(c, obj, prefix, outputs);
11642 }
11643 goto LA1_;
11644 LA3_: ;
11645 {
11646 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_2;
11647 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
11648 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA16_;
11649 {
11650 if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA20_;
11651 prefix_2 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11652 }
11653 goto LA18_;
11654 LA20_: ;
11655 {
11656 prefix_2 = n;
11657 }
11658 LA18_: ;
11659 info = (*n).info;
11660 {
11661 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
11662 NI scopeN;
11663 NIM_BOOL isLocal;
11664 NIM_BOOL isLocal_2;
11665 NI scopeN_2;
11666 item = NIM_NIL;
11667 scopeN = (NI)0;
11668 isLocal = (NIM_BOOL)0;
11669 isLocal_2 = NIM_TRUE;
11670 scopeN_2 = ((NI) 0);
11671 {
11672 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
11673 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
11674 scope = NIM_NIL;
11675 current = (*c).currentScope;
11676 {
11677 while (1) {
11678 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA26;
11679 scope = current;
11680 {
11681 if (!(scope == (*c).topLevelScope)) goto LA29_;
11682 isLocal_2 = NIM_FALSE;
11683 }
11684 LA29_: ;
11685 scopeN_2 -= ((NI) 1);
11686 {
11687 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
11688 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
11689 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11690 item_2 = NIM_NIL;
11691 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
11692 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
11693 {
11694 while (1) {
11695 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
11696 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
11697 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
11698 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA33;
11699 item_2 = s;
11700 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11701 colontmp_.Field0 = item_2;
11702 colontmp_.Field1 = scopeN_2;
11703 colontmp_.Field2 = isLocal_2;
11704 item = colontmp_.Field0;
11705 scopeN = colontmp_.Field1;
11706 isLocal = colontmp_.Field2;
11707 it_2 = item;
11708 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11709 {
11710 NIM_BOOL T36_;
11711 NI T39_;
11712 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_;
11713 NI T41_;
11714 T36_ = (NIM_BOOL)0;
11715 T36_ = filterSym__sigmatch_4909(it_2, prefix_2, (&pm));
11716 if (!T36_) goto LA37_;
11717 T39_ = (NI)0;
11718 T39_ = getQuality__sigmatch_5002(it_2);
11719 T40_ = NIM_NIL;
11720 T40_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11721 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11722 T41_ = (*outputs)->Sup.len++;
11723 asgnRef((void**) (&(*outputs)->data[T41_]), T40_);
11724 }
11725 LA37_: ;
11726 s = nextIter__astalgo_3762((&it), (*scope).symbols);
11727 } LA33: ;
11728 }
11729 }
11730 current = (*current).parent;
11731 } LA26: ;
11732 }
11733 }
11734 scopeN_2 -= ((NI) 1);
11735 isLocal_2 = NIM_FALSE;
11736 {
11737 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
11738 NI i;
11739 NI L;
11740 NI T43_;
11741 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
11742 i = ((NI) 0);
11743 T43_ = ((*c).imports ? (*c).imports->Sup.len : 0);
11744 L = T43_;
11745 {
11746 while (1) {
11747 if (!(i < L)) goto LA45;
11748 im = (&(*c).imports->data[i]);
11749 {
11750 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
11751 NIM_BOOL importHidden;
11752 s_2 = NIM_NIL;
11753 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
11754 {
11755 NIM_BOOL T49_;
11756 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
11757 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
11758 T49_ = (NIM_BOOL)0;
11759 T49_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
11760 if (!T49_) goto LA50_;
11761 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
11762 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
11763 {
11764 while (1) {
11765 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
11766 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
11767 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
11768 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53;
11769 s_2 = r;
11770 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11771 colontmp__2.Field0 = s_2;
11772 colontmp__2.Field1 = scopeN_2;
11773 colontmp__2.Field2 = isLocal_2;
11774 item = colontmp__2.Field0;
11775 scopeN = colontmp__2.Field1;
11776 isLocal = colontmp__2.Field2;
11777 it_3 = item;
11778 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11779 {
11780 NIM_BOOL T56_;
11781 NI T59_;
11782 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T60_;
11783 NI T61_;
11784 T56_ = (NIM_BOOL)0;
11785 T56_ = filterSym__sigmatch_4909(it_3, prefix_2, (&pm_2));
11786 if (!T56_) goto LA57_;
11787 T59_ = (NI)0;
11788 T59_ = getQuality__sigmatch_5002(it_3);
11789 T60_ = NIM_NIL;
11790 T60_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T59_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11791 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11792 T61_ = (*outputs)->Sup.len++;
11793 asgnRef((void**) (&(*outputs)->data[T61_]), T60_);
11794 }
11795 LA57_: ;
11796 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
11797 } LA53: ;
11798 }
11799 }
11800 goto LA47_;
11801 LA50_: ;
11802 {
11803 {
11804 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
11805 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
11806 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
11807 NI i_2;
11808 NI L_2;
11809 NI T68_;
11810 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
11811 colontmp__3 = NIM_NIL;
11812 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
11813 {
11814 if (!importHidden) goto LA66_;
11815 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
11816 }
11817 LA66_: ;
11818 colontmp__3 = (*retX60gensym17_).data;
11819 i_2 = ((NI) 0);
11820 T68_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
11821 L_2 = T68_;
11822 {
11823 while (1) {
11824 if (!(i_2 < L_2)) goto LA70;
11825 s_3 = &colontmp__3->data[i_2];
11826 {
11827 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
11828 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
11829 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
11830 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA73_;
11831 s_2 = (*s_3);
11832 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
11833 colontmp__4.Field0 = s_2;
11834 colontmp__4.Field1 = scopeN_2;
11835 colontmp__4.Field2 = isLocal_2;
11836 item = colontmp__4.Field0;
11837 scopeN = colontmp__4.Field1;
11838 isLocal = colontmp__4.Field2;
11839 it_4 = item;
11840 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
11841 {
11842 NIM_BOOL T77_;
11843 NI T80_;
11844 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T81_;
11845 NI T82_;
11846 T77_ = (NIM_BOOL)0;
11847 T77_ = filterSym__sigmatch_4909(it_4, prefix_2, (&pm_3));
11848 if (!T77_) goto LA78_;
11849 T80_ = (NI)0;
11850 T80_ = getQuality__sigmatch_5002(it_4);
11851 T81_ = NIM_NIL;
11852 T81_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T80_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
11853 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
11854 T82_ = (*outputs)->Sup.len++;
11855 asgnRef((void**) (&(*outputs)->data[T82_]), T81_);
11856 }
11857 LA78_: ;
11858 }
11859 LA73_: ;
11860 i_2 += ((NI) 1);
11861 } LA70: ;
11862 }
11863 }
11864 }
11865 LA47_: ;
11866 }
11867 i += ((NI) 1);
11868 } LA45: ;
11869 }
11870 }
11871 }
11872 }
11873 goto LA1_;
11874 LA16_: ;
11875 {
11876 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_3;
11877 {
11878 if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA86_;
11879 prefix_3 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
11880 }
11881 goto LA84_;
11882 LA86_: ;
11883 {
11884 prefix_3 = n;
11885 }
11886 LA84_: ;
11887 suggestEverything__sigmatch_5217(c, n, prefix_3, outputs);
11888 }
11889 LA1_: ;
11890 }
N_NIMCALL(NIM_BOOL,nameFits__sigmatch_5091)11891 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
11892 NIM_BOOL result;
11893 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
11894 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* opr;
11895 { result = (NIM_BOOL)0;
11896 {
11897 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_;
11898 op = (*n)._kind_6.sons->data[((NI) 0)];
11899 }
11900 goto LA1_;
11901 LA3_: ;
11902 {
11903 op = n;
11904 }
11905 LA1_: ;
11906 {
11907 if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA8_;
11908 op = (*op)._kind_6.sons->data[((NI) 0)];
11909 }
11910 LA8_: ;
11911 {
11912 if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA12_;
11913 op = (*op)._kind_6.sons->data[((NI) 1)];
11914 }
11915 LA12_: ;
11916 opr = NIM_NIL;
11917 switch ((*op).kind) {
11918 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
11919 {
11920 opr = (*(*op)._kind_4.sym).name;
11921 }
11922 break;
11923 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
11924 {
11925 opr = (*op)._kind_5.ident;
11926 }
11927 break;
11928 default:
11929 {
11930 result = NIM_FALSE;
11931 goto BeforeRet_;
11932 }
11933 break;
11934 }
11935 result = ((*opr).id == (*(*s).name).id);
11936 }BeforeRet_: ;
11937 return result;
11938 }
N_NIMCALL(void,initCandidate__sigmatch_124)11939 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) {
11940 initCandidateAux__sigmatch_94(ctx, c, (*callee).typ);
11941 unsureAsgnRef((void**) (&(*c).calleeSym), callee);
11942 {
11943 NIM_BOOL T3_;
11944 T3_ = (NIM_BOOL)0;
11945 T3_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
11946 if (!(T3_)) goto LA4_;
11947 T3_ = (calleeScope == ((NI) -1));
11948 LA4_: ;
11949 if (!T3_) goto LA5_;
11950 {
11951 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
11952 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
11953 T9_ = NIM_NIL;
11954 T9_ = originatingModule__ast_4669(callee);
11955 if (!(T9_ == (*ctx).module)) goto LA10_;
11956 (*c).calleeScope = ((NI) 2);
11957 owner = callee;
11958 {
11959 while (1) {
11960 owner = skipGenericOwner__ast_4658(owner);
11961 {
11962 if (!((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA16_;
11963 goto LA12;
11964 }
11965 LA16_: ;
11966 (*c).calleeScope += ((NI) 1);
11967 }
11968 } LA12: ;
11969 }
11970 goto LA7_;
11971 LA10_: ;
11972 {
11973 (*c).calleeScope = ((NI) 1);
11974 }
11975 LA7_: ;
11976 }
11977 goto LA1_;
11978 LA5_: ;
11979 {
11980 (*c).calleeScope = calleeScope;
11981 }
11982 LA1_: ;
11983 unsureAsgnRef((void**) (&(*c).diagnostics), NIM_NIL);
11984 (*c).diagnosticsEnabled = diagnosticsEnabled;
11985 (*c).magic = (*(*c).calleeSym).magic;
11986 initIdTable__ast_4096((&(*c).bindings));
11987 {
11988 NIM_BOOL T22_;
11989 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeParams;
11990 T22_ = (NIM_BOOL)0;
11991 T22_ = !((binding == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11992 if (!(T22_)) goto LA23_;
11993 T22_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0);
11994 LA23_: ;
11995 if (!T22_) goto LA24_;
11996 typeParams = (*(*callee).ast)._kind_6.sons->data[((NI) 2)];
11997 {
11998 NI i;
11999 NI colontmp_;
12000 NI T27_;
12001 NI T28_;
12002 NI res;
12003 i = (NI)0;
12004 colontmp_ = (NI)0;
12005 T27_ = (NI)0;
12006 T27_ = len__ast_3198(typeParams);
12007 T28_ = (NI)0;
12008 T28_ = len__ast_3198(binding);
12009 colontmp_ = ((T27_ <= (NI)(T28_ - ((NI) 1))) ? T27_ : (NI)(T28_ - ((NI) 1)));
12010 res = ((NI) 1);
12011 {
12012 while (1) {
12013 tyObject_TType__facALICuu8zUj0hjvbTLFg* formalTypeParam;
12014 tyObject_TType__facALICuu8zUj0hjvbTLFg* bound;
12015 if (!(res <= colontmp_)) goto LA30;
12016 i = res;
12017 formalTypeParam = (*(*typeParams)._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ;
12018 bound = (*(*binding)._kind_6.sons->data[i]).typ;
12019 {
12020 if (!!((bound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA33_;
12021 {
12022 if (!((*formalTypeParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA37_;
12023 {
12024 if (!!(((*bound).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA41_;
12025 bound = makeTypeDesc__concepts_49(ctx, bound);
12026 }
12027 LA41_: ;
12028 }
12029 goto LA35_;
12030 LA37_: ;
12031 {
12032 bound = skipTypes__ast_3735(bound, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14);
12033 }
12034 LA35_: ;
12035 put__sigmatch_120(c, formalTypeParam, bound);
12036 }
12037 LA33_: ;
12038 res += ((NI) 1);
12039 } LA30: ;
12040 }
12041 }
12042 }
12043 LA24_: ;
12044 }
N_NIMCALL(void,newCandidate__sigmatch_189)12045 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) {
12046 unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
12047 (*Result).exactMatches = 0;
12048 (*Result).genericMatches = 0;
12049 (*Result).subtypeMatches = 0;
12050 (*Result).intConvMatches = 0;
12051 (*Result).convMatches = 0;
12052 (*Result).state = 0;
12053 unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
12054 unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
12055 (*Result).calleeScope = 0;
12056 unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
12057 (*Result).bindings.counter = 0;
12058 unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
12059 (*Result).magic = 0;
12060 (*Result).baseTypeMatch = 0;
12061 (*Result).fauxMatch = 0;
12062 (*Result).genericConverter = 0;
12063 (*Result).coerceDistincts = 0;
12064 (*Result).typedescMatched = 0;
12065 (*Result).isNoCall = 0;
12066 unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
12067 unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
12068 (*Result).inheritancePenalty = 0;
12069 (*Result).firstMismatch.kind = 0;
12070 (*Result).firstMismatch.arg = 0;
12071 unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
12072 (*Result).diagnosticsEnabled = 0;
12073 initCandidate__sigmatch_124(ctx, Result, callee, binding, calleeScope, NIM_FALSE);
12074 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)12075 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
12076 initPackedSet__pureZcollectionsZintsets_16(Result);
12077 }
N_NIMCALL(NI,findFirstArgBlock__sigmatch_3746)12078 N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12079 NI result;
12080 result = (NI)0;
12081 result = ((NI) IL64(9223372036854775807));
12082 {
12083 NI a2;
12084 NI colontmp_;
12085 NI T2_;
12086 NI res;
12087 a2 = (NI)0;
12088 colontmp_ = (NI)0;
12089 T2_ = (NI)0;
12090 T2_ = len__ast_3198(n);
12091 colontmp_ = (NI)(T2_ - ((NI) 1));
12092 res = colontmp_;
12093 {
12094 while (1) {
12095 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* formalLast;
12096 NI T9_;
12097 NI T10_;
12098 if (!(((NI) 0) <= res)) goto LA4;
12099 a2 = res;
12100 {
12101 if (!!(((*(*n)._kind_6.sons->data[a2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA7_;
12102 goto LA1;
12103 }
12104 LA7_: ;
12105 T9_ = (NI)0;
12106 T9_ = len__ast_3198((*(*m).callee).n);
12107 T10_ = (NI)0;
12108 T10_ = len__ast_3198(n);
12109 formalLast = (*(*(*m).callee).n)._kind_6.sons->data[(NI)(T9_ - (NI)(T10_ - a2))];
12110 {
12111 NIM_BOOL T13_;
12112 T13_ = (NIM_BOOL)0;
12113 T13_ = ((*formalLast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
12114 if (!(T13_)) goto LA14_;
12115 T13_ = ((*(*formalLast)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12116 LA14_: ;
12117 if (!T13_) goto LA15_;
12118 result = a2;
12119 }
12120 goto LA11_;
12121 LA15_: ;
12122 {
12123 goto LA1;
12124 }
12125 LA11_: ;
12126 res -= ((NI) 1);
12127 } LA4: ;
12128 }
12129 } LA1: ;
12130 return result;
12131 }
N_NIMCALL(void,setSon__sigmatch_3650)12132 N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son) {
12133 NI oldLen;
12134 oldLen = len__ast_3198(father);
12135 {
12136 if (!(oldLen <= at)) goto LA3_;
12137 asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(at + ((NI) 1))))));
12138 }
12139 LA3_: ;
12140 asgnRef((void**) (&(*father)._kind_6.sons->data[at]), son);
12141 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3725)12142 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
12143 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12144 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12145 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12146 result = NIM_NIL;
12147 result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12148 T1_ = NIM_NIL;
12149 T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(-1), info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12150 rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12151 T2_ = NIM_NIL;
12152 T2_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
12153 rawAddSon__ast_4288(result, T2_, NIM_TRUE);
12154 return result;
12155 }
N_NIMCALL(void,incrIndexType__sigmatch_3729)12156 N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
12157 (*(*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal += ((NI) 1);
12158 }
N_NIMCALL(void,prepareNamedParam__sigmatch_3709)12159 N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
12160 {
12161 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12162 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
12163 if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_;
12164 info = (*(*a)._kind_6.sons->data[((NI) 0)]).info;
12165 T5_ = NIM_NIL;
12166 T5_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12167 asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T5_, info));
12168 }
12169 LA3_: ;
12170 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3663)12171 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12172 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12173 result = NIM_NIL;
12174 {
12175 NIM_BOOL T3_;
12176 NI T5_;
12177 T3_ = (NIM_BOOL)0;
12178 T3_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12179 if (!(T3_)) goto LA4_;
12180 T5_ = (NI)0;
12181 T5_ = len__ast_4002(formal);
12182 T3_ = !((T5_ == ((NI) 1)));
12183 LA4_: ;
12184 if (!T3_) goto LA6_;
12185 result = a;
12186 }
12187 goto LA1_;
12188 LA6_: ;
12189 {
12190 if (!((*a).typ == 0)) goto LA9_;
12191 {
12192 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags;
12193 if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA13_;
12194 flags = 774;
12195 result = (*c).semOperand(c, a, flags);
12196 }
12197 goto LA11_;
12198 LA13_: ;
12199 {
12200 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
12201 flags_2 = 768;
12202 result = (*c).semOperand(c, a, flags_2);
12203 }
12204 LA11_: ;
12205 }
12206 goto LA1_;
12207 LA9_: ;
12208 {
12209 result = a;
12210 considerGenSyms__semdata_425(c, result);
12211 {
12212 NIM_BOOL T19_;
12213 NIM_BOOL T20_;
12214 T19_ = (NIM_BOOL)0;
12215 T20_ = (NIM_BOOL)0;
12216 T20_ = !(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65)));
12217 if (!(T20_)) goto LA21_;
12218 T20_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
12219 LA21_: ;
12220 T19_ = T20_;
12221 if (!(T19_)) goto LA22_;
12222 T19_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
12223 LA22_: ;
12224 if (!T19_) goto LA23_;
12225 result = newDeref__lowerings_11(result);
12226 }
12227 LA23_: ;
12228 }
12229 LA1_: ;
12230 return result;
12231 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,arrayConstr__sigmatch_3721)12232 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12233 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12234 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
12235 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12236 result = NIM_NIL;
12237 result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c);
12238 T1_ = NIM_NIL;
12239 T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(0), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12240 rawAddSon__ast_4288(result, T1_, NIM_TRUE);
12241 T2_ = NIM_NIL;
12242 T2_ = skipTypes__ast_3735((*n).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_82);
12243 addSonSkipIntLit__magicsys_136(result, T2_, (*c).Sup.idgen);
12244 return result;
12245 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prepareOperand__sigmatch_3700)12246 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
12247 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12248 result = NIM_NIL;
12249 {
12250 if (!((*a).typ == 0)) goto LA3_;
12251 result = (*c).semOperand(c, a, 512);
12252 }
12253 goto LA1_;
12254 LA3_: ;
12255 {
12256 result = a;
12257 considerGenSyms__semdata_425(c, result);
12258 }
12259 LA1_: ;
12260 return result;
12261 }
N_NIMCALL(void,matchesAux__sigmatch_3784)12262 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) {
12263 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_;
12264 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
12265 NI a;
12266 NI f;
12267 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
12268 NI formalLen;
12269 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
12270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
12271 NI firstArgBlock;
12272 { (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
12273 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12274 nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
12275 (*m).firstMismatch.kind = T1_.kind;
12276 (*m).firstMismatch.arg = T1_.arg;
12277 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), T1_.formal);
12278 T2_ = NIM_NIL;
12279 T2_ = base__types_63((*m).callee);
12280 unsureAsgnRef((void**) (&(*m).call), newNodeIT__ast_3378((*n).kind, (*n).info, T2_));
12281 add__ast_4797((*m).call, (*n)._kind_6.sons->data[((NI) 0)]);
12282 a = ((NI) 1);
12283 {
12284 if (!!(((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA5_;
12285 f = ((NI) 1);
12286 }
12287 goto LA3_;
12288 LA5_: ;
12289 {
12290 f = ((NI) 0);
12291 }
12292 LA3_: ;
12293 arg = NIM_NIL;
12294 formalLen = len__ast_3198((*(*m).callee).n);
12295 {
12296 if (!(((NI) 1) < formalLen)) goto LA10_;
12297 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
12298 }
12299 goto LA8_;
12300 LA10_: ;
12301 {
12302 formal = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
12303 }
12304 LA8_: ;
12305 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12306 firstArgBlock = findFirstArgBlock__sigmatch_3746(m, n);
12307 {
12308 while (1) {
12309 NI T15_;
12310 T15_ = (NI)0;
12311 T15_ = len__ast_3198(n);
12312 if (!(a < T15_)) goto LA14;
12313 openShadowScope__lookups_903(c);
12314 {
12315 NIM_BOOL T18_;
12316 NIM_BOOL T19_;
12317 NIM_BOOL T22_;
12318 T18_ = (NIM_BOOL)0;
12319 T19_ = (NIM_BOOL)0;
12320 T19_ = ((NI)(formalLen - ((NI) 1)) <= a);
12321 if (!(T19_)) goto LA20_;
12322 T19_ = (f < formalLen);
12323 LA20_: ;
12324 T18_ = T19_;
12325 if (!(T18_)) goto LA21_;
12326 T22_ = (NIM_BOOL)0;
12327 T22_ = ((*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12328 if (!(T22_)) goto LA23_;
12329 T22_ = ((*(*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12330 LA23_: ;
12331 T18_ = T22_;
12332 LA21_: ;
12333 if (!T18_) goto LA24_;
12334 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12335 incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12336 {
12337 if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA28_;
12338 {
12339 NIM_BOOL T32_;
12340 T32_ = (NIM_BOOL)0;
12341 T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
12342 if (!(T32_)) goto LA33_;
12343 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));
12344 LA33_: ;
12345 if (!!(T32_)) goto LA34_;
12346 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_79));
12347 }
12348 LA34_: ;
12349 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12350 }
12351 goto LA26_;
12352 LA28_: ;
12353 {
12354 {
12355 tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
12356 if (!(container == 0)) goto LA39_;
12357 T41_ = NIM_NIL;
12358 T41_ = arrayConstr__sigmatch_3725(c, (*n).info);
12359 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T41_);
12360 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12361 }
12362 goto LA37_;
12363 LA39_: ;
12364 {
12365 incrIndexType__sigmatch_3729((*container).typ);
12366 }
12367 LA37_: ;
12368 add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12369 }
12370 LA26_: ;
12371 }
12372 goto LA16_;
12373 LA24_: ;
12374 {
12375 if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA44_;
12376 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2);
12377 prepareNamedParam__sigmatch_3709((*n)._kind_6.sons->data[a], c);
12378 {
12379 if (!!(((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA48_;
12380 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);
12381 mergeShadowScope__lookups_907(c);
12382 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12383 (*m).firstMismatch.arg = a;
12384 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12385 goto BeforeRet_;
12386 }
12387 LA48_: ;
12388 formal = getNamedParamFromList__astalgo_293((*(*m).callee).n, (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)])._kind_5.ident);
12389 {
12390 if (!(formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA52_;
12391 mergeShadowScope__lookups_907(c);
12392 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12393 (*m).firstMismatch.arg = a;
12394 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12395 goto BeforeRet_;
12396 }
12397 LA52_: ;
12398 {
12399 NIM_BOOL T56_;
12400 T56_ = (NIM_BOOL)0;
12401 T56_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12402 if (!T56_) goto LA57_;
12403 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1);
12404 mergeShadowScope__lookups_907(c);
12405 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12406 (*m).firstMismatch.arg = a;
12407 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12408 goto BeforeRet_;
12409 }
12410 LA57_: ;
12411 (*m).baseTypeMatch = NIM_FALSE;
12412 (*m).typedescMatched = NIM_FALSE;
12413 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)]));
12414 asgnRef((void**) (&(*(*n)._kind_6.sons->data[a]).typ), (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).typ);
12415 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)]);
12416 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12417 {
12418 if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA61_;
12419 mergeShadowScope__lookups_907(c);
12420 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12421 (*m).firstMismatch.arg = a;
12422 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12423 goto BeforeRet_;
12424 }
12425 LA61_: ;
12426 {
12427 if (!!(((*formal).constraint == 0))) goto LA65_;
12428 {
12429 NIM_BOOL T69_;
12430 T69_ = (NIM_BOOL)0;
12431 T69_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12432 if (!T69_) goto LA70_;
12433 (*m).genericMatches += ((NI) 100);
12434 }
12435 goto LA67_;
12436 LA70_: ;
12437 {
12438 mergeShadowScope__lookups_907(c);
12439 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12440 (*m).firstMismatch.arg = a;
12441 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12442 goto BeforeRet_;
12443 }
12444 LA67_: ;
12445 }
12446 LA65_: ;
12447 {
12448 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter;
12449 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA75_;
12450 {
12451 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA79_;
12452 argConverter = (*arg)._kind_6.sons->data[((NI) 0)];
12453 }
12454 goto LA77_;
12455 LA79_: ;
12456 {
12457 argConverter = arg;
12458 }
12459 LA77_: ;
12460 {
12461 if (!((*argConverter).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA84_;
12462 {
12463 if (!!(((*(*argConverter).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA88_;
12464 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12465 mergeShadowScope__lookups_907(c);
12466 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12467 (*m).firstMismatch.arg = a;
12468 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12469 goto BeforeRet_;
12470 }
12471 LA88_: ;
12472 }
12473 goto LA82_;
12474 LA84_: ;
12475 {
12476 NIM_BOOL T91_;
12477 T91_ = (NIM_BOOL)0;
12478 T91_ = isLValue__sigmatch_3090(c, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]);
12479 if (!!(T91_)) goto LA92_;
12480 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12481 mergeShadowScope__lookups_907(c);
12482 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12483 (*m).firstMismatch.arg = a;
12484 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12485 goto BeforeRet_;
12486 }
12487 goto LA82_;
12488 LA92_: ;
12489 LA82_: ;
12490 }
12491 LA75_: ;
12492 {
12493 tyObject_TType__facALICuu8zUj0hjvbTLFg* T98_;
12494 if (!(*m).baseTypeMatch) goto LA96_;
12495 T98_ = NIM_NIL;
12496 T98_ = arrayConstr__sigmatch_3721(c, arg);
12497 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T98_);
12498 add__ast_4797(container, arg);
12499 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12500 {
12501 if (!!((f == (NI)(formalLen - ((NI) 1))))) goto LA101_;
12502 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12503 }
12504 LA101_: ;
12505 }
12506 goto LA94_;
12507 LA96_: ;
12508 {
12509 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12510 }
12511 LA94_: ;
12512 f += ((NI) 1);
12513 }
12514 goto LA16_;
12515 LA44_: ;
12516 {
12517 {
12518 if (!(formalLen <= f)) goto LA107_;
12519 {
12520 if (!(((*(*m).callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA111_;
12521 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[a]));
12522 {
12523 tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
12524 tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
12525 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T119_;
12526 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
12527 T115_ = NIM_NIL;
12528 T115_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[a]).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56);
12529 if (!((*T115_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA116_;
12530 T118_ = NIM_NIL;
12531 T118_ = getSysType__magicsys_60((*c).graph, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29));
12532 T119_ = NIM_NIL;
12533 T119_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12534 T120_ = NIM_NIL;
12535 T120_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), T118_, T119_, (&(*m)), c);
12536 add__ast_4797((*m).call, T120_);
12537 }
12538 goto LA113_;
12539 LA116_: ;
12540 {
12541 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_;
12542 T122_ = NIM_NIL;
12543 T122_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]);
12544 add__ast_4797((*m).call, T122_);
12545 }
12546 LA113_: ;
12547 }
12548 goto LA109_;
12549 LA111_: ;
12550 {
12551 NIM_BOOL T124_;
12552 T124_ = (NIM_BOOL)0;
12553 T124_ = !((formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12554 if (!(T124_)) goto LA125_;
12555 T124_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12556 LA125_: ;
12557 if (!T124_) goto LA126_;
12558 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12559 (*m).baseTypeMatch = NIM_FALSE;
12560 (*m).typedescMatched = NIM_FALSE;
12561 incl__pureZcollectionsZintsets_55(marker, (*formal).position);
12562 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12563 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]);
12564 {
12565 NIM_BOOL T130_;
12566 NIM_BOOL T131_;
12567 T130_ = (NIM_BOOL)0;
12568 T131_ = (NIM_BOOL)0;
12569 T131_ = !((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12570 if (!(T131_)) goto LA132_;
12571 T131_ = (*m).baseTypeMatch;
12572 LA132_: ;
12573 T130_ = T131_;
12574 if (!(T130_)) goto LA133_;
12575 T130_ = !((container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12576 LA133_: ;
12577 if (!T130_) goto LA134_;
12578 add__ast_4797(container, arg);
12579 incrIndexType__sigmatch_3729((*container).typ);
12580 {
12581 if (!!(((*formal).constraint == 0))) goto LA138_;
12582 {
12583 NIM_BOOL T142_;
12584 T142_ = (NIM_BOOL)0;
12585 T142_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12586 if (!T142_) goto LA143_;
12587 (*m).genericMatches += ((NI) 100);
12588 }
12589 goto LA140_;
12590 LA143_: ;
12591 {
12592 mergeShadowScope__lookups_907(c);
12593 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12594 (*m).firstMismatch.arg = a;
12595 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12596 goto BeforeRet_;
12597 }
12598 LA140_: ;
12599 }
12600 LA138_: ;
12601 {
12602 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_2;
12603 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA148_;
12604 {
12605 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA152_;
12606 argConverter_2 = (*arg)._kind_6.sons->data[((NI) 0)];
12607 }
12608 goto LA150_;
12609 LA152_: ;
12610 {
12611 argConverter_2 = arg;
12612 }
12613 LA150_: ;
12614 {
12615 if (!((*argConverter_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA157_;
12616 {
12617 if (!!(((*(*argConverter_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA161_;
12618 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12619 mergeShadowScope__lookups_907(c);
12620 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12621 (*m).firstMismatch.arg = a;
12622 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12623 goto BeforeRet_;
12624 }
12625 LA161_: ;
12626 }
12627 goto LA155_;
12628 LA157_: ;
12629 {
12630 NIM_BOOL T164_;
12631 T164_ = (NIM_BOOL)0;
12632 T164_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12633 if (!!(T164_)) goto LA165_;
12634 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12635 mergeShadowScope__lookups_907(c);
12636 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12637 (*m).firstMismatch.arg = a;
12638 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12639 goto BeforeRet_;
12640 }
12641 goto LA155_;
12642 LA165_: ;
12643 LA155_: ;
12644 }
12645 LA148_: ;
12646 }
12647 goto LA128_;
12648 LA134_: ;
12649 {
12650 mergeShadowScope__lookups_907(c);
12651 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12652 (*m).firstMismatch.arg = a;
12653 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12654 goto BeforeRet_;
12655 }
12656 LA128_: ;
12657 }
12658 goto LA109_;
12659 LA126_: ;
12660 {
12661 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6);
12662 mergeShadowScope__lookups_907(c);
12663 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12664 (*m).firstMismatch.arg = a;
12665 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12666 goto BeforeRet_;
12667 }
12668 LA109_: ;
12669 }
12670 goto LA105_;
12671 LA107_: ;
12672 {
12673 {
12674 if (!!(((*(*(*(*m).callee).n)._kind_6.sons->data[f]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA172_;
12675 internalErrorImpl__msgs_1431((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_83), TM__EV5hHJmjIY9cla9b9be7fSVJQ_84);
12676 mergeShadowScope__lookups_907(c);
12677 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12678 (*m).firstMismatch.arg = a;
12679 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12680 goto BeforeRet_;
12681 }
12682 LA172_: ;
12683 {
12684 NIM_BOOL T176_;
12685 NI T180_;
12686 NI T181_;
12687 T176_ = (NIM_BOOL)0;
12688 T176_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 18))&31U)))!=0);
12689 if (!(T176_)) goto LA177_;
12690 T176_ = (firstArgBlock <= a);
12691 LA177_: ;
12692 if (!T176_) goto LA178_;
12693 T180_ = (NI)0;
12694 T180_ = len__ast_3198((*(*m).callee).n);
12695 T181_ = (NI)0;
12696 T181_ = len__ast_3198(n);
12697 f = ((f >= (NI)(T180_ - (NI)(T181_ - a))) ? f : (NI)(T180_ - (NI)(T181_ - a)));
12698 }
12699 LA178_: ;
12700 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
12701 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3);
12702 {
12703 NIM_BOOL T184_;
12704 T184_ = (NIM_BOOL)0;
12705 T184_ = containsOrIncl__astalgo_402(marker, (*formal).position);
12706 if (!(T184_)) goto LA185_;
12707 T184_ = (container == 0);
12708 LA185_: ;
12709 if (!T184_) goto LA186_;
12710 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7);
12711 mergeShadowScope__lookups_907(c);
12712 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12713 (*m).firstMismatch.arg = a;
12714 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12715 goto BeforeRet_;
12716 }
12717 LA186_: ;
12718 {
12719 NIM_BOOL T190_;
12720 T190_ = (NIM_BOOL)0;
12721 T190_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
12722 if (!(T190_)) goto LA191_;
12723 T190_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12724 LA191_: ;
12725 if (!T190_) goto LA192_;
12726 {
12727 tyObject_TType__facALICuu8zUj0hjvbTLFg* T198_;
12728 if (!(container == 0)) goto LA196_;
12729 T198_ = NIM_NIL;
12730 T198_ = arrayConstr__sigmatch_3725(c, (*n).info);
12731 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T198_);
12732 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container);
12733 }
12734 goto LA194_;
12735 LA196_: ;
12736 {
12737 incrIndexType__sigmatch_3729((*container).typ);
12738 }
12739 LA194_: ;
12740 add__ast_4797(container, (*n)._kind_6.sons->data[a]);
12741 }
12742 goto LA188_;
12743 LA192_: ;
12744 {
12745 (*m).baseTypeMatch = NIM_FALSE;
12746 (*m).typedescMatched = NIM_FALSE;
12747 asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a]));
12748 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]);
12749 {
12750 if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA203_;
12751 mergeShadowScope__lookups_907(c);
12752 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12753 (*m).firstMismatch.arg = a;
12754 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12755 goto BeforeRet_;
12756 }
12757 LA203_: ;
12758 {
12759 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T215_;
12760 NI T216_;
12761 if (!(*m).baseTypeMatch) goto LA207_;
12762 {
12763 tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_;
12764 if (!(container == 0)) goto LA211_;
12765 T213_ = NIM_NIL;
12766 T213_ = arrayConstr__sigmatch_3721(c, arg);
12767 container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T213_);
12768 (*(*container).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0)) & 63);
12769 }
12770 goto LA209_;
12771 LA211_: ;
12772 {
12773 incrIndexType__sigmatch_3729((*container).typ);
12774 }
12775 LA209_: ;
12776 add__ast_4797(container, arg);
12777 T215_ = NIM_NIL;
12778 T215_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
12779 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T215_);
12780 T216_ = (NI)0;
12781 T216_ = len__ast_3198(n);
12782 f = ((f >= (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1))) ? f : (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1)));
12783 }
12784 goto LA205_;
12785 LA207_: ;
12786 {
12787 NIM_BOOL T218_;
12788 T218_ = (NIM_BOOL)0;
12789 T218_ = !(((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)));
12790 if (T218_) goto LA219_;
12791 T218_ = (container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12792 LA219_: ;
12793 if (!T218_) goto LA220_;
12794 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg);
12795 f += ((NI) 1);
12796 container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12797 }
12798 goto LA205_;
12799 LA220_: ;
12800 {
12801 tyArray__Re75IspeoxXy2oCZHwcRrA T223_;
12802 NimStringDesc* T224_;
12803 nimZeroMem((void*)T223_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
12804 T223_[0] = typeToString__types_50((*(*n)._kind_6.sons->data[a]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12805 T223_[1] = typeToString__types_50((*formal).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12806 T224_ = NIM_NIL;
12807 T224_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_85), T223_, 2);
12808 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);
12809 mergeShadowScope__lookups_907(c);
12810 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12811 (*m).firstMismatch.arg = a;
12812 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12813 goto BeforeRet_;
12814 }
12815 LA205_: ;
12816 }
12817 LA188_: ;
12818 {
12819 if (!!(((*formal).constraint == 0))) goto LA227_;
12820 {
12821 NIM_BOOL T231_;
12822 T231_ = (NIM_BOOL)0;
12823 T231_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]);
12824 if (!T231_) goto LA232_;
12825 (*m).genericMatches += ((NI) 100);
12826 }
12827 goto LA229_;
12828 LA232_: ;
12829 {
12830 mergeShadowScope__lookups_907(c);
12831 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12832 (*m).firstMismatch.arg = a;
12833 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12834 goto BeforeRet_;
12835 }
12836 LA229_: ;
12837 }
12838 LA227_: ;
12839 {
12840 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_3;
12841 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA237_;
12842 {
12843 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA241_;
12844 argConverter_3 = (*arg)._kind_6.sons->data[((NI) 0)];
12845 }
12846 goto LA239_;
12847 LA241_: ;
12848 {
12849 argConverter_3 = arg;
12850 }
12851 LA239_: ;
12852 {
12853 if (!((*argConverter_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA246_;
12854 {
12855 if (!!(((*(*argConverter_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA250_;
12856 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12857 mergeShadowScope__lookups_907(c);
12858 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12859 (*m).firstMismatch.arg = a;
12860 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12861 goto BeforeRet_;
12862 }
12863 LA250_: ;
12864 }
12865 goto LA244_;
12866 LA246_: ;
12867 {
12868 NIM_BOOL T253_;
12869 T253_ = (NIM_BOOL)0;
12870 T253_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]);
12871 if (!!(T253_)) goto LA254_;
12872 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4);
12873 mergeShadowScope__lookups_907(c);
12874 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
12875 (*m).firstMismatch.arg = a;
12876 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12877 goto BeforeRet_;
12878 }
12879 goto LA244_;
12880 LA254_: ;
12881 LA244_: ;
12882 }
12883 LA237_: ;
12884 }
12885 LA105_: ;
12886 }
12887 LA16_: ;
12888 {
12889 NIM_BOOL T258_;
12890 NIM_BOOL T260_;
12891 T258_ = (NIM_BOOL)0;
12892 T258_ = ((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
12893 if (!(T258_)) goto LA259_;
12894 T260_ = (NIM_BOOL)0;
12895 T260_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12896 if (!(T260_)) goto LA261_;
12897 T260_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0);
12898 LA261_: ;
12899 T258_ = !(T260_);
12900 LA259_: ;
12901 if (!T258_) goto LA262_;
12902 mergeShadowScope__lookups_907(c);
12903 }
12904 goto LA256_;
12905 LA262_: ;
12906 {
12907 closeShadowScope__lookups_905(c);
12908 }
12909 LA256_: ;
12910 a += ((NI) 1);
12911 } LA14: ;
12912 }
12913 (*m).firstMismatch.arg = a;
12914 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
12915 }BeforeRet_: ;
12916 }
N_NIMCALL(void,partialMatch__sigmatch_4175)12917 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) {
12918 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
12919 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
12920 initIntSet__pureZcollectionsZintsets_238((&marker));
12921 matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
12922 }
N_NIMCALL(NIM_BOOL,argsFit__sigmatch_5113)12923 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) {
12924 NIM_BOOL result;
12925 result = (NIM_BOOL)0;
12926 switch ((*candidate).kind) {
12927 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
12928 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
12929 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
12930 {
12931 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
12932 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
12933 newCandidate__sigmatch_189(c, candidate, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m));
12934 partialMatch__sigmatch_4175(c, n, nOrig, (&m));
12935 result = !((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2)));
12936 }
12937 break;
12938 default:
12939 {
12940 result = NIM_FALSE;
12941 }
12942 break;
12943 }
12944 return result;
12945 }
N_NIMCALL(void,suggestCall__sigmatch_5124)12946 N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
12947 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12948 info = (*n).info;
12949 {
12950 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
12951 NI scopeN;
12952 NIM_BOOL isLocal;
12953 NIM_BOOL isLocal_2;
12954 NI scopeN_2;
12955 item = NIM_NIL;
12956 scopeN = (NI)0;
12957 isLocal = (NIM_BOOL)0;
12958 isLocal_2 = NIM_TRUE;
12959 scopeN_2 = ((NI) 0);
12960 {
12961 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
12962 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
12963 scope = NIM_NIL;
12964 current = (*c).currentScope;
12965 {
12966 while (1) {
12967 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
12968 scope = current;
12969 {
12970 if (!(scope == (*c).topLevelScope)) goto LA7_;
12971 isLocal_2 = NIM_FALSE;
12972 }
12973 LA7_: ;
12974 scopeN_2 -= ((NI) 1);
12975 {
12976 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
12977 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
12978 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
12979 item_2 = NIM_NIL;
12980 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
12981 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
12982 {
12983 while (1) {
12984 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
12985 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
12986 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
12987 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
12988 item_2 = s;
12989 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
12990 colontmp_.Field0 = item_2;
12991 colontmp_.Field1 = scopeN_2;
12992 colontmp_.Field2 = isLocal_2;
12993 item = colontmp_.Field0;
12994 scopeN = colontmp_.Field1;
12995 isLocal = colontmp_.Field2;
12996 it_2 = item;
12997 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
12998 {
12999 NIM_BOOL T14_;
13000 NIM_BOOL T15_;
13001 NI T20_;
13002 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T21_;
13003 NI T22_;
13004 T14_ = (NIM_BOOL)0;
13005 T15_ = (NIM_BOOL)0;
13006 T15_ = filterSym__sigmatch_4909(it_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
13007 if (!(T15_)) goto LA16_;
13008 T15_ = nameFits__sigmatch_5091(c, it_2, n);
13009 LA16_: ;
13010 T14_ = T15_;
13011 if (!(T14_)) goto LA17_;
13012 T14_ = argsFit__sigmatch_5113(c, it_2, n, nOrig);
13013 LA17_: ;
13014 if (!T14_) goto LA18_;
13015 T20_ = (NI)0;
13016 T20_ = getQuality__sigmatch_5002(it_2);
13017 T21_ = NIM_NIL;
13018 T21_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T20_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13019 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13020 T22_ = (*outputs)->Sup.len++;
13021 asgnRef((void**) (&(*outputs)->data[T22_]), T21_);
13022 }
13023 LA18_: ;
13024 s = nextIter__astalgo_3762((&it), (*scope).symbols);
13025 } LA11: ;
13026 }
13027 }
13028 current = (*current).parent;
13029 } LA4: ;
13030 }
13031 }
13032 scopeN_2 -= ((NI) 1);
13033 isLocal_2 = NIM_FALSE;
13034 {
13035 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13036 NI i;
13037 NI L;
13038 NI T24_;
13039 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13040 i = ((NI) 0);
13041 T24_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13042 L = T24_;
13043 {
13044 while (1) {
13045 if (!(i < L)) goto LA26;
13046 im = (&(*c).imports->data[i]);
13047 {
13048 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13049 NIM_BOOL importHidden;
13050 s_2 = NIM_NIL;
13051 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13052 {
13053 NIM_BOOL T30_;
13054 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13055 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13056 T30_ = (NIM_BOOL)0;
13057 T30_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13058 if (!T30_) goto LA31_;
13059 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13060 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13061 {
13062 while (1) {
13063 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13064 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13065 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13066 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
13067 s_2 = r;
13068 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13069 colontmp__2.Field0 = s_2;
13070 colontmp__2.Field1 = scopeN_2;
13071 colontmp__2.Field2 = isLocal_2;
13072 item = colontmp__2.Field0;
13073 scopeN = colontmp__2.Field1;
13074 isLocal = colontmp__2.Field2;
13075 it_3 = item;
13076 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13077 {
13078 NIM_BOOL T37_;
13079 NIM_BOOL T38_;
13080 NI T43_;
13081 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T44_;
13082 NI T45_;
13083 T37_ = (NIM_BOOL)0;
13084 T38_ = (NIM_BOOL)0;
13085 T38_ = filterSym__sigmatch_4909(it_3, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
13086 if (!(T38_)) goto LA39_;
13087 T38_ = nameFits__sigmatch_5091(c, it_3, n);
13088 LA39_: ;
13089 T37_ = T38_;
13090 if (!(T37_)) goto LA40_;
13091 T37_ = argsFit__sigmatch_5113(c, it_3, n, nOrig);
13092 LA40_: ;
13093 if (!T37_) goto LA41_;
13094 T43_ = (NI)0;
13095 T43_ = getQuality__sigmatch_5002(it_3);
13096 T44_ = NIM_NIL;
13097 T44_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T43_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13098 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13099 T45_ = (*outputs)->Sup.len++;
13100 asgnRef((void**) (&(*outputs)->data[T45_]), T44_);
13101 }
13102 LA41_: ;
13103 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13104 } LA34: ;
13105 }
13106 }
13107 goto LA28_;
13108 LA31_: ;
13109 {
13110 {
13111 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13112 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13113 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13114 NI i_2;
13115 NI L_2;
13116 NI T52_;
13117 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13118 colontmp__3 = NIM_NIL;
13119 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13120 {
13121 if (!importHidden) goto LA50_;
13122 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13123 }
13124 LA50_: ;
13125 colontmp__3 = (*retX60gensym17_).data;
13126 i_2 = ((NI) 0);
13127 T52_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13128 L_2 = T52_;
13129 {
13130 while (1) {
13131 if (!(i_2 < L_2)) goto LA54;
13132 s_3 = &colontmp__3->data[i_2];
13133 {
13134 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13135 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13136 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13137 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA57_;
13138 s_2 = (*s_3);
13139 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13140 colontmp__4.Field0 = s_2;
13141 colontmp__4.Field1 = scopeN_2;
13142 colontmp__4.Field2 = isLocal_2;
13143 item = colontmp__4.Field0;
13144 scopeN = colontmp__4.Field1;
13145 isLocal = colontmp__4.Field2;
13146 it_4 = item;
13147 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13148 {
13149 NIM_BOOL T61_;
13150 NIM_BOOL T62_;
13151 NI T67_;
13152 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T68_;
13153 NI T69_;
13154 T61_ = (NIM_BOOL)0;
13155 T62_ = (NIM_BOOL)0;
13156 T62_ = filterSym__sigmatch_4909(it_4, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
13157 if (!(T62_)) goto LA63_;
13158 T62_ = nameFits__sigmatch_5091(c, it_4, n);
13159 LA63_: ;
13160 T61_ = T62_;
13161 if (!(T61_)) goto LA64_;
13162 T61_ = argsFit__sigmatch_5113(c, it_4, n, nOrig);
13163 LA64_: ;
13164 if (!T61_) goto LA65_;
13165 T67_ = (NI)0;
13166 T67_ = getQuality__sigmatch_5002(it_4);
13167 T68_ = NIM_NIL;
13168 T68_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T67_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13169 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13170 T69_ = (*outputs)->Sup.len++;
13171 asgnRef((void**) (&(*outputs)->data[T69_]), T68_);
13172 }
13173 LA65_: ;
13174 }
13175 LA57_: ;
13176 i_2 += ((NI) 1);
13177 } LA54: ;
13178 }
13179 }
13180 }
13181 LA28_: ;
13182 }
13183 i += ((NI) 1);
13184 } LA26: ;
13185 }
13186 }
13187 }
13188 }
N_NIMCALL(void,suggestVar__sigmatch_5139)13189 N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) {
13190 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
13191 info = (*n).info;
13192 {
13193 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
13194 NI scopeN;
13195 NIM_BOOL isLocal;
13196 NIM_BOOL isLocal_2;
13197 NI scopeN_2;
13198 item = NIM_NIL;
13199 scopeN = (NI)0;
13200 isLocal = (NIM_BOOL)0;
13201 isLocal_2 = NIM_TRUE;
13202 scopeN_2 = ((NI) 0);
13203 {
13204 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
13205 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
13206 scope = NIM_NIL;
13207 current = (*c).currentScope;
13208 {
13209 while (1) {
13210 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
13211 scope = current;
13212 {
13213 if (!(scope == (*c).topLevelScope)) goto LA7_;
13214 isLocal_2 = NIM_FALSE;
13215 }
13216 LA7_: ;
13217 scopeN_2 -= ((NI) 1);
13218 {
13219 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2;
13220 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it;
13221 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
13222 item_2 = NIM_NIL;
13223 nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
13224 s = initTabIter__astalgo_3777((&it), (*scope).symbols);
13225 {
13226 while (1) {
13227 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
13228 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2;
13229 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
13230 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11;
13231 item_2 = s;
13232 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13233 colontmp_.Field0 = item_2;
13234 colontmp_.Field1 = scopeN_2;
13235 colontmp_.Field2 = isLocal_2;
13236 item = colontmp_.Field0;
13237 scopeN = colontmp_.Field1;
13238 isLocal = colontmp_.Field2;
13239 it_2 = item;
13240 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13241 {
13242 NIM_BOOL T14_;
13243 NI T17_;
13244 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_;
13245 NI T19_;
13246 T14_ = (NIM_BOOL)0;
13247 T14_ = nameFits__sigmatch_5091(c, it_2, n);
13248 if (!T14_) goto LA15_;
13249 T17_ = (NI)0;
13250 T17_ = getQuality__sigmatch_5002(it_2);
13251 T18_ = NIM_NIL;
13252 T18_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13253 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13254 T19_ = (*outputs)->Sup.len++;
13255 asgnRef((void**) (&(*outputs)->data[T19_]), T18_);
13256 }
13257 LA15_: ;
13258 s = nextIter__astalgo_3762((&it), (*scope).symbols);
13259 } LA11: ;
13260 }
13261 }
13262 current = (*current).parent;
13263 } LA4: ;
13264 }
13265 }
13266 scopeN_2 -= ((NI) 1);
13267 isLocal_2 = NIM_FALSE;
13268 {
13269 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
13270 NI i;
13271 NI L;
13272 NI T21_;
13273 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
13274 i = ((NI) 0);
13275 T21_ = ((*c).imports ? (*c).imports->Sup.len : 0);
13276 L = T21_;
13277 {
13278 while (1) {
13279 if (!(i < L)) goto LA23;
13280 im = (&(*c).imports->data[i]);
13281 {
13282 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
13283 NIM_BOOL importHidden;
13284 s_2 = NIM_NIL;
13285 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
13286 {
13287 NIM_BOOL T27_;
13288 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
13289 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
13290 T27_ = (NIM_BOOL)0;
13291 T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
13292 if (!T27_) goto LA28_;
13293 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
13294 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
13295 {
13296 while (1) {
13297 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
13298 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3;
13299 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
13300 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31;
13301 s_2 = r;
13302 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13303 colontmp__2.Field0 = s_2;
13304 colontmp__2.Field1 = scopeN_2;
13305 colontmp__2.Field2 = isLocal_2;
13306 item = colontmp__2.Field0;
13307 scopeN = colontmp__2.Field1;
13308 isLocal = colontmp__2.Field2;
13309 it_3 = item;
13310 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13311 {
13312 NIM_BOOL T34_;
13313 NI T37_;
13314 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_;
13315 NI T39_;
13316 T34_ = (NIM_BOOL)0;
13317 T34_ = nameFits__sigmatch_5091(c, it_3, n);
13318 if (!T34_) goto LA35_;
13319 T37_ = (NI)0;
13320 T37_ = getQuality__sigmatch_5002(it_3);
13321 T38_ = NIM_NIL;
13322 T38_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13323 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13324 T39_ = (*outputs)->Sup.len++;
13325 asgnRef((void**) (&(*outputs)->data[T39_]), T38_);
13326 }
13327 LA35_: ;
13328 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
13329 } LA31: ;
13330 }
13331 }
13332 goto LA25_;
13333 LA28_: ;
13334 {
13335 {
13336 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
13337 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
13338 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
13339 NI i_2;
13340 NI L_2;
13341 NI T46_;
13342 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
13343 colontmp__3 = NIM_NIL;
13344 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
13345 {
13346 if (!importHidden) goto LA44_;
13347 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
13348 }
13349 LA44_: ;
13350 colontmp__3 = (*retX60gensym17_).data;
13351 i_2 = ((NI) 0);
13352 T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
13353 L_2 = T46_;
13354 {
13355 while (1) {
13356 if (!(i_2 < L_2)) goto LA48;
13357 s_3 = &colontmp__3->data[i_2];
13358 {
13359 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
13360 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4;
13361 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
13362 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_;
13363 s_2 = (*s_3);
13364 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
13365 colontmp__4.Field0 = s_2;
13366 colontmp__4.Field1 = scopeN_2;
13367 colontmp__4.Field2 = isLocal_2;
13368 item = colontmp__4.Field0;
13369 scopeN = colontmp__4.Field1;
13370 isLocal = colontmp__4.Field2;
13371 it_4 = item;
13372 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
13373 {
13374 NIM_BOOL T55_;
13375 NI T58_;
13376 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_;
13377 NI T60_;
13378 T55_ = (NIM_BOOL)0;
13379 T55_ = nameFits__sigmatch_5091(c, it_4, n);
13380 if (!T55_) goto LA56_;
13381 T58_ = (NI)0;
13382 T58_ = getQuality__sigmatch_5002(it_4);
13383 T59_ = NIM_NIL;
13384 T59_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE);
13385 unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)));
13386 T60_ = (*outputs)->Sup.len++;
13387 asgnRef((void**) (&(*outputs)->data[T60_]), T59_);
13388 }
13389 LA56_: ;
13390 }
13391 LA51_: ;
13392 i_2 += ((NI) 1);
13393 } LA48: ;
13394 }
13395 }
13396 }
13397 LA25_: ;
13398 }
13399 i += ((NI) 1);
13400 } LA23: ;
13401 }
13402 }
13403 }
13404 }
N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ *,newSeq__sigmatch_4767)13405 N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len) {
13406 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* result;
13407 result = NIM_NIL;
13408 result = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) newSeq((&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), len);
13409 return result;
13410 }
N_INLINE(NI,star___pureZalgorithm_8)13411 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13412 NI result;
13413 NI y;
13414 result = (NI)0;
13415 y = (NI)(order - ((NI) 1));
13416 result = (NI)((NI)(x ^ y) - y);
13417 return result;
13418 }
N_NIMCALL(void,mergeAlt__sigmatch_4787)13419 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) {
13420 NI j;
13421 NI bb;
13422 NI i;
13423 NI k;
13424 { {
13425 NI T3_;
13426 NI T4_;
13427 T3_ = (NI)0;
13428 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))]);
13429 T4_ = (NI)0;
13430 T4_ = star___pureZalgorithm_8(T3_, order);
13431 if (!(T4_ <= ((NI) 0))) goto LA5_;
13432 goto BeforeRet_;
13433 }
13434 LA5_: ;
13435 j = lo;
13436 bb = ((NI) 0);
13437 {
13438 while (1) {
13439 if (!(j <= m)) goto LA8;
13440 unsureAsgnRef((void**) (&b[bb]), a[j]);
13441 bb += ((NI) 1);
13442 j += ((NI) 1);
13443 } LA8: ;
13444 }
13445 i = ((NI) 0);
13446 k = lo;
13447 {
13448 while (1) {
13449 NIM_BOOL T11_;
13450 T11_ = (NIM_BOOL)0;
13451 T11_ = (k < j);
13452 if (!(T11_)) goto LA12_;
13453 T11_ = (j <= hi);
13454 LA12_: ;
13455 if (!T11_) goto LA10;
13456 {
13457 NI T15_;
13458 NI T16_;
13459 T15_ = (NI)0;
13460 T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_88)(cmp.ClP_0))(b[i], a[j]);
13461 T16_ = (NI)0;
13462 T16_ = star___pureZalgorithm_8(T15_, order);
13463 if (!(T16_ <= ((NI) 0))) goto LA17_;
13464 unsureAsgnRef((void**) (&a[k]), b[i]);
13465 i += ((NI) 1);
13466 }
13467 goto LA13_;
13468 LA17_: ;
13469 {
13470 unsureAsgnRef((void**) (&a[k]), a[j]);
13471 j += ((NI) 1);
13472 }
13473 LA13_: ;
13474 k += ((NI) 1);
13475 } LA10: ;
13476 }
13477 {
13478 while (1) {
13479 if (!(k < j)) goto LA21;
13480 unsureAsgnRef((void**) (&a[k]), b[i]);
13481 k += ((NI) 1);
13482 i += ((NI) 1);
13483 } LA21: ;
13484 }
13485 }BeforeRet_: ;
13486 }
N_NIMCALL(void,sort__sigmatch_4755)13487 N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
13488 NI n;
13489 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* b;
13490 NI s;
13491 n = aLen_0;
13492 b = newSeq__sigmatch_4767(((NI) ((NI)(n / ((NI) 2)))));
13493 s = ((NI) 1);
13494 {
13495 while (1) {
13496 NI m;
13497 if (!(s < n)) goto LA2;
13498 m = (NI)((NI)(n - ((NI) 1)) - s);
13499 {
13500 while (1) {
13501 if (!(((NI) 0) <= m)) goto LA4;
13502 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);
13503 m -= (NI)(s * ((NI) 2));
13504 } LA4: ;
13505 }
13506 s = (NI)(s * ((NI) 2));
13507 } LA2: ;
13508 }
13509 }
N_NIMCALL(NI,cmpSuggestions__sigmatch_4436)13510 N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b) {
13511 NI result;
13512 { result = (NI)0;
13513 result = (NI)(((NI) ((*b).prefix)) - ((NI) ((*a).prefix)));
13514 {
13515 if (!!((result == ((NI) 0)))) goto LA3_;
13516 goto BeforeRet_;
13517 }
13518 LA3_: ;
13519 result = (NI)(((NI) ((*b).contextFits)) - ((NI) ((*a).contextFits)));
13520 {
13521 if (!!((result == ((NI) 0)))) goto LA7_;
13522 goto BeforeRet_;
13523 }
13524 LA7_: ;
13525 result = (NI)((*b).scope - (*a).scope);
13526 {
13527 if (!!((result == ((NI) 0)))) goto LA11_;
13528 goto BeforeRet_;
13529 }
13530 LA11_: ;
13531 result = (NI)(((NI) ((*b).quality)) - ((NI) ((*a).quality)));
13532 {
13533 if (!!((result == ((NI) 0)))) goto LA15_;
13534 goto BeforeRet_;
13535 }
13536 LA15_: ;
13537 result = (NI)((*b).localUsages - (*a).localUsages);
13538 {
13539 if (!!((result == ((NI) 0)))) goto LA19_;
13540 goto BeforeRet_;
13541 }
13542 LA19_: ;
13543 result = (NI)((*b).globalUsages - (*a).globalUsages);
13544 {
13545 if (!!((result == ((NI) 0)))) goto LA23_;
13546 goto BeforeRet_;
13547 }
13548 LA23_: ;
13549 result = cmp__system_1549((*(*a).name), (*(*b).name));
13550 }BeforeRet_: ;
13551 return result;
13552 }
N_NIMCALL(NimStringDesc *,dollar___sigmatch_4707)13553 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest) {
13554 NimStringDesc* result;
13555 result = NIM_NIL;
13556 result = dollar___options_4697((*suggest).section);
13557 result = addChar(result, 9);
13558 {
13559 NimStringDesc* T17_;
13560 NimStringDesc* T18_;
13561 NimStringDesc* T19_;
13562 if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8))) goto LA3_;
13563 {
13564 NIM_BOOL T7_;
13565 T7_ = (NIM_BOOL)0;
13566 T7_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
13567 if (!(T7_)) goto LA8_;
13568 T7_ = (*suggest).isGlobal;
13569 LA8_: ;
13570 if (!T7_) goto LA9_;
13571 result = resizeString(result, 11);
13572 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_91));
13573 }
13574 goto LA5_;
13575 LA9_: ;
13576 {
13577 NIM_BOOL T12_;
13578 T12_ = (NIM_BOOL)0;
13579 T12_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
13580 if (!(T12_)) goto LA13_;
13581 T12_ = (*suggest).isGlobal;
13582 LA13_: ;
13583 if (!T12_) goto LA14_;
13584 result = resizeString(result, 11);
13585 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_92));
13586 }
13587 goto LA5_;
13588 LA14_: ;
13589 {
13590 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);
13591 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13592 }
13593 LA5_: ;
13594 result = addChar(result, 9);
13595 T17_ = NIM_NIL;
13596 T17_ = dollar___systemZdollars_3((*suggest).line);
13597 result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0);
13598 appendString(result, T17_);
13599 result = addChar(result, 9);
13600 T18_ = NIM_NIL;
13601 T18_ = dollar___systemZdollars_3((*suggest).column);
13602 result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0);
13603 appendString(result, T18_);
13604 result = addChar(result, 9);
13605 T19_ = NIM_NIL;
13606 T19_ = dollar___systemZdollars_3((*suggest).tokenLen);
13607 result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0);
13608 appendString(result, T19_);
13609 }
13610 goto LA1_;
13611 LA3_: ;
13612 {
13613 NimStringDesc* T27_;
13614 NimStringDesc* T28_;
13615 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);
13616 appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
13617 result = addChar(result, 9);
13618 {
13619 NI T23_;
13620 NimStringDesc* T26_;
13621 T23_ = ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0);
13622 if (!!((T23_ == ((NI) 0)))) goto LA24_;
13623 T26_ = NIM_NIL;
13624 T26_ = nsuJoinSep((*suggest).qualifiedPath->data, ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_93));
13625 result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
13626 appendString(result, T26_);
13627 }
13628 LA24_: ;
13629 result = addChar(result, 9);
13630 result = resizeString(result, ((*suggest).forth ? (*suggest).forth->Sup.len : 0) + 0);
13631 appendString(result, (*suggest).forth);
13632 result = addChar(result, 9);
13633 result = resizeString(result, ((*suggest).filePath ? (*suggest).filePath->Sup.len : 0) + 0);
13634 appendString(result, (*suggest).filePath);
13635 result = addChar(result, 9);
13636 T27_ = NIM_NIL;
13637 T27_ = dollar___systemZdollars_3((*suggest).line);
13638 result = resizeString(result, (T27_ ? T27_->Sup.len : 0) + 0);
13639 appendString(result, T27_);
13640 result = addChar(result, 9);
13641 T28_ = NIM_NIL;
13642 T28_ = dollar___systemZdollars_3((*suggest).column);
13643 result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
13644 appendString(result, T28_);
13645 result = addChar(result, 9);
13646 {
13647 NimStringDesc* T33_;
13648 if (!((*suggest).version == ((NI) 0))) goto LA31_;
13649 result = addChar(result, 9);
13650 T33_ = NIM_NIL;
13651 T33_ = dollar___systemZdollars_3(((NI) ((*suggest).quality)));
13652 result = resizeString(result, (T33_ ? T33_->Sup.len : 0) + 0);
13653 appendString(result, T33_);
13654 {
13655 if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA36_;
13656 result = addChar(result, 9);
13657 result = resizeString(result, (reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)) ? reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_))->Sup.len : 0) + 0);
13658 appendString(result, reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)));
13659 }
13660 LA36_: ;
13661 }
13662 LA31_: ;
13663 }
13664 LA1_: ;
13665 return result;
13666 }
N_NIMCALL(void,produceOutput__sigmatch_4746)13667 N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
13668 {
13669 tyProc__pNH4eLNN9aK2oskAhILvUcw T5_;
13670 if (!((6 &((NU16)1<<((NU)((*conf).ideCmd)&15U)))!=0)) goto LA3_;
13671 nimZeroMem((void*)(&T5_), sizeof(tyProc__pNH4eLNN9aK2oskAhILvUcw));
13672 T5_.ClP_0 = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (cmpSuggestions__sigmatch_4436)); T5_.ClE_0 = NIM_NIL;
13673 sort__sigmatch_4755((*a)->data, ((*a) ? (*a)->Sup.len : 0), T5_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
13674 }
13675 LA3_: ;
13676 {
13677 NI T8_;
13678 T8_ = ((*a) ? (*a)->Sup.len : 0);
13679 if (!((*conf).suggestMaxResults < T8_)) goto LA9_;
13680 unsureAsgnRef((void**) (&(*a)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) setLengthSeqV2(&((*a))->Sup, (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), ((NI) ((*conf).suggestMaxResults))));
13681 }
13682 LA9_: ;
13683 {
13684 if (!!(((*conf).suggestionResultHook.ClP_0 == 0))) goto LA13_;
13685 {
13686 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s;
13687 NI i;
13688 NI L;
13689 NI T16_;
13690 s = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13691 i = ((NI) 0);
13692 T16_ = ((*a) ? (*a)->Sup.len : 0);
13693 L = T16_;
13694 {
13695 while (1) {
13696 if (!(i < L)) goto LA18;
13697 s = &(*a)->data[i];
13698 (*conf).suggestionResultHook.ClE_0? (*conf).suggestionResultHook.ClP_0((*s), (*conf).suggestionResultHook.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_90)((*conf).suggestionResultHook.ClP_0))((*s));
13699 i += ((NI) 1);
13700 } LA18: ;
13701 }
13702 }
13703 }
13704 goto LA11_;
13705 LA13_: ;
13706 {
13707 {
13708 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s_2;
13709 NI i_2;
13710 NI L_2;
13711 NI T21_;
13712 s_2 = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0;
13713 i_2 = ((NI) 0);
13714 T21_ = ((*a) ? (*a)->Sup.len : 0);
13715 L_2 = T21_;
13716 {
13717 while (1) {
13718 NimStringDesc* T24_;
13719 if (!(i_2 < L_2)) goto LA23;
13720 s_2 = &(*a)->data[i_2];
13721 T24_ = NIM_NIL;
13722 T24_ = dollar___sigmatch_4707((*s_2));
13723 suggestWriteln__msgs_421(conf, T24_);
13724 i_2 += ((NI) 1);
13725 } LA23: ;
13726 }
13727 }
13728 }
13729 LA11_: ;
13730 }
N_NIMCALL(void,suggestExprNoCheck__sigmatch_6450)13731 N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13732 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
13733 { {
13734 if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
13735 goto BeforeRet_;
13736 }
13737 LA3_: ;
13738 (*c).compilesContextId += ((NI) 1);
13739 outputs = NIM_NIL;
13740 {
13741 if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA7_;
13742 sugExpr__sigmatch_6417(c, n, (&outputs));
13743 }
13744 goto LA5_;
13745 LA7_: ;
13746 {
13747 if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2))) goto LA10_;
13748 {
13749 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
13750 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
13751 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_;
13752 a = copyNode__ast_4336(n);
13753 x = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]);
13754 {
13755 NIM_BOOL T18_;
13756 T18_ = (NIM_BOOL)0;
13757 T18_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13758 if (T18_) goto LA19_;
13759 T18_ = ((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13760 LA19_: ;
13761 if (!T18_) goto LA20_;
13762 x = (*n)._kind_6.sons->data[((NI) 0)];
13763 }
13764 LA20_: ;
13765 add__ast_4797(a, x);
13766 {
13767 NI i;
13768 NI colontmp_;
13769 NI i_2;
13770 i = (NI)0;
13771 colontmp_ = (NI)0;
13772 colontmp_ = len__ast_3198(n);
13773 i_2 = ((NI) 1);
13774 {
13775 while (1) {
13776 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
13777 if (!(i_2 < colontmp_)) goto LA24;
13778 i = i_2;
13779 x_2 = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[i]);
13780 {
13781 NIM_BOOL T27_;
13782 T27_ = (NIM_BOOL)0;
13783 T27_ = ((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13784 if (T27_) goto LA28_;
13785 T27_ = ((*x_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13786 LA28_: ;
13787 if (!T27_) goto LA29_;
13788 goto LA22;
13789 }
13790 LA29_: ;
13791 add__ast_4797(a, x_2);
13792 i_2 += ((NI) 1);
13793 } LA24: ;
13794 }
13795 } LA22: ;
13796 suggestCall__sigmatch_5124(c, a, n, (&outputs));
13797 }
13798 goto LA12_;
13799 LA14_: ;
13800 {
13801 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_3;
13802 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_;
13803 x_3 = safeSemExpr__sigmatch_6411(c, n);
13804 {
13805 NIM_BOOL T36_;
13806 T36_ = (NIM_BOOL)0;
13807 T36_ = ((*x_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
13808 if (T36_) goto LA37_;
13809 T36_ = ((*x_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13810 LA37_: ;
13811 if (!T36_) goto LA38_;
13812 x_3 = n;
13813 }
13814 LA38_: ;
13815 suggestVar__sigmatch_5139(c, x_3, (&outputs));
13816 }
13817 goto LA12_;
13818 LA32_: ;
13819 LA12_: ;
13820 }
13821 goto LA5_;
13822 LA10_: ;
13823 LA5_: ;
13824 (*c).compilesContextId -= ((NI) 1);
13825 {
13826 NIM_BOOL T42_;
13827 NI T43_;
13828 T42_ = (NIM_BOOL)0;
13829 T43_ = (outputs ? outputs->Sup.len : 0);
13830 T42_ = (((NI) 0) < T43_);
13831 if (!(T42_)) goto LA44_;
13832 T42_ = ((14 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
13833 LA44_: ;
13834 if (!T42_) goto LA45_;
13835 produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
13836 suggestQuit__msgs_446();
13837 }
13838 LA45_: ;
13839 }BeforeRet_: ;
13840 }
N_NIMCALL(void,suggestExpr__sigmatch_6536)13841 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13842 {
13843 NIM_BOOL T3_;
13844 T3_ = (NIM_BOOL)0;
13845 T3_ = exactEquals__msgs_997((*(*(*c).graph).config).m.trackPos, (*n).info);
13846 if (!T3_) goto LA4_;
13847 suggestExprNoCheck__sigmatch_6450(c, n);
13848 }
13849 LA4_: ;
13850 }
N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg,inCheckpoint__sigmatch_5312)13851 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos) {
13852 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg result;
13853 { result = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0;
13854 {
13855 if (!(current.fileIndex == trackPos.fileIndex)) goto LA3_;
13856 {
13857 NIM_BOOL T7_;
13858 T7_ = (NIM_BOOL)0;
13859 T7_ = (current.line == trackPos.line);
13860 if (!(T7_)) goto LA8_;
13861 T7_ = (((NI16)(current.col - trackPos.col) > 0? ((NI16)(current.col - trackPos.col)) : -((NI16)(current.col - trackPos.col))) < ((NI16) 4));
13862 LA8_: ;
13863 if (!T7_) goto LA9_;
13864 result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 2);
13865 goto BeforeRet_;
13866 }
13867 LA9_: ;
13868 {
13869 if (!((NU16)(trackPos.line) <= (NU16)(current.line))) goto LA13_;
13870 result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 1);
13871 goto BeforeRet_;
13872 }
13873 LA13_: ;
13874 }
13875 LA3_: ;
13876 }BeforeRet_: ;
13877 return result;
13878 }
N_NIMCALL(void,semFinishOperands__sigmatch_4162)13879 N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13880 {
13881 NI i;
13882 NI colontmp_;
13883 NI i_2;
13884 i = (NI)0;
13885 colontmp_ = (NI)0;
13886 colontmp_ = len__ast_3198(n);
13887 i_2 = ((NI) 1);
13888 {
13889 while (1) {
13890 if (!(i_2 < colontmp_)) goto LA3;
13891 i = i_2;
13892 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[i]));
13893 i_2 += ((NI) 1);
13894 } LA3: ;
13895 }
13896 }
13897 }
N_NIMCALL(void,Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)13898 static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op) {
13899 tySequence__0dpGN6F4ocevqUQGsaf41w* a;
13900 NI T1_;
13901 a = (tySequence__0dpGN6F4ocevqUQGsaf41w*)p;
13902 T1_ = (NI)0;
13903 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
13904 nimGCvisit((void*)a->data[T1_].sym, op);
13905 nimGCvisit((void*)a->data[T1_].firstMismatch.formal, op);
13906 nimGCvisit((void*)a->data[T1_].diagnostics, op);
13907 }
13908 }
N_NIMCALL(NimStringDesc *,argTypeToString__sigmatch_362)13909 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
13910 NimStringDesc* result;
13911 result = NIM_NIL;
13912 {
13913 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_;
13914 result = typeToString__types_50((*(*arg)._kind_6.sons->data[((NI) 0)]).typ, prefer);
13915 {
13916 NI i;
13917 NI colontmp_;
13918 NI i_2;
13919 i = (NI)0;
13920 colontmp_ = (NI)0;
13921 colontmp_ = len__ast_3198(arg);
13922 i_2 = ((NI) 1);
13923 {
13924 while (1) {
13925 NimStringDesc* T8_;
13926 if (!(i_2 < colontmp_)) goto LA7;
13927 i = i_2;
13928 result = resizeString(result, 3);
13929 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_96));
13930 T8_ = NIM_NIL;
13931 T8_ = typeToString__types_50((*(*arg)._kind_6.sons->data[i]).typ, prefer);
13932 result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
13933 appendString(result, T8_);
13934 i_2 += ((NI) 1);
13935 } LA7: ;
13936 }
13937 }
13938 }
13939 goto LA1_;
13940 LA3_: ;
13941 {
13942 if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA10_;
13943 result = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_97));
13944 }
13945 goto LA1_;
13946 LA10_: ;
13947 {
13948 result = typeToString__types_50((*arg).typ, prefer);
13949 }
13950 LA1_: ;
13951 return result;
13952 }
N_NIMCALL(NimStringDesc *,describeArgs__sigmatch_384)13953 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
13954 NimStringDesc* result;
13955 { result = NIM_NIL;
13956 result = ((NimStringDesc*) NIM_NIL);
13957 {
13958 NI i;
13959 NI colontmp_;
13960 NI i_2;
13961 i = (NI)0;
13962 colontmp_ = (NI)0;
13963 colontmp_ = len__ast_3198(n);
13964 i_2 = startIdx;
13965 {
13966 while (1) {
13967 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
13968 NimStringDesc* T28_;
13969 if (!(i_2 < colontmp_)) goto LA3;
13970 i = i_2;
13971 arg = (*n)._kind_6.sons->data[i];
13972 {
13973 NimStringDesc* T8_;
13974 if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA6_;
13975 T8_ = NIM_NIL;
13976 T8_ = renderTree__renderer_46((*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], 0);
13977 result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0);
13978 appendString(result, T8_);
13979 result = resizeString(result, 2);
13980 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_95));
13981 {
13982 NIM_BOOL T11_;
13983 T11_ = (NIM_BOOL)0;
13984 T11_ = ((*arg).typ == 0);
13985 if (!(T11_)) goto LA12_;
13986 T11_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
13987 LA12_: ;
13988 if (!T11_) goto LA13_;
13989 arg = (*c).semOperand(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0);
13990 asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*arg).typ);
13991 asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), arg);
13992 }
13993 LA13_: ;
13994 }
13995 goto LA4_;
13996 LA6_: ;
13997 {
13998 {
13999 NIM_BOOL T18_;
14000 T18_ = (NIM_BOOL)0;
14001 T18_ = ((*arg).typ == 0);
14002 if (!(T18_)) goto LA19_;
14003 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)));
14004 LA19_: ;
14005 if (!T18_) goto LA20_;
14006 arg = (*c).semOperand(c, (*n)._kind_6.sons->data[i], 0);
14007 asgnRef((void**) (&(*n)._kind_6.sons->data[i]), arg);
14008 }
14009 LA20_: ;
14010 }
14011 LA4_: ;
14012 {
14013 NIM_BOOL T24_;
14014 T24_ = (NIM_BOOL)0;
14015 T24_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14016 if (!(T24_)) goto LA25_;
14017 T24_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
14018 LA25_: ;
14019 if (!T24_) goto LA26_;
14020 goto BeforeRet_;
14021 }
14022 LA26_: ;
14023 T28_ = NIM_NIL;
14024 T28_ = argTypeToString__sigmatch_362(arg, prefer);
14025 result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0);
14026 appendString(result, T28_);
14027 {
14028 NI T31_;
14029 T31_ = (NI)0;
14030 T31_ = len__ast_3198(n);
14031 if (!!((i == (NI)(T31_ - ((NI) 1))))) goto LA32_;
14032 result = resizeString(result, 2);
14033 appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42));
14034 }
14035 LA32_: ;
14036 i_2 += ((NI) 1);
14037 } LA3: ;
14038 }
14039 }
14040 }BeforeRet_: ;
14041 return result;
14042 }
N_NIMCALL(void,matches__sigmatch_4181)14043 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) {
14044 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
14045 { {
14046 if (!((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA3_;
14047 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1);
14048 unsureAsgnRef((void**) (&(*m).call), n);
14049 goto BeforeRet_;
14050 }
14051 LA3_: ;
14052 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
14053 initIntSet__pureZcollectionsZintsets_238((&marker));
14054 matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker));
14055 {
14056 if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA7_;
14057 goto BeforeRet_;
14058 }
14059 LA7_: ;
14060 {
14061 NI f;
14062 NI colontmp_;
14063 NI i;
14064 f = (NI)0;
14065 colontmp_ = (NI)0;
14066 colontmp_ = len__ast_3198((*(*m).callee).n);
14067 i = ((NI) 1);
14068 {
14069 while (1) {
14070 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
14071 if (!(i < colontmp_)) goto LA11;
14072 f = i;
14073 formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym;
14074 {
14075 NIM_BOOL T14_;
14076 T14_ = (NIM_BOOL)0;
14077 T14_ = containsOrIncl__astalgo_402((&marker), (*formal).position);
14078 if (!!(T14_)) goto LA15_;
14079 {
14080 if (!((*formal).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA19_;
14081 {
14082 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw cnKind;
14083 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container;
14084 tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
14085 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
14086 if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA23_;
14087 {
14088 NIM_BOOL T27_;
14089 T27_ = (NIM_BOOL)0;
14090 T27_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
14091 if (!(T27_)) goto LA28_;
14092 T27_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
14093 LA28_: ;
14094 if (!T27_) goto LA29_;
14095 cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152);
14096 }
14097 goto LA25_;
14098 LA29_: ;
14099 {
14100 cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41);
14101 }
14102 LA25_: ;
14103 T32_ = NIM_NIL;
14104 T32_ = arrayConstr__sigmatch_3725(c, (*n).info);
14105 container = newNodeIT__ast_3378(cnKind, (*n).info, T32_);
14106 T33_ = NIM_NIL;
14107 T33_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c);
14108 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T33_);
14109 }
14110 goto LA21_;
14111 LA23_: ;
14112 {
14113 (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
14114 (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5);
14115 unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal);
14116 goto LA9;
14117 }
14118 LA21_: ;
14119 }
14120 goto LA17_;
14121 LA19_: ;
14122 {
14123 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
14124 {
14125 NimStringDesc* T40_;
14126 if (!((*(*formal).ast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
14127 T40_ = NIM_NIL;
14128 T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_98), (*(*formal).name).s);
14129 liMessage__msgs_1118((*(*c).graph).config, (*(*m).call).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_99, NIM_FALSE);
14130 }
14131 LA38_: ;
14132 {
14133 if (!(((*(*formal).ast).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA43_;
14134 (*(*m).call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
14135 }
14136 LA43_: ;
14137 defaultValue = copyTree__ast_4431((*formal).ast);
14138 {
14139 if (!((*defaultValue).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA47_;
14140 defaultValue = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, defaultValue, (&(*m)), c);
14141 }
14142 LA47_: ;
14143 {
14144 tyObject_TType__facALICuu8zUj0hjvbTLFg* existing;
14145 RootObj* T53_;
14146 if (!!(((100663296 & (*(*formal).typ).flags) == 0))) goto LA51_;
14147 T53_ = NIM_NIL;
14148 T53_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*formal).typ)))));
14149 existing = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T53_));
14150 {
14151 NIM_BOOL T56_;
14152 T56_ = (NIM_BOOL)0;
14153 T56_ = (existing == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
14154 if (T56_) goto LA57_;
14155 T56_ = ((*existing).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
14156 LA57_: ;
14157 if (!T56_) goto LA58_;
14158 put__sigmatch_120(m, (*formal).typ, (*defaultValue).typ);
14159 }
14160 LA58_: ;
14161 }
14162 LA51_: ;
14163 (*defaultValue).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18)) & 31);
14164 setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), defaultValue);
14165 }
14166 LA17_: ;
14167 }
14168 LA15_: ;
14169 i += ((NI) 1);
14170 } LA11: ;
14171 }
14172 } LA9: ;
14173 {
14174 if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA62_;
14175 {
14176 tyObject_TType__facALICuu8zUj0hjvbTLFg** t;
14177 NI i_2;
14178 NI L;
14179 NI T65_;
14180 t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
14181 i_2 = ((NI) 0);
14182 T65_ = ((*m).inferredTypes ? (*m).inferredTypes->Sup.len : 0);
14183 L = T65_;
14184 {
14185 while (1) {
14186 if (!(i_2 < L)) goto LA67;
14187 t = &(*m).inferredTypes->data[i_2];
14188 {
14189 NI T70_;
14190 T70_ = (NI)0;
14191 T70_ = len__ast_4002((*t));
14192 if (!(((NI) 1) < T70_)) goto LA71_;
14193 asgnRef((void**) (&(*(*t)).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*(*t)).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) 1)));
14194 }
14195 LA71_: ;
14196 i_2 += ((NI) 1);
14197 } LA67: ;
14198 }
14199 }
14200 }
14201 LA62_: ;
14202 }BeforeRet_: ;
14203 }
N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw,cmpTypes__sigmatch_3047)14204 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) {
14205 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result;
14206 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14207 result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14208 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14209 newCandidate__sigmatch_195(c, f, (&m));
14210 result = typeRel__sigmatch_202((&m), f, a, 0);
14211 return result;
14212 }
N_NIMCALL(void,suggestStmt__sigmatch_6552)14213 N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14214 suggestExpr__sigmatch_6536(c, n);
14215 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instTypeBoundOp__sigmatch_4327)14216 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) {
14217 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
14218 tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14219 tyObject_TType__facALICuu8zUj0hjvbTLFg* f;
14220 { result = NIM_NIL;
14221 nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14222 newCandidate__sigmatch_195(c, (*dc).typ, (&m));
14223 {
14224 NI T3_;
14225 NimStringDesc* T6_;
14226 T3_ = (NI)0;
14227 T3_ = len__ast_4002((*dc).typ);
14228 if (!(T3_ <= col)) goto LA4_;
14229 T6_ = NIM_NIL;
14230 T6_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14231 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14232 appendString(T6_, (*(*dc).name).s);
14233 appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14234 liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_101, NIM_FALSE);
14235 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
14236 goto BeforeRet_;
14237 }
14238 LA4_: ;
14239 f = (*(*dc).typ).sons->data[col];
14240 {
14241 if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA9_;
14242 {
14243 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA13_;
14244 f = lastSon__ast_3743(f);
14245 }
14246 LA13_: ;
14247 }
14248 goto LA7_;
14249 LA9_: ;
14250 {
14251 {
14252 if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA18_;
14253 f = lastSon__ast_3743(f);
14254 }
14255 LA18_: ;
14256 }
14257 LA7_: ;
14258 {
14259 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T22_;
14260 NimStringDesc* T25_;
14261 T22_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
14262 T22_ = typeRel__sigmatch_202((&m), f, t, 0);
14263 if (!(T22_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA23_;
14264 T25_ = NIM_NIL;
14265 T25_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22);
14266 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100));
14267 appendString(T25_, (*(*dc).name).s);
14268 appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19));
14269 liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_102, NIM_FALSE);
14270 }
14271 goto LA20_;
14272 LA23_: ;
14273 {
14274 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);
14275 {
14276 if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA29_;
14277 }
14278 LA29_: ;
14279 }
14280 LA20_: ;
14281 }BeforeRet_: ;
14282 return result;
14283 }
N_NIMCALL(void,suggestSentinel__sigmatch_6567)14284 N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
14285 tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs;
14286 { {
14287 NIM_BOOL T3_;
14288 T3_ = (NIM_BOOL)0;
14289 T3_ = !(((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1)));
14290 if (T3_) goto LA4_;
14291 T3_ = !(((*(*c).module).position == ((NI) ((*(*(*c).graph).config).m.trackPos.fileIndex))));
14292 LA4_: ;
14293 if (!T3_) goto LA5_;
14294 goto BeforeRet_;
14295 }
14296 LA5_: ;
14297 {
14298 if (!(((NI) 0) < (*c).compilesContextId)) goto LA9_;
14299 goto BeforeRet_;
14300 }
14301 LA9_: ;
14302 (*c).compilesContextId += ((NI) 1);
14303 outputs = NIM_NIL;
14304 {
14305 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
14306 NI scopeN;
14307 NIM_BOOL isLocal;
14308 NIM_BOOL isLocal_2;
14309 NI scopeN_2;
14310 it = NIM_NIL;
14311 scopeN = (NI)0;
14312 isLocal = (NIM_BOOL)0;
14313 isLocal_2 = NIM_TRUE;
14314 scopeN_2 = ((NI) 0);
14315 {
14316 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
14317 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
14318 scope = NIM_NIL;
14319 current = (*c).currentScope;
14320 {
14321 while (1) {
14322 if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA14;
14323 scope = current;
14324 {
14325 if (!(scope == (*c).topLevelScope)) goto LA17_;
14326 isLocal_2 = NIM_FALSE;
14327 }
14328 LA17_: ;
14329 scopeN_2 -= ((NI) 1);
14330 {
14331 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item;
14332 tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2;
14333 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
14334 item = NIM_NIL;
14335 nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg));
14336 s = initTabIter__astalgo_3777((&it_2), (*scope).symbols);
14337 {
14338 while (1) {
14339 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_;
14340 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm;
14341 if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21;
14342 item = s;
14343 nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14344 colontmp_.Field0 = item;
14345 colontmp_.Field1 = scopeN_2;
14346 colontmp_.Field2 = isLocal_2;
14347 it = colontmp_.Field0;
14348 scopeN = colontmp_.Field1;
14349 isLocal = colontmp_.Field2;
14350 pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14351 {
14352 NIM_BOOL T24_;
14353 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T27_;
14354 NI T28_;
14355 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T29_;
14356 NI T30_;
14357 T24_ = (NIM_BOOL)0;
14358 T24_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm));
14359 if (!T24_) goto LA25_;
14360 T27_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14361 T28_ = (NI)0;
14362 T28_ = getQuality__sigmatch_5002(it);
14363 T29_ = NIM_NIL;
14364 T29_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T27_, T28_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14365 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14366 T30_ = outputs->Sup.len++;
14367 asgnRef((void**) (&outputs->data[T30_]), T29_);
14368 }
14369 LA25_: ;
14370 s = nextIter__astalgo_3762((&it_2), (*scope).symbols);
14371 } LA21: ;
14372 }
14373 }
14374 current = (*current).parent;
14375 } LA14: ;
14376 }
14377 }
14378 scopeN_2 -= ((NI) 1);
14379 isLocal_2 = NIM_FALSE;
14380 {
14381 tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im;
14382 NI i;
14383 NI L;
14384 NI T32_;
14385 im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0;
14386 i = ((NI) 0);
14387 T32_ = ((*c).imports ? (*c).imports->Sup.len : 0);
14388 L = T32_;
14389 {
14390 while (1) {
14391 if (!(i < L)) goto LA34;
14392 im = (&(*c).imports->data[i]);
14393 {
14394 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
14395 NIM_BOOL importHidden;
14396 s_2 = NIM_NIL;
14397 importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
14398 {
14399 NIM_BOOL T38_;
14400 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
14401 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
14402 T38_ = (NIM_BOOL)0;
14403 T38_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m);
14404 if (!T38_) goto LA39_;
14405 nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
14406 r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden);
14407 {
14408 while (1) {
14409 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2;
14410 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2;
14411 if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA42;
14412 s_2 = r;
14413 nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14414 colontmp__2.Field0 = s_2;
14415 colontmp__2.Field1 = scopeN_2;
14416 colontmp__2.Field2 = isLocal_2;
14417 it = colontmp__2.Field0;
14418 scopeN = colontmp__2.Field1;
14419 isLocal = colontmp__2.Field2;
14420 pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14421 {
14422 NIM_BOOL T45_;
14423 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T48_;
14424 NI T49_;
14425 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T50_;
14426 NI T51_;
14427 T45_ = (NIM_BOOL)0;
14428 T45_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2));
14429 if (!T45_) goto LA46_;
14430 T48_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14431 T49_ = (NI)0;
14432 T49_ = getQuality__sigmatch_5002(it);
14433 T50_ = NIM_NIL;
14434 T50_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T48_, T49_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14435 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14436 T51_ = outputs->Sup.len++;
14437 asgnRef((void**) (&outputs->data[T51_]), T50_);
14438 }
14439 LA46_: ;
14440 r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
14441 } LA42: ;
14442 }
14443 }
14444 goto LA36_;
14445 LA39_: ;
14446 {
14447 {
14448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3;
14449 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3;
14450 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
14451 NI i_2;
14452 NI L_2;
14453 NI T58_;
14454 s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
14455 colontmp__3 = NIM_NIL;
14456 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf);
14457 {
14458 if (!importHidden) goto LA56_;
14459 retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden);
14460 }
14461 LA56_: ;
14462 colontmp__3 = (*retX60gensym17_).data;
14463 i_2 = ((NI) 0);
14464 T58_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
14465 L_2 = T58_;
14466 {
14467 while (1) {
14468 if (!(i_2 < L_2)) goto LA60;
14469 s_3 = &colontmp__3->data[i_2];
14470 {
14471 tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4;
14472 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3;
14473 if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_;
14474 s_2 = (*s_3);
14475 nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw));
14476 colontmp__4.Field0 = s_2;
14477 colontmp__4.Field1 = scopeN_2;
14478 colontmp__4.Field2 = isLocal_2;
14479 it = colontmp__4.Field0;
14480 scopeN = colontmp__4.Field1;
14481 isLocal = colontmp__4.Field2;
14482 pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0;
14483 {
14484 NIM_BOOL T67_;
14485 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T70_;
14486 NI T71_;
14487 tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T72_;
14488 NI T73_;
14489 T67_ = (NIM_BOOL)0;
14490 T67_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3));
14491 if (!T67_) goto LA68_;
14492 T70_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1));
14493 T71_ = (NI)0;
14494 T71_ = getQuality__sigmatch_5002(it);
14495 T72_ = NIM_NIL;
14496 T72_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T70_, T71_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE);
14497 outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_));
14498 T73_ = outputs->Sup.len++;
14499 asgnRef((void**) (&outputs->data[T73_]), T72_);
14500 }
14501 LA68_: ;
14502 }
14503 LA63_: ;
14504 i_2 += ((NI) 1);
14505 } LA60: ;
14506 }
14507 }
14508 }
14509 LA36_: ;
14510 }
14511 i += ((NI) 1);
14512 } LA34: ;
14513 }
14514 }
14515 }
14516 (*c).compilesContextId -= ((NI) 1);
14517 produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config);
14518 }BeforeRet_: ;
14519 }
N_NIMCALL(void,compiler_sigmatchDatInit000)14520 N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void) {
14521 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[2];
14522 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[5];
14523 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[2];
14524 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[24];
14525 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[3];
14526 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14527 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[3] = {
14528 "csEmpty",
14529 "csMatch",
14530 "csNoMatch"};
14531 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[3];
14532 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[8];
14533 NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14534 static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[8] = {
14535 "kUnknown",
14536 "kAlreadyGiven",
14537 "kUnknownNamedParam",
14538 "kTypeMismatch",
14539 "kVarNeeded",
14540 "kMissingParam",
14541 "kExtraArg",
14542 "kPositionalAlreadyGiven"};
14543 static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[4];
14544 static TNimNode TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[59];
14545 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14546 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ);
14547 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.kind = 17;
14548 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14549 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1];
14550 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].kind = 1;
14551 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, colonstate_);
14552 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14553 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].name = ":state";
14554 TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2];
14555 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].kind = 1;
14556 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, line1);
14557 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14558 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].name = "line1";
14559 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0];
14560 NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0];
14561 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14562 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*);
14563 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.kind = 22;
14564 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.base = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_);
14565 NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.marker = Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA;
14566 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14567 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA);
14568 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.kind = 17;
14569 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
14570 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4];
14571 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].kind = 1;
14572 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, colonstate_);
14573 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
14574 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].name = ":state";
14575 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5];
14576 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].kind = 1;
14577 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, errorPrefix1);
14578 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
14579 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].name = "errorPrefix1";
14580 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6];
14581 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].kind = 1;
14582 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, typeClass2);
14583 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14584 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].name = "typeClass2";
14585 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7];
14586 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].kind = 1;
14587 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, oldWriteHook3);
14588 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].typ = (&NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_);
14589 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].name = "oldWriteHook3";
14590 TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8];
14591 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].kind = 1;
14592 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, diagnostics4);
14593 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14594 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].name = "diagnostics4";
14595 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].len = 5; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0];
14596 NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3];
14597 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14598 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*);
14599 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.kind = 22;
14600 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.base = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_);
14601 NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.marker = Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg;
14602 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.size = sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14603 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.align = NIM_ALIGNOF(tyTuple__Qqa8F49azZNOOP4FK3LKbhw);
14604 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.kind = 18;
14605 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.base = 0;
14606 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10];
14607 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].kind = 1;
14608 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field0);
14609 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14610 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].name = "Field0";
14611 TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11];
14612 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].kind = 1;
14613 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field1);
14614 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14615 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].name = "Field1";
14616 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0];
14617 NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9];
14618 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.size = sizeof(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14619 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.align = NIM_ALIGNOF(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*);
14620 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.kind = 24;
14621 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.base = (&NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_);
14622 NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.marker = Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ;
14623 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.size = sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14624 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.align = NIM_ALIGNOF(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA);
14625 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.kind = 18;
14626 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.base = 0;
14627 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13];
14628 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].kind = 1;
14629 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, c);
14630 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
14631 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].name = "c";
14632 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14];
14633 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].kind = 1;
14634 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, exactMatches);
14635 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14636 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].name = "exactMatches";
14637 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15];
14638 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].kind = 1;
14639 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericMatches);
14640 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14641 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].name = "genericMatches";
14642 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16];
14643 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].kind = 1;
14644 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, subtypeMatches);
14645 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14646 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].name = "subtypeMatches";
14647 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17];
14648 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].kind = 1;
14649 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, intConvMatches);
14650 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14651 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].name = "intConvMatches";
14652 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[5] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18];
14653 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].kind = 1;
14654 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, convMatches);
14655 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14656 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].name = "convMatches";
14657 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[6] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19];
14658 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.size = sizeof(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14659 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.align = NIM_ALIGNOF(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg);
14660 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.kind = 14;
14661 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.base = 0;
14662 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.flags = 3;
14663 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 < 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71++) {
14664 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].kind = 1;
14665 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_71;
14666 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71];
14667 TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20];
14668 }
14669 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[0];
14670 NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23];
14671 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].kind = 1;
14672 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, state);
14673 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].typ = (&NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_);
14674 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].name = "state";
14675 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[7] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24];
14676 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].kind = 1;
14677 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, callee);
14678 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
14679 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].name = "callee";
14680 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[8] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25];
14681 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].kind = 1;
14682 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeSym);
14683 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14684 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].name = "calleeSym";
14685 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[9] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26];
14686 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].kind = 1;
14687 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeScope);
14688 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14689 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].name = "calleeScope";
14690 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[10] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27];
14691 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].kind = 1;
14692 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, call);
14693 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
14694 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].name = "call";
14695 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[11] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28];
14696 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].kind = 1;
14697 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, bindings);
14698 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_);
14699 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].name = "bindings";
14700 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[12] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29];
14701 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].kind = 1;
14702 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, magic);
14703 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].typ = (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_);
14704 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].name = "magic";
14705 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[13] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30];
14706 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].kind = 1;
14707 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, baseTypeMatch);
14708 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14709 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].name = "baseTypeMatch";
14710 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[14] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31];
14711 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].kind = 1;
14712 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, fauxMatch);
14713 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].typ = (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_);
14714 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].name = "fauxMatch";
14715 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[15] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32];
14716 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].kind = 1;
14717 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericConverter);
14718 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14719 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].name = "genericConverter";
14720 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[16] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33];
14721 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].kind = 1;
14722 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, coerceDistincts);
14723 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14724 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].name = "coerceDistincts";
14725 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[17] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34];
14726 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].kind = 1;
14727 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, typedescMatched);
14728 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14729 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].name = "typedescMatched";
14730 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[18] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35];
14731 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].kind = 1;
14732 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, isNoCall);
14733 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14734 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].name = "isNoCall";
14735 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[19] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36];
14736 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].kind = 1;
14737 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inferredTypes);
14738 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].typ = (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_);
14739 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].name = "inferredTypes";
14740 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[20] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37];
14741 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].kind = 1;
14742 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnostics);
14743 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14744 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].name = "diagnostics";
14745 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[21] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38];
14746 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].kind = 1;
14747 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inheritancePenalty);
14748 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14749 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].name = "inheritancePenalty";
14750 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[22] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39];
14751 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.size = sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14752 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.align = NIM_ALIGNOF(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ);
14753 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.kind = 18;
14754 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.base = 0;
14755 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41];
14756 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.size = sizeof(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14757 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.align = NIM_ALIGNOF(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w);
14758 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.kind = 14;
14759 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.base = 0;
14760 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.flags = 3;
14761 for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 < 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75++) {
14762 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].kind = 1;
14763 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_75;
14764 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75];
14765 TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42];
14766 }
14767 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].len = 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[0];
14768 NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50];
14769 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].kind = 1;
14770 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, kind);
14771 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].typ = (&NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_);
14772 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].name = "kind";
14773 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51];
14774 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].kind = 1;
14775 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, arg);
14776 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
14777 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].name = "arg";
14778 TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52];
14779 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].kind = 1;
14780 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, formal);
14781 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14782 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].name = "formal";
14783 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0];
14784 NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40];
14785 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].kind = 1;
14786 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, firstMismatch);
14787 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14788 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].name = "firstMismatch";
14789 TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[23] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53];
14790 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].kind = 1;
14791 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnosticsEnabled);
14792 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14793 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].name = "diagnosticsEnabled";
14794 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].len = 24; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0];
14795 NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12];
14796 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.size = sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14797 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.align = NIM_ALIGNOF(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ);
14798 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.kind = 18;
14799 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.base = 0;
14800 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55];
14801 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].kind = 1;
14802 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, sym);
14803 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
14804 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].name = "sym";
14805 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56];
14806 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].kind = 1;
14807 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, firstMismatch);
14808 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_);
14809 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].name = "firstMismatch";
14810 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57];
14811 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].kind = 1;
14812 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, diagnostics);
14813 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_);
14814 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].name = "diagnostics";
14815 TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58];
14816 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].kind = 1;
14817 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, enabled);
14818 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
14819 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].name = "enabled";
14820 TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].len = 4; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0];
14821 NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54];
14822 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.size = sizeof(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14823 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.align = NIM_ALIGNOF(tySequence__0dpGN6F4ocevqUQGsaf41w*);
14824 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.kind = 24;
14825 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.base = (&NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_);
14826 NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.marker = Marker_tySequence__0dpGN6F4ocevqUQGsaf41w;
14827 }
14828
14829