/* Generated by Nim Compiler v1.6.2 */ #define NIM_INTBITS 32 #include "nimbase.h" #include #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug; typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw; typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q; typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w; typedef struct RootObj RootObj; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q; typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg; typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ; typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw; typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ; typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ; typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg; typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ; typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA; typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q; typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA; typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg; typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA; typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA; typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w; typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA; typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw; typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw; typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA; typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw; typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA; typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w; typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw; typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w; typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw; typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ; typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA; typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ; typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA; typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA; typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw; typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg; typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg; typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw; typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ; typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw; typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w; typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg; typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw; typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg; typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA; typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw; typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ; typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA; typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg; typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA; typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg; typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ; typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg; typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA; typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw; typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA; typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw; typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA; typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q; typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ; typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA; typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA; typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg; typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA; typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg; typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw; typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ; typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA; typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw; typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg; typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A; typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA; typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ; typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg; typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ; typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q; typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw; typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ; typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig; typedef struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ tySequence__i7xpiUsxyv6cQ1xK3JbcGQ; typedef struct Exception Exception; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct TSafePoint TSafePoint; typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g; typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w; typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ; typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA; typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg; typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ; typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg; typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw; typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA; typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw; typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw; typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg; typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg; typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg; typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ; typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg; typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w; typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g; typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA; typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA; typedef struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg; typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA; typedef struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ; typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A; typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w; typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ; typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA; typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA; typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw; typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA; typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg; typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg; typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA; typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew; typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg; typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ; typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g; typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw; typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA; typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg; typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ; typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ; typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g; typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw; typedef struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg; typedef struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw; typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw; typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA; typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw; typedef struct tyTuple__8bH5UHA9aimOFoSY4U42gzw tyTuple__8bH5UHA9aimOFoSY4U42gzw; typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ; typedef struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA; typedef struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ; typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA; typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w; typedef struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA; typedef struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA; typedef struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ tySequence__bGUffHlsVXt0g6ZKEF4OfQ; typedef struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw tyTuple__Qqa8F49azZNOOP4FK3LKbhw; typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw; typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ; typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ; typedef struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ; typedef struct tySequence__0dpGN6F4ocevqUQGsaf41w tySequence__0dpGN6F4ocevqUQGsaf41w; typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w; typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg; typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ; typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA; typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag; typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw; typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw; typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw; typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q; typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ; typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ; typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA; typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg; typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ; typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ; typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg; typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA; typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg; typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA; typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q; typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg; typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g; typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ; typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA; typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA; typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw; typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA; typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q; typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ; typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A; typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ; typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw; typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw; typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg; typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw; typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg; typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g; typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ; typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA; typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw; typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw; typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q; typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow; typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg; typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ; typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA; typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg; typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw; typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA; typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA; typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA; typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw; typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw; typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA; typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ; typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA; struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q { NU16 line; NI16 col; NI32 fileIndex; }; typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op); typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p); struct TNimType { NI size; NI align; tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind; tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags; TNimType* base; TNimNode* node; void* finalizer; tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct RootObj { TNimType* m_type; }; struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w { RootObj Sup; tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen; }; typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38]; struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q { NI counter; tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data; }; typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ; typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t); typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0); void* ClE_0; } tyProc__7JwrY3AhkVNlleAJXClX9cw; typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw; 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); typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev); typedef struct { N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0); void* ClE_0; } tyProc__3cacbJ4la9bDJNibHybQSnA; typedef struct { 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); void* ClE_0; } tyProc__fMj9boIZZOt9cLWRnD3rtKhA; typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34]; struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA { NI elems; NI counter; NI max; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head; tySequence__Bre9bNyuQOg1EJKitjSzn8w* data; tyArray__emiAJ8okywrJw7ZHLzlXbQ a; }; struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA { NI counter; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data; }; typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg; 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); struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ; struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w { tySequence__Bis5AbpONWcIRrPyPJS8Yw* data; NI counter; }; struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w { tySequence__E8pi9b5QNahsURYzXMjh3qw* data; NI counter; }; struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ { tySequence__Hkw5zrAn53wlKDHdJF1GFA* data; NI counter; }; struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug { tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup; tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext; tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope; tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope; tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p; tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache; tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache; tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules; NI instCounter; NI* templInstCounter; NI inGenericContext; NI inStaticContext; NI inUnrolledContext; NI compilesContextId; NI compilesContextIdGenerator; NI inGenericInst; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns; tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack; tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping; tySequence__arD7Tw6eD6lvOczWZl9buNg* libs; tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr; tyProc__39auogS0nN05zO6JrT7za9cQ semExpr; tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr; tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr; tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit; tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs; tyProc__39auogS0nN05zO6JrT7za9cQ semOperand; tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr; tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall; tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode; tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda; tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas; tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents; tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics; NI topStmts; NI lastGenericIdx; NI hloLoopDetector; NI inParallelStmt; tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName; tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache; tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures; NimStringDesc* recursiveDep; NIM_BOOL suggestionsMade; NIM_BOOL isAmbiguous; tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features; NI inTypeContext; NI inConceptDecl; tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports; tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections; tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo; tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects; NI inUncheckedAssignSection; }; struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw { tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data; NI counter; }; struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg { tySequence__mWRMiYLthG9coLjkbElCxkw* data; NI counter; }; struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ { tySequence__bTDCDwD2P7TodzbAefLcSw* data; NI counter; }; typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5]; struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w { tySequence__3MPVXAHA08SszBrU4ffqEg* data; NI counter; }; struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw { tySequence__YCf5zJHm4JI06qpmKwPUWg* data; NI counter; }; struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA { tySequence__7lEisrXlQEzwtUKW5pzRCw* data; NI counter; }; typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g; typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw; typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA; typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg; typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw; struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ { tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend; tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC; tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler; tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options; tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions; }; struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA { tySequence__61s9cbAniKuBrdHwBhMDfQg* data; NI counter; }; struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA { tySequence__fdmz6VkIf1ewwrssKYqRFg* data; NI counter; }; struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ { tySequence__kxu4GK0onha2t9bo86mdVAg* data; NI counter; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0); void* ClE_0; } tyProc__In3g79a0qTcRmbTbJp9ba9ctg; typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65]; struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw { tySequence__1U9bG8RcAedEeYkQLZjVFKA* data; NI counter; }; struct tyObject_Table__G1v8c16HePOldLeucwe05Q { tySequence__fIB1rTQ55aFonoft9a9bmljQ* data; NI counter; }; typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx); typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx); struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA { tySequence__23SMqauuRsbDANhthj9bWlA* data; NI counter; }; struct tyObject_Table__NttoEzoiq5CiphZe81oadg { tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data; NI counter; }; struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg { tySequence__pHNq3oXj9av2sEUdqaqeZjw* data; NI counter; }; typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual); struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen; }; struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ { tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces; tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0; tySequence__XMM60DtBsc6xYsIpNANkrA* encoders; tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache; tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache; tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps; tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType; tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs; tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo; tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms; tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps; tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps; NIM_BOOL suggestMode; NIM_BOOL invalidTransitiveClosure; tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod; tySequence__48JTohSgTy339bRxHzUD8KA* importStack; RootObj* backend; tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config; tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache; RootObj* vm; tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners; tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule; tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode; tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes; tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes; tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback; tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback; tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs; tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters; tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables; tySequence__MAQKEADohlpnXTModtugbQ* passes; tyProc__TjycsqkDBjsxd4da6KYTng onDefinition; tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward; tyProc__TjycsqkDBjsxd4da6KYTng onUsage; tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors; tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck; tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps; tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen; tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators; }; typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag; typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ; struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw { tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU; tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU; tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS; tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS; NI intSize; NI floatSize; NI ptrSize; NimStringDesc* tnl; }; typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA; struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos; NIM_BOOL trackPosAttached; tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs; tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError; tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl; tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos; NI32 systemFileIdx; }; typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ; typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA; typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ; typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ; struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg { tySequence__4eRCaZmrYLLw2k30GPTiMw* data; NI counter; }; typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA; typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ; typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11]; struct tyTuple__47w2DboNEPf69aPgubZdd7Q { NI Field0; NI Field1; NI Field2; }; typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug; typedef struct { N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0); void* ClE_0; } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA; typedef struct { N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0); void* ClE_0; } tyProc__k2HFjxisIgDALbEUFojxaQ; typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA; typedef struct { N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0); void* ClE_0; } tyProc__oL9coyIA2VDTGdUcur9aL9bew; struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw { tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend; tyObject_Target__9abOl5DLX8suLujOaHSvGzw target; NI linesCompiled; tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options; tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand; tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m; tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption; NimStringDesc* unitSep; NI evalTemplateCounter; NI evalMacroCounter; NI8 exitcode; tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd; NimStringDesc* cmdInput; NIM_BOOL projectIsCmd; NIM_BOOL implicitCmd; tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC; tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc; NIM_BOOL hintProcessingDots; NI verbosity; NI numberOfProcessors; NF lastCmdTime; tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles; NI spellSuggestMax; tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines; NimStringDesc* headerFile; tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features; tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures; NimStringDesc* arguments; tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd; NIM_BOOL oldNewlines; tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors; tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes; NI mainPackageId; NI errorCounter; NI hintCounter; NI warnCounter; NI errorMax; NI maxLoopIterationsVM; NIM_BOOL isVmTrace; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths; NimStringDesc* outFile; NimStringDesc* outDir; NimStringDesc* jsonBuildFile; NimStringDesc* prefixDir; NimStringDesc* libpath; NimStringDesc* nimcacheDir; tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions; NimStringDesc* projectName; NimStringDesc* projectPath; NimStringDesc* projectFull; NIM_BOOL projectIsStdin; tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot; NI32 projectMainIdx; NI32 projectMainIdx2; NimStringDesc* command; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs; NimStringDesc* commandLine; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds; NIM_BOOL keepComments; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes; NimStringDesc* docSeeSrcUrl; NimStringDesc* docRoot; NimStringDesc* docCmd; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink; NimStringDesc* linkOptionsCmd; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd; NimStringDesc* linkOptions; NimStringDesc* compileOptions; NimStringDesc* cCompilerPath; tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile; tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook; NI suggestVersion; NI suggestMaxResults; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo; tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook; tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook; NimStringDesc* cppCustomNamespace; NimStringDesc* nimMainPrefix; tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData; }; typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg; typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw; struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw { tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags; tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intVal; } _kind_1; struct {NF floatVal; } _kind_2; struct {NimStringDesc* strVal; } _kind_3; struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; } _kind_4; struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident; } _kind_5; struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } _kind_6; }; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringDesc* message; tySequence__uB9b75OUPRENsBAu4AnoePA* trace; Exception* up; }; struct TSafePoint { TSafePoint* prev; NI status; jmp_buf context; }; typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ; struct TNimNode { tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct tyObject_GcStack__7fytPA5bBsob6See21YMRA { void* bottom; }; struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256]; typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24]; typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32]; typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24]; typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256]; struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA { tyArray__lh2A89ahMmYg9bCmpVaplLbA data; }; typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2]; struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw { tyArray__0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperBound; NI level; }; struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0; NI Field1; }; typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30]; struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg { NI len; tyArray__LzOv2eCDGiceMKQstCLmhw chunks; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next; }; struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg { NI minLargeObj; NI maxLargeObj; tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks; NU32 flBitmap; tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap; tyArray__B6durA4ZCi1xjJvRtyYxMg matrix; tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem; NI currMem; NI maxMem; NI freeMem; NI occ; NI lastSize; tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes; NIM_BOOL locked; NIM_BOOL blockChunkSizeIncrease; NI nextChunkSize; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks; }; struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg { NI stackScans; NI cycleCollections; NI maxThreshold; NI maxStackSize; NI maxStackCells; NI cycleTableSize; NI64 maxPause; }; struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data; }; struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ { tyObject_GcStack__7fytPA5bBsob6See21YMRA stack; NI cycleThreshold; NI zctThreshold; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack; NI recGcLock; tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region; tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat; tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots; NI gcThreadId; }; typedef NU8 tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q; struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g { NI32 module; NI32 item; }; struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w { RootObj Sup; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId; }; typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw; typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg; typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw; typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg; typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw; typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA; struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA { tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k; tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage; tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode; tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r; }; struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ { tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup; tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind; union{ struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody; } _kind_1; struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard; NI bitsize; NI alignment; } _kind_2; }; tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic; tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner; tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast; tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options; NI position; NI offset; tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc; tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint; }; struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg { NI h; }; struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw { NI depthLevel; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* parent; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* allowPrivateAccess; }; struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA { NI id; NimStringDesc* s; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next; NI h; }; struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ { tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ section; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* qualifiedPath; NimStringDesc** name; NimStringDesc* filePath; NI line; NI column; NimStringDesc* doc; NimStringDesc* forth; NI quality; NIM_BOOL isGlobal; NIM_BOOL contextFits; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q prefix; NU8 symkind; NI scope; NI localUsages; NI globalUsages; NI tokenLen; NI version; }; typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw; typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw; typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32]; struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA { NI a; NI b; }; typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw; struct tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ { RootObj Sup; NI colonstate_; NimStringDesc* line1; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClP_0) (NI col, void* ClE_0); void* ClE_0; } tyProc__cOOsXj9cY0bKt2oqNqLbhZw; typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_5) (NI col); typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_6) (NI col); typedef N_CLOSURE_PTR(NIM_BOOL, TM__EV5hHJmjIY9cla9b9be7fSVJQ_7) (NI col); typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw; struct tyObject_TType__facALICuu8zUj0hjvbTLFg { tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup; tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind; tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv; tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; NI64 size; NI16 align; NI16 paddingAtEnd; NI16 lockLevel; tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc; tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId; }; typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9]; typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg; typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q; struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw { tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes; }; typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g; struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg { tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals; tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys; }; struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ { tySequence__IHUFRsFxZNv7YydiUO2esQ* vals; tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys; }; struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ { NimStringDesc* definedSymbols; tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags; tySequence__PXIzfWocnrafGz5p3CP5LA* includes; tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports; tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay; tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel; tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies; tySequence__b89aLriiJnVTD186H6zNIgg* exports; tySequence__b89aLriiJnVTD186H6zNIgg* hidden; tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports; tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs; tySequence__48JTohSgTy339bRxHzUD8KA* converters; tySequence__48JTohSgTy339bRxHzUD8KA* methods; tySequence__48JTohSgTy339bRxHzUD8KA* trmacros; tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums; tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages; tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache; tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache; tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps; tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType; tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo; tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags; tySequence__DfmUmNgVGnYaiV1I6227tw* syms; tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types; tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings; tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers; tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg; }; struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g { tySequence__9bT7o0CflHuiE4VhmtqBPCw* data; NI counter; }; struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w { tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status; NIM_BOOL symsInit; NIM_BOOL typesInit; NIM_BOOL loadedButAliveSetChanged; tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module; tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface; tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden; }; struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw { NI lastModule; NU32 lastLit; NI32 lastFile; tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config; tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache; }; struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg { tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw decoder; tySequence__vC9cvg0R8tfBaOXXi3sfMzw* values; NI i; NI module; }; struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module; tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters; tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns; tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden; tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName; }; struct tyTuple__8bH5UHA9aimOFoSY4U42gzw { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0; NI Field1; NIM_BOOL Field2; }; typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ; struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m; tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode; union{ struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported; } _mode_2; struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet; } _mode_3; }; }; typedef NU8 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg; typedef NU8 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w; struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ { tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w kind; NI arg; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal; }; struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA { tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c; NI exactMatches; NI genericMatches; NI subtypeMatches; NI intConvMatches; NI convMatches; tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg state; tyObject_TType__facALICuu8zUj0hjvbTLFg* callee; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* calleeSym; NI calleeScope; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call; tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings; tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic; NIM_BOOL baseTypeMatch; tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fauxMatch; NIM_BOOL genericConverter; NIM_BOOL coerceDistincts; NIM_BOOL typedescMatched; NIM_BOOL isNoCall; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* inferredTypes; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics; NI inheritancePenalty; tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch; NIM_BOOL diagnosticsEnabled; }; typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw; typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw; typedef NU8 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg; struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q { NI32 module; NI32 symId; NI32 typeId_0; NIM_BOOL sealed; }; struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg { tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateType; tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prev; NI depth; }; typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4]; struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA { tyArray__FleBT9cC2nxhgiXmSYYnEKA udata; }; typedef NU8 tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg; typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w; typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw; struct tyTuple__kN8up2W6YKc5YA9avn5mV5w { NimStringDesc* Field0; NI Field1; NI Field2; }; typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw; typedef NU8 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA; struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA { tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA Field0; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw Field1; }; typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ; typedef NU8 tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ; struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA { RootObj Sup; NI colonstate_; NimStringDesc* errorPrefix1; tyObject_TType__facALICuu8zUj0hjvbTLFg* typeClass2; tyProc__k2HFjxisIgDALbEUFojxaQ oldWriteHook3; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics4; }; struct tyTuple__Qqa8F49azZNOOP4FK3LKbhw { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0; tyObject_TType__facALICuu8zUj0hjvbTLFg* Field1; }; typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_40) (NimStringDesc* output); typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_47) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); 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); typedef N_CLOSURE_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, TM__EV5hHJmjIY9cla9b9be7fSVJQ_54) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); 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); typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1]; typedef NU8 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag; typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw; typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3]; struct tyTuple__KNXySARiHvEh2wA9asnyYmw { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1; }; struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ { NI Field0; NI Field1; }; struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ { NI Field0; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1; }; typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g; typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2]; typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ; typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2]; typedef struct { N_NIMCALL_PTR(NI, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0); void* ClE_0; } tyProc__pNH4eLNN9aK2oskAhILvUcw; typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA; typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_87) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y); typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_88) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y); typedef N_CLOSURE_PTR(NI, TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* x, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* y, void* ClE_0); typedef N_CLOSURE_PTR(void, TM__EV5hHJmjIY9cla9b9be7fSVJQ_90) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result); typedef NU8 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg; struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics; NIM_BOOL enabled; }; typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw; typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg; 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); struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg { tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key; RootObj* val; }; struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym; tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst; }; struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1; }; struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag { NI Field0; NI Field1; tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2; }; struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q { tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data; NI counter; }; struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw { NI32 thisModule; NI32 lastFile; NU32 lastLit; tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker; tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config; }; struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ { NU32 module; NI32 item; }; struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ { NI module; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0; }; struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg { tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id; tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; }; struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2; }; struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg { NI module; tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym; tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes; tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst; }; struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2; }; struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2; }; struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA { tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; }; struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ { NI Field0; tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1; }; struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2; }; struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2; }; struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw { NI Field0; NimStringDesc* Field1; NI32 Field2; }; struct tyTuple__rplX06U9bjhu9asm5pWdgqsA { NI Field0; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2; }; struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q { NI Field0; NI32 Field1; tySequence__48JTohSgTy339bRxHzUD8KA* Field2; }; struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A { tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1; }; typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16]; struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ { NI Field0; tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1; tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2; }; struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw { NI Field0; NI Field1; tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2; }; struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw { NI Field0; NimStringDesc* Field1; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2; }; struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg { NI Field0; NimStringDesc* Field1; NI64 Field2; }; struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg { tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root; NI entries; }; struct tyTuple__wcNatyuf8WOqAhGLhSvgiw { NI Field0; NimStringDesc* Field1; tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2; }; typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen); typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt); typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ { tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0; tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1; tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2; NIM_BOOL Field3; }; struct tyTuple__z822nu9bFF1AlQnLrHjdwpA { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0; NimStringDesc* Field1; }; struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw { NimStringDesc* fullPath; NimStringDesc* projPath; NimStringDesc* shortName; tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName; tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName; tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines; NimStringDesc* dirtyFile; NimStringDesc* hash; NIM_BOOL dirty; }; struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw { NI Field0; NimStringDesc* Field1; }; typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA; struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg { NimStringDesc* nimname; NimStringDesc* cname; NimStringDesc* obj; tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags; NimStringDesc* customArgs; }; struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q { NU32 Field0; NimStringDesc* Field1; }; struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg { NU16 line; NI16 col; NU32 file; }; struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow { tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind; tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags; NI32 operand; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0; tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info; }; struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ { NU32 Field0; NI32 Field1; }; struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA { NU32 Field0; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1; }; struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg { tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0; tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1; }; struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw { tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1; }; struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA { tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym; tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes; }; struct tyTuple__9aoobCDZB4x41HJSOmh0mwA { tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2; }; struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA { tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0; NI Field1; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2; }; typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ; struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw { tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isOverriden; NU32 name; NI32 path; }; struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw { tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind; NU32 name; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ; tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags; tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic; tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info; NI32 ast; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard; NI bitsize; NI alignment; tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options; NI position; NI offset; NU32 externalName; tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags; tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex; NI32 constraint; }; struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA { tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind; tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv; tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags; tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types; NI32 n; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner; NI64 size; NI16 align; NI16 paddingAtEnd; NI16 lockLevel; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst; NI32 nonUniqueId; }; struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ { NI Field0; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1; tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2; }; struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA { NI Field0; NI32 Field1; NU32 Field2; }; struct tySequence__i7xpiUsxyv6cQ1xK3JbcGQ { TGenericSeq Sup; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* data[SEQ_DECL_SIZE]; }; struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ { TGenericSeq Sup; NimStringDesc* data[SEQ_DECL_SIZE]; }; struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ { TGenericSeq Sup; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE]; }; struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A { TGenericSeq Sup; tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE]; }; struct tySequence__bGUffHlsVXt0g6ZKEF4OfQ { TGenericSeq Sup; tyTuple__Qqa8F49azZNOOP4FK3LKbhw data[SEQ_DECL_SIZE]; }; struct tySequence__xSqu3cxq5WeFlOO3YgE6yA { TGenericSeq Sup; tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE]; }; struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct tySequence__0dpGN6F4ocevqUQGsaf41w { TGenericSeq Sup; tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ data[SEQ_DECL_SIZE]; }; struct tySequence__eiMlYcU7NrAOGD2H36QOOQ { TGenericSeq Sup; tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE]; }; struct tySequence__oYkV9aFZe0MXcEAprJaOUsA { TGenericSeq Sup; tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE]; }; struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA { TGenericSeq Sup; tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE]; }; struct tySequence__arD7Tw6eD6lvOczWZl9buNg { TGenericSeq Sup; tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE]; }; struct tySequence__Bre9bNyuQOg1EJKitjSzn8w { TGenericSeq Sup; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE]; }; struct tySequence__jWKvSdankQPoT5bw9cBU9aiw { TGenericSeq Sup; tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE]; }; struct tySequence__Bis5AbpONWcIRrPyPJS8Yw { TGenericSeq Sup; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE]; }; struct tySequence__E8pi9b5QNahsURYzXMjh3qw { TGenericSeq Sup; tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE]; }; struct tySequence__vGU8AyGT6KxtLJwEg0BpNw { TGenericSeq Sup; tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE]; }; struct tySequence__Hkw5zrAn53wlKDHdJF1GFA { TGenericSeq Sup; tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE]; }; struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ { TGenericSeq Sup; tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE]; }; struct tySequence__rQHmYk1HzcwNxKBymIFHpA { TGenericSeq Sup; tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE]; }; struct tySequence__XMM60DtBsc6xYsIpNANkrA { TGenericSeq Sup; tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE]; }; struct tySequence__O5RcspOP32YJ4YtU5ppxxA { TGenericSeq Sup; tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE]; }; struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg { TGenericSeq Sup; tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE]; }; struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA { TGenericSeq Sup; tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE]; }; struct tySequence__mWRMiYLthG9coLjkbElCxkw { TGenericSeq Sup; tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE]; }; struct tySequence__bTDCDwD2P7TodzbAefLcSw { TGenericSeq Sup; tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE]; }; struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g { TGenericSeq Sup; tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE]; }; struct tySequence__3MPVXAHA08SszBrU4ffqEg { TGenericSeq Sup; tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE]; }; struct tySequence__YCf5zJHm4JI06qpmKwPUWg { TGenericSeq Sup; tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE]; }; struct tySequence__7lEisrXlQEzwtUKW5pzRCw { TGenericSeq Sup; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; }; struct tySequence__61s9cbAniKuBrdHwBhMDfQg { TGenericSeq Sup; tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE]; }; struct tySequence__48JTohSgTy339bRxHzUD8KA { TGenericSeq Sup; NI32 data[SEQ_DECL_SIZE]; }; struct tySequence__fdmz6VkIf1ewwrssKYqRFg { TGenericSeq Sup; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; }; struct tySequence__kxu4GK0onha2t9bo86mdVAg { TGenericSeq Sup; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; }; struct tySequence__s9byh6WFJ16lPMcmqdaMTHA { TGenericSeq Sup; tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE]; }; struct tySequence__1U9bG8RcAedEeYkQLZjVFKA { TGenericSeq Sup; tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE]; }; struct tySequence__fIB1rTQ55aFonoft9a9bmljQ { TGenericSeq Sup; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE]; }; struct tySequence__23SMqauuRsbDANhthj9bWlA { TGenericSeq Sup; tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE]; }; struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA { TGenericSeq Sup; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; }; struct tySequence__pHNq3oXj9av2sEUdqaqeZjw { TGenericSeq Sup; tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE]; }; struct tySequence__MAQKEADohlpnXTModtugbQ { TGenericSeq Sup; tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE]; }; struct tySequence__tNFrR3kRuS1FSwuiLGoSSA { TGenericSeq Sup; tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE]; }; struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ { TGenericSeq Sup; tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE]; }; struct tySequence__4eRCaZmrYLLw2k30GPTiMw { TGenericSeq Sup; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; }; struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw { TGenericSeq Sup; tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE]; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { TGenericSeq Sup; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE]; }; struct tySequence__PXIzfWocnrafGz5p3CP5LA { TGenericSeq Sup; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE]; }; struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA { TGenericSeq Sup; NU32 data[SEQ_DECL_SIZE]; }; struct tySequence__29bS0n2QNyO1R7e0qMMOvLA { TGenericSeq Sup; tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE]; }; struct tySequence__b89aLriiJnVTD186H6zNIgg { TGenericSeq Sup; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE]; }; struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg { TGenericSeq Sup; tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE]; }; struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA { TGenericSeq Sup; tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE]; }; struct tySequence__NyaOkf8ZwxP6rkRF5TOkew { TGenericSeq Sup; tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE]; }; struct tySequence__L9bOt8CaTEmIjgtuZvp6syg { TGenericSeq Sup; tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE]; }; struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ { TGenericSeq Sup; tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE]; }; struct tySequence__xxnXDLpoqBo8zJzP9b1073g { TGenericSeq Sup; tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE]; }; struct tySequence__DfmUmNgVGnYaiV1I6227tw { TGenericSeq Sup; tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE]; }; struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA { TGenericSeq Sup; tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE]; }; struct tySequence__IHUFRsFxZNv7YydiUO2esQ { TGenericSeq Sup; NI64 data[SEQ_DECL_SIZE]; }; struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw { TGenericSeq Sup; tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE]; }; struct tySequence__9bT7o0CflHuiE4VhmtqBPCw { TGenericSeq Sup; tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE]; }; struct tySequence__vv5mGmK03BCr5e3LTZA5Hw { TGenericSeq Sup; tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE]; }; struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ { TGenericSeq Sup; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE]; }; struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA { TGenericSeq Sup; tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE]; }; N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exactEquals__msgs_997)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b); N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); static N_INLINE(void, pushSafePoint)(TSafePoint* s); static N_INLINE(void, popSafePoint)(void); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass); static N_INLINE(Exception*, nimBorrowCurrentException)(void); static N_INLINE(void, popCurrentException)(void); static N_INLINE(void, asgnRef)(void** dest, void* src); static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NI, pluspercent___system_696)(NI x, NI y); static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr); static N_INLINE(NI, minuspercent___system_716)(NI x, NI y); static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y); static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void); static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs); static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initTabIter__astalgo_3777)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab); static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res); N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__prefixmatches_10)(NimStringDesc* p, NimStringDesc* s); 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); N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size); static N_INLINE(void, nimGCunrefRC1)(void* p); N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src); static N_INLINE(void, nimGCunrefNoCycle)(void* p); static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value); static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b); static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c); static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src); static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx); static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op); static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, sourceLine__msgs_1101)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i); N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0); static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start); N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringDesc* a, NimStringDesc* b); static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x); N_NIMCALL(NimStringDesc*, mnewString)(NI len); static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i); N_LIB_PRIVATE N_NIMCALL(NI, identLen__linter_11)(NimStringDesc* line, NI start); static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start); N_LIB_PRIVATE N_NIMCALL(void, fastSubstr__pureZparseutils_170)(NimStringDesc* s, NimStringDesc** token, NI start, NI length); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b); static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size); static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size); N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIter__astalgo_3762)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab); static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m); static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextRodIter__icZic_8962)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tySequence__rQHmYk1HzcwNxKBymIFHpA** g); N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs); 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); 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); static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); 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); static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_73)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i); static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg); 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); N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result); N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee); static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee); N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x); 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); 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); N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_3976)(tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeFromExpr__semdata_804)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src); 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); static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val); N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val); static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner); static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n); N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent); static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b); N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, considerQuotedIdent__lookups_28)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* origin); static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b); N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b); N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1440)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1579)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_780)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_821)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal); N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg); N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic__ast_4956)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2038)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b); 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); N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin); static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b); static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_3495)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); 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); static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3686)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel); N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3416)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); 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); N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a); static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); 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); static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ); static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op); static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym); static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym); 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); N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by); N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_101)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void); static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen); static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x); N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x); N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_4390)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeStaticExpr__semdata_826)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3351)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0); 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); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_505)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__parampatterns_334)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr); N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg); N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0); static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx); N_LIB_PRIVATE N_NIMCALL(void, styleCheckUse__linter_192)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0); static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc); static N_INLINE(NI, hash__pureZhashes_128)(NI x); static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x); static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b); static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b); static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode); static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key); static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc); N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x); static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val); static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h); static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y); static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash); N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i); N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym); static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); 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); N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind); N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b); N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_3610)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* dest, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q src); N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt); N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b); N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b); N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b); N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item); static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src); N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); 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); 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); 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); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, originatingModule__ast_4669)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipGenericOwner__ast_4658)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); 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); static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result); N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result); 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); N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_903)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key); N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn); 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); N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t); N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_907)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getNamedParamFromList__astalgo_293)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a); N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind); N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_905)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c); N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs); N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf); N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order); N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len); 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); static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order); N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b); N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1549)(NimStringDesc* x, NimStringDesc* y); N_LIB_PRIVATE N_NIMCALL(void, suggestWriteln__msgs_421)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___options_4697)(tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ c); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep); N_LIB_PRIVATE N_NIMCALL(void, suggestQuit__msgs_446)(void); static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a); N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, newLineInfo__msgs_381)(NI32 fileInfoIdx, NI line, NI col); extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_; extern TNimType NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_; extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_3 = { 0x00, 0x00, 0x00, 0x00, 0x72, 0xed, 0x00, 0xf4, 0x01, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_; N_LIB_PRIVATE TNimType NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_; extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_; extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_; N_LIB_PRIVATE TNimType NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__EV5hHJmjIY9cla9b9be7fSVJQ_8 = { 0x00, 0x00, 0x00, 0x00, 0x72, 0xef, 0x00, 0xf4, 0x01, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_9, "=", 1); static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_10 = { 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00} ; extern TNimType NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_11 = { 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_12 = { 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_13 = { 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_14 = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_15 = { 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x10, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_16 = { 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__ast_355; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_17, "unknown", 7); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_18, "cannot infer the value of the static param \'", 44); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_19, "\'", 1); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_21, "/home/runner/work/nightlies/nightlies/nim/compiler/sigmatch.nim", 63); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_20 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 886), ((NI) 12)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_22 = { 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_23 = { 0x00, 0x08, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_24 = { 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_25 = { 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_26, "wrong instantiated type!", 24); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_27 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1511), ((NI) 23)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_28 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1545), ((NI) 25)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_29 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_30 = { 0x10, 0x08, 0x10, 0x00, 0x00, 0x60, 0x08, 0x00, 0x00} ; N_LIB_PRIVATE TNimType NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_; extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_; extern TNimType NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_; N_LIB_PRIVATE TNimType NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_32 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_33, " too nested for type matching", 29); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_34 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 670), ((NI) 16)} ; N_LIB_PRIVATE TNimType NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_; extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_; N_LIB_PRIVATE TNimType NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_37, ":", 1); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_38, "Error:", 6); static NIM_CONST tyProc__k2HFjxisIgDALbEUFojxaQ TM__EV5hHJmjIY9cla9b9be7fSVJQ_39 = {NIM_NIL,NIM_NIL}; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_41, "(", 1); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_42, ", ", 2); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_43, ")", 1); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_44 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1677), ((NI) 27)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_45, " unknown type kind ", 19); extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_46 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1838), ((NI) 18)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_49, "getInstantiatedType", 19); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_50 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1865), ((NI) 17)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_51 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_52, "implicitConv", 12); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_53 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1878), ((NI) 37)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_56 = { 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_57, "suggest.nim(538, 12) `result == nil or result.kind == nkPragma` ", 64); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_58, "enum \'", 6); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_59, "\' which contains field \'", 24); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_60, "; ", 2); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_61, " is deprecated", 14); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_63, "/home/runner/work/nightlies/nightlies/nim/compiler/suggest.nim", 62); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_62 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63), ((NI) 550), ((NI) 15)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_64 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63), ((NI) 552), ((NI) 9)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_65, "$1usage of \'$2\' is an {.error.} defined at $3", 45); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_66 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63), ((NI) 563), ((NI) 12)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_67 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_63), ((NI) 565), ((NI) 6)} ; extern TNimType NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_; N_LIB_PRIVATE TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_; extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_; extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_; N_LIB_PRIVATE TNimType NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_; extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_; extern TNimType NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_; extern TNimType NTItmagic__shZhZOdbVC5nnFvcXQAImg_; extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_; N_LIB_PRIVATE TNimType NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_; N_LIB_PRIVATE TNimType NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_76, "x.state is not csMatch", 22); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_77 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2237), ((NI) 21)} ; static NIM_CONST tyArray__HU7qaqKu9czJLT84iCBJnsA TM__EV5hHJmjIY9cla9b9be7fSVJQ_78 = {((NI) 0), ((NI) 256)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_79, "sigmatch.nim(2377, 18) `n[a][0].kind == nkEmpty and n[a][1].kind in {nkBracket, nkArgList}` ", 92); extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_80, "named parameter has to be an identifier", 39); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_81 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2394), ((NI) 18)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__EV5hHJmjIY9cla9b9be7fSVJQ_82 = { 0x00, 0x88, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_83, "matches", 7); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_84 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2462), ((NI) 23)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_85, "cannot convert $1 to $2", 23); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_86 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2514), ((NI) 22)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_91, "skGlobalVar", 11); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_92, "skGlobalLet", 11); extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_93, ".", 1); extern TNimType NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_; N_LIB_PRIVATE TNimType NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_; N_LIB_PRIVATE TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_95, ": ", 2); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_96, " | ", 3); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_97, "void", 4); STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_98, "The default parameter \'$1\' has incompatible type with the explicitly requested proc instantiation", 97); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_99 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2576), ((NI) 20)} ; STRING_LITERAL(TM__EV5hHJmjIY9cla9b9be7fSVJQ_100, "cannot instantiate: \'", 21); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_101 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2618), ((NI) 14)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__EV5hHJmjIY9cla9b9be7fSVJQ_102 = {((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 2627), ((NI) 14)} ; extern TSafePoint* excHandler__system_2565; extern TSafePoint* excHandler__system_2565; extern TSafePoint* excHandler__system_2565; extern TSafePoint* excHandler__system_2565; extern Exception* currException__system_2566; extern Exception* currException__system_2566; extern Exception* currException__system_2566; extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217; static N_INLINE(void, pushSafePoint)(TSafePoint* s) { (*s).prev = excHandler__system_2565; excHandler__system_2565 = s; } static N_INLINE(void, popSafePoint)(void) { excHandler__system_2565 = (*excHandler__system_2565).prev; } static N_INLINE(Exception*, nimBorrowCurrentException)(void) { Exception* result; result = NIM_NIL; result = currException__system_2566; return result; } static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y)))))); return result; } static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8)); } static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y)))))); return result; } static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result; NI T1_; result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = (NI)0; T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8)); result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); return result; } static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y)))); return result; } static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { addZCT__system_5264((&gch__system_5217.zct), c); } static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8)); if (!T3_) goto LA4_; rtlAddZCT__system_5313(c); } LA4_: ; } static N_INLINE(void, asgnRef)(void** dest, void* src) { { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_; if (!!((src == NIM_NIL))) goto LA3_; T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T5_ = usrToCell__system_5270(src); incRef__system_5308(T5_); } LA3_: ; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_; if (!!(((*dest) == NIM_NIL))) goto LA8_; T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T10_ = usrToCell__system_5270((*dest)); decRef__system_5315(T10_); } LA8_: ; (*dest) = src; } static N_INLINE(void, popCurrentException)(void) { asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up); } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, safeSemExpr__sigmatch_6411)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result; TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_2; result = NIM_NIL; pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_2); TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.context); if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status == 0) { result = (*c).semExpr(c, n, 0); popSafePoint(); } else { popSafePoint(); if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) { TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status = 0; result = (*(*c).graph).emptyNode; popCurrentException(); } } if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_2.status != 0) reraiseException(); return result; } static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NI result; NI T1_; result = (NI)0; T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0); result = T1_; return result; } static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__systemZmemory_7(p, ((int) 0), size); } N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q, prefixMatch__sigmatch_4914)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q result; result = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; switch ((*n).kind) { case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2): { result = prefixMatch__prefixmatches_10((*(*n)._kind_5.ident).s, (*(*s).name).s); } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3): { result = prefixMatch__prefixmatches_10((*(*(*n)._kind_4.sym).name).s, (*(*s).name).s); } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53): { { NI T6_; T6_ = (NI)0; T6_ = len__ast_3198(n); if (!(((NI) 0) < T6_)) goto LA7_; result = prefixMatch__sigmatch_4914(s, (*n)._kind_6.sons->data[((NI) 0)]); } LA7_: ; } break; default: { } break; } return result; } static N_INLINE(NIM_BOOL, filterSym__sigmatch_4909)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) { NIM_BOOL result; result = (NIM_BOOL)0; { if (!!(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA3_; { if (!!((prefix == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_; (*res) = prefixMatch__sigmatch_4914(s, prefix); result = !(((*res) == ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0))); } goto LA5_; LA7_: ; { result = NIM_TRUE; } LA5_: ; } LA3_: ; return result; } static N_INLINE(void, nimGCunrefRC1)(void* p) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_; T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = usrToCell__system_5270(p); decRef__system_5315(T1_); } static N_INLINE(void, nimGCunrefNoCycle)(void* p) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_; T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = usrToCell__system_5270(p); decRef__system_5315(T1_); } static N_INLINE(NIM_BOOL, contains__pureZtimes_2283)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value) { NIM_BOOL result; NIM_BOOL T1_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T1_ = (s.a <= value); if (!(T1_)) goto LA2_; T1_ = (value <= s.b); LA2_: ; result = T1_; return result; } static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result; nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA)); result.a = a; result.b = b; return result; } static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) { (*dest).data[(*dest).Sup.len] = c; (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0; (*dest).Sup.len += ((NI) 1); } static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_; T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size))); } static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) { { if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); (*dest).Sup.len += (*src).Sup.len; } LA3_: ; } static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { NI result; result = (NI)0; result = ((NI) (info.line)); return result; } static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { NI result; result = (NI)0; result = ((NI) (info.col)); return result; } static N_NIMCALL(void, Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA)(void* p, NI op) { tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* a; a = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*)p; nimGCvisit((void*)(*a).line1, op); } N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4458)(NI col, void* ClE_0) { NIM_BOOL result; tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenvP_; result = (NIM_BOOL)0; colonenvP_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) ClE_0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (((NI) 0) <= col); if (!(T3_)) goto LA4_; T3_ = (col < ((*colonenvP_).line1 ? (*colonenvP_).line1->Sup.len : 0)); LA4_: ; if (!T3_) goto LA5_; { tyProc__cOOsXj9cY0bKt2oqNqLbhZw T11_; NIM_BOOL T12_; if (!((NU8)((*colonenvP_).line1->data[col]) == (NU8)(96))) goto LA9_; nimZeroMem((void*)(&T11_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T11_.ClP_0 = isOpeningBacktick__sigmatch_4458; T11_.ClE_0 = colonenvP_; T12_ = (NIM_BOOL)0; T12_ = T11_.ClE_0? T11_.ClP_0((NI)(col - ((NI) 1)), T11_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_5)(T11_.ClP_0))((NI)(col - ((NI) 1))); result = !(T12_); } goto LA7_; LA9_: ; { tyProc__cOOsXj9cY0bKt2oqNqLbhZw T14_; nimZeroMem((void*)(&T14_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T14_.ClP_0 = isOpeningBacktick__sigmatch_4458; T14_.ClE_0 = colonenvP_; result = T14_.ClE_0? T14_.ClP_0((NI)(col - ((NI) 1)), T14_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_6)(T14_.ClP_0))((NI)(col - ((NI) 1))); } LA7_: ; } goto LA1_; LA5_: ; { result = NIM_FALSE; } LA1_: ; return result; } static N_INLINE(NI, skipUntil__pureZparseutils_148)(NimStringDesc* s, NIM_CHAR until, NI start) { NI result; result = (NI)0; result = ((NI) 0); { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((NI)(start + result) < (s ? s->Sup.len : 0)); if (!(T3_)) goto LA4_; T3_ = !(((NU8)(s->data[(NI)(result + start)]) == (NU8)(until))); LA4_: ; if (!T3_) goto LA2; result += ((NI) 1); } LA2: ; } return result; } static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_865)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringDesc* result; NI a; NI L; result = NIM_NIL; a = x.a; L = (NI)((NI)(x.b - a) + ((NI) 1)); result = mnewString(((NI) (L))); { NI i; NI i_2; i = (NI)0; i_2 = ((NI) 0); { while (1) { if (!(i_2 < L)) goto LA3; i = i_2; result->data[i] = s->data[(NI)(i + a)]; i_2 += ((NI) 1); } LA3: ; } } return result; } static N_INLINE(NIM_CHAR, X5BX5D___system_7328)(NimStringDesc* s, NI i) { NIM_CHAR result; result = (NIM_CHAR)0; result = s->data[(NI)((s ? s->Sup.len : 0) - i)]; return result; } static N_INLINE(NI, parseWhile__pureZparseutils_226)(NimStringDesc* s, NimStringDesc** token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start) { NI result; NI i; result = (NI)0; i = start; { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (i < (s ? s->Sup.len : 0)); if (!(T3_)) goto LA4_; T3_ = ((validChars[(NU)(((NU8)(s->data[i])))>>3] &(1U<<((NU)(((NU8)(s->data[i])))&7U)))!=0); LA4_: ; if (!T3_) goto LA2; i += ((NI) 1); } LA2: ; } result = (NI)(i - start); fastSubstr__pureZparseutils_170(s, token, start, result); return result; } static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) { int result; result = (int)0; result = memcmp(a, b, ((size_t) (size))); return result; } static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) { NIM_BOOL result; int T1_; result = (NIM_BOOL)0; T1_ = (int)0; T1_ = nimCmpMem(a, b, size); result = (T1_ == ((NI32) 0)); return result; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) { NIM_BOOL result; NI alen; NI blen; { result = (NIM_BOOL)0; alen = (a ? a->Sup.len : 0); blen = (b ? b->Sup.len : 0); { if (!(alen == blen)) goto LA3_; { if (!(alen == ((NI) 0))) goto LA7_; result = NIM_TRUE; goto BeforeRet_; } LA7_: ; result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen))); goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4451)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { NI result; tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ* colonenv_; NI column; result = (NI)0; colonenv_ = NIM_NIL; colonenv_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*) newObj((&NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_), sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ)); (*colonenv_).Sup.m_type = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_); asgnRef((void**) (&(*colonenv_).line1), sourceLine__msgs_1101(conf, info)); column = toColumn__msgs_612(info); { if (!(((*colonenv_).line1 ? (*colonenv_).line1->Sup.len : 0) < column)) goto LA3_; result = ((NI) 0); } goto LA1_; LA3_: ; { NIM_BOOL T6_; NIM_BOOL T7_; tyProc__cOOsXj9cY0bKt2oqNqLbhZw T10_; T6_ = (NIM_BOOL)0; T7_ = (NIM_BOOL)0; T7_ = (((NI) 0) < column); if (!(T7_)) goto LA8_; T7_ = ((NU8)((*colonenv_).line1->data[(NI)(column - ((NI) 1))]) == (NU8)(96)); LA8_: ; T6_ = T7_; if (!(T6_)) goto LA9_; nimZeroMem((void*)(&T10_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T10_.ClP_0 = isOpeningBacktick__sigmatch_4458; T10_.ClE_0 = colonenv_; T6_ = T10_.ClE_0? T10_.ClP_0((NI)(column - ((NI) 1)), T10_.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_7)(T10_.ClP_0))((NI)(column - ((NI) 1))); LA9_: ; if (!T6_) goto LA11_; result = skipUntil__pureZparseutils_148((*colonenv_).line1, 96, column); { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T15_; NimStringDesc* T16_; NI T17_; T15_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1))); T16_ = NIM_NIL; T16_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T15_); T17_ = (NI)0; T17_ = nsuCmpIgnoreStyle(T16_, ident); if (!!((T17_ == ((NI) 0)))) goto LA18_; result = ((NI) 0); } LA18_: ; } goto LA1_; LA11_: ; { NIM_BOOL T21_; NIM_CHAR T23_; T21_ = (NIM_BOOL)0; 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))); if (!(T21_)) goto LA22_; T23_ = (NIM_CHAR)0; T23_ = X5BX5D___system_7328(ident, ((NI) 1)); T21_ = !(((NU8)(T23_) == (NU8)(61))); LA22_: ; if (!T21_) goto LA24_; result = identLen__linter_11((*colonenv_).line1, column); { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T28_; NimStringDesc* T29_; NI T30_; T28_ = dotdot___pureZunicode_840(column, (NI)((NI)(column + result) - ((NI) 1))); T29_ = NIM_NIL; T29_ = X5BX5D___pureZunicode_865((*colonenv_).line1, T28_); T30_ = (NI)0; T30_ = nsuCmpIgnoreStyle(T29_, ident); if (!!((T30_ == ((NI) 0)))) goto LA31_; result = ((NI) 0); } LA31_: ; } goto LA1_; LA24_: ; { NimStringDesc* sourceIdent; sourceIdent = NIM_NIL; result = parseWhile__pureZparseutils_226((*colonenv_).line1, (&sourceIdent), TM__EV5hHJmjIY9cla9b9be7fSVJQ_8, column); { NIM_BOOL T36_; NIM_CHAR T37_; T36_ = (NIM_BOOL)0; T37_ = (NIM_CHAR)0; T37_ = X5BX5D___system_7328(ident, ((NI) 1)); T36_ = ((NU8)(T37_) == (NU8)(61)); if (!(T36_)) goto LA38_; 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))); LA38_: ; if (!T36_) goto LA39_; { if (!!(eqStrings(sourceIdent, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_9)))) goto LA43_; result = ((NI) 0); } LA43_: ; } goto LA34_; LA39_: ; { NIM_BOOL T46_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T48_; NimStringDesc* T49_; T46_ = (NIM_BOOL)0; T46_ = ((ident ? ident->Sup.len : 0) < (sourceIdent ? sourceIdent->Sup.len : 0)); if (!(T46_)) goto LA47_; T48_ = dotdot___pureZunicode_840(((NI) 0), ((ident ? ident->Sup.len : 0)-1)); T49_ = NIM_NIL; T49_ = X5BX5D___pureZunicode_865(sourceIdent, T48_); T46_ = eqStrings(T49_, ident); LA47_: ; if (!T46_) goto LA50_; result = (ident ? ident->Sup.len : 0); } goto LA34_; LA50_: ; { if (!!(eqStrings(sourceIdent, ident))) goto LA53_; result = ((NI) 0); } goto LA34_; LA53_: ; LA34_: ; } LA1_: ; return result; } 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) { tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q infox; result = NIM_NIL; result = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ*) newObj((&NTIsuggest__qG8FNvsuCmStKCBZxTA0eg_), sizeof(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ)); (*result).section = section; (*result).quality = quality; (*result).isGlobal = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0); (*result).prefix = prefix; (*result).contextFits = (inTypeContext == ((144 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)); (*result).scope = scope; (*result).name = (&(*(*s).name).s); (*result).symkind = ((NU8) ((*s).kind)); { if (!!((((*(*g).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0))) goto LA3_; if ((*result).qualifiedPath) { nimGCunrefRC1((*result).qualifiedPath); (*result).qualifiedPath = NIM_NIL; } { NIM_BOOL T7_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow; T7_ = (NIM_BOOL)0; T7_ = !(isLocal); if (!(T7_)) goto LA8_; T7_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))); LA8_: ; if (!T7_) goto LA9_; ow = (*s).owner; { NIM_BOOL T13_; NIM_BOOL T14_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ow2; NI T19_; NimStringDesc* T20_; T13_ = (NIM_BOOL)0; T14_ = (NIM_BOOL)0; T14_ = !((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T14_)) goto LA15_; T14_ = !(((*ow).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))); LA15_: ; T13_ = T14_; if (!(T13_)) goto LA16_; T13_ = !(((*ow).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); LA16_: ; if (!T13_) goto LA17_; ow2 = (*ow).owner; asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T19_ = (*result).qualifiedPath->Sup.len++; T20_ = NIM_NIL; T20_ = (*result).qualifiedPath->data[T19_]; (*result).qualifiedPath->data[T19_] = copyStringRC1((*(*ow2).name).s); if (T20_) nimGCunrefNoCycle(T20_); } LA17_: ; { NI T25_; NimStringDesc* T26_; if (!!((ow == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23_; asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T25_ = (*result).qualifiedPath->Sup.len++; T26_ = NIM_NIL; T26_ = (*result).qualifiedPath->data[T25_]; (*result).qualifiedPath->data[T25_] = copyStringRC1((*(*ow).name).s); if (T26_) nimGCunrefNoCycle(T26_); } LA23_: ; } LA9_: ; { NIM_BOOL T29_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T31_; NimStringDesc* T34_; NI T35_; NimStringDesc* T36_; T29_ = (NIM_BOOL)0; T29_ = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_3[(NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*s).name).s->data[((NI) 0)])))&7U)))!=0); if (T29_) goto LA30_; T31_ = dotdot___pureZunicode_840(((NI) 1), ((NI) 66)); T29_ = contains__pureZtimes_2283(T31_, (*(*s).name).id); LA30_: ; if (!T29_) goto LA32_; T34_ = NIM_NIL; T34_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 2); appendChar(T34_, 96); appendString(T34_, (*(*s).name).s); appendChar(T34_, 96); asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T35_ = (*result).qualifiedPath->Sup.len++; T36_ = NIM_NIL; T36_ = (*result).qualifiedPath->data[T35_]; (*result).qualifiedPath->data[T35_] = copyStringRC1(T34_); if (T36_) nimGCunrefNoCycle(T36_); } goto LA27_; LA32_: ; { NI T38_; NimStringDesc* T39_; asgnRef((void**) (&(*result).qualifiedPath), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*result).qualifiedPath), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T38_ = (*result).qualifiedPath->Sup.len++; T39_ = NIM_NIL; T39_ = (*result).qualifiedPath->data[T38_]; (*result).qualifiedPath->data[T38_] = copyStringRC1((*(*s).name).s); if (T39_) nimGCunrefNoCycle(T39_); } LA27_: ; { if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA42_; asgnRef((void**) (&(*result).forth), typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0))); } goto LA40_; LA42_: ; { asgnRef((void**) (&(*result).forth), ((NimStringDesc*) NIM_NIL)); } LA40_: ; } LA3_: ; { NIM_BOOL T47_; T47_ = (NIM_BOOL)0; T47_ = useSuppliedInfo; if (T47_) goto LA48_; T47_ = ((784 &((NU16)1<<((NU)(section)&15U)))!=0); LA48_: ; if (!T47_) goto LA49_; infox = info; } goto LA45_; LA49_: ; { infox = (*s).info; } LA45_: ; asgnRef((void**) (&(*result).filePath), toFullPath__msgs_538((*g).config, infox.fileIndex)); (*result).line = toLinenumber__msgs_609(infox); (*result).column = toColumn__msgs_612(infox); (*result).version = (*(*g).config).suggestVersion; { if (!!((section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8)))) goto LA54_; (*result).tokenLen = ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0); } goto LA52_; LA54_: ; { (*result).tokenLen = getTokenLenFromSource__sigmatch_4451((*g).config, (*(*s).name).s, infox); } LA52_: ; return result; } static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) { NI result; NI T1_; result = (NI)0; T1_ = ((*n).sons ? (*n).sons->Sup.len : 0); result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5002)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { NI result; result = (NI)0; result = ((NI) 100); { NIM_BOOL T3_; NI T5_; tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1; T3_ = (NIM_BOOL)0; T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T3_)) goto LA4_; T5_ = (NI)0; T5_ = len__ast_4002((*s).typ); T3_ = (((NI) 1) < T5_); LA4_: ; if (!T3_) goto LA6_; exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10); { if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA10_; exp_1 = elemType__types_263(exp_1); } LA10_: ; { 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_; result = ((NI) 50); } LA14_: ; } LA6_: ; { if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA18_; result = ((NI) ((NI)(((NI) (result)) - ((NI) 5)))); } LA18_: ; return result; } static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) { NIM_BOOL result; NIM_BOOL T1_; NI T2_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0); T1_ = (module < T2_); if (!(T1_)) goto LA3_; T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3)); LA3_: ; result = T1_; return result; } static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) { NIM_BOOL result; result = (NIM_BOOL)0; result = isCachedModule__modulegraphs_2697(g, (*m).position); return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5217)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; it = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA7_; isLocal_2 = NIM_FALSE; } LA7_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item = NIM_NIL; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it_2), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11; item = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; it = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T14_; NI T17_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_; NI T19_; T14_ = (NIM_BOOL)0; T14_ = filterSym__sigmatch_4909(it, f, (&pm)); if (!T14_) goto LA15_; T17_ = (NI)0; T17_ = getQuality__sigmatch_5002(it); T18_ = NIM_NIL; T18_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T19_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T19_]), T18_); } LA15_: ; s = nextIter__astalgo_3762((&it_2), (*scope).symbols); } LA11: ; } } current = (*current).parent; } LA4: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T21_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T21_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T21_; { while (1) { if (!(i < L)) goto LA23; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T27_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T27_ = (NIM_BOOL)0; T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T27_) goto LA28_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; it = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T34_; NI T37_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_; NI T39_; T34_ = (NIM_BOOL)0; T34_ = filterSym__sigmatch_4909(it, f, (&pm_2)); if (!T34_) goto LA35_; T37_ = (NI)0; T37_ = getQuality__sigmatch_5002(it); T38_ = NIM_NIL; T38_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T39_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T39_]), T38_); } LA35_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA31: ; } } goto LA25_; LA28_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T46_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA44_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA44_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T46_; { while (1) { if (!(i_2 < L_2)) goto LA48; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; it = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T55_; NI T58_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_; NI T60_; T55_ = (NIM_BOOL)0; T55_ = filterSym__sigmatch_4909(it, f, (&pm_3)); if (!T55_) goto LA56_; T58_ = (NI)0; T58_ = getQuality__sigmatch_5002(it); T59_ = NIM_NIL; T59_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), (*n).info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T60_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T60_]), T59_); } LA56_: ; } LA51_: ; i_2 += ((NI) 1); } LA48: ; } } } LA25_: ; } i += ((NI) 1); } LA23: ; } } } } static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) { NIM_BOOL result; NI fmoduleId; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_; NIM_BOOL T1_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_; { result = (NIM_BOOL)0; xX60gensym794_ = getModule__astalgo_216(f); fmoduleId = (NI)((NI)((NU32)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym794_).Sup.itemId.item))); T1_ = (NIM_BOOL)0; T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0); if (T1_) goto LA2_; xX60gensym796_ = (*c).module; T1_ = (fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym796_).Sup.itemId.item)))); LA2_: ; result = T1_; { if (!!(result)) goto LA5_; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module; NI i; NI L; NI T8_; module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; i = ((NI) 0); T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0); L = T8_; { while (1) { if (!(i < L)) goto LA10; module = &(*c).friendModules->data[i]; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_; xX60gensym797_ = (*module); if (!(fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_; result = NIM_TRUE; goto BeforeRet_; } LA13_: ; i += ((NI) 1); } LA10: ; } } { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj; if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_; symObj = (*f).owner; { if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_; symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym; } LA21_: ; { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25; scope = current; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym; NI i_2; NI L_2; NI T27_; sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; i_2 = ((NI) 0); T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0); L_2 = T27_; { while (1) { if (!(i_2 < L_2)) goto LA29; sym = &(*scope).allowPrivateAccess->data[i_2]; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_; xX60gensym800_ = symObj; xX60gensym801_ = (*sym); if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym801_).Sup.itemId.item))))) goto LA32_; result = NIM_TRUE; goto BeforeRet_; } LA32_: ; i_2 += ((NI) 1); } LA29: ; } } current = (*current).parent; } LA25: ; } } } LA17_: ; } LA5_: ; }BeforeRet_: ; return result; } 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) { tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T3_; NI T7_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T8_; NI T9_; T3_ = (NIM_BOOL)0; T3_ = filterSym__sigmatch_4909(s, f, (&pm)); if (!(T3_)) goto LA4_; T3_ = fieldVisible__sigmatch_4944(c, s); LA4_: ; if (!T3_) goto LA5_; T7_ = (NI)0; T7_ = getQuality__sigmatch_5002(s); T8_ = NIM_NIL; T8_ = symToSuggest__sigmatch_4528((*c).graph, s, NIM_TRUE, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T7_, pm, (((NI) 0) < (*c).inTypeContext), ((NI) 0), NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T9_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T9_]), T8_); } LA5_: ; } 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) { { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(list); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA3; i = i_2; { if (!((*(*list)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_; suggestField__sigmatch_5026(c, (*(*list)._kind_6.sons->data[i])._kind_4.sym, f, info, outputs); } LA6_: ; i_2 += ((NI) 1); } LA3: ; } } } 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) { switch ((*n).kind) { case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(n); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA4; i = i_2; suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[i], f, info, outputs); i_2 += ((NI) 1); } LA4: ; } } } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139): { { NI T8_; T8_ = (NI)0; T8_ = len__ast_3198(n); if (!(((NI) 0) < T8_)) goto LA9_; suggestObject__sigmatch_5060(c, (*n)._kind_6.sons->data[((NI) 0)], f, info, outputs); { NI i_3; NI colontmp__2; NI i_4; i_3 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = len__ast_3198(n); i_4 = ((NI) 1); { while (1) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_; if (!(i_4 < colontmp__2)) goto LA13; i_3 = i_4; T14_ = NIM_NIL; T14_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]); suggestObject__sigmatch_5060(c, T14_, f, info, outputs); i_4 += ((NI) 1); } LA13: ; } } } LA9_: ; } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3): { suggestField__sigmatch_5026(c, (*n)._kind_4.sym, f, info, outputs); } break; default: { } break; } } static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_4935)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix, tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q* res) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; NIM_BOOL T5_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (NIM_BOOL)0; T2_ = filterSym__sigmatch_4909(s, prefix, res); if (!(T2_)) goto LA3_; 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))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T5_ = (NIM_BOOL)0; T5_ = isKeyword__renderer_73((*s).name); T1_ = !(T5_); LA4_: ; result = T1_; return result; } static N_INLINE(void, initCandidateAux__sigmatch_94)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) { tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_; unsureAsgnRef((void**) (&(*c).c), ctx); (*c).exactMatches = ((NI) 0); (*c).subtypeMatches = ((NI) 0); (*c).convMatches = ((NI) 0); (*c).intConvMatches = ((NI) 0); (*c).genericMatches = ((NI) 0); (*c).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ)); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ)); (*c).firstMismatch.kind = T1_.kind; (*c).firstMismatch.arg = T1_.arg; unsureAsgnRef((void**) (&(*c).firstMismatch.formal), T1_.formal); unsureAsgnRef((void**) (&(*c).callee), callee); unsureAsgnRef((void**) (&(*c).call), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); (*c).baseTypeMatch = NIM_FALSE; (*c).genericConverter = NIM_FALSE; (*c).inheritancePenalty = ((NI) 0); } N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee) { initCandidateAux__sigmatch_94(ctx, c, callee); unsureAsgnRef((void**) (&(*c).calleeSym), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)); initIdTable__ast_4096((&(*c).bindings)); } N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) { unsureAsgnRef((void**)&(*Result).c, NIM_NIL); (*Result).exactMatches = 0; (*Result).genericMatches = 0; (*Result).subtypeMatches = 0; (*Result).intConvMatches = 0; (*Result).convMatches = 0; (*Result).state = 0; unsureAsgnRef((void**)&(*Result).callee, NIM_NIL); unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL); (*Result).calleeScope = 0; unsureAsgnRef((void**)&(*Result).call, NIM_NIL); (*Result).bindings.counter = 0; unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL); (*Result).magic = 0; (*Result).baseTypeMatch = 0; (*Result).fauxMatch = 0; (*Result).genericConverter = 0; (*Result).coerceDistincts = 0; (*Result).typedescMatched = 0; (*Result).isNoCall = 0; unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL); unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL); (*Result).inheritancePenalty = 0; (*Result).firstMismatch.kind = 0; (*Result).firstMismatch.arg = 0; unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL); (*Result).diagnosticsEnabled = 0; initCandidate__sigmatch_116(ctx, Result, callee); } static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) { tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result; nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g)); (*x).typeId_0 += ((NI) 1); nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g)); result.module = (*x).module; result.item = (*x).typeId_0; return result; } static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; result = NIM_NIL; { NIM_BOOL T3_; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_; T3_ = (NIM_BOOL)0; T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36)); LA4_: ; if (!T3_) goto LA5_; T7_ = nextTypeId__ast_3151(id); result = copyType__ast_4046(t, T7_, (*t).owner); asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); } goto LA1_; LA5_: ; { result = t; } LA1_: ; return result; } static N_INLINE(void, put__sigmatch_120)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* key, tyObject_TType__facALICuu8zUj0hjvbTLFg* val) { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_; T1_ = NIM_NIL; T1_ = skipIntLit__magicsys_124(val, (*(*c).c).Sup.idgen); idTablePut__astalgo_70((&(*c).bindings), &key->Sup, &T1_->Sup.Sup); } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryResolvingStaticExpr__sigmatch_1227)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL allowUnresolved) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* instantiated; result = NIM_NIL; instantiated = replaceTypesInBody__semtypinst_988((*c).c, (*c).bindings, n, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), allowUnresolved); result = (*(*c).c).semExpr((*c).c, instantiated, 0); return result; } static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NI result; result = (NI)0; { if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_; result = ((NI) 0); } goto LA1_; LA3_: ; { result = len__ast_3198(n); } LA1_: ; return result; } static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) { NIM_BOOL result; result = (NIM_BOOL)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (a == 0); if (T3_) goto LA4_; T3_ = (b == 0); LA4_: ; if (!T3_) goto LA5_; result = (a == b); } goto LA1_; LA5_: ; { result = ((*a).id == (*b).id); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rules, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* callIdent) { NIM_BOOL result; { result = (NIM_BOOL)0; { if (!((*rules).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA3_; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r; r = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3191(rules); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA8; i = i_2; r = (*rules)._kind_6.sons->data[i]; { tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_; NIM_BOOL T12_; T11_ = NIM_NIL; T11_ = considerQuotedIdent__lookups_28((*m).c, r, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); T12_ = (NIM_BOOL)0; T12_ = eqeq___idents_220(T11_, callIdent); if (!T12_) goto LA13_; result = NIM_TRUE; goto BeforeRet_; } LA13_: ; i_2 += ((NI) 1); } LA8: ; } } } result = NIM_FALSE; goto BeforeRet_; } goto LA1_; LA3_: ; { { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2; r_2 = NIM_NIL; { NI i_3; NI colontmp__2; NI i_4; i_3 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = safeLen__ast_3191(rules); i_4 = ((NI) 0); { while (1) { if (!(i_4 < colontmp__2)) goto LA19; i_3 = i_4; r_2 = (*rules)._kind_6.sons->data[i_3]; { tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T22_; NIM_BOOL T23_; T22_ = NIM_NIL; T22_ = considerQuotedIdent__lookups_28((*m).c, r_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); T23_ = (NIM_BOOL)0; T23_ = eqeq___idents_220(T22_, callIdent); if (!T23_) goto LA24_; result = NIM_FALSE; goto BeforeRet_; } LA24_: ; i_4 += ((NI) 1); } LA19: ; } } } result = NIM_TRUE; goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeSkipDistinct__sigmatch_1210)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; result = NIM_NIL; { NIM_BOOL T3_; NIM_BOOL T4_; NIM_BOOL T5_; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T5_ = (NIM_BOOL)0; T5_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T5_)) goto LA6_; T5_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)); LA6_: ; T4_ = T5_; if (!(T4_)) goto LA7_; T4_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA7_: ; T3_ = T4_; if (!(T3_)) goto LA8_; T3_ = shouldSkipDistinct__sigmatch_1199(m, (*t).n, (*callee).name); LA8_: ; if (!T3_) goto LA9_; result = base__types_63(t); } goto LA1_; LA9_: ; { result = t; } LA1_: ; return result; } static N_INLINE(NIM_BOOL, sameEnumTypes__types_2087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) { NIM_BOOL result; tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym297_; tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym298_; result = (NIM_BOOL)0; xX60gensym297_ = a; xX60gensym298_ = b; result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym297_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym297_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym298_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym298_).Sup.itemId.item)))); return result; } N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, typeRangeRel__sigmatch_981)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = isOrdinalType__types_299(f, NIM_FALSE); if (!T3_) goto LA4_; { NIM_BOOL T8_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_; T8_ = (NIM_BOOL)0; T9_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T8_ = eqeq___int495056_313(T9_, T10_); if (!(T8_)) goto LA11_; T12_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T13_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T8_ = eqeq___int495056_313(T12_, T13_); LA11_: ; if (!T8_) goto LA14_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA6_; LA14_: ; { NIM_BOOL T17_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_; T17_ = (NIM_BOOL)0; T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T19_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T17_ = lteq___int495056_309(T18_, T19_); if (!(T17_)) goto LA20_; T21_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T17_ = lteq___int495056_309(T21_, T22_); LA20_: ; if (!T17_) goto LA23_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA6_; LA23_: ; { NIM_BOOL T26_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T27_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T31_; T26_ = (NIM_BOOL)0; T27_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T28_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T26_ = lteq___int495056_309(T27_, T28_); if (!(T26_)) goto LA29_; T30_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T31_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a); T26_ = lteq___int495056_309(T30_, T31_); LA29_: ; if (!T26_) goto LA32_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA6_; LA32_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA6_: ; } goto LA1_; LA4_: ; { { NIM_BOOL T38_; NF T39_; NF T40_; NF T42_; NF T43_; T38_ = (NIM_BOOL)0; T39_ = (NF)0; T39_ = firstFloat__types_1440(a); T40_ = (NF)0; T40_ = firstFloat__types_1440(f); T38_ = (T39_ == T40_); if (!(T38_)) goto LA41_; T42_ = (NF)0; T42_ = lastFloat__types_1579(a); T43_ = (NF)0; T43_ = lastFloat__types_1579(f); T38_ = (T42_ == T43_); LA41_: ; if (!T38_) goto LA44_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA36_; LA44_: ; { NIM_BOOL T47_; NF T48_; NF T49_; NF T51_; NF T52_; T47_ = (NIM_BOOL)0; T48_ = (NF)0; T48_ = firstFloat__types_1440(f); T49_ = (NF)0; T49_ = firstFloat__types_1440(a); T47_ = (T48_ <= T49_); if (!(T47_)) goto LA50_; T51_ = (NF)0; T51_ = lastFloat__types_1579(a); T52_ = (NF)0; T52_ = lastFloat__types_1579(f); T47_ = (T51_ <= T52_); LA50_: ; if (!T47_) goto LA53_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA36_; LA53_: ; { NIM_BOOL T56_; NF T57_; NF T58_; NF T60_; NF T61_; T56_ = (NIM_BOOL)0; T57_ = (NF)0; T57_ = firstFloat__types_1440(a); T58_ = (NF)0; T58_ = lastFloat__types_1579(f); T56_ = (T57_ <= T58_); if (!(T56_)) goto LA59_; T60_ = (NF)0; T60_ = firstFloat__types_1440(f); T61_ = (NF)0; T61_ = lastFloat__types_1579(a); T56_ = (T60_ <= T61_); LA59_: ; if (!T56_) goto LA62_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA36_; LA62_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA36_: ; } LA1_: ; return result; } static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (NIM_BOOL)0; T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(T2_)) goto LA3_; T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)); LA4_: ; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_548)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { NIM_BOOL result; result = (NIM_BOOL)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; 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)); if (!(T3_)) goto LA4_; 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)); LA4_: ; if (!T3_) goto LA5_; switch ((*f).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32): { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = isIntLit__types_186(a); if (T8_) goto LA9_; T8_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32)); LA9_: ; result = T8_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33): { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = isIntLit__types_186(a); if (T11_) goto LA12_; T11_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)); LA12_: ; result = T11_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34): { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = isIntLit__types_186(a); if (T14_) goto LA15_; T14_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)); LA15_: ; result = T14_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44): { result = NIM_TRUE; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35): { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = isIntLit__types_186(a); if (T18_) goto LA19_; 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)); LA19_: ; result = T18_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41): { NIM_BOOL T21_; T21_ = (NIM_BOOL)0; T21_ = isIntLit__types_186(a); if (T21_) goto LA22_; T21_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41)); LA22_: ; result = T21_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42): { NIM_BOOL T24_; T24_ = (NIM_BOOL)0; T24_ = isIntLit__types_186(a); if (T24_) goto LA25_; T24_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42)); LA25_: ; result = T24_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43): { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = isIntLit__types_186(a); if (T27_) goto LA28_; T27_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); LA28_: ; result = T27_; } break; default: { result = NIM_FALSE; } break; } } goto LA1_; LA5_: ; { NIM_BOOL T33_; if (!((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39))) goto LA31_; T33_ = (NIM_BOOL)0; T33_ = isIntLit__types_186(a); if (T33_) goto LA34_; T33_ = ((*a).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*a).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)); LA34_: ; result = T33_; } goto LA1_; LA31_: ; LA1_: ; return result; } 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) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; { if (!((*a).kind == (*f).kind)) goto LA3_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA1_; LA3_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* ab; tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k; ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); k = (*ab).kind; { if (!(k == (*f).kind)) goto LA8_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4); } goto LA6_; LA8_: ; { NIM_BOOL T11_; NIM_BOOL T12_; NIM_BOOL T13_; NIM_BOOL T14_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T19_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T21_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_; T11_ = (NIM_BOOL)0; T12_ = (NIM_BOOL)0; T13_ = (NIM_BOOL)0; T14_ = (NIM_BOOL)0; T14_ = (k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(T14_)) goto LA15_; 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)); LA15_: ; T13_ = T14_; if (!(T13_)) goto LA16_; T13_ = isIntLit__types_186(ab); LA16_: ; T12_ = T13_; if (!(T12_)) goto LA17_; T18_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T19_ = getInt__ast_4592((*ab).n); T12_ = lteq___int495056_309(T18_, T19_); LA17_: ; T11_ = T12_; if (!(T11_)) goto LA20_; T21_ = getInt__ast_4592((*ab).n); T22_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T11_ = lteq___int495056_309(T21_, T22_); LA20_: ; if (!T11_) goto LA23_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9); } goto LA6_; LA23_: ; { NIM_BOOL T26_; T26_ = (NIM_BOOL)0; T26_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(T26_)) goto LA27_; T26_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)); LA27_: ; if (!T26_) goto LA28_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2); } goto LA6_; LA28_: ; { NIM_BOOL T31_; T31_ = (NIM_BOOL)0; T31_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40)); if (!(T31_)) goto LA32_; T31_ = (k >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); LA32_: ; if (!T31_) goto LA33_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2); } goto LA6_; LA33_: ; { NIM_BOOL T36_; T36_ = (NIM_BOOL)0; T36_ = (min <= k); if (!(T36_)) goto LA37_; T36_ = (k <= max); LA37_: ; if (!T36_) goto LA38_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA6_; LA38_: ; { NIM_BOOL T41_; NIM_BOOL T42_; NIM_BOOL T43_; NIM_BOOL T45_; NIM_BOOL T46_; NIM_BOOL T49_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T54_; T41_ = (NIM_BOOL)0; T42_ = (NIM_BOOL)0; T43_ = (NIM_BOOL)0; T43_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20)); if (!(T43_)) goto LA44_; T45_ = (NIM_BOOL)0; T46_ = (NIM_BOOL)0; T46_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)); if (!(T46_)) goto LA47_; T46_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)); LA47_: ; T45_ = T46_; if (T45_) goto LA48_; T49_ = (NIM_BOOL)0; T49_ = ((*f).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*f).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); if (!(T49_)) goto LA50_; T49_ = ((*(*a).sons->data[((NI) 0)]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41) && (*(*a).sons->data[((NI) 0)]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); LA50_: ; T45_ = T49_; LA48_: ; T43_ = T45_; LA44_: ; T42_ = T43_; if (!(T42_)) goto LA51_; T52_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T42_ = lteq___int495056_745(T52_, (*(*(*a).n)._kind_6.sons->data[((NI) 0)])._kind_1.intVal); LA51_: ; T41_ = T42_; if (!(T41_)) goto LA53_; T54_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), f); T41_ = lteq___int495056_752((*(*(*a).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal, T54_); LA53_: ; if (!T41_) goto LA55_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA6_; LA55_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA6_: ; } LA1_: ; return result; } static N_INLINE(NIM_BOOL, isFloatLit__types_201)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (NIM_BOOL)0; T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36)); if (!(T2_)) goto LA3_; T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16)); LA4_: ; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, handleFloatRange__sigmatch_596)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; { if (!((*a).kind == (*f).kind)) goto LA3_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA1_; LA3_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* ab; tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k; ab = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); k = (*ab).kind; { if (!(k == (*f).kind)) goto LA8_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4); } goto LA6_; LA8_: ; { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = isFloatLit__types_201(ab); if (!T11_) goto LA12_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9); } goto LA6_; LA12_: ; { NIM_BOOL T15_; T15_ = (NIM_BOOL)0; T15_ = isIntLit__types_186(ab); if (!T15_) goto LA16_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA6_; LA16_: ; { NIM_BOOL T19_; T19_ = (NIM_BOOL)0; T19_ = (((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) <= k); if (!(T19_)) goto LA20_; T19_ = (k <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)); LA20_: ; if (!T19_) goto LA21_; { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA25_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA23_; LA25_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2); } LA23_: ; } goto LA6_; LA21_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA6_: ; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1405)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { NIM_BOOL result; { result = (NIM_BOOL)0; switch ((*f).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { NIM_BOOL T2_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T7_; T2_ = (NIM_BOOL)0; T3_ = NIM_NIL; T3_ = base__types_63(f); 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))); if (!(T2_)) goto LA4_; T5_ = NIM_NIL; T5_ = base__types_63(f); T6_ = NIM_NIL; T6_ = base__types_63(a); T7_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T7_ = typeRel__sigmatch_202(c, T5_, T6_, 2); T2_ = (T7_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3)); LA4_: ; result = T2_; goto BeforeRet_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11): { tyObject_TType__facALICuu8zUj0hjvbTLFg* body; NIM_BOOL T9_; NIM_BOOL T10_; NIM_BOOL T11_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_; NI T14_; NIM_BOOL T17_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T19_; body = base__types_63(f); T9_ = (NIM_BOOL)0; T10_ = (NIM_BOOL)0; T11_ = (NIM_BOOL)0; T12_ = NIM_NIL; T12_ = base__types_63(a); T11_ = (body == T12_); if (!(T11_)) goto LA13_; T14_ = (NI)0; T14_ = len__ast_4002(a); T11_ = (T14_ == ((NI) 3)); LA13_: ; T10_ = T11_; if (!(T10_)) goto LA15_; T10_ = !((((*(*body).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)); LA15_: ; T9_ = T10_; if (!(T9_)) goto LA16_; T17_ = (NIM_BOOL)0; 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))); if (!(T17_)) goto LA18_; T19_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T19_ = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 1)], (*a).sons->data[((NI) 1)], 2); T17_ = (T19_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3)); LA18_: ; T9_ = T17_; LA16_: ; result = T9_; goto BeforeRet_; } break; default: { result = NIM_FALSE; goto BeforeRet_; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1235)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs, NI64 rhs) { NIM_BOOL result; { result = (NIM_BOOL)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; 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)); if (!(T3_)) goto LA4_; T3_ = ((*(*lhs)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA4_: ; if (!T3_) goto LA5_; switch ((*(*(*lhs)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) { case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 65): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 29): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA10_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal)); goto BeforeRet_; } goto LA8_; LA10_: ; { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA13_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs - (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)); goto BeforeRet_; } goto LA8_; LA13_: ; LA8_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 30): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA18_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal - rhs)); goto BeforeRet_; } goto LA16_; LA18_: ; { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA21_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs + (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)); goto BeforeRet_; } goto LA16_; LA21_: ; LA16_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 67): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_; { if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal) == IL64(0))) goto LA30_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal)); goto BeforeRet_; } LA30_: ; } goto LA24_; LA26_: ; { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA33_; { if (!((NI64)(rhs % (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal) == IL64(0))) goto LA37_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)(rhs / (*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal)); goto BeforeRet_; } LA37_: ; } goto LA24_; LA33_: ; LA24_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49): case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 68): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA42_; { if (!((NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal % rhs) == IL64(0))) goto LA46_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 2)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 1)])._kind_1.intVal / rhs)); goto BeforeRet_; } LA46_: ; } goto LA40_; LA42_: ; { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA49_; result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], (NI64)((*(*lhs)._kind_6.sons->data[((NI) 2)])._kind_1.intVal * rhs)); goto BeforeRet_; } goto LA40_; LA49_: ; LA40_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 58): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA54_; 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))); goto BeforeRet_; } LA54_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 57): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA59_; 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))); goto BeforeRet_; } LA59_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 59): { { if (!((*(*lhs)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA64_; 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))); goto BeforeRet_; } LA64_: ; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 93): { result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], -(rhs)); goto BeforeRet_; } break; case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 97): { result = inferStaticParam__sigmatch_1235(c, (*lhs)._kind_6.sons->data[((NI) 1)], rhs); goto BeforeRet_; } break; default: { } break; } } goto LA1_; LA5_: ; { NIM_BOOL T70_; NIM_BOOL T71_; tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred; T70_ = (NIM_BOOL)0; T71_ = (NIM_BOOL)0; T71_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(T71_)) goto LA72_; T71_ = ((*(*lhs).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)); LA72_: ; T70_ = T71_; if (!(T70_)) goto LA73_; T70_ = ((*(*lhs).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); LA73_: ; if (!T70_) goto LA74_; inferred = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), (*(*lhs).typ).sons); asgnRef((void**) (&(*inferred).n), newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), rhs)); put__sigmatch_120(c, (*lhs).typ, inferred); { if (!!(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA78_; asgnRef((void**) (&(*(*lhs).typ).n), (*inferred).n); } LA78_: ; result = NIM_TRUE; goto BeforeRet_; } goto LA1_; LA74_: ; LA1_: ; result = NIM_FALSE; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1361)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* staticParam; NimStringDesc* name; NimStringDesc* T6_; staticParam = findUnresolvedStatic__ast_4956(n); { if (!!((staticParam == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_; name = (*(*(*staticParam)._kind_4.sym).name).s; } goto LA1_; LA3_: ; { name = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_17)); } LA1_: ; T6_ = NIM_NIL; T6_ = rawNewString((name ? name->Sup.len : 0) + 45); appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_18)); appendString(T6_, name); appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19)); liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_20, NIM_FALSE); } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, inferStaticsInRange__sigmatch_1370)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred, tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lowerBound; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* upperBound; { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; lowerBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 0)], NIM_TRUE); upperBound = tryResolvingStaticExpr__sigmatch_1227(c, (*(*inferred).n)._kind_6.sons->data[((NI) 1)], NIM_TRUE); { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym222_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym222_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T16_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_; if (!((*lowerBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA3_; { if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA7_; { tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_; NIM_BOOL T12_; T11_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete); T12_ = (NIM_BOOL)0; T12_ = eqeq___int495056_759(T11_, (NI64)((NI64)((*upperBound)._kind_1.intVal - (*lowerBound)._kind_1.intVal) + IL64(1))); if (!T12_) goto LA13_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA9_; LA13_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA9_: ; } LA7_: ; expX60gensym222_ = upperBound; T16_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete); T17_ = plus___int495056_794(T16_, (*lowerBound)._kind_1.intVal); rhsX60gensym222_ = minus___int495056_780(T17_, IL64(1)); { NI64 T20_; NIM_BOOL T21_; T20_ = (NI64)0; T20_ = toInt64__int495056_88(rhsX60gensym222_); T21_ = (NIM_BOOL)0; T21_ = inferStaticParam__sigmatch_1235(c, expX60gensym222_, T20_); if (!T21_) goto LA22_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA18_; LA22_: ; { failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym222_); } LA18_: ; } goto LA1_; LA3_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* expX60gensym225_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA rhsX60gensym225_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T29_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T30_; if (!((*upperBound).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_; expX60gensym225_ = lowerBound; T28_ = getInt__ast_4592(upperBound); T29_ = plus___int495056_794(T28_, IL64(1)); T30_ = lengthOrd__types_1652((*(*(*c).c).graph).config, concrete); rhsX60gensym225_ = minus___int495056_474(T29_, T30_); { NI64 T33_; NIM_BOOL T34_; T33_ = (NI64)0; T33_ = toInt64__int495056_88(rhsX60gensym225_); T34_ = (NIM_BOOL)0; T34_ = inferStaticParam__sigmatch_1235(c, expX60gensym225_, T33_); if (!T34_) goto LA35_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA31_; LA35_: ; { failureToInferStaticParam__sigmatch_1361((*(*(*c).c).graph).config, expX60gensym225_); } LA31_: ; } goto LA1_; LA26_: ; LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, minRel__sigmatch_798)(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw b) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; { if (!(a <= b)) goto LA3_; result = a; } goto LA1_; LA3_: ; { result = b; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, recordRel__sigmatch_806)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = sameType__types_1815(f, a, 0); if (!T3_) goto LA4_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA1_; LA4_: ; { NI T7_; NI T8_; NI firstField; T7_ = (NI)0; T7_ = len__ast_4002(a); T8_ = (NI)0; T8_ = len__ast_4002(f); if (!(T7_ == T8_)) goto LA9_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA13_; firstField = ((NI) 0); } goto LA11_; LA13_: ; { firstField = ((NI) 1); } LA11_: ; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_4002(f); i_2 = firstField; { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw m; if (!(i_2 < colontmp_)) goto LA18; i = i_2; m = typeRel__sigmatch_202(c, (*f).sons->data[i], (*a).sons->data[i], 0); { if (!(m < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA21_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA21_: ; result = minRel__sigmatch_798(result, m); i_2 += ((NI) 1); } LA18: ; } } { NIM_BOOL T25_; T25_ = (NIM_BOOL)0; T25_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T25_)) goto LA26_; T25_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA26_: ; if (!T25_) goto LA27_; { NI i_3; NI colontmp__2; NI i_4; i_3 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = len__ast_3198((*f).n); i_4 = ((NI) 0); { while (1) { if (!(i_4 < colontmp__2)) goto LA31; i_3 = i_4; { if (!!(((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } goto LA32_; LA34_: ; { if (!!(((*(*(*a).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA37_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } goto LA32_; LA37_: ; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* y; x = (*(*(*f).n)._kind_6.sons->data[i_3])._kind_4.sym; y = (*(*(*a).n)._kind_6.sons->data[i_3])._kind_4.sym; { NIM_BOOL T42_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T44_; T42_ = (NIM_BOOL)0; T42_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(T42_)) goto LA43_; T44_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T44_ = typeRel__sigmatch_202(c, (*x).typ, (*y).typ, 0); T42_ = (T44_ < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3)); LA43_: ; if (!T42_) goto LA45_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA45_: ; { if (!!(((*(*x).name).id == (*(*y).name).id))) goto LA49_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA49_: ; } LA32_: ; i_4 += ((NI) 1); } LA31: ; } } } LA27_: ; } goto LA1_; LA9_: ; LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_622)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* last, tyObject_TType__facALICuu8zUj0hjvbTLFg* fGenericOrigin) { { NIM_BOOL T3_; NIM_BOOL T4_; NI T7_; NI T8_; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T4_ = !((fGenericOrigin == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T4_)) goto LA5_; T4_ = ((*last).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); LA5_: ; T3_ = T4_; if (!(T3_)) goto LA6_; T7_ = (NI)0; T7_ = len__ast_4002(last); T8_ = (NI)0; T8_ = len__ast_4002(fGenericOrigin); T3_ = ((NI)(T7_ - ((NI) 1)) == T8_); LA6_: ; if (!T3_) goto LA9_; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_4002(fGenericOrigin); i_2 = ((NI) 1); { while (1) { tyObject_TType__facALICuu8zUj0hjvbTLFg* x; RootObj* T14_; if (!(i_2 < colontmp_)) goto LA13; i = i_2; T14_ = NIM_NIL; T14_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*fGenericOrigin).sons->data[i]))))); x = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T14_)); { if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA17_; put__sigmatch_120(c, (*fGenericOrigin).sons->data[i], (*last).sons->data[i]); } LA17_: ; i_2 += ((NI) 1); } LA13: ; } } } LA9_: ; } 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) { NI result; tyObject_TType__facALICuu8zUj0hjvbTLFg* t; NI depth; tyObject_TType__facALICuu8zUj0hjvbTLFg* last; result = (NI)0; t = a; depth = ((NI) 0); last = a; { while (1) { NIM_BOOL T3_; NIM_BOOL T5_; T3_ = (NIM_BOOL)0; T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T3_)) goto LA4_; T5_ = (NIM_BOOL)0; T5_ = sameObjectTypes__types_2038(f, t); T3_ = !(T5_); LA4_: ; if (!T3_) goto LA2; t = (*t).sons->data[((NI) 0)]; { if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_; goto LA1; } LA8_: ; last = t; t = skipTypes__ast_3735(t, TM__EV5hHJmjIY9cla9b9be7fSVJQ_12); depth += ((NI) 1); } LA2: ; } LA1: ; { if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_; genericParamPut__sigmatch_622(c, last, fGenericOrigin); result = depth; } goto LA10_; LA12_: ; { result = ((NI) -1); } LA10_: ; return result; } static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2083)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) { NIM_BOOL result; result = (NIM_BOOL)0; result = sameObjectTypes__types_2038(a, b); return result; } static N_INLINE(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, allowsNil__sigmatch_875)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; { if (!!((((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0))) goto LA3_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA1_; LA3_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1_: ; return result; } static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_882)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T3_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T1_ = !(((*f).kind == (*a).kind)); if (!(T1_)) goto LA2_; T3_ = (NIM_BOOL)0; T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)); if (T3_) goto LA4_; T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)); LA4_: ; T1_ = T3_; LA2_: ; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procParamTypeRel__sigmatch_898)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2; tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2; { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; f_2 = f; a_2 = a; { NIM_BOOL T3_; tyObject_TType__facALICuu8zUj0hjvbTLFg* aResolved; RootObj* T6_; T3_ = (NIM_BOOL)0; T3_ = isMetaType__ast_3495(a_2); if (!T3_) goto LA4_; T6_ = NIM_NIL; T6_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(a_2))))); aResolved = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T6_)); { if (!!((aResolved == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9_; a_2 = aResolved; } LA9_: ; } LA4_: ; { NIM_BOOL T13_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw reverseRel; T13_ = (NIM_BOOL)0; T13_ = isMetaType__ast_3495(a_2); if (!T13_) goto LA14_; { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = isMetaType__ast_3495(f_2); if (!T18_) goto LA19_; { if (!!(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_; f_2 = generateTypeInstance__semtypinst_1050((*c).c, (*c).bindings, (*(*c).call).info, f_2); } goto LA21_; LA23_: ; { f_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } LA21_: ; { NIM_BOOL T28_; T28_ = (NIM_BOOL)0; T28_ = (f_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); if (T28_) goto LA29_; T28_ = isMetaType__ast_3495(f_2); LA29_: ; if (!T28_) goto LA30_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5); goto BeforeRet_; } LA30_: ; } LA19_: ; reverseRel = typeRel__sigmatch_202(c, a_2, f_2, 0); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= reverseRel)) goto LA34_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6); } LA34_: ; } goto LA11_; LA14_: ; { result = typeRel__sigmatch_202(c, f_2, a_2, 0); } LA11_: ; { NIM_BOOL T39_; T39_ = (NIM_BOOL)0; T39_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4)); if (T39_) goto LA40_; T39_ = inconsistentVarTypes__sigmatch_882(f_2, a_2); LA40_: ; if (!T39_) goto LA41_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA41_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, procTypeRel__sigmatch_927)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25): { tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T33_; { NI T4_; NI T5_; T4_ = (NI)0; T4_ = len__ast_4002(f); T5_ = (NI)0; T5_ = len__ast_4002(a); if (!!((T4_ == T5_))) goto LA6_; goto BeforeRet_; } LA6_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_4002(f); i_2 = ((NI) 1); { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T11_; if (!(i_2 < colontmp_)) goto LA10; i = i_2; T11_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T11_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[i], (*a).sons->data[i]); result = minRel__sigmatch_798(result, T11_); { if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA14_; goto BeforeRet_; } LA14_: ; i_2 += ((NI) 1); } LA10: ; } } { if (!!(((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T24_; if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA22_; T24_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T24_ = procParamTypeRel__sigmatch_898(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)]); result = minRel__sigmatch_798(result, T24_); { if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA27_; goto BeforeRet_; } LA27_: ; } goto LA20_; LA22_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA20_: ; } goto LA16_; LA18_: ; { if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA31_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } goto LA16_; LA31_: ; LA16_: ; T33_ = getProcConvMismatch__types_3686((*(*(*c).c).graph).config, f, a, result); result = T33_.Field1; { tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T36_; T36_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0; T36_ = compatibleEffects__types_3416(f, a); if (!!((T36_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)))) goto LA37_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA37_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = allowsNil__sigmatch_875(f); } break; default: { } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipToObject__sigmatch_703)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ* skipped) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; tyObject_TType__facALICuu8zUj0hjvbTLFg* r; NI ptrs; result = NIM_NIL; r = t; ptrs = ((NI) 0); { while (1) { if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2; switch ((*r).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9): { r = (*r).sons->data[((NI) 0)]; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22): { ptrs += ((NI) 1); (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 1); r = lastSon__ast_3743(r); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): { ptrs += ((NI) 1); (*skipped) = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 2); r = lastSon__ast_3743(r); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { r = lastSon__ast_3743(r); } break; default: { goto LA1; } break; } } LA2: ; } LA1: ; { NIM_BOOL T10_; T10_ = (NIM_BOOL)0; T10_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(T10_)) goto LA11_; T10_ = (ptrs <= ((NI) 1)); LA11_: ; if (!T10_) goto LA12_; result = r; } LA12_: ; return result; } 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) { NIM_BOOL result; tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip; tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip; tyObject_TType__facALICuu8zUj0hjvbTLFg* t; tyObject_TType__facALICuu8zUj0hjvbTLFg* r; NI depth; tyObject_TType__facALICuu8zUj0hjvbTLFg* last; { result = (NIM_BOOL)0; askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0); fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0); t = skipToObject__sigmatch_703(a, (&askip)); r = skipToObject__sigmatch_703(f, (&fskip)); { if (!(r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_; result = NIM_FALSE; goto BeforeRet_; } LA3_: ; depth = ((NI) 0); last = a; { while (1) { NIM_BOOL T7_; NIM_BOOL T8_; T7_ = (NIM_BOOL)0; T8_ = (NIM_BOOL)0; T8_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T8_)) goto LA9_; T8_ = !(((*r).sym == (*t).sym)); LA9_: ; T7_ = T8_; if (!(T7_)) goto LA10_; T7_ = (askip == fskip); LA10_: ; if (!T7_) goto LA6; t = (*t).sons->data[((NI) 0)]; { if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA13_; goto LA5; } LA13_: ; last = t; t = skipToObject__sigmatch_703(t, (&askip)); depth += ((NI) 1); } LA6: ; } LA5: ; { NIM_BOOL T17_; T17_ = (NIM_BOOL)0; T17_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T17_)) goto LA18_; T17_ = (askip == fskip); LA18_: ; if (!T17_) goto LA19_; genericParamPut__sigmatch_622(c, last, fGenericOrigin); (*d) = depth; result = NIM_TRUE; } LA19_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, concreteType__sigmatch_443)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TType__facALICuu8zUj0hjvbTLFg* f) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; result = NIM_NIL; switch ((*t).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8): { { if (!(*c).isNoCall) goto LA4_; result = t; } goto LA2_; LA4_: ; { result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } LA2_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19): { { if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA10_; result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } goto LA8_; LA10_: ; { result = t; } LA8_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62): { result = t; { while (1) { RootObj* T16_; T16_ = NIM_NIL; T16_ = idTableGet__astalgo_64((*c).bindings, &t->Sup); result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T16_)); { if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_; goto LA14; } LA19_: ; { if (!!(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA23_; goto LA14; } LA23_: ; } } LA14: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9): { result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { { NIM_BOOL T29_; NIM_BOOL T30_; NI T32_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_; T29_ = (NIM_BOOL)0; T30_ = (NIM_BOOL)0; T30_ = !((f == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T30_)) goto LA31_; T32_ = (NI)0; T32_ = len__ast_4002(f); T30_ = (((NI) 0) < T32_); LA31_: ; T29_ = T30_; if (!(T29_)) goto LA33_; T34_ = NIM_NIL; T34_ = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_29); T29_ = ((*T34_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)); LA33_: ; if (!T29_) goto LA35_; result = lastSon__ast_3743(t); } goto LA27_; LA35_: ; { result = t; } LA27_: ; } break; default: { result = t; } break; } return result; } static N_NIMCALL(void, Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg)(void* p, NI op) { tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* a; a = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*)p; nimGCvisit((void*)(*a).errorPrefix1, op); nimGCvisit((void*)(*a).typeClass2, op); nimGCvisit((void*)(*a).oldWriteHook3.ClE_0, op); nimGCvisit((void*)(*a).diagnostics4, op); } static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) { tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result; nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g)); (*x).symId += ((NI) 1); nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g)); result.module = (*x).module; result.item = (*x).symId; return result; } static N_NIMCALL(void, Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ)(void* p, NI op) { tySequence__bGUffHlsVXt0g6ZKEF4OfQ* a; NI T1_; a = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*)p; T1_ = (NI)0; for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) { nimGCvisit((void*)a->data[T1_].Field0, op); nimGCvisit((void*)a->data[T1_].Field1, op); } } static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) { addDeclAt__lookups_815(c, scope, sym, (*sym).info); } static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) { addDeclAt__lookups_837(c, (*c).currentScope, sym); } N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1102)(NimStringDesc* s, void* ClE_0) { tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenvP_; NimStringDesc* msg; NI T10_; NimStringDesc* T11_; colonenvP_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) ClE_0; { NimStringDesc* T5_; if (!(((*colonenvP_).errorPrefix1 ? (*colonenvP_).errorPrefix1->Sup.len : 0) == ((NI) 0))) goto LA3_; T5_ = NIM_NIL; T5_ = rawNewString(((*(*(*(*colonenvP_).typeClass2).sym).name).s ? (*(*(*(*colonenvP_).typeClass2).sym).name).s->Sup.len : 0) + 1); appendString(T5_, (*(*(*(*colonenvP_).typeClass2).sym).name).s); appendString(T5_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_37)); asgnRef((void**) (&(*colonenvP_).errorPrefix1), T5_); } LA3_: ; msg = nsuReplaceStr(s, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_38), (*colonenvP_).errorPrefix1); { if (!!(((*colonenvP_).oldWriteHook3.ClP_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClP_0 && (*colonenvP_).oldWriteHook3.ClE_0 == TM__EV5hHJmjIY9cla9b9be7fSVJQ_39.ClE_0))) goto LA8_; (*colonenvP_).oldWriteHook3.ClE_0? (*colonenvP_).oldWriteHook3.ClP_0(msg, (*colonenvP_).oldWriteHook3.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_40)((*colonenvP_).oldWriteHook3.ClP_0))(msg); } LA8_: ; asgnRef((void**) (&(*colonenvP_).diagnostics4), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*colonenvP_).diagnostics4), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T10_ = (*colonenvP_).diagnostics4->Sup.len++; T11_ = NIM_NIL; T11_ = (*colonenvP_).diagnostics4->data[T10_]; (*colonenvP_).diagnostics4->data[T10_] = copyStringRC1(msg); if (T11_) nimGCunrefNoCycle(T11_); } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, matchUserTypeClass__sigmatch_993)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TType__facALICuu8zUj0hjvbTLFg* ff, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA* colonenv_; tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body; tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg matchedConceptContext; tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prevMatchedConcept; tyObject_TType__facALICuu8zUj0hjvbTLFg* prevCandidateType; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T11_; TSafePoint TM__EV5hHJmjIY9cla9b9be7fSVJQ_35; tySequence__bGUffHlsVXt0g6ZKEF4OfQ* typeParams; tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags; NIM_BOOL collectDiagnostics; NIM_BOOL T56_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* checkedBody; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T63_; { result = NIM_NIL; colonenv_ = NIM_NIL; colonenv_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*) newObj((&NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_), sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA)); (*colonenv_).Sup.m_type = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_); c = (*m).c; asgnRef((void**) (&(*colonenv_).typeClass2), skipTypes__ast_3735(ff, TM__EV5hHJmjIY9cla9b9be7fSVJQ_32)); body = (*(*(*colonenv_).typeClass2).n)._kind_6.sons->data[((NI) 3)]; nimZeroMem((void*)(&matchedConceptContext), sizeof(tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg)); prevMatchedConcept = (*c).matchedConcept; prevCandidateType = (*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]; { if (!!((prevMatchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA3_; matchedConceptContext.prev = prevMatchedConcept; matchedConceptContext.depth = (NI)((*prevMatchedConcept).depth + ((NI) 1)); { NimStringDesc* T9_; NimStringDesc* T10_; if (!(((NI) 4) < (*prevMatchedConcept).depth)) goto LA7_; T9_ = NIM_NIL; T10_ = NIM_NIL; T10_ = dollar___renderer_2106(body); T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 29); appendString(T9_, T10_); appendString(T9_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_33)); liMessage__msgs_1118((*(*(*m).c).graph).config, (*body).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_34, NIM_FALSE); result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); goto BeforeRet_; } LA7_: ; } LA3_: ; T11_ = NIM_NIL; T11_ = openScope__lookups_69(c); matchedConceptContext.candidateType = a; asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), a); (*c).matchedConcept = (&matchedConceptContext); pushSafePoint(&TM__EV5hHJmjIY9cla9b9be7fSVJQ_35); TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status = _setjmp(TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.context); if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status == 0) { typeParams = NIM_NIL; { if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA14_; { NI i; NI colontmp_; NI T17_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T17_ = (NI)0; T17_ = len__ast_4002(ff); colontmp_ = (NI)(T17_ - ((NI) 1)); i_2 = ((NI) 1); { while (1) { tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typeParamName; tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_; tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param; tyObject_TType__facALICuu8zUj0hjvbTLFg* alreadyBound; RootObj* T21_; if (!(i_2 < colontmp_)) goto LA19; i = i_2; T20_ = NIM_NIL; T20_ = base__types_63(ff); typeParamName = (*(*(*T20_).sons->data[(NI)(i - ((NI) 1))]).sym).name; typ = (*ff).sons->data[i]; param = NIM_NIL; T21_ = NIM_NIL; T21_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(typ))))); alreadyBound = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T21_)); { if (!!((alreadyBound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA24_; typ = alreadyBound; } LA24_: ; { tyTuple__Qqa8F49azZNOOP4FK3LKbhw T54_; NI T55_; { tyTuple__Qqa8F49azZNOOP4FK3LKbhw* prev; NI i_3; NI L; NI T28_; prev = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0; i_3 = ((NI) 0); T28_ = (typeParams ? typeParams->Sup.len : 0); L = T28_; { while (1) { if (!(i_3 < L)) goto LA30; prev = (&typeParams->data[i_3]); { tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym159_; tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym160_; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T35_; xX60gensym159_ = (*prev).Field1; xX60gensym160_ = typ; if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym159_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym159_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym160_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym160_).Sup.itemId.item))))) goto LA33_; T35_ = nextSymId__ast_3132((*c).Sup.idgen); param = newSym__ast_3445((*(*prev).Field0).kind, typeParamName, T35_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0); asgnRef((void**) (&(*param).typ), (*(*prev).Field0).typ); goto LA26; } LA33_: ; i_3 += ((NI) 1); } LA30: ; } } switch ((*typ).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60): { tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T37_; T37_ = nextSymId__ast_3132((*c).Sup.idgen); param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typeParamName, T37_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0); asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ)); { if (!((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA40_; (*(*param).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63); } goto LA38_; LA40_: ; { asgnRef((void**) (&(*param).ast), (*typ).n); } LA38_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61): { tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T44_; T44_ = nextSymId__ast_3132((*c).Sup.idgen); param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), typeParamName, T44_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0); asgnRef((void**) (&(*param).typ), exactReplica__ast_4051(typ)); } break; default: { tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T46_; T46_ = nextSymId__ast_3132((*c).Sup.idgen); param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), typeParamName, T46_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, 0); { NIM_BOOL T49_; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T52_; T49_ = (NIM_BOOL)0; T49_ = isMetaType__ast_3495(typ); if (!T49_) goto LA50_; T52_ = NIM_NIL; T52_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1); asgnRef((void**) (&T52_->data[0]), typ); asgnRef((void**) (&(*param).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55), T52_)); } goto LA47_; LA50_: ; { asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, typ)); } LA47_: ; } break; } nimZeroMem((void*)(&T54_), sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw)); T54_.Field0 = param; T54_.Field1 = typ; typeParams = (tySequence__bGUffHlsVXt0g6ZKEF4OfQ*) incrSeqV3((TGenericSeq*)(typeParams), (&NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_)); T55_ = typeParams->Sup.len++; asgnRef((void**) (&typeParams->data[T55_].Field0), T54_.Field0); asgnRef((void**) (&typeParams->data[T55_].Field1), T54_.Field1); } LA26: ; addDecl__lookups_845(c, param); i_2 += ((NI) 1); } LA19: ; } } } LA14_: ; nimZeroMem((void*)(&(*colonenv_).oldWriteHook3), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ)); asgnRef((void**) (&(*colonenv_).diagnostics4), NIM_NIL); asgnRef((void**) (&(*colonenv_).errorPrefix1), NIM_NIL); flags = 0; T56_ = (NIM_BOOL)0; T56_ = (*m).diagnosticsEnabled; if (T56_) goto LA57_; T56_ = (((*(*(*colonenv_).typeClass2).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0); LA57_: ; collectDiagnostics = T56_; { tyProc__k2HFjxisIgDALbEUFojxaQ T62_; if (!collectDiagnostics) goto LA60_; asgnRef((void**) (&(*colonenv_).oldWriteHook3.ClE_0), (*(*(*(*m).c).graph).config).writelnHook.ClE_0); (*colonenv_).oldWriteHook3.ClP_0 = (*(*(*(*m).c).graph).config).writelnHook.ClP_0; if ((*colonenv_).diagnostics4) { nimGCunrefRC1((*colonenv_).diagnostics4); (*colonenv_).diagnostics4 = NIM_NIL; } flags = 1024; nimZeroMem((void*)(&T62_), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ)); T62_.ClP_0 = colonanonymous___sigmatch_1102; T62_.ClE_0 = colonenv_; asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), T62_.ClE_0); (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = T62_.ClP_0; } LA60_: ; T63_ = NIM_NIL; T63_ = copyTree__ast_4431(body); checkedBody = (*c).semTryExpr(c, T63_, flags); { if (!collectDiagnostics) goto LA66_; asgnRef((void**) (&(*(*(*(*m).c).graph).config).writelnHook.ClE_0), (*colonenv_).oldWriteHook3.ClE_0); (*(*(*(*m).c).graph).config).writelnHook.ClP_0 = (*colonenv_).oldWriteHook3.ClP_0; { NimStringDesc** msg; NI i_4; NI L_2; NI T69_; msg = (NimStringDesc**)0; i_4 = ((NI) 0); T69_ = ((*colonenv_).diagnostics4 ? (*colonenv_).diagnostics4->Sup.len : 0); L_2 = T69_; { while (1) { NI T72_; NimStringDesc* T73_; if (!(i_4 < L_2)) goto LA71; msg = (&(*colonenv_).diagnostics4->data[i_4]); unsureAsgnRef((void**) (&(*m).diagnostics), (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)((*m).diagnostics), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_))); T72_ = (*m).diagnostics->Sup.len++; T73_ = NIM_NIL; T73_ = (*m).diagnostics->data[T72_]; (*m).diagnostics->data[T72_] = copyStringRC1((*msg)); if (T73_) nimGCunrefNoCycle(T73_); (*m).diagnosticsEnabled = NIM_TRUE; i_4 += ((NI) 1); } LA71: ; } } } LA66_: ; { if (!(checkedBody == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA76_; result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); popSafePoint(); (*c).matchedConcept = prevMatchedConcept; asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType); closeScope__lookups_101(c); goto BeforeRet_; } LA76_: ; { tyTuple__Qqa8F49azZNOOP4FK3LKbhw* p; NI i_5; NI L_3; NI T79_; p = (tyTuple__Qqa8F49azZNOOP4FK3LKbhw*)0; i_5 = ((NI) 0); T79_ = (typeParams ? typeParams->Sup.len : 0); L_3 = T79_; { while (1) { if (!(i_5 < L_3)) goto LA81; p = (&typeParams->data[i_5]); put__sigmatch_120(m, (*p).Field1, (*(*p).Field0).typ); i_5 += ((NI) 1); } LA81: ; } } { if (!((*ff).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA84_; result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*(*(*colonenv_).typeClass2).sym).info, ff); } goto LA82_; LA84_: ; { result = exactReplica__ast_4051(ff); } LA82_: ; asgnRef((void**) (&(*result).n), checkedBody); popSafePoint(); } else { popSafePoint(); } { (*c).matchedConcept = prevMatchedConcept; asgnRef((void**) (&(*(*(*colonenv_).typeClass2).sons->data[((NI) 0)]).sons->data[((NI) 0)]), prevCandidateType); closeScope__lookups_101(c); if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) nimLeaveFinally(); } if (TM__EV5hHJmjIY9cla9b9be7fSVJQ_35.status != 0) reraiseException(); }BeforeRet_: ; return result; } static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) { addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x))); } static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) { NimStringDesc* result; result = NIM_NIL; result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0); appendString(result, info.Field0); { if (!(((NI) 0) < info.Field1)) goto LA3_; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41)); addInt__stdZprivateZdigitsutils_189((&result), info.Field1); { if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_; result = resizeString(result, 2); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42)); addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1))); } LA7_: ; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43)); } LA3_: ; return result; } 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) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; NIM_BOOL useTypeLoweringRuleInTypeClass; NIM_BOOL T9_; NIM_BOOL T10_; NIM_BOOL T11_; NIM_BOOL T12_; tyObject_TType__facALICuu8zUj0hjvbTLFg* aOrig_2; tyObject_TType__facALICuu8zUj0hjvbTLFg* a; tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_; { result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA3_; { if (!!((aOrig == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_; put__sigmatch_120(c, f, aOrig); } LA7_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA3_: ; T9_ = (NIM_BOOL)0; T10_ = (NIM_BOOL)0; T11_ = (NIM_BOOL)0; T12_ = (NIM_BOOL)0; T12_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))); if (!(T12_)) goto LA13_; T12_ = !((*c).isNoCall); LA13_: ; T11_ = T12_; if (!(T11_)) goto LA14_; T11_ = !(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))); LA14_: ; T10_ = T11_; if (!(T10_)) goto LA15_; T10_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0)); LA15_: ; T9_ = T10_; if (!(T9_)) goto LA16_; T9_ = !((((*aOrig).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28))&63U)))!=0)); LA16_: ; useTypeLoweringRuleInTypeClass = T9_; { if (!useTypeLoweringRuleInTypeClass) goto LA19_; aOrig_2 = skipTypes__ast_3735(aOrig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14); } goto LA17_; LA19_: ; { aOrig_2 = aOrig; } LA17_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55))) goto LA24_; { NI T28_; T28_ = ((*aOrig_2).sons ? (*aOrig_2).sons->Sup.len : 0); if (!(((NI) 1) < T28_)) goto LA29_; prev = lastSon__ast_3743(aOrig_2); } goto LA26_; LA29_: ; { prev = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } LA26_: ; { if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_; result = typeRel__sigmatch_202(c, f, prev, flags); goto BeforeRet_; } goto LA32_; LA34_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* candidate; tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_; candidate = f; switch ((*f).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_2; RootObj* T38_; T38_ = NIM_NIL; T38_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prev_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T38_)); { if (!!((prev_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA41_; candidate = prev_2; } LA41_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61): { tyObject_TType__facALICuu8zUj0hjvbTLFg* computedType; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_; T44_ = NIM_NIL; T44_ = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE); computedType = (*T44_).typ; switch ((*computedType).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8): { candidate = base__types_63(computedType); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60): { candidate = computedType; } break; default: { } break; } } break; default: { } break; } T49_ = NIM_NIL; T49_ = base__types_63(aOrig_2); result = typeRel__sigmatch_202(c, T49_, candidate, flags); { NI T54_; if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA52_; unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_))); T54_ = (*c).inferredTypes->Sup.len++; asgnRef((void**) (&(*c).inferredTypes->data[T54_]), aOrig_2); add__concepts_23(aOrig_2, candidate); result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA52_: ; goto BeforeRet_; } LA32_: ; } LA24_: ; T55_ = NIM_NIL; T55_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15); a = maybeSkipDistinct__sigmatch_1210((&(*c)), T55_, (*c).calleeSym); { tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA58_; T60_ = NIM_NIL; T60_ = lastSon__ast_3743(aOrig_2); result = typeRel__sigmatch_202(c, f, T60_, flags); goto BeforeRet_; } LA58_: ; { NIM_BOOL T63_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T68_; T63_ = (NIM_BOOL)0; T63_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(T63_)) goto LA64_; T65_ = NIM_NIL; T65_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_15); 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))); LA64_: ; if (!T63_) goto LA66_; T68_ = NIM_NIL; T68_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, f, T68_, flags); goto BeforeRet_; } LA66_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_; if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA71_; T73_ = NIM_NIL; T73_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, f, T73_, flags); goto BeforeRet_; } LA71_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57): { (*c).typedescMatched = NIM_TRUE; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch; NI i; NI L; NI T76_; branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i = ((NI) 0); T76_ = ((*a).sons ? (*a).sons->Sup.len : 0); L = T76_; { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x; if (!(i < L)) goto LA78; branch = &(*a).sons->data[i]; x = typeRel__sigmatch_202(c, f, (*branch), (flags | 1)); { if (!(x == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA81_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA81_: ; { if (!(x < result)) goto LA85_; result = x; } LA85_: ; i += ((NI) 1); } LA78: ; } } goto BeforeRet_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56): { (*c).typedescMatched = NIM_TRUE; { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_2; NI i_2; NI L_2; NI T89_; branch_2 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i_2 = ((NI) 0); T89_ = ((*a).sons ? (*a).sons->Sup.len : 0); L_2 = T89_; { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_2; if (!(i_2 < L_2)) goto LA91; branch_2 = &(*a).sons->data[i_2]; x_2 = typeRel__sigmatch_202(c, f, (*branch_2), (flags | 1)); { if (!!((x_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA94_; { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_2)) goto LA98_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA96_; LA98_: ; { result = x_2; } LA96_: ; goto BeforeRet_; } LA94_: ; i_2 += ((NI) 1); } LA91: ; } } result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64): { { if (!!(((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64)))) goto LA104_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA104_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58): { switch ((*f).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T108_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T109_; T108_ = NIM_NIL; T108_ = lastSon__ast_3743(a); T109_ = NIM_NIL; T109_ = lastSon__ast_3743(f); result = typeRel__sigmatch_202(c, T108_, T109_, flags); goto BeforeRet_; } break; default: { { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA113_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA111_; LA113_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA111_: ; goto BeforeRet_; } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59): { { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA119_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA117_; LA119_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA117_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53): { { NIM_BOOL T125_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_3; T125_ = (NIM_BOOL)0; T125_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))); if (!(T125_)) goto LA126_; T125_ = ((*(*(*c).c).matchedConcept).depth <= ((NI) 4)); LA126_: ; if (!T125_) goto LA127_; (*(*(*c).c).matchedConcept).depth += ((NI) 1); x_3 = typeRel__sigmatch_202(c, a, f, (flags | 1)); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= x_3)) goto LA131_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA131_: ; } LA127_: ; } break; default: { } break; } switch ((*f).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14): { { NIM_BOOL T137_; T137_ = (NIM_BOOL)0; T137_ = ((*a).kind == (*f).kind); if (!(T137_)) goto LA138_; T137_ = sameEnumTypes__types_2087(f, a); LA138_: ; if (!T137_) goto LA139_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA135_; LA139_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T142_; NIM_BOOL T143_; T142_ = NIM_NIL; T142_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); T143_ = (NIM_BOOL)0; T143_ = sameEnumTypes__types_2087(f, T142_); if (!T143_) goto LA144_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA135_; LA144_: ; LA135_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2): { { if (!((*a).kind == (*f).kind)) goto LA149_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA147_; LA149_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T152_; T152_ = NIM_NIL; T152_ = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); if (!((*T152_).kind == (*f).kind)) goto LA153_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA147_; LA153_: ; LA147_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20): { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T165_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_; if (!((*a).kind == (*f).kind)) goto LA158_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T162_; T162_ = NIM_NIL; T162_ = base__types_63(f); if (!((*T162_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA163_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA163_: ; T165_ = NIM_NIL; T165_ = base__types_63(f); T166_ = NIM_NIL; T166_ = base__types_63(a); result = typeRel__sigmatch_202(c, T165_, T166_, flags); { if (!!(((257 &((NU16)1<<((NU)(result)&15U)))!=0))) goto LA169_; { NI i_3; NI res; i_3 = (NI)0; res = ((NI) 0); { while (1) { if (!(res <= ((NI) 1))) goto LA173; i_3 = res; { if (!((*(*(*f).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62))) goto LA176_; asgnRef((void**) (&(*(*f).n)._kind_6.sons->data[i_3]), tryResolvingStaticExpr__sigmatch_1227(c, (*(*f).n)._kind_6.sons->data[i_3], NIM_FALSE)); } LA176_: ; res += ((NI) 1); } LA173: ; } } result = typeRangeRel__sigmatch_981(f, a); } LA169_: ; } goto LA156_; LA158_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* f_2; f_2 = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); { NIM_BOOL T181_; NIM_BOOL T183_; T181_ = (NIM_BOOL)0; T181_ = ((*f_2).kind == (*a).kind); if (!(T181_)) goto LA182_; T183_ = (NIM_BOOL)0; T183_ = !(((*f_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))); if (T183_) goto LA184_; T183_ = sameEnumTypes__types_2087(f_2, a); LA184_: ; T181_ = T183_; LA182_: ; if (!T181_) goto LA185_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2); } goto LA179_; LA185_: ; { NIM_BOOL T188_; T188_ = (NIM_BOOL)0; T188_ = isConvertibleToRange__sigmatch_548(f_2, a); if (!T188_) goto LA189_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA179_; LA189_: ; LA179_: ; } LA156_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44): { result = handleRange__sigmatch_476(f, a, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36): { result = handleFloatRange__sigmatch_596(f, a); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37): { result = handleFloatRange__sigmatch_596(f, a); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38): { result = handleFloatRange__sigmatch_596(f, a); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39): { result = handleFloatRange__sigmatch_596(f, a); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47): { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_; if (!((*aOrig_2).kind == (*f).kind)) goto LA208_; T210_ = NIM_NIL; T210_ = base__types_63(f); T211_ = NIM_NIL; T211_ = base__types_63(aOrig_2); result = typeRel__sigmatch_202(c, T210_, T211_, flags); } goto LA206_; LA208_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_; T213_ = NIM_NIL; T213_ = base__types_63(f); result = typeRel__sigmatch_202(c, T213_, aOrig_2, (flags | 2)); } LA206_: ; { NIM_BOOL T216_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T218_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T219_; T216_ = (NIM_BOOL)0; T216_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4)); if (!(T216_)) goto LA217_; T218_ = NIM_NIL; T218_ = lastSon__ast_3743(f); T219_ = NIM_NIL; T219_ = skipTypes__ast_3735(T218_, abstractInst__ast_355); 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)); LA217_: ; if (!T216_) goto LA220_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA220_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16): { switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16): { tyObject_TType__facALICuu8zUj0hjvbTLFg* fRange; tyObject_TType__facALICuu8zUj0hjvbTLFg* aRange; tyObject_TType__facALICuu8zUj0hjvbTLFg* ff; tyObject_TType__facALICuu8zUj0hjvbTLFg* aa; fRange = (*f).sons->data[((NI) 0)]; aRange = (*a).sons->data[((NI) 0)]; { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_3; RootObj* T228_; if (!((*fRange).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA226_; T228_ = NIM_NIL; T228_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&(fRange))))); prev_3 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T228_)); { if (!(prev_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA231_; put__sigmatch_120(c, fRange, (*a).sons->data[((NI) 0)]); fRange = a; } goto LA229_; LA231_: ; { fRange = prev_3; } LA229_: ; } LA226_: ; ff = skipTypes__ast_3735((*f).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_14); aa = (*a).sons->data[((NI) 1)]; { NIM_BOOL T236_; T236_ = (NIM_BOOL)0; T236_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(T236_)) goto LA237_; T236_ = ((*aa).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA237_: ; if (!T236_) goto LA238_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA234_; LA238_: ; { result = typeRel__sigmatch_202(c, ff, aa, flags); } LA234_: ; { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA243_; { NIM_BOOL T247_; NIM_BOOL T248_; NIM_BOOL T249_; T247_ = (NIM_BOOL)0; T248_ = (NIM_BOOL)0; T249_ = (NIM_BOOL)0; T249_ = NIM_FALSE; if (!(T249_)) goto LA250_; T249_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0)); LA250_: ; T248_ = T249_; if (!(T248_)) goto LA251_; T248_ = ((*ff).kind == (*aa).kind); LA251_: ; T247_ = T248_; if (!(T247_)) goto LA252_; T247_ = isCovariantPtr__sigmatch_1405(c, ff, aa); LA252_: ; if (!T247_) goto LA253_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA245_; LA253_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA245_: ; } LA243_: ; { if (!(((*fRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA258_; result = inferStaticsInRange__sigmatch_1370(c, fRange, a); goto BeforeRet_; } goto LA256_; LA258_: ; { NIM_BOOL T261_; T261_ = (NIM_BOOL)0; T261_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))); if (!(T261_)) goto LA262_; T261_ = (((*aRange).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0); LA262_: ; if (!T261_) goto LA263_; result = inferStaticsInRange__sigmatch_1370(c, aRange, f); goto BeforeRet_; } goto LA256_; LA263_: ; { { tyObject_Int128__9a9axPfb75jdWY25AamJewkA T268_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T269_; NIM_BOOL T270_; T268_ = lengthOrd__types_1652((*(*(*c).c).graph).config, fRange); T269_ = lengthOrd__types_1652((*(*(*c).c).graph).config, aRange); T270_ = (NIM_BOOL)0; T270_ = eqeq___int495056_313(T268_, T269_); if (!!(T270_)) goto LA271_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA271_: ; } LA256_: ; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49): { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T279_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T280_; if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49))) goto LA277_; T279_ = NIM_NIL; T279_ = base__types_63(f); T280_ = NIM_NIL; T280_ = base__types_63(a); result = typeRel__sigmatch_202(c, T279_, T280_, flags); { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA283_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA283_: ; } goto LA275_; LA277_: ; { } LA275_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48): { { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA289_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T295_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T296_; if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA293_; T295_ = NIM_NIL; T295_ = base__types_63(f); T296_ = NIM_NIL; T296_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, T295_, T296_, flags); goto BeforeRet_; } LA293_: ; { if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA299_; goto BeforeRet_; } LA299_: ; } LA289_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T302_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T303_; T302_ = NIM_NIL; T302_ = base__types_63(f); T303_ = NIM_NIL; T303_ = base__types_63(a); result = typeRel__sigmatch_202(c, T302_, T303_, flags); { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA306_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA306_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16): { tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym291_; tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym291_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym291_; { NIM_BOOL T311_; T311_ = (NIM_BOOL)0; T311_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(T311_)) goto LA312_; T311_ = ((*(*a).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA312_: ; if (!T311_) goto LA313_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); goto BeforeRet_; } LA313_: ; ffX60gensym291_ = base__types_63(f); aaX60gensym291_ = (*a).sons->data[((NI) 1)]; baseRelX60gensym291_ = typeRel__sigmatch_202(c, ffX60gensym291_, aaX60gensym291_, flags); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym291_)) goto LA317_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA315_; LA317_: ; { NIM_BOOL T320_; NIM_BOOL T321_; NIM_BOOL T322_; T320_ = (NIM_BOOL)0; T321_ = (NIM_BOOL)0; T322_ = (NIM_BOOL)0; T322_ = NIM_FALSE; if (!(T322_)) goto LA323_; T322_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0)); LA323_: ; T321_ = T322_; if (!(T321_)) goto LA324_; T321_ = ((*ffX60gensym291_).kind == (*aaX60gensym291_).kind); LA324_: ; T320_ = T321_; if (!(T320_)) goto LA325_; T320_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym291_, aaX60gensym291_); LA325_: ; if (!T320_) goto LA326_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA315_; LA326_: ; LA315_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24): { tyObject_TType__facALICuu8zUj0hjvbTLFg* ffX60gensym298_; tyObject_TType__facALICuu8zUj0hjvbTLFg* aaX60gensym298_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw baseRelX60gensym298_; { NIM_BOOL T331_; T331_ = (NIM_BOOL)0; T331_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(T331_)) goto LA332_; T331_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA332_: ; if (!T331_) goto LA333_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); goto BeforeRet_; } LA333_: ; ffX60gensym298_ = base__types_63(f); aaX60gensym298_ = (*a).sons->data[((NI) 0)]; baseRelX60gensym298_ = typeRel__sigmatch_202(c, ffX60gensym298_, aaX60gensym298_, flags); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= baseRelX60gensym298_)) goto LA337_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA335_; LA337_: ; { NIM_BOOL T340_; NIM_BOOL T341_; NIM_BOOL T342_; T340_ = (NIM_BOOL)0; T341_ = (NIM_BOOL)0; T342_ = (NIM_BOOL)0; T342_ = NIM_FALSE; if (!(T342_)) goto LA343_; T342_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0)); LA343_: ; T341_ = T342_; if (!(T341_)) goto LA344_; T341_ = ((*ffX60gensym298_).kind == (*aaX60gensym298_).kind); LA344_: ; T340_ = T341_; if (!(T340_)) goto LA345_; T340_ = isCovariantPtr__sigmatch_1405(c, ffX60gensym298_, aaX60gensym298_); LA345_: ; if (!T340_) goto LA346_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA335_; LA346_: ; LA335_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28): { { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA351_; { if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA355_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA353_; LA355_: ; { NIM_BOOL T358_; NIM_BOOL T359_; NI T361_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T363_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T364_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T365_; T358_ = (NIM_BOOL)0; T359_ = (NIM_BOOL)0; T359_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(T359_)) goto LA360_; T361_ = (NI)0; T361_ = len__ast_4002(a); T359_ = (((NI) 0) < T361_); LA360_: ; T358_ = T359_; if (!(T358_)) goto LA362_; T363_ = NIM_NIL; T363_ = base__types_63(f); T364_ = NIM_NIL; T364_ = base__types_63(a); T365_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T365_ = typeRel__sigmatch_202(c, T363_, T364_, flags); T358_ = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) <= T365_); LA362_: ; if (!T358_) goto LA366_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA353_; LA366_: ; LA353_: ; } LA351_: ; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24): { switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24): { { NIM_BOOL T373_; T373_ = (NIM_BOOL)0; T373_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(T373_)) goto LA374_; T373_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA374_: ; if (!T373_) goto LA375_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA371_; LA375_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_2; tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_2; ff_2 = (*f).sons->data[((NI) 0)]; aa_2 = (*a).sons->data[((NI) 0)]; result = typeRel__sigmatch_202(c, ff_2, aa_2, flags); { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA380_; { NIM_BOOL T384_; NIM_BOOL T385_; NIM_BOOL T386_; T384_ = (NIM_BOOL)0; T385_ = (NIM_BOOL)0; T386_ = (NIM_BOOL)0; T386_ = NIM_FALSE; if (!(T386_)) goto LA387_; T386_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0)); LA387_: ; T385_ = T386_; if (!(T385_)) goto LA388_; T385_ = ((*ff_2).kind == (*aa_2).kind); LA388_: ; T384_ = T385_; if (!(T384_)) goto LA389_; T384_ = isCovariantPtr__sigmatch_1405(c, ff_2, aa_2); LA389_: ; if (!T384_) goto LA390_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA382_; LA390_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA382_: ; } goto LA378_; LA380_: ; { NIM_BOOL T394_; T394_ = (NIM_BOOL)0; T394_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); if (!(T394_)) goto LA395_; T394_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA395_: ; if (!T394_) goto LA396_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA378_; LA396_: ; LA378_: ; } LA371_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15): { { NIM_BOOL T403_; tyObject_TType__facALICuu8zUj0hjvbTLFg* x_4; T403_ = (NIM_BOOL)0; T403_ = isOrdinalType__types_299(a, (((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0)); if (!T403_) goto LA404_; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15))) goto LA408_; x_4 = (*a).sons->data[((NI) 0)]; } goto LA406_; LA408_: ; { x_4 = a; } LA406_: ; { if (!((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA413_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA411_; LA413_: ; { result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], x_4, flags); { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA418_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA418_: ; } LA411_: ; } goto LA401_; LA404_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA421_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA401_; LA421_: ; LA401_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA427_; a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22); } LA427_: ; { if (!((*a).kind == (*f).kind)) goto LA431_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA431_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA436_; result = recordRel__sigmatch_806(c, f, a); } LA436_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA441_; { NIM_BOOL T445_; T445_ = (NIM_BOOL)0; T445_ = sameObjectTypes__types_2038(f, a); if (!T445_) goto LA446_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA443_; LA446_: ; { NI depth; depth = isObjectSubtype__sigmatch_656(c, a, f, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); { if (!(((NI) 0) < depth)) goto LA451_; (*c).inheritancePenalty += depth; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } LA451_: ; } LA443_: ; } LA441_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13): { a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_23); { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA456_; { NIM_BOOL T460_; T460_ = (NIM_BOOL)0; T460_ = sameDistinctTypes__types_2083(f, a); if (!T460_) goto LA461_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } goto LA458_; LA461_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T466_; if (!(*c).coerceDistincts) goto LA464_; T466_ = NIM_NIL; T466_ = base__types_63(f); result = typeRel__sigmatch_202(c, T466_, a, flags); } goto LA458_; LA464_: ; LA458_: ; } goto LA454_; LA456_: ; { NIM_BOOL T468_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T470_; T468_ = (NIM_BOOL)0; T468_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5)); if (!(T468_)) goto LA469_; T470_ = NIM_NIL; T470_ = base__types_63(f); 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)); LA469_: ; if (!T468_) goto LA471_; result = allowsNil__sigmatch_875(f); } goto LA454_; LA471_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T476_; if (!(*c).coerceDistincts) goto LA474_; T476_ = NIM_NIL; T476_ = base__types_63(f); result = typeRel__sigmatch_202(c, T476_, a, flags); } goto LA454_; LA474_: ; LA454_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA480_; { NIM_BOOL T484_; T484_ = (NIM_BOOL)0; T484_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(T484_)) goto LA485_; T484_ = ((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA485_: ; if (!T484_) goto LA486_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA482_; LA486_: ; { result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], (*a).sons->data[((NI) 0)], flags); { if (!(result < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA491_; { if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1))) goto LA495_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } goto LA493_; LA495_: ; { if (!!((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43))&63U)))!=0))) goto LA498_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } goto LA493_; LA498_: ; LA493_: ; } LA491_: ; } LA482_: ; } LA480_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA503_; a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22); } LA503_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T524_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T525_; if (!((*a).kind == (*f).kind)) goto LA507_; { NI T511_; NI T512_; T511_ = (NI)0; T511_ = len__ast_4002(a); T512_ = (NI)0; T512_ = len__ast_4002(f); if (!(T511_ < T512_)) goto LA513_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA513_: ; { NI i_4; NI colontmp_; NI T516_; NI i_5; i_4 = (NI)0; colontmp_ = (NI)0; T516_ = (NI)0; T516_ = len__ast_4002(f); colontmp_ = (NI)(T516_ - ((NI) 1)); i_5 = ((NI) 0); { while (1) { if (!(i_5 < colontmp_)) goto LA518; i_4 = i_5; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T521_; T521_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T521_ = typeRel__sigmatch_202(c, (*f).sons->data[i_4], (*a).sons->data[i_4], flags); if (!(T521_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA522_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA522_: ; i_5 += ((NI) 1); } LA518: ; } } T524_ = NIM_NIL; T524_ = lastSon__ast_3743(f); T525_ = NIM_NIL; T525_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, T524_, T525_, (flags | 2)); { NIM_BOOL T528_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T530_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T531_; T528_ = (NIM_BOOL)0; T528_ = (result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4)); if (!(T528_)) goto LA529_; T530_ = NIM_NIL; T530_ = lastSon__ast_3743(f); T531_ = NIM_NIL; T531_ = skipTypes__ast_3735(T530_, abstractInst__ast_355); 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)); LA529_: ; if (!T528_) goto LA532_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA532_: ; { if (!(result <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2))) goto LA536_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } goto LA534_; LA536_: ; { NIM_BOOL T539_; T539_ = (NIM_BOOL)0; T539_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); if (!(T539_)) goto LA540_; T539_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA540_: ; if (!T539_) goto LA541_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA534_; LA541_: ; LA534_: ; } goto LA505_; LA507_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA544_; result = allowsNil__sigmatch_875(f); } goto LA505_; LA544_: ; { } LA505_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA550_; a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22); } LA550_: ; result = procTypeRel__sigmatch_927(c, f, a); { NIM_BOOL T554_; NIM_BOOL T555_; T554_ = (NIM_BOOL)0; T555_ = (NIM_BOOL)0; T555_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T555_)) goto LA556_; T555_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); LA556_: ; T554_ = T555_; if (!(T554_)) goto LA557_; T554_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA557_: ; if (!T554_) goto LA558_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } LA558_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T562_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T563_; T562_ = NIM_NIL; T562_ = lastSon__ast_3743(f); T563_ = NIM_NIL; T563_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, T562_, T563_, flags); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = allowsNil__sigmatch_875(f); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA569_; a = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_22); } LA569_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26): { { NIM_BOOL T574_; T574_ = (NIM_BOOL)0; T574_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); if (!(T574_)) goto LA575_; T574_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA575_: ; if (!T574_) goto LA576_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA572_; LA576_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA572_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = allowsNil__sigmatch_875(f); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25): { { if (!!(((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA583_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } LA583_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): { { NI T588_; T588_ = (NI)0; T588_ = len__ast_4002(a); if (!(T588_ == ((NI) 1))) goto LA589_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } LA589_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28): { switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28): { { NIM_BOOL T597_; T597_ = (NIM_BOOL)0; T597_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); if (!(T597_)) goto LA598_; T597_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA598_: ; if (!T597_) goto LA599_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA595_; LA599_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA595_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29): { switch ((*a).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29): { { NIM_BOOL T608_; T608_ = (NIM_BOOL)0; T608_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0); if (!(T608_)) goto LA609_; T608_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)); LA609_: ; if (!T608_) goto LA610_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA606_; LA610_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA606_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5): { result = allowsNil__sigmatch_875(f); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): { { NI T618_; tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo; T618_ = (NI)0; T618_ = len__ast_4002(a); if (!(T618_ == ((NI) 1))) goto LA619_; pointsTo = skipTypes__ast_3735((*a).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_24); { if (!((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA623_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA621_; LA623_: ; { NIM_BOOL T626_; T626_ = (NIM_BOOL)0; T626_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49)); if (!(T626_)) goto LA627_; T626_ = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2)); LA627_: ; if (!T626_) goto LA628_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA621_; LA628_: ; { NIM_BOOL T631_; NIM_BOOL T632_; NIM_BOOL T633_; tyObject_Int128__9a9axPfb75jdWY25AamJewkA T635_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T637_; T631_ = (NIM_BOOL)0; T632_ = (NIM_BOOL)0; T633_ = (NIM_BOOL)0; T633_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16)); if (!(T633_)) goto LA634_; T635_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]); T633_ = eqeq___int495056_759(T635_, IL64(0)); LA634_: ; T632_ = T633_; if (!(T632_)) goto LA636_; T637_ = NIM_NIL; T637_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); T632_ = ((*T637_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T637_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)); LA636_: ; T631_ = T632_; if (!(T631_)) goto LA638_; T631_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2)); LA638_: ; if (!T631_) goto LA639_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1); } goto LA621_; LA639_: ; LA621_: ; } LA619_: ; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63): { { if (!((*a).kind == (*f).kind)) goto LA645_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA645_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T648_; T648_ = NIM_NIL; T648_ = lastSon__ast_3743(f); result = typeRel__sigmatch_202(c, T648_, a, flags); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA652_; { NI T656_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T659_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T660_; T656_ = (NI)0; T656_ = len__ast_4002(f); if (!(T656_ == ((NI) 1))) goto LA657_; T659_ = NIM_NIL; T659_ = lastSon__ast_3743(f); T660_ = NIM_NIL; T660_ = lastSon__ast_3743(a); result = typeRel__sigmatch_202(c, T659_, T660_, flags); } goto LA654_; LA657_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA654_: ; } goto LA650_; LA652_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA650_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_4; RootObj* T664_; tyObject_TType__facALICuu8zUj0hjvbTLFg* origF; tyObject_TType__facALICuu8zUj0hjvbTLFg* f_3; tyObject_TType__facALICuu8zUj0hjvbTLFg* roota; tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf; T664_ = NIM_NIL; T664_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prev_4 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T664_)); origF = f; { if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA667_; f_3 = f; } goto LA665_; LA667_: ; { f_3 = prev_4; } LA665_: ; roota = skipGenericAlias__types_2210(a); rootf = skipGenericAlias__types_2210(f_3); { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA672_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T676_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T677_; tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg nextFlags; NIM_BOOL hasCovariance; T676_ = NIM_NIL; T676_ = base__types_63(roota); T677_ = NIM_NIL; T677_ = base__types_63(rootf); if (!(T676_ == T677_)) goto LA678_; nextFlags = (flags | 2); hasCovariance = NIM_FALSE; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); { NI i_6; NI colontmp__2; NI T681_; NI i_7; i_6 = (NI)0; colontmp__2 = (NI)0; T681_ = (NI)0; T681_ = len__ast_4002(rootf); colontmp__2 = (NI)(T681_ - ((NI) 1)); i_7 = ((NI) 1); { while (1) { if (!(i_7 < colontmp__2)) goto LA683; i_6 = i_7; { tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_3; tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_3; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw res_2; ff_3 = (*rootf).sons->data[i_6]; aa_3 = (*roota).sons->data[i_6]; res_2 = typeRel__sigmatch_202(c, ff_3, aa_3, nextFlags); { NIM_BOOL T687_; T687_ = (NIM_BOOL)0; T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T687_)) goto LA688_; T687_ = !((res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10))); LA688_: ; if (!T687_) goto LA689_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA689_: ; { if (!!(((1280 &((NU16)1<<((NU)(res_2)&15U)))!=0))) goto LA693_; { NIM_BOOL T697_; tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw paramFlags; tyObject_TType__facALICuu8zUj0hjvbTLFg* T701_; T697_ = (NIM_BOOL)0; T697_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 1))&7U)))!=0)); if (!(T697_)) goto LA698_; T697_ = ((*ff_3).kind == (*aa_3).kind); LA698_: ; if (!T697_) goto LA699_; T701_ = NIM_NIL; T701_ = base__types_63(rootf); paramFlags = (*(*T701_).sons->data[(NI)(i_6 - ((NI) 1))]).flags; { if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA704_; { if (!((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA708_; hasCovariance = isCovariantPtr__sigmatch_1405(c, ff_3, aa_3); } goto LA706_; LA708_: ; { NIM_BOOL T711_; T711_ = (NIM_BOOL)0; T711_ = !(((*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*ff_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))); if (!(T711_)) goto LA712_; T711_ = (res_2 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3)); LA712_: ; hasCovariance = T711_; } LA706_: ; } goto LA702_; LA704_: ; { NIM_BOOL T714_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T716_; T714_ = (NIM_BOOL)0; T714_ = ((paramFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0); if (!(T714_)) goto LA715_; T716_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T716_ = typeRel__sigmatch_202(c, aa_3, ff_3, flags); T714_ = (T716_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3)); LA715_: ; hasCovariance = T714_; } LA702_: ; { if (!hasCovariance) goto LA719_; goto LA684; } LA719_: ; } LA699_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA693_: ; } LA684: ; i_7 += ((NI) 1); } LA683: ; } } { if (!(prev_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA723_; put__sigmatch_120(c, f_3, a); } LA723_: ; } goto LA674_; LA678_: ; { tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fKind; tyObject_TType__facALICuu8zUj0hjvbTLFg* T726_; tyObject_TType__facALICuu8zUj0hjvbTLFg* aAsObject; T726_ = NIM_NIL; T726_ = lastSon__ast_3743(rootf); fKind = (*T726_).kind; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T731_; if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57))) goto LA729_; T731_ = NIM_NIL; T731_ = lastSon__ast_3743(f_3); result = typeRel__sigmatch_202(c, T731_, a, flags); { if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA734_; put__sigmatch_120(c, f_3, a); } LA734_: ; goto BeforeRet_; } LA729_: ; aAsObject = lastSon__ast_3743(roota); { if (!(fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || fKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA738_; { if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA742_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } goto LA740_; LA742_: ; { if (!((*aAsObject).kind == fKind)) goto LA745_; aAsObject = base__types_63(aAsObject); } goto LA740_; LA745_: ; LA740_: ; } LA738_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType; if (!((*aAsObject).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA749_; baseType = base__types_63(aAsObject); { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw ret; if (!!((baseType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA753_; (*c).inheritancePenalty += ((NI) 1); ret = typeRel__sigmatch_202(c, f_3, baseType, flags); { if (!((1280 &((NU16)1<<((NU)(ret)&15U)))!=0)) goto LA757_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } goto LA755_; LA757_: ; { result = ret; } LA755_: ; goto BeforeRet_; } LA753_: ; } LA749_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA674_: ; } goto LA670_; LA672_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T761_; T761_ = NIM_NIL; T761_ = lastSon__ast_3743(origF); result = typeRel__sigmatch_202(c, T761_, a, flags); { NIM_BOOL T764_; T764_ = (NIM_BOOL)0; T764_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T764_)) goto LA765_; T764_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))); LA765_: ; if (!T764_) goto LA766_; put__sigmatch_120(c, f_3, a); } LA766_: ; } LA670_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym373_; RootObj* T769_; T769_ = NIM_NIL; T769_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym373_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T769_)); { tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_4; if (!(prevX60gensym373_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA772_; { NIM_BOOL T776_; NIM_BOOL T778_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T780_; T776_ = (NIM_BOOL)0; T776_ = (a == f); if (T776_) goto LA777_; T778_ = (NIM_BOOL)0; T778_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(T778_)) goto LA779_; T780_ = NIM_NIL; T780_ = skipGenericAlias__types_2210(a); T778_ = ((*T780_).sons->data[((NI) 0)] == f); LA779_: ; T776_ = T778_; LA777_: ; if (!T776_) goto LA781_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym375_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T787_; if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA785_; T787_ = NIM_NIL; T787_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); boundX60gensym375_ = skipIntLit__magicsys_124(T787_, (*(*c).c).Sup.idgen); put__sigmatch_120(c, f, boundX60gensym375_); } LA785_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA781_: ; ff_4 = lastSon__ast_3743(f); { if (!!((ff_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA790_; result = typeRel__sigmatch_202(c, ff_4, a, flags); } LA790_: ; } goto LA770_; LA772_: ; { result = typeRel__sigmatch_202(c, prevX60gensym373_, a, flags); goto BeforeRet_; } LA770_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9): { tyObject_TType__facALICuu8zUj0hjvbTLFg* x_5; tyObject_TType__facALICuu8zUj0hjvbTLFg* concpt; NIM_BOOL preventHack; x_5 = skipGenericAlias__types_2210(a); concpt = skipTypes__ast_3735((*f).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_25); preventHack = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62)); { NIM_BOOL T796_; T796_ = (NIM_BOOL)0; T796_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)); if (!(T796_)) goto LA797_; T796_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))); LA797_: ; if (!T796_) goto LA798_; preventHack = NIM_TRUE; x_5 = lastSon__ast_3743(x_5); } LA798_: ; { NIM_BOOL T802_; NIM_BOOL T803_; NIM_BOOL T804_; NIM_BOOL T805_; tyObject_TType__facALICuu8zUj0hjvbTLFg* inst; T802_ = (NIM_BOOL)0; T803_ = (NIM_BOOL)0; T804_ = (NIM_BOOL)0; T805_ = (NIM_BOOL)0; T805_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16)); if (!(T805_)) goto LA806_; T805_ = !(((*c).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); LA806_: ; T804_ = T805_; if (!(T804_)) goto LA807_; T804_ = ((12288 &((NU32)1<<((NU)((*(*c).calleeSym).kind)&31U)))!=0); LA807_: ; T803_ = T804_; if (!(T803_)) goto LA808_; T803_ = !(((*c).call == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA808_: ; T802_ = T803_; if (!(T802_)) goto LA809_; T802_ = !(preventHack); LA809_: ; if (!T802_) goto LA810_; inst = prepareMetatypeForSigmatch__semtypinst_1064((*c).c, (*c).bindings, (*(*c).call).info, f); result = typeRel__sigmatch_202(c, inst, a, flags); goto BeforeRet_; } LA810_: ; { if (!((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA814_; { if (!((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)])) goto LA818_; { NI i_8; NI colontmp__3; NI i_9; i_8 = (NI)0; colontmp__3 = (NI)0; colontmp__3 = len__ast_4002(f); i_9 = ((NI) 1); { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tr; if (!(i_9 < colontmp__3)) goto LA822; i_8 = i_9; tr = typeRel__sigmatch_202(c, (*f).sons->data[i_8], (*x_5).sons->data[i_8], flags); { if (!(tr <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA825_; goto BeforeRet_; } LA825_: ; i_9 += ((NI) 1); } LA822: ; } } result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA818_: ; } goto LA812_; LA814_: ; { NIM_BOOL T828_; NIM_BOOL T829_; NI T832_; NI T833_; T828_ = (NIM_BOOL)0; T829_ = (NIM_BOOL)0; T829_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(T829_)) goto LA830_; T829_ = ((*f).sons->data[((NI) 0)] == (*x_5).sons->data[((NI) 0)]); LA830_: ; T828_ = T829_; if (!(T828_)) goto LA831_; T832_ = (NI)0; T832_ = len__ast_4002(x_5); T833_ = (NI)0; T833_ = len__ast_4002(f); T828_ = ((NI)(T832_ - ((NI) 1)) == T833_); LA831_: ; if (!T828_) goto LA834_; { NI i_10; NI colontmp__4; NI i_11; i_10 = (NI)0; colontmp__4 = (NI)0; colontmp__4 = len__ast_4002(f); i_11 = ((NI) 1); { while (1) { if (!(i_11 < colontmp__4)) goto LA838; i_10 = i_11; { if (!((*(*x_5).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA841_; internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_27); } goto LA839_; LA841_: ; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T844_; T844_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T844_ = typeRel__sigmatch_202(c, (*f).sons->data[i_10], (*x_5).sons->data[i_10], flags); if (!(T844_ <= ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA845_; { if (!!(((*(*f).sons->data[i_10]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA849_; goto BeforeRet_; } LA849_: ; } goto LA839_; LA845_: ; LA839_: ; i_11 += ((NI) 1); } LA838: ; } } result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA812_; LA834_: ; { NIM_BOOL T852_; T852_ = (NIM_BOOL)0; T852_ = ((*x_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(T852_)) goto LA853_; T852_ = ((*concpt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62)); LA853_: ; if (!T852_) goto LA854_; { NIM_BOOL T858_; T858_ = (NIM_BOOL)0; T858_ = conceptMatch__concepts_538((*c).c, concpt, x_5, (&(*c).bindings), f); if (!T858_) goto LA859_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA856_; LA859_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA856_: ; } goto LA812_; LA854_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* genericBody; tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ askip; tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ fskip; tyObject_TType__facALICuu8zUj0hjvbTLFg* aobj; tyObject_TType__facALICuu8zUj0hjvbTLFg* fobj; tyObject_TType__facALICuu8zUj0hjvbTLFg* T863_; NI depth_2; genericBody = (*f).sons->data[((NI) 0)]; askip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0); fskip = ((tyEnum_SkippedPtr__WOSTpykTcTHo6Kb9bHoOUqQ) 0); aobj = skipToObject__sigmatch_703(x_5, (&askip)); T863_ = NIM_NIL; T863_ = lastSon__ast_3743(genericBody); fobj = skipToObject__sigmatch_703(T863_, (&fskip)); depth_2 = ((NI) -1); { NIM_BOOL T866_; NIM_BOOL T867_; T866_ = (NIM_BOOL)0; T867_ = (NIM_BOOL)0; T867_ = !((fobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T867_)) goto LA868_; T867_ = !((aobj == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); LA868_: ; T866_ = T867_; if (!(T866_)) goto LA869_; T866_ = (askip == fskip); LA869_: ; if (!T866_) goto LA870_; depth_2 = isObjectSubtype__sigmatch_656(c, aobj, fobj, f); } LA870_: ; result = typeRel__sigmatch_202(c, genericBody, x_5, flags); { if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA874_; { NI i_12; NI colontmp__5; NI i_13; i_12 = (NI)0; colontmp__5 = (NI)0; colontmp__5 = len__ast_4002(f); i_13 = ((NI) 1); { while (1) { tyObject_TType__facALICuu8zUj0hjvbTLFg* x_6; RootObj* T879_; if (!(i_13 < colontmp__5)) goto LA878; i_12 = i_13; T879_ = NIM_NIL; T879_ = idTableGet__astalgo_64((*c).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*genericBody).sons->data[(NI)(i_12 - ((NI) 1))]))))); x_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T879_)); { if (!(x_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA882_; } goto LA880_; LA882_: ; { if (!((*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*x_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA885_; internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_26), TM__EV5hHJmjIY9cla9b9be7fSVJQ_28); } goto LA880_; LA885_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* key; tyObject_TType__facALICuu8zUj0hjvbTLFg* old; RootObj* T888_; key = (*f).sons->data[i_12]; T888_ = NIM_NIL; T888_ = idTableGet__astalgo_64((*c).bindings, &key->Sup); old = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T888_)); { if (!(old == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA891_; put__sigmatch_120(c, key, x_6); } goto LA889_; LA891_: ; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T894_; T894_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T894_ = typeRel__sigmatch_202(c, old, x_6, (flags | 1)); if (!(T894_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA895_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } goto LA889_; LA895_: ; LA889_: ; } LA880_: ; i_13 += ((NI) 1); } LA878: ; } } } LA874_: ; { NIM_BOOL genericSubtype; if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA899_; genericSubtype = isGenericSubtype__sigmatch_744(c, x_5, f, (&depth_2), f); { NIM_BOOL T903_; NIM_BOOL T904_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym409_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym410_; T903_ = (NIM_BOOL)0; T904_ = (NIM_BOOL)0; T904_ = genericSubtype; if (!(T904_)) goto LA905_; xX60gensym409_ = (*aobj).sym; xX60gensym410_ = (*fobj).sym; T904_ = !(((NI)((NI)((NU32)(((NI) ((*xX60gensym409_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym409_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym410_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym410_).Sup.itemId.item))))); LA905_: ; T903_ = !(T904_); if (!(T903_)) goto LA906_; T903_ = !(((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))); LA906_: ; if (!T903_) goto LA907_; depth_2 = ((NI) -1); } LA907_: ; } LA899_: ; { if (!(((NI) 0) <= depth_2)) goto LA911_; (*c).inheritancePenalty += depth_2; { if (!(depth_2 == ((NI) 0))) goto LA915_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA913_; LA915_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3); } LA913_: ; } LA911_: ; } LA812_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym413_; RootObj* T919_; T919_ = NIM_NIL; T919_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym413_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T919_)); { if (!(prevX60gensym413_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA922_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_3; NI i_14; NI L_3; NI T925_; branch_3 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i_14 = ((NI) 0); T925_ = ((*f).sons ? (*f).sons->Sup.len : 0); L_3 = T925_; { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_7; if (!(i_14 < L_3)) goto LA927; branch_3 = &(*f).sons->data[i_14]; x_7 = typeRel__sigmatch_202(c, (*branch_3), aOrig_2, flags); { if (!(x_7 < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA930_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA930_: ; { if (!(x_7 < result)) goto LA934_; result = x_7; } LA934_: ; i_14 += ((NI) 1); } LA927: ; } } { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA938_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA938_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym415_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T944_; if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA942_; T944_ = NIM_NIL; T944_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); boundX60gensym415_ = skipIntLit__magicsys_124(T944_, (*(*c).c).Sup.idgen); put__sigmatch_120(c, f, boundX60gensym415_); } LA942_: ; goto BeforeRet_; } goto LA920_; LA922_: ; { result = typeRel__sigmatch_202(c, prevX60gensym413_, a, flags); goto BeforeRet_; } LA920_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym418_; RootObj* T947_; T947_ = NIM_NIL; T947_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym418_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T947_)); { NI oldInheritancePenalty; NI maxInheritance; if (!(prevX60gensym418_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA950_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); oldInheritancePenalty = (*c).inheritancePenalty; maxInheritance = ((NI) 0); { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_4; NI i_15; NI L_4; NI T953_; branch_4 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i_15 = ((NI) 0); T953_ = ((*f).sons ? (*f).sons->Sup.len : 0); L_4 = T953_; { while (1) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw x_8; if (!(i_15 < L_4)) goto LA955; branch_4 = &(*f).sons->data[i_15]; (*c).inheritancePenalty = ((NI) 0); x_8 = typeRel__sigmatch_202(c, (*branch_4), aOrig_2, flags); maxInheritance = ((maxInheritance >= (*c).inheritancePenalty) ? maxInheritance : (*c).inheritancePenalty); { if (!(result < x_8)) goto LA958_; result = x_8; } LA958_: ; i_15 += ((NI) 1); } LA955: ; } } { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= result)) goto LA962_; { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA966_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA966_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym422_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T972_; if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA970_; T972_ = NIM_NIL; T972_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); boundX60gensym422_ = skipIntLit__magicsys_124(T972_, (*(*c).c).Sup.idgen); put__sigmatch_120(c, f, boundX60gensym422_); } LA970_: ; goto BeforeRet_; } goto LA960_; LA962_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA960_: ; (*c).inheritancePenalty = (NI)(oldInheritancePenalty + maxInheritance); } goto LA948_; LA950_: ; { result = typeRel__sigmatch_202(c, prevX60gensym418_, a, flags); goto BeforeRet_; } LA948_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym425_; RootObj* T976_; T976_ = NIM_NIL; T976_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym425_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T976_)); { if (!(prevX60gensym425_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA979_; { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch_5; NI i_16; NI L_5; NI T982_; branch_5 = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i_16 = ((NI) 0); T982_ = ((*f).sons ? (*f).sons->Sup.len : 0); L_5 = T982_; { while (1) { if (!(i_16 < L_5)) goto LA984; branch_5 = &(*f).sons->data[i_16]; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T987_; T987_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T987_ = typeRel__sigmatch_202(c, (*branch_5), aOrig_2, flags); if (!!((T987_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA988_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA988_: ; i_16 += ((NI) 1); } LA984: ; } } { tyObject_TType__facALICuu8zUj0hjvbTLFg* boundX60gensym427_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T994_; if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA992_; T994_ = NIM_NIL; T994_ = skipTypes__ast_3735(aOrig_2, TM__EV5hHJmjIY9cla9b9be7fSVJQ_16); boundX60gensym427_ = skipIntLit__magicsys_124(T994_, (*(*c).c).Sup.idgen); put__sigmatch_120(c, f, boundX60gensym427_); } LA992_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA977_; LA979_: ; { result = typeRel__sigmatch_202(c, prevX60gensym425_, a, flags); goto BeforeRet_; } LA977_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym430_; RootObj* T997_; T997_ = NIM_NIL; T997_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym430_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T997_)); { tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete; if (!(prevX60gensym430_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1000_; concrete = concreteType__sigmatch_443((&(*c)), a, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); { NIM_BOOL T1004_; T1004_ = (NIM_BOOL)0; T1004_ = !((concrete == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T1004_)) goto LA1005_; T1004_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0)); LA1005_: ; if (!T1004_) goto LA1006_; put__sigmatch_120(c, f, concrete); } LA1006_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA998_; LA1000_: ; { result = typeRel__sigmatch_202(c, prevX60gensym430_, a, flags); goto BeforeRet_; } LA998_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym434_; RootObj* T1010_; T1010_ = NIM_NIL; T1010_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym434_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1010_)); { tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag targetKind; tyObject_TType__facALICuu8zUj0hjvbTLFg* effectiveArgType; NIM_BOOL typeClassMatches; NIM_BOOL T1015_; NIM_BOOL T1017_; if (!(prevX60gensym434_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1013_; targetKind = (*(*f).sons->data[((NI) 0)]).kind; effectiveArgType = skipTypes__ast_3735(a, TM__EV5hHJmjIY9cla9b9be7fSVJQ_30); T1015_ = (NIM_BOOL)0; T1015_ = (targetKind == (*effectiveArgType).kind); if (!(T1015_)) goto LA1016_; T1017_ = (NIM_BOOL)0; T1017_ = isEmptyContainer__types_3617(effectiveArgType); T1015_ = !(T1017_); LA1016_: ; typeClassMatches = T1015_; { NIM_BOOL T1020_; NIM_BOOL T1022_; T1020_ = (NIM_BOOL)0; T1020_ = typeClassMatches; if (T1020_) goto LA1021_; T1022_ = (NIM_BOOL)0; T1022_ = (targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || targetKind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26)); if (!(T1022_)) goto LA1023_; T1022_ = ((*effectiveArgType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA1023_: ; T1020_ = T1022_; LA1021_: ; if (!T1020_) goto LA1024_; put__sigmatch_120(c, f, a); result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } goto LA1018_; LA1024_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA1018_: ; } goto LA1011_; LA1013_: ; { result = typeRel__sigmatch_202(c, prevX60gensym434_, a, flags); goto BeforeRet_; } LA1011_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52): { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1033_; if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA1031_; T1033_ = NIM_NIL; T1033_ = lastSon__ast_3743(f); result = typeRel__sigmatch_202(c, T1033_, a, flags); } goto LA1029_; LA1031_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym439_; RootObj* T1035_; T1035_ = NIM_NIL; T1035_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym439_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1035_)); { tyObject_TType__facALICuu8zUj0hjvbTLFg* matched; if (!(prevX60gensym439_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1038_; { if (!(aOrig_2 == f)) goto LA1042_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); goto BeforeRet_; } LA1042_: ; matched = matchUserTypeClass__sigmatch_993(c, f, aOrig_2); { if (!!((matched == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1046_; add__concepts_23(matched, a); (*matched).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10)) & 63); { if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0))) goto LA1050_; put__sigmatch_120(c, f, matched); } LA1050_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1044_; LA1046_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1044_: ; } goto LA1036_; LA1038_: ; { result = typeRel__sigmatch_202(c, prevX60gensym439_, a, flags); goto BeforeRet_; } LA1036_: ; } LA1029_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62): { { NIM_BOOL T1057_; T1057_ = (NIM_BOOL)0; T1057_ = conceptMatch__concepts_538((*c).c, f, a, (&(*c).bindings), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); if (!T1057_) goto LA1058_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1055_; LA1058_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1055_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prevX60gensym444_; RootObj* T1062_; T1062_ = NIM_NIL; T1062_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prevX60gensym444_ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1062_)); { tyObject_TType__facALICuu8zUj0hjvbTLFg* roota_2; tyObject_TType__facALICuu8zUj0hjvbTLFg* rootf_2; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1067_; if (!(prevX60gensym444_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1065_; roota_2 = skipGenericAlias__types_2210(a); T1067_ = NIM_NIL; T1067_ = lastSon__ast_3743(f); rootf_2 = skipGenericAlias__types_2210(T1067_); { NIM_BOOL T1070_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1072_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1073_; T1070_ = (NIM_BOOL)0; T1070_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(T1070_)) goto LA1071_; T1072_ = NIM_NIL; T1072_ = base__types_63(roota_2); T1073_ = NIM_NIL; T1073_ = base__types_63(rootf_2); T1070_ = (T1072_ == T1073_); LA1071_: ; if (!T1070_) goto LA1074_; { NI i_17; NI colontmp__6; NI T1077_; NI i_18; i_17 = (NI)0; colontmp__6 = (NI)0; T1077_ = (NI)0; T1077_ = len__ast_4002(rootf_2); colontmp__6 = (NI)(T1077_ - ((NI) 1)); i_18 = ((NI) 1); { while (1) { tyObject_TType__facALICuu8zUj0hjvbTLFg* ff_5; tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_4; if (!(i_18 < colontmp__6)) goto LA1079; i_17 = i_18; ff_5 = (*rootf_2).sons->data[i_17]; aa_4 = (*roota_2).sons->data[i_17]; result = typeRel__sigmatch_202(c, ff_5, aa_4, flags); { if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA1082_; goto BeforeRet_; } LA1082_: ; { NIM_BOOL T1086_; T1086_ = (NIM_BOOL)0; T1086_ = ((*ff_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20)); if (!(T1086_)) goto LA1087_; T1086_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10))); LA1087_: ; if (!T1086_) goto LA1088_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA1088_: ; i_18 += ((NI) 1); } LA1079: ; } } } goto LA1068_; LA1074_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1091_; T1091_ = NIM_NIL; T1091_ = lastSon__ast_3743(rootf_2); result = typeRel__sigmatch_202(c, T1091_, a, flags); } LA1068_: ; { if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1094_; put__sigmatch_120(c, f, a); result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1094_: ; } goto LA1063_; LA1065_: ; { result = typeRel__sigmatch_202(c, prevX60gensym444_, a, flags); goto BeforeRet_; } LA1063_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12): { NIM_BOOL doBindGP; NIM_BOOL T1098_; tyObject_TType__facALICuu8zUj0hjvbTLFg* x_9; RootObj* T1100_; T1098_ = (NIM_BOOL)0; T1098_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 0))&7U)))!=0)); if (T1098_) goto LA1099_; T1098_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg) 2))&7U)))!=0); LA1099_: ; doBindGP = T1098_; T1100_ = NIM_NIL; T1100_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); x_9 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1100_)); { if (!(x_9 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1103_; { NIM_BOOL T1107_; T1107_ = (NIM_BOOL)0; T1107_ = ((*(*c).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)); if (!(T1107_)) goto LA1108_; T1107_ = !((*c).typedescMatched); LA1108_: ; if (!T1107_) goto LA1109_; { if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1113_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1111_; LA1113_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1116_; { NI T1120_; T1120_ = (NI)0; T1120_ = len__ast_4002(f); if (!(T1120_ == ((NI) 0))) goto LA1121_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1118_; LA1121_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* aa_5; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1138_; { NI T1126_; NimStringDesc* argX60gensym454_; T1126_ = (NI)0; T1126_ = len__ast_4002(a); if (!!((((NI) 0) < T1126_))) goto LA1127_; argX60gensym454_ = toFileLineCol__msgs_615(TM__EV5hHJmjIY9cla9b9be7fSVJQ_44); internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym454_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_44); } LA1127_: ; (*c).typedescMatched = NIM_TRUE; aa_5 = a; { while (1) { NIM_BOOL T1131_; NI T1133_; T1131_ = (NIM_BOOL)0; T1131_ = ((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(T1131_)) goto LA1132_; T1133_ = (NI)0; T1133_ = len__ast_4002(aa_5); T1131_ = (((NI) 0) < T1133_); LA1132_: ; if (!T1131_) goto LA1130; aa_5 = lastSon__ast_3743(aa_5); } LA1130: ; } { if (!((*aa_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1136_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA1136_: ; T1138_ = NIM_NIL; T1138_ = base__types_63(f); result = typeRel__sigmatch_202(c, T1138_, aa_5, flags); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1141_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1141_: ; } LA1118_: ; } goto LA1111_; LA1116_: ; { if (!(*c).isNoCall) goto LA1144_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_2; if (!doBindGP) goto LA1148_; concrete_2 = concreteType__sigmatch_443((&(*c)), a, f); { if (!(concrete_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1152_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA1152_: ; put__sigmatch_120(c, f, concrete_2); } LA1148_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1111_; LA1144_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1111_: ; } goto LA1105_; LA1109_: ; { { NIM_BOOL T1158_; NI T1159_; NI oldInheritancePenalty_2; T1158_ = (NIM_BOOL)0; T1159_ = (NI)0; T1159_ = len__ast_4002(f); T1158_ = (((NI) 0) < T1159_); if (!(T1158_)) goto LA1160_; T1158_ = !(((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))); LA1160_: ; if (!T1158_) goto LA1161_; oldInheritancePenalty_2 = (*c).inheritancePenalty; result = typeRel__sigmatch_202(c, (*f).sons->data[((NI) 0)], a, (flags | 5)); { NIM_BOOL T1165_; tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_3; T1165_ = (NIM_BOOL)0; T1165_ = doBindGP; if (!(T1165_)) goto LA1166_; T1165_ = !(((257 &((NU16)1<<((NU)(result)&15U)))!=0)); LA1166_: ; if (!T1165_) goto LA1167_; concrete_3 = concreteType__sigmatch_443((&(*c)), a, f); { if (!(concrete_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1171_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA1171_: ; put__sigmatch_120(c, f, concrete_3); } LA1167_: ; { if (!((1032 &((NU16)1<<((NU)(result)&15U)))!=0)) goto LA1175_; (*c).inheritancePenalty = (NI)((NI)(oldInheritancePenalty_2 - (*c).inheritancePenalty) - (NI)(((NI) 100) * (result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10)))); result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1175_: ; } goto LA1156_; LA1161_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1178_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } goto LA1156_; LA1178_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1156_: ; } LA1105_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete_4; if (!(result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA1183_; concrete_4 = a; { if (!(((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA1187_; transitionGenericParamToType__ast_4390((*a).sym); (*a).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63)); } goto LA1185_; LA1187_: ; { concrete_4 = concreteType__sigmatch_443((&(*c)), a, f); { if (!(concrete_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1192_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); goto BeforeRet_; } LA1192_: ; } LA1185_: ; { if (!doBindGP) goto LA1196_; put__sigmatch_120(c, f, concrete_4); } LA1196_: ; } goto LA1181_; LA1183_: ; { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1199_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1181_; LA1199_: ; LA1181_: ; } goto LA1101_; LA1103_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA1202_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1101_; LA1202_: ; { if (!((*x_9).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA1205_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1101_; LA1205_: ; { result = typeRel__sigmatch_202(c, x_9, a, flags); { if (!(((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8) < result)) goto LA1210_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1210_: ; } LA1101_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_5; RootObj* T1213_; T1213_ = NIM_NIL; T1213_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prev_5 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1213_)); { if (!(prev_5 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1216_; { if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1220_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1224_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1227_; T1224_ = NIM_NIL; T1224_ = base__types_63(f); if (!!(((*T1224_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1225_; T1227_ = NIM_NIL; T1227_ = base__types_63(f); result = typeRel__sigmatch_202(c, T1227_, a, flags); { NIM_BOOL T1230_; T1230_ = (NIM_BOOL)0; T1230_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T1230_)) goto LA1231_; T1230_ = !(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA1231_: ; if (!T1230_) goto LA1232_; { NIM_BOOL T1236_; T1236_ = (NIM_BOOL)0; T1236_ = exprStructuralEquivalent__trees_56((*f).n, (*aOrig_2).n, NIM_FALSE); if (!!(T1236_)) goto LA1237_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1237_: ; } LA1232_: ; } goto LA1222_; LA1225_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1222_: ; { if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1242_; put__sigmatch_120(c, f, aOrig_2); } LA1242_: ; } goto LA1218_; LA1220_: ; { NIM_BOOL T1245_; T1245_ = (NIM_BOOL)0; T1245_ = !(((*aOrig_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T1245_)) goto LA1246_; T1245_ = !(((*(*aOrig_2).n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); LA1246_: ; if (!T1245_) goto LA1247_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1251_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1254_; T1251_ = NIM_NIL; T1251_ = base__types_63(f); if (!!(((*T1251_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA1252_; T1254_ = NIM_NIL; T1254_ = lastSon__ast_3743(f); result = typeRel__sigmatch_202(c, T1254_, (*(*aOrig_2).n).typ, flags); } goto LA1249_; LA1252_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } LA1249_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* boundType; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1260_; if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1258_; T1260_ = NIM_NIL; T1260_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1); asgnRef((void**) (&T1260_->data[0]), (*(*aOrig_2).n).typ); boundType = newTypeWithSons__semdata_821((*c).c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T1260_); asgnRef((void**) (&(*boundType).n), (*aOrig_2).n); put__sigmatch_120(c, f, boundType); } LA1258_: ; } goto LA1218_; LA1247_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1218_: ; } goto LA1214_; LA1216_: ; { if (!((*prev_5).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1263_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1269_; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA1267_; T1269_ = NIM_NIL; T1269_ = lastSon__ast_3743(prev_5); result = typeRel__sigmatch_202(c, T1269_, a, flags); { NIM_BOOL T1272_; T1272_ = (NIM_BOOL)0; T1272_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T1272_)) goto LA1273_; T1272_ = !(((*prev_5).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA1273_: ; if (!T1272_) goto LA1274_; { NIM_BOOL T1278_; T1278_ = (NIM_BOOL)0; T1278_ = exprStructuralEquivalent__trees_56((*prev_5).n, (*aOrig_2).n, NIM_FALSE); if (!!(T1278_)) goto LA1279_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1279_: ; } LA1274_: ; } goto LA1265_; LA1267_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1265_: ; } goto LA1214_; LA1263_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1214_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_6; { NI T1286_; T1286_ = ((*f).sons ? (*f).sons->Sup.len : 0); if (!(((NI) 1) < T1286_)) goto LA1287_; prev_6 = lastSon__ast_3743(f); } goto LA1284_; LA1287_: ; { prev_6 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL); } LA1284_: ; { if (!!((prev_6 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1292_; result = typeRel__sigmatch_202(c, prev_6, a, flags); } goto LA1290_; LA1292_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1295_; T1295_ = NIM_NIL; T1295_ = base__types_63(f); result = typeRel__sigmatch_202(c, T1295_, a, flags); { NI T1300_; if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1298_; unsureAsgnRef((void**) (&(*c).inferredTypes), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) incrSeqV3((TGenericSeq*)((*c).inferredTypes), (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_))); T1300_ = (*c).inferredTypes->Sup.len++; asgnRef((void**) (&(*c).inferredTypes->data[T1300_]), f); add__concepts_23(f, a); } LA1298_: ; } LA1290_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8): { tyObject_TType__facALICuu8zUj0hjvbTLFg* prev_7; RootObj* T1302_; T1302_ = NIM_NIL; T1302_ = idTableGet__astalgo_64((*c).bindings, &f->Sup); prev_7 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1302_)); { if (!(prev_7 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA1305_; { if (!!(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA1309_; { NIM_BOOL T1313_; T1313_ = (NIM_BOOL)0; T1313_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(T1313_)) goto LA1314_; T1313_ = (((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0); LA1314_: ; if (!T1313_) goto LA1315_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1311_; LA1315_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1311_: ; } goto LA1307_; LA1309_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1319_; T1319_ = NIM_NIL; T1319_ = base__types_63(f); if (!((*T1319_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1320_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } goto LA1307_; LA1320_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1323_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1324_; T1323_ = NIM_NIL; T1323_ = base__types_63(f); T1324_ = NIM_NIL; T1324_ = base__types_63(a); result = typeRel__sigmatch_202(c, T1323_, T1324_, flags); } LA1307_: ; { if (!!((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA1327_; put__sigmatch_120(c, f, a); } LA1327_: ; } goto LA1303_; LA1305_: ; { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1334_; if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA1332_; T1334_ = NIM_NIL; T1334_ = base__types_63(prev_7); result = typeRel__sigmatch_202(c, T1334_, a, flags); } goto LA1330_; LA1332_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1338_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1339_; if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA1336_; T1338_ = NIM_NIL; T1338_ = base__types_63(prev_7); T1339_ = NIM_NIL; T1339_ = base__types_63(a); result = typeRel__sigmatch_202(c, T1338_, T1339_, flags); } goto LA1330_; LA1336_: ; { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1330_: ; } LA1303_: ; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7): { { if (!!((aOrig_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA1344_; put__sigmatch_120(c, f, aOrig_2); } LA1344_: ; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50): { result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61): { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* reevaluated; { NIM_BOOL T1350_; T1350_ = (NIM_BOOL)0; T1350_ = ((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); if (T1350_) goto LA1351_; T1350_ = ((*(*f).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA1351_: ; if (!T1350_) goto LA1352_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8); goto BeforeRet_; } LA1352_: ; reevaluated = tryResolvingStaticExpr__sigmatch_1227(c, (*f).n, NIM_FALSE); switch ((*(*reevaluated).typ).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1355_; T1355_ = NIM_NIL; T1355_ = base__types_63((*reevaluated).typ); result = typeRel__sigmatch_202(c, a, T1355_, flags); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T1357_; T1357_ = NIM_NIL; T1357_ = base__types_63((*reevaluated).typ); result = typeRel__sigmatch_202(c, a, T1357_, flags); { NIM_BOOL T1360_; T1360_ = (NIM_BOOL)0; T1360_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T1360_)) goto LA1361_; T1360_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA1361_: ; if (!T1360_) goto LA1362_; { NIM_BOOL T1366_; T1366_ = (NIM_BOOL)0; T1366_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE); if (!!(T1366_)) goto LA1367_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1367_: ; } LA1362_: ; } break; default: { result = typeRel__sigmatch_202(c, a, (*reevaluated).typ, flags); { NIM_BOOL T1372_; T1372_ = (NIM_BOOL)0; T1372_ = !((result == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T1372_)) goto LA1373_; T1372_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA1373_: ; if (!T1372_) goto LA1374_; { NIM_BOOL T1378_; T1378_ = (NIM_BOOL)0; T1378_ = exprStructuralEquivalent__trees_56((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE); if (!!(T1378_)) goto LA1379_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0); } LA1379_: ; } LA1374_: ; } break; } } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0): { { if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA1384_; result = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10); } LA1384_: ; } break; default: { NimStringDesc* T1387_; T1387_ = NIM_NIL; T1387_ = rawNewString((reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 19); appendString(T1387_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_45)); appendString(T1387_, reprEnum((NI)(*f).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))); internalErrorImpl__msgs_1431((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_280, T1387_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_46); } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3238)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r, NI convMatch) { switch (r) { case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1): case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2): { (*m).convMatches += convMatch; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3): case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4): { (*m).subtypeMatches += ((NI) 1); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8): case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6): case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5): { (*m).genericMatches += ((NI) 1); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9): { (*m).intConvMatches += ((NI) 256); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7): { (*m).convMatches += ((NI) 1); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10): { (*m).exactMatches += ((NI) 1); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0): { } break; } } 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) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; RootObj* T1_; result = NIM_NIL; T1_ = NIM_NIL; T1_ = idTableGet__astalgo_64((*m).bindings, &f->Sup); result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T1_)); { if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA4_; result = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, f); } LA4_: ; { if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA8_; internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_49), TM__EV5hHJmjIY9cla9b9be7fSVJQ_50); result = errorType__semdata_1002(c); } LA8_: ; return result; } 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) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; result = newNodeI__ast_3356(kind, (*arg).info); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = containsGenericType__types_3351(f); if (!T3_) goto LA4_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_; if (!!(!(((*m).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))))) goto LA8_; T10_ = NIM_NIL; T10_ = getInstantiatedType__sigmatch_3053(c, arg, m, f); asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(T10_, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51)); } goto LA6_; LA8_: ; { asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c)); } LA6_: ; } goto LA1_; LA4_: ; { asgnRef((void**) (&(*result).typ), skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_51)); } LA1_: ; { if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_; internalErrorImpl__msgs_1431((*(*c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_52), TM__EV5hHJmjIY9cla9b9be7fSVJQ_53); } LA15_: ; add__ast_4797(result, (*(*c).graph).emptyNode); add__ast_4797(result, arg); return result; } static N_INLINE(NIM_BOOL, isLValue__sigmatch_3090)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NIM_BOOL result; tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa; result = (NIM_BOOL)0; aa = isAssignable__parampatterns_334(((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), n, NIM_FALSE); switch (aa) { case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1): case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2): case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 5): { result = NIM_TRUE; } break; case ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3): { result = (((NI) 0) < (*c).inUncheckedAssignSection); } break; default: { result = NIM_FALSE; } break; } return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, extractPragma__sigmatch_5382)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; { if (!((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_; result = (*(*s).ast)._kind_6.sons->data[((NI) 4)]; } goto LA1_; LA3_: ; { if (!((896 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA6_; { NIM_BOOL T10_; NI T12_; T10_ = (NIM_BOOL)0; T10_ = !(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T10_)) goto LA11_; T12_ = (NI)0; T12_ = len__ast_3198((*s).ast); T10_ = (((NI) 0) < T12_); LA11_: ; if (!T10_) goto LA13_; { NIM_BOOL T17_; NI T19_; T17_ = (NIM_BOOL)0; T17_ = ((*(*(*s).ast)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43)); if (!(T17_)) goto LA18_; T19_ = (NI)0; T19_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 0)]); T17_ = (((NI) 1) < T19_); LA18_: ; if (!T17_) goto LA20_; result = (*(*(*s).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]; } LA20_: ; } LA13_: ; } goto LA1_; LA6_: ; LA1_: ; { NIM_BOOL T24_; T24_ = (NIM_BOOL)0; T24_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); if (T24_) goto LA25_; T24_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90)); LA25_: ; if (!!(T24_)) goto LA26_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_57)); } LA26_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5425)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode; NimStringDesc* name; NimStringDesc* T33_; { pragmaNode = NIM_NIL; { if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA3_; pragmaNode = extractPragma__sigmatch_5382((*s).owner); } goto LA1_; LA3_: ; { pragmaNode = extractPragma__sigmatch_5382(s); } LA1_: ; { NIM_BOOL T8_; NimStringDesc* T12_; T8_ = (NIM_BOOL)0; T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20)); if (!(T8_)) goto LA9_; T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)); LA9_: ; if (!T8_) goto LA10_; T12_ = NIM_NIL; T12_ = rawNewString(((*(*(*s).owner).name).s ? (*(*(*s).owner).name).s->Sup.len : 0) + ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 31); appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_58)); appendString(T12_, (*(*(*s).owner).name).s); appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_59)); appendString(T12_, (*(*s).name).s); appendString(T12_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19)); name = T12_; } goto LA6_; LA10_: ; { name = (*(*s).name).s; } LA6_: ; { if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it; it = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3191(pragmaNode); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA21; i = i_2; it = (*pragmaNode)._kind_6.sons->data[i]; { NIM_BOOL T24_; NIM_BOOL T25_; tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T26_; NI T28_; NimStringDesc* T32_; T24_ = (NIM_BOOL)0; T25_ = (NIM_BOOL)0; T26_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0; T26_ = whichPragma__trees_244(it); T25_ = (T26_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 138)); if (!(T25_)) goto LA27_; T28_ = (NI)0; T28_ = safeLen__ast_3191(it); T25_ = (T28_ == ((NI) 2)); LA27_: ; T24_ = T25_; if (!(T24_)) goto LA29_; 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)); LA29_: ; if (!T24_) goto LA30_; T32_ = NIM_NIL; 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); appendString(T32_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal); appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60)); appendString(T32_, name); appendString(T32_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61)); liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_62, NIM_FALSE); goto BeforeRet_; } LA30_: ; i_2 += ((NI) 1); } LA21: ; } } } } LA16_: ; T33_ = NIM_NIL; T33_ = rawNewString((name ? name->Sup.len : 0) + 14); appendString(T33_, name); appendString(T33_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_61)); liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_64, NIM_FALSE); }BeforeRet_: ; } static N_INLINE(NimStringDesc*, toFileLineCol__msgs_619)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { NimStringDesc* result; NimStringDesc* T1_; result = NIM_NIL; T1_ = NIM_NIL; T1_ = toMsgFilename__msgs_602(conf, info.fileIndex); result = resizeString(result, (T1_ ? T1_->Sup.len : 0) + 0); appendString(result, T1_); { if (!(((NI) 0) < ((NI) (info.line)))) goto LA4_; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_41)); addInt__stdZprivateZdigitsutils_189((&result), ((NI) (info.line))); { if (!(((NI) 0) < (NI)(((NI) (info.col)) + ((NI) 1)))) goto LA8_; result = resizeString(result, 2); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42)); addInt__stdZprivateZdigitsutils_189((&result), (NI)(((NI) (info.col)) + ((NI) 1))); } LA8_: ; result = resizeString(result, 1); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_43)); } LA4_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5458)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode; tyArray__24KAM9afIUgUaqBaEBB6r9bg T22_; NimStringDesc* T23_; { pragmaNode = extractPragma__sigmatch_5382(s); { if (!!((pragmaNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it; it = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3191(pragmaNode); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA8; i = i_2; it = (*pragmaNode)._kind_6.sons->data[i]; { NIM_BOOL T11_; NIM_BOOL T12_; tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_; NI T15_; tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_; NimStringDesc* T20_; NimStringDesc* T21_; T11_ = (NIM_BOOL)0; T12_ = (NIM_BOOL)0; T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0; T13_ = whichPragma__trees_244(it); T12_ = (T13_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 122)); if (!(T12_)) goto LA14_; T15_ = (NI)0; T15_ = safeLen__ast_3191(it); T12_ = (T15_ == ((NI) 2)); LA14_: ; T11_ = T12_; if (!(T11_)) goto LA16_; 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)); LA16_: ; if (!T11_) goto LA17_; nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg)); T20_ = NIM_NIL; 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); appendString(T20_, (*(*it)._kind_6.sons->data[((NI) 1)])._kind_3.strVal); appendString(T20_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_60)); T19_[0] = T20_; T19_[1] = copyString((*(*s).name).s); T19_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info); T21_ = NIM_NIL; T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T19_, 3); liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_66, NIM_FALSE); goto BeforeRet_; } LA17_: ; i_2 += ((NI) 1); } LA8: ; } } } } LA3_: ; nimZeroMem((void*)T22_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg)); T22_[0] = ((NimStringDesc*) NIM_NIL); T22_[1] = copyString((*(*s).name).s); T22_[2] = toFileLineCol__msgs_619(conf, (*(*s).ast).info); T23_ = NIM_NIL; T23_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_65), T22_, 3); liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_67, NIM_FALSE); }BeforeRet_: ; } static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) { NU64 result; NU64 aH; NU64 aL; NU64 bH; NU64 bL; NU64 rHH; NU64 rHL; NU64 rLH; NU64 rLL; NU64 t; NU64 c; NU64 lo; NU64 T6_; NU64 hi; { result = (NU64)0; aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32))); aL = (NU64)(a & 4294967295ULL); bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32))); bL = (NU64)(b & 4294967295ULL); rHH = (NU64)((NU64)(aH) * (NU64)(bH)); rHL = (NU64)((NU64)(aH) * (NU64)(bL)); rLH = (NU64)((NU64)(aL) * (NU64)(bH)); rLL = (NU64)((NU64)(aL) * (NU64)(bL)); t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32))))); { if (!((NU64)(t) < (NU64)(rLL))) goto LA3_; c = 1ULL; } goto LA1_; LA3_: ; { c = 0ULL; } LA1_: ; lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32))))); T6_ = (NU64)0; { if (!((NU64)(lo) < (NU64)(t))) goto LA9_; T6_ = 1ULL; } goto LA7_; LA9_: ; { T6_ = 0ULL; } LA7_: ; c += T6_; hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c)); result = (NU64)(hi ^ lo); goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) { NU64 result; result = (NU64)0; result = hiXorLoFallback64__pureZhashes_35(a, b); return result; } static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) { NI result; NU64 T1_; NU64 T2_; result = (NI)0; T1_ = (NU64)0; T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL)); T2_ = (NU64)0; T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL); result = ((NI) (T2_)); return result; } static N_INLINE(NI, hash__pureZhashes_128)(NI x) { NI result; result = (NI)0; result = hashWangYi1__pureZhashes_136(((NU64) (x))); return result; } static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) { NIM_BOOL result; result = (NIM_BOOL)0; result = !((hcode == ((NI) 0))); return result; } static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) { NI result; result = (NI)0; result = (NI)((NI)(h + ((NI) 1)) & maxHash); return result; } static N_INLINE(NI, rawGet__sigmatch_5618)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI* hc) { NI result; NI h; NI T10_; { result = (NI)0; (*hc) = hash__pureZhashes_128(key); { if (!((*hc) == ((NI) 0))) goto LA3_; (*hc) = ((NI) 314159265); } LA3_: ; { NI T7_; T7_ = (t.data ? t.data->Sup.len : 0); if (!(T7_ == ((NI) 0))) goto LA8_; result = ((NI) -1); goto BeforeRet_; } LA8_: ; T10_ = ((t.data ? t.data->Sup.len : 0)-1); h = (NI)((*hc) & T10_); { while (1) { NIM_BOOL T13_; NI T20_; T13_ = (NIM_BOOL)0; T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0); if (!T13_) goto LA12; { NIM_BOOL T16_; T16_ = (NIM_BOOL)0; T16_ = (t.data->data[h].Field0 == (*hc)); if (!(T16_)) goto LA17_; T16_ = (t.data->data[h].Field1 == key); LA17_: ; if (!T16_) goto LA18_; result = h; goto BeforeRet_; } LA18_: ; T20_ = ((t.data ? t.data->Sup.len : 0)-1); h = nextTry__pureZcollectionsZtables_34(h, T20_); } LA12: ; } result = (NI)(((NI) -1) - h); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5608)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0) { NI result; NI hcX60gensym888_; NI indexX60gensym888_; result = (NI)0; hcX60gensym888_ = (NI)0; indexX60gensym888_ = rawGet__sigmatch_5618(t, key, (&hcX60gensym888_)); { if (!(((NI) 0) <= indexX60gensym888_)) goto LA3_; result = t.data->data[indexX60gensym888_].Field2; } goto LA1_; LA3_: ; { result = default_0; } LA1_: ; return result; } static N_INLINE(NI, emarkamp___pureZhashes_3)(NI h, NI val) { NI result; NU h_2; NU val_2; NU res; result = (NI)0; h_2 = ((NU) (h)); val_2 = ((NU) (val)); res = (NU)((NU32)(h_2) + (NU32)(val_2)); res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 10))))); res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 6)))); result = ((NI) (res)); return result; } static N_INLINE(NI, emarkdollar___pureZhashes_18)(NI h) { NI result; NU h_2; NU res; result = (NI)0; h_2 = ((NU) (h)); res = (NU)((NU32)(h_2) + (NU32)((NU)((NU32)(h_2) << (NU32)(((NI) 3))))); res = (NU)(res ^ (NU)((NU32)(res) >> (NU32)(((NI) 11)))); res = (NU)((NU32)(res) + (NU32)((NU)((NU32)(res) << (NU32)(((NI) 15))))); result = ((NI) (res)); return result; } N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_6038)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x) { NI result; NI T1_; NI T2_; result = (NI)0; T1_ = (NI)0; T1_ = hash__pureZhashes_128(x.Field0); result = emarkamp___pureZhashes_3(result, T1_); T2_ = (NI)0; T2_ = hash__pureZhashes_128(x.Field1); result = emarkamp___pureZhashes_3(result, T2_); result = emarkdollar___pureZhashes_18(result); return result; } static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) { NIM_BOOL result; result = (NIM_BOOL)0; result = !((hcode == ((NI) 0))); return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___sigmatch_6286)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y) { NIM_BOOL result; { result = (NIM_BOOL)0; { if (!!((x.Field0 == y.Field0))) goto LA3_; result = NIM_FALSE; goto BeforeRet_; } LA3_: ; { if (!!((x.Field1 == y.Field1))) goto LA7_; result = NIM_FALSE; goto BeforeRet_; } LA7_: ; result = NIM_TRUE; goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) { NI result; result = (NI)0; result = (NI)((NI)(h + ((NI) 1)) & maxHash); return result; } static N_INLINE(NI, rawGet__sigmatch_6031)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w t, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key, NI* hc) { NI result; NI h; NI T10_; { result = (NI)0; (*hc) = hash__sigmatch_6038(key); { if (!((*hc) == ((NI) 0))) goto LA3_; (*hc) = ((NI) 314159265); } LA3_: ; { NI T7_; T7_ = (t.data ? t.data->Sup.len : 0); if (!(T7_ == ((NI) 0))) goto LA8_; result = ((NI) -1); goto BeforeRet_; } LA8_: ; T10_ = ((t.data ? t.data->Sup.len : 0)-1); h = (NI)((*hc) & T10_); { while (1) { NIM_BOOL T13_; NI T20_; T13_ = (NIM_BOOL)0; T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0); if (!T13_) goto LA12; { NIM_BOOL T16_; T16_ = (NIM_BOOL)0; T16_ = (t.data->data[h].Field0 == (*hc)); if (!(T16_)) goto LA17_; T16_ = eqeq___sigmatch_6286(t.data->data[h].Field1, key); LA17_: ; if (!T16_) goto LA18_; result = h; goto BeforeRet_; } LA18_: ; T20_ = ((t.data ? t.data->Sup.len : 0)-1); h = nextTry__pureZcollectionsZsets_41(h, T20_); } LA12: ; } result = (NI)(((NI) -1) - h); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6018)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key) { NIM_BOOL result; NI hc; NI index; result = (NIM_BOOL)0; hc = (NI)0; index = rawGet__sigmatch_6031(s, key, (&hc)); result = (((NI) 0) <= index); return result; } N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6318)(tySequence__xSqu3cxq5WeFlOO3YgE6yA** x, NI i) { NI xl; NI T1_; T1_ = ((*x) ? (*x)->Sup.len : 0); xl = (NI)(T1_ - ((NI) 1)); asgnRef((void**) (&(*x)->data[i].Field0), (*x)->data[xl].Field0); (*x)->data[i].Field1 = (*x)->data[xl].Field1; unsureAsgnRef((void**) (&(*x)), (tySequence__xSqu3cxq5WeFlOO3YgE6yA*) setLengthSeqV2(&((*x))->Sup, (&NTIseqLLpsym_tlineinfoTT__xSqu3cxq5WeFlOO3YgE6yA_), ((NI) (xl)))); } N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module; module = s; { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = !(((*module).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))); LA4_: ; if (!T3_) goto LA2; module = (*module).owner; } LA2: ; } { NIM_BOOL T7_; NI i; T7_ = (NIM_BOOL)0; T7_ = !((module == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T7_)) goto LA8_; T7_ = !((module == (*c).module)); LA8_: ; if (!T7_) goto LA9_; i = ((NI) 0); { while (1) { NI T13_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate; T13_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1); if (!(i <= T13_)) goto LA12; candidate = (*c).unusedImports->data[i].Field0; { NIM_BOOL T16_; NIM_BOOL T17_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym887_; NI T19_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym892_; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T21_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym893_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym894_; T16_ = (NIM_BOOL)0; T17_ = (NIM_BOOL)0; T17_ = (candidate == module); if (T17_) goto LA18_; xX60gensym887_ = candidate; T19_ = (NI)0; T19_ = getOrDefault__sigmatch_5608((*c).importModuleMap, (NI)((NI)((NU32)(((NI) ((*xX60gensym887_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym887_).Sup.itemId.item))), ((NI) (-2147483647 -1))); xX60gensym892_ = module; T17_ = (T19_ == (NI)((NI)((NU32)(((NI) ((*xX60gensym892_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym892_).Sup.itemId.item)))); LA18_: ; T16_ = T17_; if (T16_) goto LA20_; xX60gensym893_ = candidate; T21_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym893_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym893_).Sup.itemId.item))); xX60gensym894_ = s; T21_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym894_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym894_).Sup.itemId.item))); T16_ = contains__sigmatch_6018((*c).exportIndirections, T21_); LA20_: ; if (!T16_) goto LA22_; del__sigmatch_6318((&(*c).unusedImports), ((NI) (i))); } goto LA14_; LA22_: ; { i += ((NI) 1); } LA14_: ; } LA12: ; } } LA9_: ; } N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf; conf = (*(*c).graph).config; (*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20)); if (!(T3_)) goto LA4_; T3_ = !(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); LA4_: ; if (!T3_) goto LA5_; (*(*s).owner).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63); { if (!(((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA9_; warnAboutDeprecated__sigmatch_5425(conf, info, s); } LA9_: ; } LA5_: ; { if (!!(((20971520 & (*s).flags) == 0))) goto LA13_; { if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 22))&63U)))!=0)) goto LA17_; { NIM_BOOL T21_; T21_ = (NIM_BOOL)0; T21_ = ((*c).lastTLineInfo.line == info.line); if (!(T21_)) goto LA22_; T21_ = ((*c).lastTLineInfo.col == info.col); LA22_: ; if (!!(T21_)) goto LA23_; warnAboutDeprecated__sigmatch_5425(conf, info, s); (*c).lastTLineInfo = info; } LA23_: ; } LA17_: ; { if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA27_; userError__sigmatch_5458(conf, info, s); } LA27_: ; } LA13_: ; { if (!!(((49152 & (*conf).globalOptions) == 0))) goto LA31_; styleCheckUse__linter_192(conf, info, s); } LA31_: ; markOwnerModuleAsUsed__sigmatch_89(c, s); } static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]); add__ast_4797(result, n); return result; } 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) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; { result = NIM_NIL; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); { NI i; NI colontmp_; NI T2_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T2_ = ((*c).converters ? (*c).converters->Sup.len : 0); colontmp_ = T2_; i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA4; i = i_2; { tyObject_TType__facALICuu8zUj0hjvbTLFg* src; tyObject_TType__facALICuu8zUj0hjvbTLFg* dest; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw srca; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint; NIM_BOOL destIsGeneric; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw fdest; src = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 1)]; dest = (*(*(*c).converters->data[i]).typ).sons->data[((NI) 0)]; srca = typeRel__sigmatch_202(m, src, a, 0); { if (!!(((1288 &((NU16)1<<((NU)(srca)&15U)))!=0))) goto LA8_; goto LA5; } LA8_: ; constraint = (*(*(*(*(*(*c).converters->data[i]).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).constraint; { NIM_BOOL T12_; NIM_BOOL T14_; T12_ = (NIM_BOOL)0; T12_ = !((constraint == 0)); if (!(T12_)) goto LA13_; T14_ = (NIM_BOOL)0; T14_ = matchNodeKinds__parampatterns_505(constraint, arg); T12_ = !(T14_); LA13_: ; if (!T12_) goto LA15_; goto LA5; } LA15_: ; { NIM_BOOL T19_; NIM_BOOL T21_; T19_ = (NIM_BOOL)0; T19_ = ((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)); if (!(T19_)) goto LA20_; T21_ = (NIM_BOOL)0; T21_ = isLValue__sigmatch_3090(c, arg); T19_ = !(T21_); LA20_: ; if (!T19_) goto LA22_; goto LA5; } LA22_: ; destIsGeneric = containsGenericType__types_3351(dest); { if (!destIsGeneric) goto LA26_; dest = generateTypeInstance__semtypinst_1050(c, (*m).bindings, (*arg).info, dest); } LA26_: ; fdest = typeRel__sigmatch_202(m, f, dest, 0); { NIM_BOOL T30_; NIM_BOOL T32_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param; T30_ = (NIM_BOOL)0; T30_ = ((1280 &((NU16)1<<((NU)(fdest)&15U)))!=0); if (!(T30_)) goto LA31_; T32_ = (NIM_BOOL)0; T32_ = ((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)); if (!(T32_)) goto LA33_; T32_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA33_: ; T30_ = !(T32_); LA31_: ; if (!T30_) goto LA34_; markUsed__sigmatch_85(c, (*arg).info, (*c).converters->data[i]); s = newSymNode__ast_3716((*c).converters->data[i]); asgnRef((void**) (&(*s).typ), (*(*c).converters->data[i]).typ); (*s).info = (*arg).info; result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32), (*arg).info, dest); add__ast_4797(result, s); param = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_; if (!(srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3))) goto LA38_; T40_ = NIM_NIL; T40_ = copyTree__ast_4431(arg); param = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), src, T40_, (&(*m)), c); } goto LA36_; LA38_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_; if (!((*src).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA42_; param = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*arg).info, (*(*s).typ).sons->data[((NI) 1)]); T44_ = NIM_NIL; T44_ = copyTree__ast_4431(arg); add__ast_4797(param, T44_); } goto LA36_; LA42_: ; { param = copyTree__ast_4431(arg); } LA36_: ; add__ast_4797(result, param); { if (!((*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*dest).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA48_; (*dest).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63); result = newDeref__lowerings_11(result); } LA48_: ; (*m).convMatches += ((NI) 1); { NIM_BOOL T54_; if (!!((*m).genericConverter)) goto LA52_; T54_ = (NIM_BOOL)0; T54_ = (srca == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8)); if (T54_) goto LA55_; T54_ = destIsGeneric; LA55_: ; (*m).genericConverter = T54_; } LA52_: ; goto BeforeRet_; } LA34_: ; } LA5: ; i_2 += ((NI) 1); } LA4: ; } } }BeforeRet_: ; return result; } 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) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_; { result = NIM_NIL; { if (!((*arg).typ == 0)) goto LA3_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); goto BeforeRet_; } LA3_: ; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = (f == (*arg).typ); if (!(T7_)) goto LA8_; T7_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58)); LA8_: ; if (!T7_) goto LA9_; result = arg; goto BeforeRet_; } LA9_: ; call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info); T11_ = NIM_NIL; T11_ = copyTree__ast_4431((*f).n); add__ast_4797(call, T11_); T12_ = NIM_NIL; T12_ = copyTree__ast_4431(arg); add__ast_4797(call, T12_); result = (*c).semTryExpr(c, call, 131072); { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r; if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA15_; { if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA19_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); goto BeforeRet_; } LA19_: ; result = (*c).semExpr(c, call, 0); r = typeRel__sigmatch_202(m, (*f).sons->data[((NI) 0)], (*result).typ, 0); { if (!(r < ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA23_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); goto BeforeRet_; } LA23_: ; { if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA27_; transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 32)); } LA27_: ; (*m).convMatches += ((NI) 1); { tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_; if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8))) goto LA31_; T33_ = NIM_NIL; T33_ = base__types_63(f); asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T33_)); } LA31_: ; (*m).baseTypeMatch = NIM_TRUE; } LA15_: ; }BeforeRet_: ; return result; } 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) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TType__facALICuu8zUj0hjvbTLFg* fMaybeStatic; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg; tyObject_TType__facALICuu8zUj0hjvbTLFg* a_2; tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c; NI oldInheritancePenalty; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r; NI bothMetaCounter; NI lastBindingsLength; { result = NIM_NIL; fMaybeStatic = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_13); arg = argSemantized; a_2 = a; c = (*m).c; { if (!(((*fMaybeStatic).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24))&63U)))!=0)) goto LA3_; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(T7_)) goto LA8_; T7_ = (((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0); LA8_: ; if (!T7_) goto LA9_; assignType__ast_3976(a_2, f); result = argSemantized; goto BeforeRet_; } LA9_: ; { if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_; { NIM_BOOL T17_; NIM_BOOL T18_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_; T17_ = (NIM_BOOL)0; T18_ = (NIM_BOOL)0; T18_ = ((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)); if (!(T18_)) goto LA19_; T18_ = ((*a_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); LA19_: ; T17_ = T18_; if (!(T17_)) goto LA20_; T17_ = !((((*a_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0)); LA20_: ; if (!T17_) goto LA21_; T23_ = NIM_NIL; T23_ = makeTypeFromExpr__semdata_804(c, arg); result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*argOrig).info, T23_); goto BeforeRet_; } LA21_: ; } goto LA11_; LA13_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated; evaluated = (*c).semTryConstExpr(c, arg); { tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_; typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c); if ((*typ).sons) { nimGCunrefRC1((*typ).sons); (*typ).sons = NIM_NIL; } (*typ).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1); asgnRef((void**) (&(*typ).sons->data[0]), (*evaluated).typ); asgnRef((void**) (&(*typ).n), evaluated); arg = copyTree__ast_4431(arg); asgnRef((void**) (&(*arg).typ), typ); a_2 = typ; } goto LA25_; LA27_: ; { { if (!((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA32_; { NIM_BOOL T36_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T39_; T36_ = (NIM_BOOL)0; T36_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)); if (!(T36_)) goto LA37_; T38_ = NIM_NIL; T38_ = base__types_63(f); T39_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T39_ = typeRel__sigmatch_202(m, T38_, a_2, 0); T36_ = !((T39_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); LA37_: ; if (!T36_) goto LA40_; result = makeStaticExpr__semdata_826((*m).c, arg); (*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63); asgnRef((void**) (&(*(*result).typ).n), arg); goto BeforeRet_; } LA40_: ; } LA32_: ; } LA25_: ; } LA11_: ; } LA3_: ; oldInheritancePenalty = (*m).inheritancePenalty; r = typeRel__sigmatch_202(m, f, a_2, 0); { NIM_BOOL T44_; NIM_BOOL T45_; T44_ = (NIM_BOOL)0; T45_ = (NIM_BOOL)0; T45_ = !((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))); if (!(T45_)) goto LA46_; T45_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); LA46_: ; T44_ = T45_; if (!(T44_)) goto LA47_; T44_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0); LA47_: ; if (!T44_) goto LA48_; incMatches__sigmatch_3238(m, r, ((NI) 1)); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_; result = arg; goto BeforeRet_; } goto LA50_; LA52_: ; { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA55_; result = arg; goto BeforeRet_; } goto LA50_; LA55_: ; { NIM_BOOL T58_; T58_ = (NIM_BOOL)0; T58_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)); if (!(T58_)) goto LA59_; T58_ = !(((*(*arg).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA59_: ; if (!T58_) goto LA60_; result = (*(*arg).typ).n; goto BeforeRet_; } goto LA50_; LA60_: ; { result = argSemantized; goto BeforeRet_; } LA50_: ; } LA48_: ; bothMetaCounter = ((NI) 0); lastBindingsLength = ((NI) -1); { while (1) { NIM_BOOL T65_; NIM_BOOL T66_; T65_ = (NIM_BOOL)0; T66_ = (NIM_BOOL)0; T66_ = (r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5)); if (!(T66_)) goto LA67_; T66_ = !((lastBindingsLength == (*m).bindings.counter)); LA67_: ; T65_ = T66_; if (!(T65_)) goto LA68_; T65_ = (bothMetaCounter < ((NI) 100)); LA68_: ; if (!T65_) goto LA64; lastBindingsLength = (*m).bindings.counter; bothMetaCounter += ((NI) 1); { 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_; 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); } goto LA69_; LA71_: ; { if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA74_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); goto BeforeRet_; } goto LA69_; LA74_: ; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred; 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); result = newSymNode__ast_3719(inferred, (*arg).info); } LA69_: ; (*m).convMatches += ((NI) 1); arg = result; r = typeRel__sigmatch_202(m, f, (*arg).typ, 0); } LA64: ; } switch (r) { case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1): { (*m).convMatches += ((NI) 1); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 2): { (*m).intConvMatches += ((NI) 1); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3): { (*m).subtypeMatches += ((NI) 1); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA82_; result = arg; } goto LA80_; LA82_: ; { result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c); } LA80_: ; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 4): { (*m).subtypeMatches += ((NI) 1); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA88_; result = arg; } goto LA86_; LA88_: ; { result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c); } LA86_: ; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6): case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7): { { 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_; 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); } goto LA92_; LA94_: ; { if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA97_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); goto BeforeRet_; } goto LA92_; LA97_: ; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* inferred_2; 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); result = newSymNode__ast_3719(inferred_2, (*arg).info); } LA92_: ; { if (!(r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7))) goto LA102_; (*m).convMatches += ((NI) 1); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, result, (&(*m)), c); } goto LA100_; LA102_: ; { (*m).genericMatches += ((NI) 1); } LA100_: ; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8): { (*m).genericMatches += ((NI) 1); { if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_; result = arg; } goto LA106_; LA108_: ; { NIM_BOOL T111_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T112_; T111_ = (NIM_BOOL)0; T112_ = NIM_NIL; T112_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56); T111_ = ((*T112_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (T111_) goto LA113_; T111_ = (oldInheritancePenalty < (*m).inheritancePenalty); LA113_: ; if (!T111_) goto LA114_; result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c); } goto LA106_; LA114_: ; { NIM_BOOL T117_; T117_ = (NIM_BOOL)0; T117_ = isEmptyContainer__types_3617((*arg).typ); if (!T117_) goto LA118_; result = copyTree__ast_4431(arg); asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), f)); } goto LA106_; LA118_: ; { result = arg; } LA106_: ; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5): { result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9): { (*m).intConvMatches += ((NI) 256); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, arg, (&(*m)), c); } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10): { (*m).exactMatches += ((NI) 1); result = arg; { NIM_BOOL T126_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T127_; NIM_BOOL T129_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T131_; T126_ = (NIM_BOOL)0; T127_ = NIM_NIL; T127_ = skipTypes__ast_3735(f, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56); T126_ = ((*T127_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (T126_) goto LA128_; T129_ = (NIM_BOOL)0; T129_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T129_)) goto LA130_; T131_ = NIM_NIL; T131_ = skipTypes__ast_3735((*arg).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56); T129_ = ((*T131_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)); LA130_: ; T126_ = T129_; LA128_: ; if (!T126_) goto LA132_; result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), f, arg, (&(*m)), c); } LA132_: ; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0): { { if (!((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA137_; (*m).genericMatches += ((NI) 1); (*m).fauxMatch = (*a_2).kind; result = arg; goto BeforeRet_; } goto LA135_; LA137_: ; { NIM_BOOL T140_; NIM_BOOL T141_; NIM_BOOL T143_; NIM_BOOL T144_; NIM_BOOL T145_; NI T147_; NIM_BOOL T150_; tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* p; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lifted; tyArray__jlWPjgtbdjE069arIWHC9c9bg T155_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T156_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T157_; T140_ = (NIM_BOOL)0; T141_ = (NIM_BOOL)0; T141_ = ((*a_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)); if (!(T141_)) goto LA142_; T143_ = (NIM_BOOL)0; T144_ = (NIM_BOOL)0; T145_ = (NIM_BOOL)0; T145_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)); if (!(T145_)) goto LA146_; T147_ = (NI)0; T147_ = len__ast_4002(f); T145_ = (T147_ == ((NI) 1)); LA146_: ; T144_ = T145_; if (!(T144_)) goto LA148_; T144_ = ((*f).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); LA148_: ; T143_ = T144_; if (T143_) goto LA149_; T150_ = (NIM_BOOL)0; T150_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51)); if (!(T150_)) goto LA151_; T150_ = ((*(*f).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)); LA151_: ; T143_ = T150_; LA149_: ; T141_ = T143_; LA142_: ; T140_ = T141_; if (!(T140_)) goto LA152_; T140_ = ((*argOrig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)); LA152_: ; if (!T140_) goto LA153_; p = (*c).graph; nimZeroMem((void*)T155_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg)); T155_[0] = (*p).emptyNode; T156_ = NIM_NIL; T156_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), T155_, 1); T157_ = NIM_NIL; T157_ = newProcNode__ast_3821(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52), (*argOrig).info, argOrig, T156_, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode); lifted = (*c).semExpr(c, T157_, 0); { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA160_; (*m).genericMatches += ((NI) 1); put__sigmatch_120(m, f, (*lifted).typ); } LA160_: ; (*m).convMatches += ((NI) 1); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), f, lifted, (&(*m)), c); goto BeforeRet_; } goto LA135_; LA153_: ; LA135_: ; result = userConvMatch__sigmatch_3095(c, m, f, a_2, arg); { NIM_BOOL T164_; T164_ = (NIM_BOOL)0; T164_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); if (!(T164_)) goto LA165_; T164_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA165_: ; if (!T164_) goto LA166_; { if (!!(((*f).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA170_; result = localConvMatch__sigmatch_3181(c, m, f, a_2, arg); } goto LA168_; LA170_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T173_; T173_ = NIM_NIL; T173_ = base__types_63(f); r = typeRel__sigmatch_202(m, T173_, a_2, 0); switch (r) { case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8): { tyObject_TType__facALICuu8zUj0hjvbTLFg* T175_; (*m).convMatches += ((NI) 1); result = copyTree__ast_4431(arg); T175_ = NIM_NIL; T175_ = base__types_63(f); asgnRef((void**) (&(*result).typ), getInstantiatedType__sigmatch_3053(c, arg, (&(*m)), T175_)); (*m).baseTypeMatch = NIM_TRUE; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 9): { (*m).intConvMatches += ((NI) 256); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*f).sons->data[((NI) 0)], arg, (&(*m)), c); (*m).baseTypeMatch = NIM_TRUE; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 10): { (*m).convMatches += ((NI) 1); result = copyTree__ast_4431(arg); (*m).baseTypeMatch = NIM_TRUE; } break; case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3): { (*m).subtypeMatches += ((NI) 1); { tyObject_TType__facALICuu8zUj0hjvbTLFg* T181_; T181_ = NIM_NIL; T181_ = base__types_63(f); if (!((*T181_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA182_; result = arg; } goto LA179_; LA182_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T185_; T185_ = NIM_NIL; T185_ = base__types_63(f); result = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59), T185_, arg, (&(*m)), c); } LA179_: ; (*m).baseTypeMatch = NIM_TRUE; } break; default: { tyObject_TType__facALICuu8zUj0hjvbTLFg* T187_; T187_ = NIM_NIL; T187_ = base__types_63(f); result = userConvMatch__sigmatch_3095(c, m, T187_, a_2, arg); { if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA190_; (*m).baseTypeMatch = NIM_TRUE; } LA190_: ; } break; } } LA168_: ; } LA166_: ; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_199)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) { unsureAsgnRef((void**) (&(*a).c), (*b).c); (*a).exactMatches = (*b).exactMatches; (*a).subtypeMatches = (*b).subtypeMatches; (*a).convMatches = (*b).convMatches; (*a).intConvMatches = (*b).intConvMatches; (*a).genericMatches = (*b).genericMatches; (*a).state = (*b).state; unsureAsgnRef((void**) (&(*a).callee), (*b).callee); unsureAsgnRef((void**) (&(*a).calleeSym), (*b).calleeSym); unsureAsgnRef((void**) (&(*a).call), copyTree__ast_4431((*b).call)); (*a).baseTypeMatch = (*b).baseTypeMatch; copyIdTable__ast_3610((&(*a).bindings), (*b).bindings); } N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_207)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) { NI result; tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c; tyObject_TType__facALICuu8zUj0hjvbTLFg* aa; tyObject_TType__facALICuu8zUj0hjvbTLFg* bb; NI winner; { result = (NI)0; c = (*a).c; aa = (*a).callee; bb = (*b).callee; winner = ((NI) 0); { NI i; NI colontmp_; NI T2_; NI T3_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T2_ = (NI)0; T2_ = len__ast_4002(aa); T3_ = (NI)0; T3_ = len__ast_4002(bb); colontmp_ = ((T2_ <= T3_) ? T2_ : T3_); i_2 = ((NI) 1); { while (1) { tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA ma; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tra; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA mb; tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw trb; if (!(i_2 < colontmp_)) goto LA5; i = i_2; nimZeroMem((void*)(&ma), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*bb).sons->data[i], (&ma)); tra = typeRel__sigmatch_202((&ma), (*bb).sons->data[i], (*aa).sons->data[i], 1); nimZeroMem((void*)(&mb), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*aa).sons->data[i], (&mb)); trb = typeRel__sigmatch_202((&mb), (*aa).sons->data[i], (*bb).sons->data[i], 1); { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8)); if (!(T8_)) goto LA9_; T8_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)); LA9_: ; if (!T8_) goto LA10_; { if (!(winner == ((NI) -1))) goto LA14_; result = ((NI) 0); goto BeforeRet_; } LA14_: ; winner = ((NI) 1); } LA10_: ; { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = (trb == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8)); if (!(T18_)) goto LA19_; T18_ = (tra == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)); LA19_: ; if (!T18_) goto LA20_; { if (!(winner == ((NI) 1))) goto LA24_; result = ((NI) 0); goto BeforeRet_; } LA24_: ; winner = ((NI) -1); } LA20_: ; i_2 += ((NI) 1); } LA5: ; } } result = winner; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_261)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) { NI result; tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2; NI isvar; { result = (NI)0; t_2 = t; isvar = ((NI) 1); { while (1) { switch ((*t_2).kind) { case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45): { t_2 = lastSon__ast_3743(t_2); result += ((NI) 1); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57): { NI maxBranch; maxBranch = ((NI) 0); { tyObject_TType__facALICuu8zUj0hjvbTLFg** branch; NI i; NI L; NI T6_; branch = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i = ((NI) 0); T6_ = ((*t_2).sons ? (*t_2).sons->Sup.len : 0); L = T6_; { while (1) { NI branchSum; if (!(i < L)) goto LA8; branch = &(*t_2).sons->data[i]; branchSum = sumGeneric__sigmatch_261((*branch)); { if (!(maxBranch < branchSum)) goto LA11_; maxBranch = branchSum; } LA11_: ; i += ((NI) 1); } LA8: ; } } result += maxBranch; goto LA1; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23): { t_2 = (*t_2).sons->data[((NI) 0)]; result += ((NI) 1); isvar += ((NI) 1); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8): { t_2 = lastSon__ast_3743(t_2); { if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA17_; goto LA1; } LA17_: ; result += ((NI) 1); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56): { result += ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56)); { NI i_2; NI colontmp_; NI i_3; i_2 = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_4002(t_2); i_3 = ((NI) 0); { while (1) { if (!(i_3 < colontmp_)) goto LA22; i_2 = i_3; { NI T27_; if (!!(((*t_2).sons->data[i_2] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA25_; T27_ = (NI)0; T27_ = sumGeneric__sigmatch_261((*t_2).sons->data[i_2]); result += T27_; } LA25_: ; i_3 += ((NI) 1); } LA22: ; } } goto LA1; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60): { NI T29_; T29_ = (NI)0; T29_ = sumGeneric__sigmatch_261((*t_2).sons->data[((NI) 0)]); result = (NI)(T29_ + ((NI) 1)); goto BeforeRet_; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7): { goto LA1; } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46): { t_2 = lastSon__ast_3743(t_2); } break; case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54): { result = isvar; goto BeforeRet_; } break; default: { result = ((NI) 0); goto BeforeRet_; } break; } } } LA1: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_336)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) { NI result; NI winner; { result = (NI)0; winner = ((NI) 0); { NI i; NI colontmp_; NI T2_; NI T3_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T2_ = (NI)0; T2_ = len__ast_4002(a); T3_ = (NI)0; T3_ = len__ast_4002(b); colontmp_ = ((T2_ <= T3_) ? T2_ : T3_); i_2 = ((NI) 1); { while (1) { NI x; NI y; if (!(i_2 < colontmp_)) goto LA5; i = i_2; x = sumGeneric__sigmatch_261((*a).sons->data[i]); y = sumGeneric__sigmatch_261((*b).sons->data[i]); { if (!!((x == y))) goto LA8_; { if (!(winner == ((NI) 0))) goto LA12_; { if (!(y < x)) goto LA16_; winner = ((NI) 1); } goto LA14_; LA16_: ; { winner = ((NI) -1); } LA14_: ; } goto LA10_; LA12_: ; { if (!(y < x)) goto LA20_; { if (!!((winner == ((NI) 1)))) goto LA24_; result = ((NI) 0); goto BeforeRet_; } LA24_: ; } goto LA10_; LA20_: ; { { if (!!((winner == ((NI) -1)))) goto LA29_; result = ((NI) 0); goto BeforeRet_; } LA29_: ; } LA10_: ; } LA8_: ; i_2 += ((NI) 1); } LA5: ; } } result = winner; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b) { NI result; { result = (NI)0; result = (NI)((*a).exactMatches - (*b).exactMatches); { if (!!((result == ((NI) 0)))) goto LA3_; goto BeforeRet_; } LA3_: ; result = (NI)((*a).genericMatches - (*b).genericMatches); { if (!!((result == ((NI) 0)))) goto LA7_; goto BeforeRet_; } LA7_: ; result = (NI)((*a).subtypeMatches - (*b).subtypeMatches); { if (!!((result == ((NI) 0)))) goto LA11_; goto BeforeRet_; } LA11_: ; result = (NI)((*a).intConvMatches - (*b).intConvMatches); { if (!!((result == ((NI) 0)))) goto LA15_; goto BeforeRet_; } LA15_: ; result = (NI)((*a).convMatches - (*b).convMatches); { if (!!((result == ((NI) 0)))) goto LA19_; goto BeforeRet_; } LA19_: ; result = (NI)((*b).inheritancePenalty - (*a).inheritancePenalty); { if (!!((result == ((NI) 0)))) goto LA23_; goto BeforeRet_; } LA23_: ; result = checkGeneric__sigmatch_207(a, b); { if (!!((result == ((NI) 0)))) goto LA27_; goto BeforeRet_; } LA27_: ; result = complexDisambiguation__sigmatch_336((*a).callee, (*b).callee); { if (!!((result == ((NI) 0)))) goto LA31_; goto BeforeRet_; } LA31_: ; result = (NI)((*a).calleeScope - (*b).calleeScope); }BeforeRet_: ; return result; } 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) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); if (T3_) goto LA4_; T3_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))); LA4_: ; if (!T3_) goto LA5_; result = paramTypesMatchAux__sigmatch_3268(m, f, a, arg, argOrig); } goto LA1_; LA5_: ; { tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA x; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T8_; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA y; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T9_; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA T10_; NI best; c = (*m).c; nimZeroMem((void*)(&x), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); nimZeroMem((void*)(&T8_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*m).callee, (&T8_)); nimCopyMem((void*)(&x), (NIM_CONST void*)(&T8_), sizeof(x)); nimZeroMem((void*)(&y), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); nimZeroMem((void*)(&T9_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*m).callee, (&T9_)); nimCopyMem((void*)(&y), (NIM_CONST void*)(&T9_), sizeof(y)); nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); nimZeroMem((void*)(&T10_), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*m).callee, (&T10_)); nimCopyMem((void*)(&z), (NIM_CONST void*)(&T10_), sizeof(z)); x.calleeSym = (*m).calleeSym; y.calleeSym = (*m).calleeSym; z.calleeSym = (*m).calleeSym; best = ((NI) -1); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(arg); i_2 = ((NI) 0); { while (1) { if (!(i_2 < colontmp_)) goto LA13; i = i_2; { { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw r; if (!((1568768 &((NU32)1<<((NU)((*(*(*arg)._kind_6.sons->data[i])._kind_4.sym).kind)&31U)))!=0)) goto LA17_; copyCandidate__sigmatch_199((&z), (&(*m))); z.callee = (*(*arg)._kind_6.sons->data[i]).typ; { if (!(((*z.callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA21_; goto LA14; } LA21_: ; z.calleeSym = (*(*arg)._kind_6.sons->data[i])._kind_4.sym; r = typeRel__sigmatch_202((&z), f, (*(*arg)._kind_6.sons->data[i]).typ, 0); incMatches__sigmatch_3238((&z), r, ((NI) 2)); { if (!!((r == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA25_; z.state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1); switch (x.state) { case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0): case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2): { genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_)); best = i; } break; case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1): { NI cmp; cmp = cmpCandidates__sigmatch_358((&x), (&z)); { if (!(cmp < ((NI) 0))) goto LA31_; best = i; genericAssign((void*)(&x), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_)); } goto LA29_; LA31_: ; { if (!(cmp == ((NI) 0))) goto LA34_; genericAssign((void*)(&y), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_)); } goto LA29_; LA34_: ; LA29_: ; } break; } } LA25_: ; } LA17_: ; } LA14: ; i_2 += ((NI) 1); } LA13: ; } } { if (!(x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0))) goto LA38_; result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } goto LA36_; LA38_: ; { NIM_BOOL T41_; NI T43_; T41_ = (NIM_BOOL)0; T41_ = (y.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)); if (!(T41_)) goto LA42_; T43_ = (NI)0; T43_ = cmpCandidates__sigmatch_358((&x), (&y)); T41_ = (T43_ == ((NI) 0)); LA42_: ; if (!T41_) goto LA44_; { if (!!((x.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA48_; internalErrorImpl__msgs_1431((*(*(*m).c).graph).config, (*arg).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_76), TM__EV5hHJmjIY9cla9b9be7fSVJQ_77); } LA48_: ; { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA52_; result = arg; } goto LA50_; LA52_: ; { result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } LA50_: ; } goto LA36_; LA44_: ; { markUsed__sigmatch_85((*m).c, (*arg).info, (*(*arg)._kind_6.sons->data[best])._kind_4.sym); result = paramTypesMatchAux__sigmatch_3268(m, f, (*(*arg)._kind_6.sons->data[best]).typ, (*arg)._kind_6.sons->data[best], argOrig); } LA36_: ; } LA1_: ; return result; } static N_INLINE(NI, find__sigmatch_4304)(NI* a, NI aLen_0, NI item) { NI result; { result = (NI)0; result = ((NI) 0); { NI* i; NI i_2; i = (NI*)0; i_2 = ((NI) 0); { while (1) { if (!(i_2 < aLen_0)) goto LA3; i = (&a[i_2]); { if (!((*i) == item)) goto LA6_; goto BeforeRet_; } LA6_: ; result += ((NI) 1); i_2 += ((NI) 1); } LA3: ; } } result = ((NI) -1); }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, contains__sigmatch_4299)(NI* a, NI aLen_0, NI item) { NIM_BOOL result; NI T1_; { result = (NIM_BOOL)0; T1_ = (NI)0; T1_ = find__sigmatch_4304(a, aLen_0, item); result = (((NI) 0) <= T1_); goto BeforeRet_; }BeforeRet_: ; return result; } 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) { NIM_BOOL result; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res; result = (NIM_BOOL)0; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, f, (&m)); res = paramTypesMatch__sigmatch_3583((&m), f, a, (*(*c).graph).emptyNode, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); { if (!!(fromHlo)) goto LA3_; result = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); } goto LA1_; LA3_: ; { NIM_BOOL T6_; NIM_BOOL T7_; T6_ = (NIM_BOOL)0; T7_ = (NIM_BOOL)0; T7_ = !((res == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T7_)) goto LA8_; T7_ = (m.convMatches == ((NI) 0)); LA8_: ; T6_ = T7_; if (!(T6_)) goto LA9_; T6_ = contains__sigmatch_4299(TM__EV5hHJmjIY9cla9b9be7fSVJQ_78, 2, m.intConvMatches); LA9_: ; result = T6_; } LA1_: ; return result; } static N_INLINE(NIM_BOOL, typeFits__sigmatch_5153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* firstArg) { NIM_BOOL result; { result = (NIM_BOOL)0; { NIM_BOOL T3_; NIM_BOOL T4_; NI T6_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T4_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T4_)) goto LA5_; T6_ = (NI)0; T6_ = len__ast_4002((*s).typ); T4_ = (((NI) 1) < T6_); LA5_: ; T3_ = T4_; if (!(T3_)) goto LA7_; T3_ = !(((*(*s).typ).sons->data[((NI) 1)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); LA7_: ; if (!T3_) goto LA8_; m = getModule__astalgo_216(s); { NIM_BOOL T12_; tyObject_TType__facALICuu8zUj0hjvbTLFg* exp_1; T12_ = (NIM_BOOL)0; T12_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T12_)) goto LA13_; T12_ = (((*m).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0); LA13_: ; if (!T12_) goto LA14_; { if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA18_; goto BeforeRet_; } LA18_: ; exp_1 = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_10); { if (!((*exp_1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA22_; exp_1 = elemType__types_263(exp_1); } LA22_: ; { 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_; goto BeforeRet_; } LA26_: ; } LA14_: ; result = argtypeMatches__sigmatch_4281(c, (*(*s).typ).sons->data[((NI) 1)], firstArg, NIM_FALSE); } LA8_: ; }BeforeRet_: ; return result; } 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) { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; info = (*n).info; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; item = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA7_; isLocal_2 = NIM_FALSE; } LA7_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item_2 = NIM_NIL; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item_2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; item = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T14_; NI T18_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T19_; NI T20_; T14_ = (NIM_BOOL)0; T14_ = filterSymNoOpr__sigmatch_4935(it_2, f, (&pm)); if (!(T14_)) goto LA15_; T14_ = typeFits__sigmatch_5153(c, it_2, typ); LA15_: ; if (!T14_) goto LA16_; T18_ = (NI)0; T18_ = getQuality__sigmatch_5002(it_2); T19_ = NIM_NIL; T19_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T18_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T20_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T20_]), T19_); } LA16_: ; s = nextIter__astalgo_3762((&it), (*scope).symbols); } LA11: ; } } current = (*current).parent; } LA4: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T22_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T22_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T22_; { while (1) { if (!(i < L)) goto LA24; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T28_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T28_ = (NIM_BOOL)0; T28_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T28_) goto LA29_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA32; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; item = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T35_; NI T39_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_; NI T41_; T35_ = (NIM_BOOL)0; T35_ = filterSymNoOpr__sigmatch_4935(it_3, f, (&pm_2)); if (!(T35_)) goto LA36_; T35_ = typeFits__sigmatch_5153(c, it_3, typ); LA36_: ; if (!T35_) goto LA37_; T39_ = (NI)0; T39_ = getQuality__sigmatch_5002(it_3); T40_ = NIM_NIL; T40_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T41_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T41_]), T40_); } LA37_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA32: ; } } goto LA26_; LA29_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T48_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA46_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA46_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T48_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T48_; { while (1) { if (!(i_2 < L_2)) goto LA50; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; item = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T57_; NI T61_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_; NI T63_; T57_ = (NIM_BOOL)0; T57_ = filterSymNoOpr__sigmatch_4935(it_4, f, (&pm_3)); if (!(T57_)) goto LA58_; T57_ = typeFits__sigmatch_5153(c, it_4, typ); LA58_: ; if (!T57_) goto LA59_; T61_ = (NI)0; T61_ = getQuality__sigmatch_5002(it_4); T62_ = NIM_NIL; T62_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T61_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T63_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T63_]), T62_); } LA59_: ; } LA53_: ; i_2 += ((NI) 1); } LA50: ; } } } LA26_: ; } i += ((NI) 1); } LA24: ; } } } } N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5230)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) { tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; typ = (*n).typ; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(T7_)) goto LA8_; T7_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)); LA8_: ; if (!T7_) goto LA9_; { if (!((*n)._kind_4.sym == (*c).module)) goto LA13_; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; it = NIM_NIL; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it_2), (*(*c).topLevelScope).symbols); { while (1) { if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA17; it = s; { NIM_BOOL T20_; NI T23_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T24_; NI T25_; T20_ = (NIM_BOOL)0; T20_ = filterSym__sigmatch_4909(it, field, (&pm)); if (!T20_) goto LA21_; T23_ = (NI)0; T23_ = getQuality__sigmatch_5002(it); T24_ = NIM_NIL; 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); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T25_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T25_]), T24_); } LA21_: ; s = nextIter__astalgo_3762((&it_2), (*(*c).topLevelScope).symbols); } LA17: ; } } } goto LA11_; LA13_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* colontmp_; NIM_BOOL importHidden; it_3 = NIM_NIL; colontmp_ = NIM_NIL; colontmp_ = (*n)._kind_4.sym; importHidden = (((*colontmp_).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T30_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T30_ = (NIM_BOOL)0; T30_ = isCachedModule__modulegraphs_2709((*c).graph, colontmp_); if (!T30_) goto LA31_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*colontmp_).position)), importHidden); { while (1) { if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34; it_3 = r; { NIM_BOOL T37_; NI T40_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T41_; NI T42_; T37_ = (NIM_BOOL)0; T37_ = filterSym__sigmatch_4909(it_3, field, (&pm)); if (!T37_) goto LA38_; T40_ = (NI)0; T40_ = getQuality__sigmatch_5002(it_3); T41_ = NIM_NIL; 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); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T42_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T42_]), T41_); } LA38_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA34: ; } } goto LA28_; LA31_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i; NI L; NI T49_; s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__2 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interf); { if (!importHidden) goto LA47_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*colontmp_).position].interfHidden); } LA47_: ; colontmp__2 = (*retX60gensym17_).data; i = ((NI) 0); T49_ = (colontmp__2 ? colontmp__2->Sup.len : 0); L = T49_; { while (1) { if (!(i < L)) goto LA51; s_2 = &colontmp__2->data[i]; { if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA54_; it_3 = (*s_2); { NIM_BOOL T58_; NI T61_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T62_; NI T63_; T58_ = (NIM_BOOL)0; T58_ = filterSym__sigmatch_4909(it_3, field, (&pm)); if (!T58_) goto LA59_; T61_ = (NI)0; T61_ = getQuality__sigmatch_5002(it_3); T62_ = NIM_NIL; 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); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T63_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T63_]), T62_); } LA59_: ; } LA54_: ; i += ((NI) 1); } LA51: ; } } } LA28_: ; } } LA11_: ; } goto LA5_; LA9_: ; { suggestEverything__sigmatch_5217(c, n, field, outputs); } LA5_: ; } goto LA1_; LA3_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* orig; orig = typ; typ = skipTypes__ast_3735(orig, TM__EV5hHJmjIY9cla9b9be7fSVJQ_11); { NIM_BOOL T68_; NIM_BOOL T69_; tyObject_TType__facALICuu8zUj0hjvbTLFg* t; T68_ = (NIM_BOOL)0; T69_ = (NIM_BOOL)0; T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)); if (!(T69_)) goto LA70_; T69_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA70_: ; T68_ = T69_; if (!(T68_)) goto LA71_; T68_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)); LA71_: ; if (!T68_) goto LA72_; t = typ; { while (1) { if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA75; suggestSymList__sigmatch_5040(c, (*t).n, field, (*n).info, outputs); t = (*t).sons->data[((NI) 0)]; } LA75: ; } } goto LA66_; LA72_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2; if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA77_; t_2 = typ; { while (1) { suggestObject__sigmatch_5060(c, (*t_2).n, field, (*n).info, outputs); { if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_; goto LA79; } LA83_: ; t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__EV5hHJmjIY9cla9b9be7fSVJQ_12); } } LA79: ; } goto LA66_; LA77_: ; { NIM_BOOL T86_; T86_ = (NIM_BOOL)0; T86_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(T86_)) goto LA87_; T86_ = !(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA87_: ; if (!T86_) goto LA88_; suggestSymList__sigmatch_5040(c, (*typ).n, field, (*n).info, outputs); } goto LA66_; LA88_: ; LA66_: ; suggestOperations__sigmatch_5194(c, n, field, orig, outputs); { if (!!((typ == orig))) goto LA92_; suggestOperations__sigmatch_5194(c, n, field, typ, outputs); } LA92_: ; } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6417)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) { { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix; if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_; obj = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]); { NIM_BOOL T7_; NIM_BOOL T8_; NI T9_; T7_ = (NIM_BOOL)0; T8_ = (NIM_BOOL)0; T9_ = (NI)0; T9_ = len__ast_3198(n); T8_ = (T9_ == ((NI) 2)); if (!(T8_)) goto LA10_; T8_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).info.line == (*(*n)._kind_6.sons->data[((NI) 0)]).info.line); LA10_: ; T7_ = T8_; if (!(T7_)) goto LA11_; T7_ = !((*(*(*c).graph).config).m.trackPosAttached); LA11_: ; if (!T7_) goto LA12_; prefix = (*n)._kind_6.sons->data[((NI) 1)]; } goto LA5_; LA12_: ; { prefix = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } LA5_: ; suggestFieldAccess__sigmatch_5230(c, obj, prefix, outputs); } goto LA1_; LA3_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_2; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA16_; { if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA20_; prefix_2 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } goto LA18_; LA20_: ; { prefix_2 = n; } LA18_: ; info = (*n).info; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; item = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA26; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA29_; isLocal_2 = NIM_FALSE; } LA29_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item_2 = NIM_NIL; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA33; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item_2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; item = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T36_; NI T39_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T40_; NI T41_; T36_ = (NIM_BOOL)0; T36_ = filterSym__sigmatch_4909(it_2, prefix_2, (&pm)); if (!T36_) goto LA37_; T39_ = (NI)0; T39_ = getQuality__sigmatch_5002(it_2); T40_ = NIM_NIL; T40_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T39_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T41_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T41_]), T40_); } LA37_: ; s = nextIter__astalgo_3762((&it), (*scope).symbols); } LA33: ; } } current = (*current).parent; } LA26: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T43_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T43_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T43_; { while (1) { if (!(i < L)) goto LA45; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T49_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T49_ = (NIM_BOOL)0; T49_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T49_) goto LA50_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA53; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; item = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T56_; NI T59_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T60_; NI T61_; T56_ = (NIM_BOOL)0; T56_ = filterSym__sigmatch_4909(it_3, prefix_2, (&pm_2)); if (!T56_) goto LA57_; T59_ = (NI)0; T59_ = getQuality__sigmatch_5002(it_3); T60_ = NIM_NIL; T60_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T59_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T61_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T61_]), T60_); } LA57_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA53: ; } } goto LA47_; LA50_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T68_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA66_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA66_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T68_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T68_; { while (1) { if (!(i_2 < L_2)) goto LA70; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA73_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; item = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T77_; NI T80_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T81_; NI T82_; T77_ = (NIM_BOOL)0; T77_ = filterSym__sigmatch_4909(it_4, prefix_2, (&pm_3)); if (!T77_) goto LA78_; T80_ = (NI)0; T80_ = getQuality__sigmatch_5002(it_4); T81_ = NIM_NIL; T81_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), info, T80_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T82_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T82_]), T81_); } LA78_: ; } LA73_: ; i_2 += ((NI) 1); } LA70: ; } } } LA47_: ; } i += ((NI) 1); } LA45: ; } } } } goto LA1_; LA16_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prefix_3; { if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA86_; prefix_3 = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } goto LA84_; LA86_: ; { prefix_3 = n; } LA84_: ; suggestEverything__sigmatch_5217(c, n, prefix_3, outputs); } LA1_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NIM_BOOL result; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* opr; { result = (NIM_BOOL)0; { 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_; op = (*n)._kind_6.sons->data[((NI) 0)]; } goto LA1_; LA3_: ; { op = n; } LA1_: ; { if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA8_; op = (*op)._kind_6.sons->data[((NI) 0)]; } LA8_: ; { if (!((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA12_; op = (*op)._kind_6.sons->data[((NI) 1)]; } LA12_: ; opr = NIM_NIL; switch ((*op).kind) { case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3): { opr = (*(*op)._kind_4.sym).name; } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2): { opr = (*op)._kind_5.ident; } break; default: { result = NIM_FALSE; goto BeforeRet_; } break; } result = ((*opr).id == (*(*s).name).id); }BeforeRet_: ; return result; } 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) { initCandidateAux__sigmatch_94(ctx, c, (*callee).typ); unsureAsgnRef((void**) (&(*c).calleeSym), callee); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0); if (!(T3_)) goto LA4_; T3_ = (calleeScope == ((NI) -1)); LA4_: ; if (!T3_) goto LA5_; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner; T9_ = NIM_NIL; T9_ = originatingModule__ast_4669(callee); if (!(T9_ == (*ctx).module)) goto LA10_; (*c).calleeScope = ((NI) 2); owner = callee; { while (1) { owner = skipGenericOwner__ast_4658(owner); { if (!((*owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA16_; goto LA12; } LA16_: ; (*c).calleeScope += ((NI) 1); } } LA12: ; } goto LA7_; LA10_: ; { (*c).calleeScope = ((NI) 1); } LA7_: ; } goto LA1_; LA5_: ; { (*c).calleeScope = calleeScope; } LA1_: ; unsureAsgnRef((void**) (&(*c).diagnostics), NIM_NIL); (*c).diagnosticsEnabled = diagnosticsEnabled; (*c).magic = (*(*c).calleeSym).magic; initIdTable__ast_4096((&(*c).bindings)); { NIM_BOOL T22_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeParams; T22_ = (NIM_BOOL)0; T22_ = !((binding == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T22_)) goto LA23_; T22_ = ((520192 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0); LA23_: ; if (!T22_) goto LA24_; typeParams = (*(*callee).ast)._kind_6.sons->data[((NI) 2)]; { NI i; NI colontmp_; NI T27_; NI T28_; NI res; i = (NI)0; colontmp_ = (NI)0; T27_ = (NI)0; T27_ = len__ast_3198(typeParams); T28_ = (NI)0; T28_ = len__ast_3198(binding); colontmp_ = ((T27_ <= (NI)(T28_ - ((NI) 1))) ? T27_ : (NI)(T28_ - ((NI) 1))); res = ((NI) 1); { while (1) { tyObject_TType__facALICuu8zUj0hjvbTLFg* formalTypeParam; tyObject_TType__facALICuu8zUj0hjvbTLFg* bound; if (!(res <= colontmp_)) goto LA30; i = res; formalTypeParam = (*(*typeParams)._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ; bound = (*(*binding)._kind_6.sons->data[i]).typ; { if (!!((bound == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA33_; { if (!((*formalTypeParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA37_; { if (!!(((*bound).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA41_; bound = makeTypeDesc__concepts_49(ctx, bound); } LA41_: ; } goto LA35_; LA37_: ; { bound = skipTypes__ast_3735(bound, TM__EV5hHJmjIY9cla9b9be7fSVJQ_14); } LA35_: ; put__sigmatch_120(c, formalTypeParam, bound); } LA33_: ; res += ((NI) 1); } LA30: ; } } } LA24_: ; } 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) { unsureAsgnRef((void**)&(*Result).c, NIM_NIL); (*Result).exactMatches = 0; (*Result).genericMatches = 0; (*Result).subtypeMatches = 0; (*Result).intConvMatches = 0; (*Result).convMatches = 0; (*Result).state = 0; unsureAsgnRef((void**)&(*Result).callee, NIM_NIL); unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL); (*Result).calleeScope = 0; unsureAsgnRef((void**)&(*Result).call, NIM_NIL); (*Result).bindings.counter = 0; unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL); (*Result).magic = 0; (*Result).baseTypeMatch = 0; (*Result).fauxMatch = 0; (*Result).genericConverter = 0; (*Result).coerceDistincts = 0; (*Result).typedescMatched = 0; (*Result).isNoCall = 0; unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL); unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL); (*Result).inheritancePenalty = 0; (*Result).firstMismatch.kind = 0; (*Result).firstMismatch.arg = 0; unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL); (*Result).diagnosticsEnabled = 0; initCandidate__sigmatch_124(ctx, Result, callee, binding, calleeScope, NIM_FALSE); } static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) { initPackedSet__pureZcollectionsZintsets_16(Result); } N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_3746)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NI result; result = (NI)0; result = ((NI) 2147483647); { NI a2; NI colontmp_; NI T2_; NI res; a2 = (NI)0; colontmp_ = (NI)0; T2_ = (NI)0; T2_ = len__ast_3198(n); colontmp_ = (NI)(T2_ - ((NI) 1)); res = colontmp_; { while (1) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* formalLast; NI T9_; NI T10_; if (!(((NI) 0) <= res)) goto LA4; a2 = res; { if (!!(((*(*n)._kind_6.sons->data[a2]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA7_; goto LA1; } LA7_: ; T9_ = (NI)0; T9_ = len__ast_3198((*(*m).callee).n); T10_ = (NI)0; T10_ = len__ast_3198(n); formalLast = (*(*(*m).callee).n)._kind_6.sons->data[(NI)(T9_ - (NI)(T10_ - a2))]; { NIM_BOOL T13_; T13_ = (NIM_BOOL)0; T13_ = ((*formalLast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(T13_)) goto LA14_; T13_ = ((*(*formalLast)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); LA14_: ; if (!T13_) goto LA15_; result = a2; } goto LA11_; LA15_: ; { goto LA1; } LA11_: ; res -= ((NI) 1); } LA4: ; } } LA1: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3650)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI at, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son) { NI oldLen; oldLen = len__ast_3198(father); { if (!(oldLen <= at)) goto LA3_; asgnRef((void**) (&(*father)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*father)._kind_6.sons)->Sup, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) ((NI)(at + ((NI) 1)))))); } LA3_: ; asgnRef((void**) (&(*father)._kind_6.sons->data[at]), son); } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_; result = NIM_NIL; result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c); T1_ = NIM_NIL; T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(-1), info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); rawAddSon__ast_4288(result, T1_, NIM_TRUE); T2_ = NIM_NIL; T2_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c); rawAddSon__ast_4288(result, T2_, NIM_TRUE); return result; } N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_3729)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) { (*(*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 1)])._kind_1.intVal += ((NI) 1); } N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_3709)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) { { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_; if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_; info = (*(*a)._kind_6.sons->data[((NI) 0)]).info; T5_ = NIM_NIL; T5_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T5_, info)); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; { NIM_BOOL T3_; NI T5_; T3_ = (NIM_BOOL)0; T3_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)); if (!(T3_)) goto LA4_; T5_ = (NI)0; T5_ = len__ast_4002(formal); T3_ = !((T5_ == ((NI) 1))); LA4_: ; if (!T3_) goto LA6_; result = a; } goto LA1_; LA6_: ; { if (!((*a).typ == 0)) goto LA9_; { tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags; if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64))) goto LA13_; flags = 774; result = (*c).semOperand(c, a, flags); } goto LA11_; LA13_: ; { tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2; flags_2 = 768; result = (*c).semOperand(c, a, flags_2); } LA11_: ; } goto LA1_; LA9_: ; { result = a; considerGenSyms__semdata_425(c, result); { NIM_BOOL T19_; NIM_BOOL T20_; T19_ = (NIM_BOOL)0; T20_ = (NIM_BOOL)0; T20_ = !(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))); if (!(T20_)) goto LA21_; T20_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)); LA21_: ; T19_ = T20_; if (!(T19_)) goto LA22_; T19_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)); LA22_: ; if (!T19_) goto LA23_; result = newDeref__lowerings_11(result); } LA23_: ; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, arrayConstr__sigmatch_3721)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tyObject_TType__facALICuu8zUj0hjvbTLFg* result; tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_; result = NIM_NIL; result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c); T1_ = NIM_NIL; T1_ = makeRangeType__semdata_1039(c, IL64(0), IL64(0), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); rawAddSon__ast_4288(result, T1_, NIM_TRUE); T2_ = NIM_NIL; T2_ = skipTypes__ast_3735((*n).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_82); addSonSkipIntLit__magicsys_136(result, T2_, (*c).Sup.idgen); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareOperand__sigmatch_3700)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; result = NIM_NIL; { if (!((*a).typ == 0)) goto LA3_; result = (*c).semOperand(c, a, 512); } goto LA1_; LA3_: ; { result = a; considerGenSyms__semdata_425(c, result); } LA1_: ; return result; } 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) { tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ T1_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_; NI a; NI f; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg; NI formalLen; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container; NI firstArgBlock; { (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ)); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ)); (*m).firstMismatch.kind = T1_.kind; (*m).firstMismatch.arg = T1_.arg; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), T1_.formal); T2_ = NIM_NIL; T2_ = base__types_63((*m).callee); unsureAsgnRef((void**) (&(*m).call), newNodeIT__ast_3378((*n).kind, (*n).info, T2_)); add__ast_4797((*m).call, (*n)._kind_6.sons->data[((NI) 0)]); a = ((NI) 1); { if (!!(((*(*m).callee).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA5_; f = ((NI) 1); } goto LA3_; LA5_: ; { f = ((NI) 0); } LA3_: ; arg = NIM_NIL; formalLen = len__ast_3198((*(*m).callee).n); { if (!(((NI) 1) < formalLen)) goto LA10_; formal = (*(*(*(*m).callee).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym; } goto LA8_; LA10_: ; { formal = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL); } LA8_: ; container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); firstArgBlock = findFirstArgBlock__sigmatch_3746(m, n); { while (1) { NI T15_; T15_ = (NI)0; T15_ = len__ast_3198(n); if (!(a < T15_)) goto LA14; openShadowScope__lookups_903(c); { NIM_BOOL T18_; NIM_BOOL T19_; NIM_BOOL T22_; T18_ = (NIM_BOOL)0; T19_ = (NIM_BOOL)0; T19_ = ((NI)(formalLen - ((NI) 1)) <= a); if (!(T19_)) goto LA20_; T19_ = (f < formalLen); LA20_: ; T18_ = T19_; if (!(T18_)) goto LA21_; T22_ = (NIM_BOOL)0; T22_ = ((*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)); if (!(T22_)) goto LA23_; T22_ = ((*(*(*(*(*(*m).callee).n)._kind_6.sons->data[f]).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)); LA23_: ; T18_ = T22_; LA21_: ; if (!T18_) goto LA24_; formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym; incl__pureZcollectionsZintsets_55(marker, (*formal).position); { if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA28_; { NIM_BOOL T32_; T32_ = (NIM_BOOL)0; T32_ = ((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (!(T32_)) goto LA33_; 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)); LA33_: ; if (!!(T32_)) goto LA34_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_79)); } LA34_: ; setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]); } goto LA26_; LA28_: ; { { tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_; if (!(container == 0)) goto LA39_; T41_ = NIM_NIL; T41_ = arrayConstr__sigmatch_3725(c, (*n).info); container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T41_); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container); } goto LA37_; LA39_: ; { incrIndexType__sigmatch_3729((*container).typ); } LA37_: ; add__ast_4797(container, (*n)._kind_6.sons->data[a]); } LA26_: ; } goto LA16_; LA24_: ; { if (!((*(*n)._kind_6.sons->data[a]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA44_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2); prepareNamedParam__sigmatch_3709((*n)._kind_6.sons->data[a], c); { if (!!(((*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA48_; 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); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA48_: ; formal = getNamedParamFromList__astalgo_293((*(*m).callee).n, (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 0)])._kind_5.ident); { if (!(formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA52_; mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA52_: ; { NIM_BOOL T56_; T56_ = (NIM_BOOL)0; T56_ = containsOrIncl__astalgo_402(marker, (*formal).position); if (!T56_) goto LA57_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA57_: ; (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; 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)])); asgnRef((void**) (&(*(*n)._kind_6.sons->data[a]).typ), (*(*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]).typ); 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)]); (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3); { if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA61_; mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA61_: ; { if (!!(((*formal).constraint == 0))) goto LA65_; { NIM_BOOL T69_; T69_ = (NIM_BOOL)0; T69_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]); if (!T69_) goto LA70_; (*m).genericMatches += ((NI) 100); } goto LA67_; LA70_: ; { mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA67_: ; } LA65_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA75_; { if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA79_; argConverter = (*arg)._kind_6.sons->data[((NI) 0)]; } goto LA77_; LA79_: ; { argConverter = arg; } LA77_: ; { if (!((*argConverter).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA84_; { if (!!(((*(*argConverter).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA88_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA88_: ; } goto LA82_; LA84_: ; { NIM_BOOL T91_; T91_ = (NIM_BOOL)0; T91_ = isLValue__sigmatch_3090(c, (*(*n)._kind_6.sons->data[a])._kind_6.sons->data[((NI) 1)]); if (!!(T91_)) goto LA92_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } goto LA82_; LA92_: ; LA82_: ; } LA75_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T98_; if (!(*m).baseTypeMatch) goto LA96_; T98_ = NIM_NIL; T98_ = arrayConstr__sigmatch_3721(c, arg); container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T98_); add__ast_4797(container, arg); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container); { if (!!((f == (NI)(formalLen - ((NI) 1))))) goto LA101_; container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } LA101_: ; } goto LA94_; LA96_: ; { setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg); } LA94_: ; f += ((NI) 1); } goto LA16_; LA44_: ; { { if (!(formalLen <= f)) goto LA107_; { if (!(((*(*m).callee).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0))&63U)))!=0)) goto LA111_; asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[a])); { tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_; tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T119_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_; T115_ = NIM_NIL; T115_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[a]).typ, TM__EV5hHJmjIY9cla9b9be7fSVJQ_56); if (!((*T115_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA116_; T118_ = NIM_NIL; T118_ = getSysType__magicsys_60((*c).graph, (*(*n)._kind_6.sons->data[a]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29)); T119_ = NIM_NIL; T119_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]); T120_ = NIM_NIL; T120_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), T118_, T119_, (&(*m)), c); add__ast_4797((*m).call, T120_); } goto LA113_; LA116_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T122_; T122_ = NIM_NIL; T122_ = copyTree__ast_4431((*n)._kind_6.sons->data[a]); add__ast_4797((*m).call, T122_); } LA113_: ; } goto LA109_; LA111_: ; { NIM_BOOL T124_; T124_ = (NIM_BOOL)0; T124_ = !((formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T124_)) goto LA125_; T124_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA125_: ; if (!T124_) goto LA126_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3); (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; incl__pureZcollectionsZintsets_55(marker, (*formal).position); asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a])); 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]); { NIM_BOOL T130_; NIM_BOOL T131_; T130_ = (NIM_BOOL)0; T131_ = (NIM_BOOL)0; T131_ = !((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); if (!(T131_)) goto LA132_; T131_ = (*m).baseTypeMatch; LA132_: ; T130_ = T131_; if (!(T130_)) goto LA133_; T130_ = !((container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))); LA133_: ; if (!T130_) goto LA134_; add__ast_4797(container, arg); incrIndexType__sigmatch_3729((*container).typ); { if (!!(((*formal).constraint == 0))) goto LA138_; { NIM_BOOL T142_; T142_ = (NIM_BOOL)0; T142_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]); if (!T142_) goto LA143_; (*m).genericMatches += ((NI) 100); } goto LA140_; LA143_: ; { mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA140_: ; } LA138_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_2; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA148_; { if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA152_; argConverter_2 = (*arg)._kind_6.sons->data[((NI) 0)]; } goto LA150_; LA152_: ; { argConverter_2 = arg; } LA150_: ; { if (!((*argConverter_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA157_; { if (!!(((*(*argConverter_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA161_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA161_: ; } goto LA155_; LA157_: ; { NIM_BOOL T164_; T164_ = (NIM_BOOL)0; T164_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]); if (!!(T164_)) goto LA165_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } goto LA155_; LA165_: ; LA155_: ; } LA148_: ; } goto LA128_; LA134_: ; { mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA128_: ; } goto LA109_; LA126_: ; { (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA109_: ; } goto LA105_; LA107_: ; { { if (!!(((*(*(*(*m).callee).n)._kind_6.sons->data[f]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA172_; internalErrorImpl__msgs_1431((*(*c).graph).config, (*(*n)._kind_6.sons->data[a]).info, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_83), TM__EV5hHJmjIY9cla9b9be7fSVJQ_84); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA172_: ; { NIM_BOOL T176_; NI T180_; NI T181_; T176_ = (NIM_BOOL)0; T176_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 18))&31U)))!=0); if (!(T176_)) goto LA177_; T176_ = (firstArgBlock <= a); LA177_: ; if (!T176_) goto LA178_; T180_ = (NI)0; T180_ = len__ast_3198((*(*m).callee).n); T181_ = (NI)0; T181_ = len__ast_3198(n); f = ((f >= (NI)(T180_ - (NI)(T181_ - a))) ? f : (NI)(T180_ - (NI)(T181_ - a))); } LA178_: ; formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3); { NIM_BOOL T184_; T184_ = (NIM_BOOL)0; T184_ = containsOrIncl__astalgo_402(marker, (*formal).position); if (!(T184_)) goto LA185_; T184_ = (container == 0); LA185_: ; if (!T184_) goto LA186_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA186_: ; { NIM_BOOL T190_; T190_ = (NIM_BOOL)0; T190_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)); if (!(T190_)) goto LA191_; T190_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)); LA191_: ; if (!T190_) goto LA192_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T198_; if (!(container == 0)) goto LA196_; T198_ = NIM_NIL; T198_ = arrayConstr__sigmatch_3725(c, (*n).info); container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), (*(*n)._kind_6.sons->data[a]).info, T198_); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), container); } goto LA194_; LA196_: ; { incrIndexType__sigmatch_3729((*container).typ); } LA194_: ; add__ast_4797(container, (*n)._kind_6.sons->data[a]); } goto LA188_; LA192_: ; { (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; asgnRef((void**) (&(*n)._kind_6.sons->data[a]), prepareOperand__sigmatch_3663(c, (*formal).typ, (*n)._kind_6.sons->data[a])); 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]); { if (!(arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA203_; mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA203_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T215_; NI T216_; if (!(*m).baseTypeMatch) goto LA207_; { tyObject_TType__facALICuu8zUj0hjvbTLFg* T213_; if (!(container == 0)) goto LA211_; T213_ = NIM_NIL; T213_ = arrayConstr__sigmatch_3721(c, arg); container = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n)._kind_6.sons->data[a]).info, T213_); (*(*container).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 0)) & 63); } goto LA209_; LA211_: ; { incrIndexType__sigmatch_3729((*container).typ); } LA209_: ; add__ast_4797(container, arg); T215_ = NIM_NIL; T215_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T215_); T216_ = (NI)0; T216_ = len__ast_3198(n); f = ((f >= (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1))) ? f : (NI)((NI)((NI)(formalLen - T216_) + a) + ((NI) 1))); } goto LA205_; LA207_: ; { NIM_BOOL T218_; T218_ = (NIM_BOOL)0; T218_ = !(((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))); if (T218_) goto LA219_; T218_ = (container == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)); LA219_: ; if (!T218_) goto LA220_; setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), arg); f += ((NI) 1); container = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL); } goto LA205_; LA220_: ; { tyArray__Re75IspeoxXy2oCZHwcRrA T223_; NimStringDesc* T224_; nimZeroMem((void*)T223_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA)); T223_[0] = typeToString__types_50((*(*n)._kind_6.sons->data[a]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0)); T223_[1] = typeToString__types_50((*formal).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0)); T224_ = NIM_NIL; T224_ = nsuFormatOpenArray(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_85), T223_, 2); 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); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA205_: ; } LA188_: ; { if (!!(((*formal).constraint == 0))) goto LA227_; { NIM_BOOL T231_; T231_ = (NIM_BOOL)0; T231_ = matchNodeKinds__parampatterns_505((*formal).constraint, (*n)._kind_6.sons->data[a]); if (!T231_) goto LA232_; (*m).genericMatches += ((NI) 100); } goto LA229_; LA232_: ; { mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA229_: ; } LA227_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* argConverter_3; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA237_; { if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA241_; argConverter_3 = (*arg)._kind_6.sons->data[((NI) 0)]; } goto LA239_; LA241_: ; { argConverter_3 = arg; } LA239_: ; { if (!((*argConverter_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA246_; { if (!!(((*(*argConverter_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA250_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } LA250_: ; } goto LA244_; LA246_: ; { NIM_BOOL T253_; T253_ = (NIM_BOOL)0; T253_ = isLValue__sigmatch_3090(c, (*n)._kind_6.sons->data[a]); if (!!(T253_)) goto LA254_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4); mergeShadowScope__lookups_907(c); (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto BeforeRet_; } goto LA244_; LA254_: ; LA244_: ; } LA237_: ; } LA105_: ; } LA16_: ; { NIM_BOOL T258_; NIM_BOOL T260_; T258_ = (NIM_BOOL)0; T258_ = ((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)); if (!(T258_)) goto LA259_; T260_ = (NIM_BOOL)0; T260_ = !(((*m).calleeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))); if (!(T260_)) goto LA261_; T260_ = ((393216 &((NU32)1<<((NU)((*(*m).calleeSym).kind)&31U)))!=0); LA261_: ; T258_ = !(T260_); LA259_: ; if (!T258_) goto LA262_; mergeShadowScope__lookups_907(c); } goto LA256_; LA262_: ; { closeShadowScope__lookups_905(c); } LA256_: ; a += ((NI) 1); } LA14: ; } (*m).firstMismatch.arg = a; unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); }BeforeRet_: ; } 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) { tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker; nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA)); initIntSet__pureZcollectionsZintsets_238((&marker)); matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker)); } 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) { NIM_BOOL result; result = (NIM_BOOL)0; switch ((*candidate).kind) { case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6): case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18): case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20): { tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_189(c, candidate, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m)); partialMatch__sigmatch_4175(c, n, nOrig, (&m)); result = !((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))); } break; default: { result = NIM_FALSE; } break; } return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5124)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; info = (*n).info; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; item = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA7_; isLocal_2 = NIM_FALSE; } LA7_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item_2 = NIM_NIL; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item_2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; item = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T14_; NIM_BOOL T15_; NI T20_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T21_; NI T22_; T14_ = (NIM_BOOL)0; T15_ = (NIM_BOOL)0; T15_ = filterSym__sigmatch_4909(it_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm)); if (!(T15_)) goto LA16_; T15_ = nameFits__sigmatch_5091(c, it_2, n); LA16_: ; T14_ = T15_; if (!(T14_)) goto LA17_; T14_ = argsFit__sigmatch_5113(c, it_2, n, nOrig); LA17_: ; if (!T14_) goto LA18_; T20_ = (NI)0; T20_ = getQuality__sigmatch_5002(it_2); T21_ = NIM_NIL; T21_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T20_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T22_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T22_]), T21_); } LA18_: ; s = nextIter__astalgo_3762((&it), (*scope).symbols); } LA11: ; } } current = (*current).parent; } LA4: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T24_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T24_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T24_; { while (1) { if (!(i < L)) goto LA26; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T30_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T30_ = (NIM_BOOL)0; T30_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T30_) goto LA31_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; item = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T37_; NIM_BOOL T38_; NI T43_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T44_; NI T45_; T37_ = (NIM_BOOL)0; T38_ = (NIM_BOOL)0; T38_ = filterSym__sigmatch_4909(it_3, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2)); if (!(T38_)) goto LA39_; T38_ = nameFits__sigmatch_5091(c, it_3, n); LA39_: ; T37_ = T38_; if (!(T37_)) goto LA40_; T37_ = argsFit__sigmatch_5113(c, it_3, n, nOrig); LA40_: ; if (!T37_) goto LA41_; T43_ = (NI)0; T43_ = getQuality__sigmatch_5002(it_3); T44_ = NIM_NIL; T44_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T43_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T45_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T45_]), T44_); } LA41_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA34: ; } } goto LA28_; LA31_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T52_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA50_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA50_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T52_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T52_; { while (1) { if (!(i_2 < L_2)) goto LA54; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA57_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; item = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T61_; NIM_BOOL T62_; NI T67_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T68_; NI T69_; T61_ = (NIM_BOOL)0; T62_ = (NIM_BOOL)0; T62_ = filterSym__sigmatch_4909(it_4, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3)); if (!(T62_)) goto LA63_; T62_ = nameFits__sigmatch_5091(c, it_4, n); LA63_: ; T61_ = T62_; if (!(T61_)) goto LA64_; T61_ = argsFit__sigmatch_5113(c, it_4, n, nOrig); LA64_: ; if (!T61_) goto LA65_; T67_ = (NI)0; T67_ = getQuality__sigmatch_5002(it_4); T68_ = NIM_NIL; T68_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T67_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T69_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T69_]), T68_); } LA65_: ; } LA57_: ; i_2 += ((NI) 1); } LA54: ; } } } LA28_: ; } i += ((NI) 1); } LA26: ; } } } } N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5139)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** outputs) { tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; info = (*n).info; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; item = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA7_; isLocal_2 = NIM_FALSE; } LA7_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item_2; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item_2 = NIM_NIL; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA11; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item_2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; item = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T14_; NI T17_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T18_; NI T19_; T14_ = (NIM_BOOL)0; T14_ = nameFits__sigmatch_5091(c, it_2, n); if (!T14_) goto LA15_; T17_ = (NI)0; T17_ = getQuality__sigmatch_5002(it_2); T18_ = NIM_NIL; T18_ = symToSuggest__sigmatch_4528((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T17_, pm, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T19_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T19_]), T18_); } LA15_: ; s = nextIter__astalgo_3762((&it), (*scope).symbols); } LA11: ; } } current = (*current).parent; } LA4: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T21_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T21_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T21_; { while (1) { if (!(i < L)) goto LA23; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T27_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T27_ = (NIM_BOOL)0; T27_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T27_) goto LA28_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_3; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA31; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; item = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T34_; NI T37_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T38_; NI T39_; T34_ = (NIM_BOOL)0; T34_ = nameFits__sigmatch_5091(c, it_3, n); if (!T34_) goto LA35_; T37_ = (NI)0; T37_ = getQuality__sigmatch_5002(it_3); T38_ = NIM_NIL; T38_ = symToSuggest__sigmatch_4528((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T37_, pm_2, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T39_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T39_]), T38_); } LA35_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA31: ; } } goto LA25_; LA28_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T46_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA44_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA44_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T46_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T46_; { while (1) { if (!(i_2 < L_2)) goto LA48; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it_4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA51_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; item = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T55_; NI T58_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T59_; NI T60_; T55_ = (NIM_BOOL)0; T55_ = nameFits__sigmatch_5091(c, it_4, n); if (!T55_) goto LA56_; T58_ = (NI)0; T58_ = getQuality__sigmatch_5002(it_4); T59_ = NIM_NIL; T59_ = symToSuggest__sigmatch_4528((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2), info, T58_, pm_3, (((NI) 0) < (*c).inTypeContext), scopeN, NIM_FALSE); unsureAsgnRef((void**) (&(*outputs)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)((*outputs)), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_))); T60_ = (*outputs)->Sup.len++; asgnRef((void**) (&(*outputs)->data[T60_]), T59_); } LA56_: ; } LA51_: ; i_2 += ((NI) 1); } LA48: ; } } } LA25_: ; } i += ((NI) 1); } LA23: ; } } } } N_LIB_PRIVATE N_NIMCALL(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*, newSeq__sigmatch_4767)(NI len) { tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* result; result = NIM_NIL; result = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) newSeq((&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), len); return result; } static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) { NI result; NI y; result = (NI)0; y = (NI)(order - ((NI) 1)); result = (NI)((NI)(x ^ y) - y); return result; } 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) { NI j; NI bb; NI i; NI k; { { NI T3_; NI T4_; T3_ = (NI)0; 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))]); T4_ = (NI)0; T4_ = star___pureZalgorithm_8(T3_, order); if (!(T4_ <= ((NI) 0))) goto LA5_; goto BeforeRet_; } LA5_: ; j = lo; bb = ((NI) 0); { while (1) { if (!(j <= m)) goto LA8; unsureAsgnRef((void**) (&b[bb]), a[j]); bb += ((NI) 1); j += ((NI) 1); } LA8: ; } i = ((NI) 0); k = lo; { while (1) { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = (k < j); if (!(T11_)) goto LA12_; T11_ = (j <= hi); LA12_: ; if (!T11_) goto LA10; { NI T15_; NI T16_; T15_ = (NI)0; T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_88)(cmp.ClP_0))(b[i], a[j]); T16_ = (NI)0; T16_ = star___pureZalgorithm_8(T15_, order); if (!(T16_ <= ((NI) 0))) goto LA17_; unsureAsgnRef((void**) (&a[k]), b[i]); i += ((NI) 1); } goto LA13_; LA17_: ; { unsureAsgnRef((void**) (&a[k]), a[j]); j += ((NI) 1); } LA13_: ; k += ((NI) 1); } LA10: ; } { while (1) { if (!(k < j)) goto LA21; unsureAsgnRef((void**) (&a[k]), b[i]); k += ((NI) 1); i += ((NI) 1); } LA21: ; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_4755)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** a, NI aLen_0, tyProc__pNH4eLNN9aK2oskAhILvUcw cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) { NI n; tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* b; NI s; n = aLen_0; b = newSeq__sigmatch_4767(((NI) ((NI)(n / ((NI) 2))))); s = ((NI) 1); { while (1) { NI m; if (!(s < n)) goto LA2; m = (NI)((NI)(n - ((NI) 1)) - s); { while (1) { if (!(((NI) 0) <= m)) goto LA4; 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); m -= (NI)(s * ((NI) 2)); } LA4: ; } s = (NI)(s * ((NI) 2)); } LA2: ; } } N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4436)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* a, tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* b) { NI result; { result = (NI)0; result = (NI)(((NI) ((*b).prefix)) - ((NI) ((*a).prefix))); { if (!!((result == ((NI) 0)))) goto LA3_; goto BeforeRet_; } LA3_: ; result = (NI)(((NI) ((*b).contextFits)) - ((NI) ((*a).contextFits))); { if (!!((result == ((NI) 0)))) goto LA7_; goto BeforeRet_; } LA7_: ; result = (NI)((*b).scope - (*a).scope); { if (!!((result == ((NI) 0)))) goto LA11_; goto BeforeRet_; } LA11_: ; result = (NI)(((NI) ((*b).quality)) - ((NI) ((*a).quality))); { if (!!((result == ((NI) 0)))) goto LA15_; goto BeforeRet_; } LA15_: ; result = (NI)((*b).localUsages - (*a).localUsages); { if (!!((result == ((NI) 0)))) goto LA19_; goto BeforeRet_; } LA19_: ; result = (NI)((*b).globalUsages - (*a).globalUsages); { if (!!((result == ((NI) 0)))) goto LA23_; goto BeforeRet_; } LA23_: ; result = cmp__system_1549((*(*a).name), (*(*b).name)); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___sigmatch_4707)(tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* suggest) { NimStringDesc* result; result = NIM_NIL; result = dollar___options_4697((*suggest).section); result = addChar(result, 9); { NimStringDesc* T17_; NimStringDesc* T18_; NimStringDesc* T19_; if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 8))) goto LA3_; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8)); if (!(T7_)) goto LA8_; T7_ = (*suggest).isGlobal; LA8_: ; if (!T7_) goto LA9_; result = resizeString(result, 11); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_91)); } goto LA5_; LA9_: ; { NIM_BOOL T12_; T12_ = (NIM_BOOL)0; T12_ = (((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)) == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9)); if (!(T12_)) goto LA13_; T12_ = (*suggest).isGlobal; LA13_: ; if (!T12_) goto LA14_; result = resizeString(result, 11); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_92)); } goto LA5_; LA14_: ; { 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); appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))); } LA5_: ; result = addChar(result, 9); T17_ = NIM_NIL; T17_ = dollar___systemZdollars_3((*suggest).line); result = resizeString(result, (T17_ ? T17_->Sup.len : 0) + 0); appendString(result, T17_); result = addChar(result, 9); T18_ = NIM_NIL; T18_ = dollar___systemZdollars_3((*suggest).column); result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0); appendString(result, T18_); result = addChar(result, 9); T19_ = NIM_NIL; T19_ = dollar___systemZdollars_3((*suggest).tokenLen); result = resizeString(result, (T19_ ? T19_->Sup.len : 0) + 0); appendString(result, T19_); } goto LA1_; LA3_: ; { NimStringDesc* T27_; NimStringDesc* T28_; 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); appendString(result, reprEnum((NI)((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) ((*suggest).symkind)), (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))); result = addChar(result, 9); { NI T23_; NimStringDesc* T26_; T23_ = ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0); if (!!((T23_ == ((NI) 0)))) goto LA24_; T26_ = NIM_NIL; T26_ = nsuJoinSep((*suggest).qualifiedPath->data, ((*suggest).qualifiedPath ? (*suggest).qualifiedPath->Sup.len : 0), ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_93)); result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0); appendString(result, T26_); } LA24_: ; result = addChar(result, 9); result = resizeString(result, ((*suggest).forth ? (*suggest).forth->Sup.len : 0) + 0); appendString(result, (*suggest).forth); result = addChar(result, 9); result = resizeString(result, ((*suggest).filePath ? (*suggest).filePath->Sup.len : 0) + 0); appendString(result, (*suggest).filePath); result = addChar(result, 9); T27_ = NIM_NIL; T27_ = dollar___systemZdollars_3((*suggest).line); result = resizeString(result, (T27_ ? T27_->Sup.len : 0) + 0); appendString(result, T27_); result = addChar(result, 9); T28_ = NIM_NIL; T28_ = dollar___systemZdollars_3((*suggest).column); result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0); appendString(result, T28_); result = addChar(result, 9); { NimStringDesc* T33_; if (!((*suggest).version == ((NI) 0))) goto LA31_; result = addChar(result, 9); T33_ = NIM_NIL; T33_ = dollar___systemZdollars_3(((NI) ((*suggest).quality))); result = resizeString(result, (T33_ ? T33_->Sup.len : 0) + 0); appendString(result, T33_); { if (!((*suggest).section == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA36_; result = addChar(result, 9); result = resizeString(result, (reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_)) ? reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_))->Sup.len : 0) + 0); appendString(result, reprEnum((NI)(*suggest).prefix, (&NTIprefixmatch__Dkww2nY9cxJVLF9cfoQS5U6Q_))); } LA36_: ; } LA31_: ; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_4746)(tySequence__i7xpiUsxyv6cQ1xK3JbcGQ** a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) { { tyProc__pNH4eLNN9aK2oskAhILvUcw T5_; if (!((6 &((NU16)1<<((NU)((*conf).ideCmd)&15U)))!=0)) goto LA3_; nimZeroMem((void*)(&T5_), sizeof(tyProc__pNH4eLNN9aK2oskAhILvUcw)); T5_.ClP_0 = ((TM__EV5hHJmjIY9cla9b9be7fSVJQ_89) (cmpSuggestions__sigmatch_4436)); T5_.ClE_0 = NIM_NIL; sort__sigmatch_4755((*a)->data, ((*a) ? (*a)->Sup.len : 0), T5_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1)); } LA3_: ; { NI T8_; T8_ = ((*a) ? (*a)->Sup.len : 0); if (!((*conf).suggestMaxResults < T8_)) goto LA9_; unsureAsgnRef((void**) (&(*a)), (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) setLengthSeqV2(&((*a))->Sup, (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_), ((NI) ((*conf).suggestMaxResults)))); } LA9_: ; { if (!!(((*conf).suggestionResultHook.ClP_0 == 0))) goto LA13_; { tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s; NI i; NI L; NI T16_; s = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0; i = ((NI) 0); T16_ = ((*a) ? (*a)->Sup.len : 0); L = T16_; { while (1) { if (!(i < L)) goto LA18; s = &(*a)->data[i]; (*conf).suggestionResultHook.ClE_0? (*conf).suggestionResultHook.ClP_0((*s), (*conf).suggestionResultHook.ClE_0):((TM__EV5hHJmjIY9cla9b9be7fSVJQ_90)((*conf).suggestionResultHook.ClP_0))((*s)); i += ((NI) 1); } LA18: ; } } } goto LA11_; LA13_: ; { { tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ** s_2; NI i_2; NI L_2; NI T21_; s_2 = (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ**)0; i_2 = ((NI) 0); T21_ = ((*a) ? (*a)->Sup.len : 0); L_2 = T21_; { while (1) { NimStringDesc* T24_; if (!(i_2 < L_2)) goto LA23; s_2 = &(*a)->data[i_2]; T24_ = NIM_NIL; T24_ = dollar___sigmatch_4707((*s_2)); suggestWriteln__msgs_421(conf, T24_); i_2 += ((NI) 1); } LA23: ; } } } LA11_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6450)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs; { { if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_; goto BeforeRet_; } LA3_: ; (*c).compilesContextId += ((NI) 1); outputs = NIM_NIL; { if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA7_; sugExpr__sigmatch_6417(c, n, (&outputs)); } goto LA5_; LA7_: ; { if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 2))) goto LA10_; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x; 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_; a = copyNode__ast_4336(n); x = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[((NI) 0)]); { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (T18_) goto LA19_; T18_ = ((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); LA19_: ; if (!T18_) goto LA20_; x = (*n)._kind_6.sons->data[((NI) 0)]; } LA20_: ; add__ast_4797(a, x); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(n); i_2 = ((NI) 1); { while (1) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2; if (!(i_2 < colontmp_)) goto LA24; i = i_2; x_2 = safeSemExpr__sigmatch_6411(c, (*n)._kind_6.sons->data[i]); { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = ((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (T27_) goto LA28_; T27_ = ((*x_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); LA28_: ; if (!T27_) goto LA29_; goto LA22; } LA29_: ; add__ast_4797(a, x_2); i_2 += ((NI) 1); } LA24: ; } } LA22: ; suggestCall__sigmatch_5124(c, a, n, (&outputs)); } goto LA12_; LA14_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_3; 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_; x_3 = safeSemExpr__sigmatch_6411(c, n); { NIM_BOOL T36_; T36_ = (NIM_BOOL)0; T36_ = ((*x_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (T36_) goto LA37_; T36_ = ((*x_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); LA37_: ; if (!T36_) goto LA38_; x_3 = n; } LA38_: ; suggestVar__sigmatch_5139(c, x_3, (&outputs)); } goto LA12_; LA32_: ; LA12_: ; } goto LA5_; LA10_: ; LA5_: ; (*c).compilesContextId -= ((NI) 1); { NIM_BOOL T42_; NI T43_; T42_ = (NIM_BOOL)0; T43_ = (outputs ? outputs->Sup.len : 0); T42_ = (((NI) 0) < T43_); if (!(T42_)) goto LA44_; T42_ = ((14 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0); LA44_: ; if (!T42_) goto LA45_; produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config); suggestQuit__msgs_446(); } LA45_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = exactEquals__msgs_997((*(*(*c).graph).config).m.trackPos, (*n).info); if (!T3_) goto LA4_; suggestExprNoCheck__sigmatch_6450(c, n); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos) { tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg result; { result = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0; { if (!(current.fileIndex == trackPos.fileIndex)) goto LA3_; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = (current.line == trackPos.line); if (!(T7_)) goto LA8_; T7_ = (((NI16)(current.col - trackPos.col) > 0? ((NI16)(current.col - trackPos.col)) : -((NI16)(current.col - trackPos.col))) < ((NI16) 4)); LA8_: ; if (!T7_) goto LA9_; result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 2); goto BeforeRet_; } LA9_: ; { if (!((NU16)(trackPos.line) <= (NU16)(current.line))) goto LA13_; result = ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 1); goto BeforeRet_; } LA13_: ; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(n); i_2 = ((NI) 1); { while (1) { if (!(i_2 < colontmp_)) goto LA3; i = i_2; asgnRef((void**) (&(*n)._kind_6.sons->data[i]), prepareOperand__sigmatch_3700(c, (*n)._kind_6.sons->data[i])); i_2 += ((NI) 1); } LA3: ; } } } static N_NIMCALL(void, Marker_tySequence__0dpGN6F4ocevqUQGsaf41w)(void* p, NI op) { tySequence__0dpGN6F4ocevqUQGsaf41w* a; NI T1_; a = (tySequence__0dpGN6F4ocevqUQGsaf41w*)p; T1_ = (NI)0; for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) { nimGCvisit((void*)a->data[T1_].sym, op); nimGCvisit((void*)a->data[T1_].firstMismatch.formal, op); nimGCvisit((void*)a->data[T1_].diagnostics, op); } } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, argTypeToString__sigmatch_362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) { NimStringDesc* result; result = NIM_NIL; { if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3_; result = typeToString__types_50((*(*arg)._kind_6.sons->data[((NI) 0)]).typ, prefer); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(arg); i_2 = ((NI) 1); { while (1) { NimStringDesc* T8_; if (!(i_2 < colontmp_)) goto LA7; i = i_2; result = resizeString(result, 3); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_96)); T8_ = NIM_NIL; T8_ = typeToString__types_50((*(*arg)._kind_6.sons->data[i]).typ, prefer); result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0); appendString(result, T8_); i_2 += ((NI) 1); } LA7: ; } } } goto LA1_; LA3_: ; { if (!((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA10_; result = copyString(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_97)); } goto LA1_; LA10_: ; { result = typeToString__types_50((*arg).typ, prefer); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) { NimStringDesc* result; { result = NIM_NIL; result = ((NimStringDesc*) NIM_NIL); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(n); i_2 = startIdx; { while (1) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg; NimStringDesc* T28_; if (!(i_2 < colontmp_)) goto LA3; i = i_2; arg = (*n)._kind_6.sons->data[i]; { NimStringDesc* T8_; if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA6_; T8_ = NIM_NIL; T8_ = renderTree__renderer_46((*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], 0); result = resizeString(result, (T8_ ? T8_->Sup.len : 0) + 0); appendString(result, T8_); result = resizeString(result, 2); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_95)); { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = ((*arg).typ == 0); if (!(T11_)) goto LA12_; T11_ = !(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52))); LA12_: ; if (!T11_) goto LA13_; arg = (*c).semOperand(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], 0); asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*arg).typ); asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), arg); } LA13_: ; } goto LA4_; LA6_: ; { { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = ((*arg).typ == 0); if (!(T18_)) goto LA19_; 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))); LA19_: ; if (!T18_) goto LA20_; arg = (*c).semOperand(c, (*n)._kind_6.sons->data[i], 0); asgnRef((void**) (&(*n)._kind_6.sons->data[i]), arg); } LA20_: ; } LA4_: ; { NIM_BOOL T24_; T24_ = (NIM_BOOL)0; T24_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))); if (!(T24_)) goto LA25_; T24_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)); LA25_: ; if (!T24_) goto LA26_; goto BeforeRet_; } LA26_: ; T28_ = NIM_NIL; T28_ = argTypeToString__sigmatch_362(arg, prefer); result = resizeString(result, (T28_ ? T28_->Sup.len : 0) + 0); appendString(result, T28_); { NI T31_; T31_ = (NI)0; T31_ = len__ast_3198(n); if (!!((i == (NI)(T31_ - ((NI) 1))))) goto LA32_; result = resizeString(result, 2); appendString(result, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_42)); } LA32_: ; i_2 += ((NI) 1); } LA3: ; } } }BeforeRet_: ; return result; } 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) { tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker; { { if (!((*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*m).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA3_; (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1); unsureAsgnRef((void**) (&(*m).call), n); goto BeforeRet_; } LA3_: ; nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA)); initIntSet__pureZcollectionsZintsets_238((&marker)); matchesAux__sigmatch_3784(c, n, nOrig, m, (&marker)); { if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA7_; goto BeforeRet_; } LA7_: ; { NI f; NI colontmp_; NI i; f = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198((*(*m).callee).n); i = ((NI) 1); { while (1) { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal; if (!(i < colontmp_)) goto LA11; f = i; formal = (*(*(*(*m).callee).n)._kind_6.sons->data[f])._kind_4.sym; { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = containsOrIncl__astalgo_402((&marker), (*formal).position); if (!!(T14_)) goto LA15_; { if (!((*formal).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA19_; { tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw cnKind; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* container; tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA23_; { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)); if (!(T27_)) goto LA28_; T27_ = ((*(*(*formal).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)); LA28_: ; if (!T27_) goto LA29_; cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152); } goto LA25_; LA29_: ; { cnKind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41); } LA25_: ; T32_ = NIM_NIL; T32_ = arrayConstr__sigmatch_3725(c, (*n).info); container = newNodeIT__ast_3378(cnKind, (*n).info, T32_); T33_ = NIM_NIL; T33_ = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, container, (&(*m)), c); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), T33_); } goto LA21_; LA23_: ; { (*m).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2); (*m).firstMismatch.kind = ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5); unsureAsgnRef((void**) (&(*m).firstMismatch.formal), formal); goto LA9; } LA21_: ; } goto LA17_; LA19_: ; { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue; { NimStringDesc* T40_; if (!((*(*formal).ast).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_; T40_ = NIM_NIL; T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_98), (*(*formal).name).s); liMessage__msgs_1118((*(*c).graph).config, (*(*m).call).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_99, NIM_FALSE); } LA38_: ; { if (!(((*(*formal).ast).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA43_; (*(*m).call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31); } LA43_: ; defaultValue = copyTree__ast_4431((*formal).ast); { if (!((*defaultValue).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA47_; defaultValue = implicitConv__sigmatch_3067(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal).typ, defaultValue, (&(*m)), c); } LA47_: ; { tyObject_TType__facALICuu8zUj0hjvbTLFg* existing; RootObj* T53_; if (!!(((100663296 & (*(*formal).typ).flags) == 0))) goto LA51_; T53_ = NIM_NIL; T53_ = idTableGet__astalgo_64((*m).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*formal).typ))))); existing = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T53_)); { NIM_BOOL T56_; T56_ = (NIM_BOOL)0; T56_ = (existing == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)); if (T56_) goto LA57_; T56_ = ((*existing).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA57_: ; if (!T56_) goto LA58_; put__sigmatch_120(m, (*formal).typ, (*defaultValue).typ); } LA58_: ; } LA51_: ; (*defaultValue).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18)) & 31); setSon__sigmatch_3650((*m).call, (NI)((*formal).position + ((NI) 1)), defaultValue); } LA17_: ; } LA15_: ; i += ((NI) 1); } LA11: ; } } LA9: ; { if (!((*m).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA62_; { tyObject_TType__facALICuu8zUj0hjvbTLFg** t; NI i_2; NI L; NI T65_; t = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0; i_2 = ((NI) 0); T65_ = ((*m).inferredTypes ? (*m).inferredTypes->Sup.len : 0); L = T65_; { while (1) { if (!(i_2 < L)) goto LA67; t = &(*m).inferredTypes->data[i_2]; { NI T70_; T70_ = (NI)0; T70_ = len__ast_4002((*t)); if (!(((NI) 1) < T70_)) goto LA71_; asgnRef((void**) (&(*(*t)).sons), (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) setLengthSeqV2(&((*(*t)).sons)->Sup, (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) 1))); } LA71_: ; i_2 += ((NI) 1); } LA67: ; } } } LA62_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a) { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw result; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m; result = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, f, (&m)); result = typeRel__sigmatch_202((&m), f, a, 0); return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { suggestExpr__sigmatch_6536(c, n); } 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) { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result; tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m; tyObject_TType__facALICuu8zUj0hjvbTLFg* f; { result = NIM_NIL; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA)); newCandidate__sigmatch_195(c, (*dc).typ, (&m)); { NI T3_; NimStringDesc* T6_; T3_ = (NI)0; T3_ = len__ast_4002((*dc).typ); if (!(T3_ <= col)) goto LA4_; T6_ = NIM_NIL; T6_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22); appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100)); appendString(T6_, (*(*dc).name).s); appendString(T6_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19)); liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_101, NIM_FALSE); result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL); goto BeforeRet_; } LA4_: ; f = (*(*dc).typ).sons->data[col]; { if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA9_; { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA13_; f = lastSon__ast_3743(f); } LA13_: ; } goto LA7_; LA9_: ; { { if (!((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA18_; f = lastSon__ast_3743(f); } LA18_: ; } LA7_: ; { tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T22_; NimStringDesc* T25_; T22_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0; T22_ = typeRel__sigmatch_202((&m), f, t, 0); if (!(T22_ == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0))) goto LA23_; T25_ = NIM_NIL; T25_ = rawNewString(((*(*dc).name).s ? (*(*dc).name).s->Sup.len : 0) + 22); appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_100)); appendString(T25_, (*(*dc).name).s); appendString(T25_, ((NimStringDesc*) &TM__EV5hHJmjIY9cla9b9be7fSVJQ_19)); liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__EV5hHJmjIY9cla9b9be7fSVJQ_102, NIM_FALSE); } goto LA20_; LA23_: ; { 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); { if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4))) goto LA29_; } LA29_: ; } LA20_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) { tySequence__i7xpiUsxyv6cQ1xK3JbcGQ* outputs; { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !(((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1))); if (T3_) goto LA4_; T3_ = !(((*(*c).module).position == ((NI) ((*(*(*c).graph).config).m.trackPos.fileIndex)))); LA4_: ; if (!T3_) goto LA5_; goto BeforeRet_; } LA5_: ; { if (!(((NI) 0) < (*c).compilesContextId)) goto LA9_; goto BeforeRet_; } LA9_: ; (*c).compilesContextId += ((NI) 1); outputs = NIM_NIL; { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it; NI scopeN; NIM_BOOL isLocal; NIM_BOOL isLocal_2; NI scopeN_2; it = NIM_NIL; scopeN = (NI)0; isLocal = (NIM_BOOL)0; isLocal_2 = NIM_TRUE; scopeN_2 = ((NI) 0); { tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope; tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current; scope = NIM_NIL; current = (*c).currentScope; { while (1) { if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA14; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA17_; isLocal_2 = NIM_FALSE; } LA17_: ; scopeN_2 -= ((NI) 1); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* item; tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg it_2; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s; item = NIM_NIL; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg)); s = initTabIter__astalgo_3777((&it_2), (*scope).symbols); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp_; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm; if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21; item = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp_.Field0 = item; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; it = colontmp_.Field0; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; pm = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T24_; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T27_; NI T28_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T29_; NI T30_; T24_ = (NIM_BOOL)0; T24_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm)); if (!T24_) goto LA25_; T27_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1)); T28_ = (NI)0; T28_ = getQuality__sigmatch_5002(it); T29_ = NIM_NIL; T29_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T27_, T28_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE); outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)); T30_ = outputs->Sup.len++; asgnRef((void**) (&outputs->data[T30_]), T29_); } LA25_: ; s = nextIter__astalgo_3762((&it_2), (*scope).symbols); } LA21: ; } } current = (*current).parent; } LA14: ; } } scopeN_2 -= ((NI) 1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ* im; NI i; NI L; NI T32_; im = (tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ*)0; i = ((NI) 0); T32_ = ((*c).imports ? (*c).imports->Sup.len : 0); L = T32_; { while (1) { if (!(i < L)) goto LA34; im = (&(*c).imports->data[i]); { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; importHidden = (((*(*im).m).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0); { NIM_BOOL T38_; tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r; T38_ = (NIM_BOOL)0; T38_ = isCachedModule__modulegraphs_2709((*c).graph, (*im).m); if (!T38_) goto LA39_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg)); r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); { while (1) { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__2; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_2; if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA42; s_2 = r; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__2.Field0 = s_2; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; it = colontmp__2.Field0; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; pm_2 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T45_; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T48_; NI T49_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T50_; NI T51_; T45_ = (NIM_BOOL)0; T45_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_2)); if (!T45_) goto LA46_; T48_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1)); T49_ = (NI)0; T49_ = getQuality__sigmatch_5002(it); T50_ = NIM_NIL; T50_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T48_, T49_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE); outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)); T51_ = outputs->Sup.len++; asgnRef((void**) (&outputs->data[T51_]), T50_); } LA46_: ; r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0)); } LA42: ; } } goto LA36_; LA39_: ; { { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_3; tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__3; tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_; NI i_2; NI L_2; NI T58_; s_3 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0; colontmp__3 = NIM_NIL; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interf); { if (!importHidden) goto LA56_; retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*(*im).m).position].interfHidden); } LA56_: ; colontmp__3 = (*retX60gensym17_).data; i_2 = ((NI) 0); T58_ = (colontmp__3 ? colontmp__3->Sup.len : 0); L_2 = T58_; { while (1) { if (!(i_2 < L_2)) goto LA60; s_3 = &colontmp__3->data[i_2]; { tyTuple__8bH5UHA9aimOFoSY4U42gzw colontmp__4; tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q pm_3; if (!!(((*s_3) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_; s_2 = (*s_3); nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__8bH5UHA9aimOFoSY4U42gzw)); colontmp__4.Field0 = s_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; it = colontmp__4.Field0; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; pm_3 = (tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q)0; { NIM_BOOL T67_; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T70_; NI T71_; tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* T72_; NI T73_; T67_ = (NIM_BOOL)0; T67_ = filterSymNoOpr__sigmatch_4935(it, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), (&pm_3)); if (!T67_) goto LA68_; T70_ = newLineInfo__msgs_381((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI) 0), ((NI) -1)); T71_ = (NI)0; T71_ = getQuality__sigmatch_5002(it); T72_ = NIM_NIL; T72_ = symToSuggest__sigmatch_4528((*c).graph, it, isLocal, ((tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ) 1), T70_, T71_, ((tyEnum_PrefixMatch__Dkww2nY9cxJVLF9cfoQS5U6Q) 0), NIM_FALSE, scopeN, NIM_FALSE); outputs = (tySequence__i7xpiUsxyv6cQ1xK3JbcGQ*) incrSeqV3((TGenericSeq*)(outputs), (&NTIsuggestions__i7xpiUsxyv6cQ1xK3JbcGQ_)); T73_ = outputs->Sup.len++; asgnRef((void**) (&outputs->data[T73_]), T72_); } LA68_: ; } LA63_: ; i_2 += ((NI) 1); } LA60: ; } } } LA36_: ; } i += ((NI) 1); } LA34: ; } } } (*c).compilesContextId -= ((NI) 1); produceOutput__sigmatch_4746((&outputs), (*(*c).graph).config); }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, compiler_sigmatchDatInit000)(void) { static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[2]; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[5]; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[2]; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[24]; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[3]; NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_71; static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[3] = { "csEmpty", "csMatch", "csNoMatch"}; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[3]; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[8]; NI TM__EV5hHJmjIY9cla9b9be7fSVJQ_75; static char* NIM_CONST TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[8] = { "kUnknown", "kAlreadyGiven", "kUnknownNamedParam", "kTypeMismatch", "kVarNeeded", "kMissingParam", "kExtraArg", "kPositionalAlreadyGiven"}; static TNimNode* TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[4]; static TNimNode TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[59]; NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ); NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ); NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.kind = 17; NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, colonstate_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[1].name = ":state"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].offset = offsetof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ, line1); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[2].name = "line1"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_4_2[0]; NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[0]; NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*); NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.align = NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___OOiDxDXQlxWHlb9aU1AkbWQ*); NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.kind = 22; NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.base = (&NTIobject__OOiDxDXQlxWHlb9aU1AkbWQ_); NTIrefobject__AQEmz0epsPFaQWAZOZKqTA_.marker = Marker_tyRef__AQEmz0epsPFaQWAZOZKqTA; NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA); NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA); NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.kind = 17; NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, colonstate_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[4].name = ":state"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, errorPrefix1); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[5].name = "errorPrefix1"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, typeClass2); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[6].name = "typeClass2"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, oldWriteHook3); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].typ = (&NTIprocLoutput58stringTLOclosureOT__k2HFjxisIgDALbEUFojxaQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[7].name = "oldWriteHook3"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].offset = offsetof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA, diagnostics4); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[8].name = "diagnostics4"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].len = 5; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_31_5[0]; NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[3]; NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*); NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.align = NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___ABsKQG07Jg0nSKN9cZsdHNA*); NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.kind = 22; NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.base = (&NTIobject__ABsKQG07Jg0nSKN9cZsdHNA_); NTIrefobject__45NYJqjr6v2fbd4yf89cTdg_.marker = Marker_tyRef__45NYJqjr6v2fbd4yf89cTdg; NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.size = sizeof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw); NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.align = NIM_ALIGNOF(tyTuple__Qqa8F49azZNOOP4FK3LKbhw); NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.kind = 18; NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.base = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field0); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[10].name = "Field0"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].offset = offsetof(tyTuple__Qqa8F49azZNOOP4FK3LKbhw, Field1); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[11].name = "Field1"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].len = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_36_2[0]; NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[9]; NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.size = sizeof(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*); NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.align = NIM_ALIGNOF(tySequence__bGUffHlsVXt0g6ZKEF4OfQ*); NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.kind = 24; NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.base = (&NTILpsym_ptypeT__Qqa8F49azZNOOP4FK3LKbhw_); NTIseqLLpsym_ptypeTT__bGUffHlsVXt0g6ZKEF4OfQ_.marker = Marker_tySequence__bGUffHlsVXt0g6ZKEF4OfQ; NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.size = sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA); NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.align = NIM_ALIGNOF(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA); NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.kind = 18; NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.base = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, c); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[13].name = "c"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, exactMatches); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[14].name = "exactMatches"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericMatches); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[15].name = "genericMatches"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, subtypeMatches); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[16].name = "subtypeMatches"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[4] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, intConvMatches); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[17].name = "intConvMatches"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[5] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, convMatches); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[18].name = "convMatches"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[6] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19]; NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.size = sizeof(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg); NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.align = NIM_ALIGNOF(tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg); NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.kind = 14; NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.base = 0; NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.flags = 3; for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71 < 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_71++) { TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_71; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_70[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_71+20]; } TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_69_3[0]; NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[23]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, state); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].typ = (&NTItcandidatestate__C8RXb59bvbxaTzDOqx49aVVg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[19].name = "state"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[7] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, callee); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[24].name = "callee"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[8] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeSym); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[25].name = "calleeSym"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[9] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, calleeScope); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[26].name = "calleeScope"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[10] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, call); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[27].name = "call"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[11] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, bindings); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].typ = (&NTItidtable__9aiv9bp2t5icFNINcg9c4xi1Q_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[28].name = "bindings"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[12] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, magic); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].typ = (&NTItmagic__shZhZOdbVC5nnFvcXQAImg_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[29].name = "magic"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[13] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, baseTypeMatch); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[30].name = "baseTypeMatch"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[14] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, fauxMatch); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].typ = (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[31].name = "fauxMatch"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[15] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, genericConverter); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[32].name = "genericConverter"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[16] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, coerceDistincts); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[33].name = "coerceDistincts"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[17] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, typedescMatched); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[34].name = "typedescMatched"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[18] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, isNoCall); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[35].name = "isNoCall"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[19] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inferredTypes); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].typ = (&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[36].name = "inferredTypes"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[20] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnostics); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[37].name = "diagnostics"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[21] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, inheritancePenalty); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[38].name = "inheritancePenalty"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[22] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39]; NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.size = sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ); NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.align = NIM_ALIGNOF(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ); NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.kind = 18; NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.base = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41]; NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.size = sizeof(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w); NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.align = NIM_ALIGNOF(tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w); NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.kind = 14; NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.base = 0; NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.flags = 3; for (TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75 < 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_75++) { TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].offset = TM__EV5hHJmjIY9cla9b9be7fSVJQ_75; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42].name = TM__EV5hHJmjIY9cla9b9be7fSVJQ_74[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[TM__EV5hHJmjIY9cla9b9be7fSVJQ_75+42]; } TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].len = 8; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_73_8[0]; NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[50]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, kind); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].typ = (&NTImismatchkind__9a6KkG9auuBdYowCMkBNpD6w_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[41].name = "kind"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, arg); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[51].name = "arg"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].offset = offsetof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ, formal); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[52].name = "formal"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].len = 3; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_72_3[0]; NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[40]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, firstMismatch); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[39].name = "firstMismatch"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[23] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].offset = offsetof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA, diagnosticsEnabled); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[53].name = "diagnosticsEnabled"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].len = 24; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_68_24[0]; NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[12]; NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.size = sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ); NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.align = NIM_ALIGNOF(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ); NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.kind = 18; NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.base = 0; TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, sym); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[55].name = "sym"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[1] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, firstMismatch); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].typ = (&NTImismatchinfo__Bde9a0sl26Y9b6iLNg1iH8LQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[56].name = "firstMismatch"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[2] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, diagnostics); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].typ = (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[57].name = "diagnostics"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[3] = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58]; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].kind = 1; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].offset = offsetof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ, enabled); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_); TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[58].name = "enabled"; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].len = 4; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].kind = 2; TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54].sons = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_94_4[0]; NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_.node = &TM__EV5hHJmjIY9cla9b9be7fSVJQ_0[54]; NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.size = sizeof(tySequence__0dpGN6F4ocevqUQGsaf41w*); NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.align = NIM_ALIGNOF(tySequence__0dpGN6F4ocevqUQGsaf41w*); NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.kind = 24; NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.base = (&NTIcandidateerror__5fLnqPfj0Ty9cmak1Q1pBFQ_); NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_.marker = Marker_tySequence__0dpGN6F4ocevqUQGsaf41w; }