/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #include "nimbase.h" #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__QUPFyDhhyyn3RQbxNbH7xg tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg; typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q; typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg; typedef struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA; typedef struct RootObj RootObj; typedef struct TNimTypeV2 TNimTypeV2; typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag; typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA; typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA; typedef struct tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw; typedef struct tySequence__ayW1sBql6IlgnJXmG6YwBw tySequence__ayW1sBql6IlgnJXmG6YwBw; typedef struct tySequence__ayW1sBql6IlgnJXmG6YwBw_Content tySequence__ayW1sBql6IlgnJXmG6YwBw_Content; typedef struct tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w; typedef struct tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw; typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ tySequence__UfuHwINLHlFJGRcvFZqKQQ; typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content; typedef struct tySequence__mkw3BsSwySE8kJ1iQVHi2g tySequence__mkw3BsSwySE8kJ1iQVHi2g; typedef struct tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content; typedef struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ; typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw tySequence__oJNUGvppFP9c7bQcQ1vFDNw; typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content; typedef struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw tySequence__P2jdSFF0rwb3d6yhCnf7Tw; typedef struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content; typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA; typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA; typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w; typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content; typedef struct tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg; typedef struct tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg; typedef struct tySequence__B9cdeRjiqZYBtgmMW4y69bow tySequence__B9cdeRjiqZYBtgmMW4y69bow; typedef struct tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content; typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ; typedef struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg; typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tySequence__zzmYOvMjuaDPGlm2gOxjfw tySequence__zzmYOvMjuaDPGlm2gOxjfw; typedef struct tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content; typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w; typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw; typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content; typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w; typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw; typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content tySequence__E8pi9b5QNahsURYzXMjh3qw_Content; typedef struct tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA; typedef struct tySequence__2ysejK9bM8cCXleF05Ng9cHA tySequence__2ysejK9bM8cCXleF05Ng9cHA; typedef struct tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content; typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA tySequence__9czS3pDdyAs7bxglDcl2YyA; typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content tySequence__9czS3pDdyAs7bxglDcl2YyA_Content; typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ tySequence__XHeQfi7ybWnv4ebLBB7afQ; typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content; typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw tySequence__gDGqa9bft4EIBGJXdPabojw; typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content tySequence__gDGqa9bft4EIBGJXdPabojw_Content; typedef struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A tyObject_Table__fjuGiTdj9aowj72av2a6U5A; typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg tySequence__YLW4xuku9cRS9cLOfVzwUxqg; typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content; typedef struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg; typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g tySequence__HL9bxOKBQaeJ5XQXd8t8m8g; typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content; typedef struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyObject_Table__ylj8DEu79cdmULczcIwXsIQ; typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA tySequence__M1HR1j8fkzOLdhYymqd9cNA; typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content; typedef struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q; typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q tySequence__ndtMxvII636Jz8NCVD9a9a0Q; typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content; typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA; typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw; typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content; typedef struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw; typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA; typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg; typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content; typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ; typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg; typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content; typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA; typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content; typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg; typedef struct tyObject_Table__SogU5TxbKBYUMQw7zmdG3g tyObject_Table__SogU5TxbKBYUMQw7zmdG3g; typedef struct tySequence__7C9bvULfaDaWykzhm3DspFQ tySequence__7C9bvULfaDaWykzhm3DspFQ; typedef struct tySequence__7C9bvULfaDaWykzhm3DspFQ_Content tySequence__7C9bvULfaDaWykzhm3DspFQ_Content; typedef struct tyObject_Table__ijGervJNjyJafnomjvukiw tyObject_Table__ijGervJNjyJafnomjvukiw; typedef struct tySequence__kdxAxisTjDkmDgNFb13UQw tySequence__kdxAxisTjDkmDgNFb13UQw; typedef struct tySequence__kdxAxisTjDkmDgNFb13UQw_Content tySequence__kdxAxisTjDkmDgNFb13UQw_Content; typedef struct tySequence__ANJm3Ou4QEh9abhA1XpChkw tySequence__ANJm3Ou4QEh9abhA1XpChkw; typedef struct tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content; typedef struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ; typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ; typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content; typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q; typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ; typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content; typedef struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ tyObject_Table__fkVbis6Wl9armQNEPm21CLQ; typedef struct tySequence__UQG43DVXYWx86AitV5pL8g tySequence__UQG43DVXYWx86AitV5pL8g; typedef struct tySequence__UQG43DVXYWx86AitV5pL8g_Content tySequence__UQG43DVXYWx86AitV5pL8g_Content; typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg; typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA; typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content; typedef struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w; typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA; typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content; typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA tySequence__6HN8Af9btfjdnDkSmkCapaA; typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content tySequence__6HN8Af9btfjdnDkSmkCapaA_Content; typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ; typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content; typedef struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w; typedef struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg; typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg; typedef struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag; typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA tySequence__npXKLeClRo4ZDs6rPxQ9bRA; typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content; typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw tySequence__o8paxaScVM7VHajE9a8rbyw; typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content tySequence__o8paxaScVM7VHajE9a8rbyw_Content; typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg; typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw; typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ; typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content; typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q; typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg tySequence__SE64IkxZVzsW0aLsNjnJHg; typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content tySequence__SE64IkxZVzsW0aLsNjnJHg_Content; typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ; typedef struct tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ; typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA; typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA; typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content; typedef struct Exception Exception; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content tySequence__uB9b75OUPRENsBAu4AnoePA_Content; typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ; typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw; typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA; typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg; typedef struct tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q; typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA; typedef struct tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA; typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A; typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ; typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content; typedef struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA; typedef struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA; typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA; typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content; typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA; typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content; typedef struct tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw; typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q; typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content; typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg; typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content; typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA tySequence__9a35SUiZaZnQQczCKMafPpA; typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA_Content tySequence__9a35SUiZaZnQQczCKMafPpA_Content; typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw tySequence__E0A6SaW1v3EKBAVAijH8Mw; typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content; typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ tySequence__ksIzANWGKlNIZxswx6UF9cQ; typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content; typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg tySequence__rg1JHBuFtw6jyGZxePBOTg; typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg_Content tySequence__rg1JHBuFtw6jyGZxePBOTg_Content; typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q tySequence__6xT3ssEcZuds56oxe6Hi1Q; typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content; typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA tySequence__0kQhEjYsrU0bQoX6VKnNbA; typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content; typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg tySequence__cNHcFk7EiJIuDgTjWY8U9bg; typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content; typedef struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg; typedef struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg; typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ; typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content; typedef struct tyObject_Table__wOXFN2eadVouctMpJwmcSA tyObject_Table__wOXFN2eadVouctMpJwmcSA; typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg tySequence__9afGcb6vqUeksMMfijyiRIg; typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg_Content tySequence__9afGcb6vqUeksMMfijyiRIg_Content; typedef struct tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg; typedef struct tyObject_PackedDecoder__6ADpJ19cEMaZ0CIQt5DUSdQ tyObject_PackedDecoder__6ADpJ19cEMaZ0CIQt5DUSdQ; typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ tySequence__IWXeVgKgI4IltTBItDiIwQ; typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content tySequence__IWXeVgKgI4IltTBItDiIwQ_Content; typedef struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug tyObject_Iface__GILGqST9an4kYyzfE9aqumug; typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA tySequence__khRnfByqYV6qzEm71s9aoMA; typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content tySequence__khRnfByqYV6qzEm71s9aoMA_Content; typedef struct tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg; typedef struct tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ; typedef struct tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg; typedef struct tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w; typedef struct tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg; typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w; typedef struct tyTuple__TR1Lwag49cRgFP1PPdWM2iw tyTuple__TR1Lwag49cRgFP1PPdWM2iw; typedef struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ; typedef struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ; typedef struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ; typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q; typedef struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ; typedef struct tyTuple__0F3Kz25HWtRatQmCDVHWEA tyTuple__0F3Kz25HWtRatQmCDVHWEA; typedef struct tySequence__qfg9bPJ3gIhM2bdKOSVqNLA tySequence__qfg9bPJ3gIhM2bdKOSVqNLA; typedef struct tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content; typedef struct tyTuple__9aq0VbgV1qcJ01voyU56UDw tyTuple__9aq0VbgV1qcJ01voyU56UDw; typedef struct tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g; typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ; typedef struct tySequence__QlpmqBu4k7qSn9cgYGyYsWw tySequence__QlpmqBu4k7qSn9cgYGyYsWw; typedef struct tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content; typedef struct tyObject_CandidateError__UhEY9aM3b3UsihMyUwzsE6A tyObject_CandidateError__UhEY9aM3b3UsihMyUwzsE6A; typedef struct tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg; typedef struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg; typedef struct tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA; typedef struct tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ; typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ; typedef struct tyTuple__OseWehQ0HNC8Ns4uO1D8HA tyTuple__OseWehQ0HNC8Ns4uO1D8HA; typedef struct tySequence__9csKSQ865Bdwb8TbX9cOogww tySequence__9csKSQ865Bdwb8TbX9cOogww; typedef struct tySequence__9csKSQ865Bdwb8TbX9cOogww_Content tySequence__9csKSQ865Bdwb8TbX9cOogww_Content; typedef struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw; typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q; typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ; typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content; typedef struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA tyTuple__DlfALjW9a9aZbdaEgWjgJiDA; typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA tySequence__rbrgPpeV9be6C3GwbBbkmpA; typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content; typedef struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ; typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg tySequence__QuE9aHaZlhk7otugTn0uD9cg; typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content; typedef struct tyTuple__kjLAcEjcuUUb5HQQFd004Q tyTuple__kjLAcEjcuUUb5HQQFd004Q; typedef struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw; typedef struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw; typedef struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA; typedef struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg tyTuple__sr9ahxowKRwC2RZn4t1m9bTg; typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA tySequence__KBDwsdF2UrZmqdc6bU9bHbA; typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content; typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw; typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q; typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ; typedef struct tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q; typedef struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw tySequence__XpdAmI9cDNdhUBFb3iaYfkw; typedef struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content; typedef struct tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA; typedef struct tyTuple__iv4s4NUz12iOqq0NB9cYh3Q tyTuple__iv4s4NUz12iOqq0NB9cYh3Q; typedef struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw tyTuple__VM7m2WL59bxLeiTf9bI39aJNw; typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw; typedef struct tyTuple__hbzrBSDgTxYG04GZ0NRCew tyTuple__hbzrBSDgTxYG04GZ0NRCew; typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg; typedef struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA; typedef struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ; typedef struct tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA; typedef struct tyTuple__GicXS2CKoWgwFlNKz2d15w tyTuple__GicXS2CKoWgwFlNKz2d15w; typedef struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg; typedef struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg; typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw; typedef struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q; typedef struct tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q; typedef struct tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg; typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ; typedef struct tyTuple__4mROXJDLgq3TboX1QMTCWQ tyTuple__4mROXJDLgq3TboX1QMTCWQ; typedef struct tyTuple__o7TpijPv9bOBH56jcsA2W3Q tyTuple__o7TpijPv9bOBH56jcsA2W3Q; typedef struct tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw; typedef struct tyTuple__t08apXFlOi7QMiJ7EqOynA tyTuple__t08apXFlOi7QMiJ7EqOynA; typedef struct tyTuple__mPT8UQTez4CkORDSYBMX5Q tyTuple__mPT8UQTez4CkORDSYBMX5Q; typedef struct tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA; typedef struct tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ; typedef struct tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ; typedef struct tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg; typedef struct tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ; typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA; typedef struct tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA; typedef struct tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA; typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg tySequence__29btfq9cDuCZmHsAEmuBeMOg; typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content; typedef struct tyTuple__pDyHME2vky9bxBYZlE7PoZg tyTuple__pDyHME2vky9bxBYZlE7PoZg; typedef struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w; struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg { NU16 line; NI16 col; NI32 fileIndex; }; struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct RootObj { TNimTypeV2* m_type; }; struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA { RootObj Sup; tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen; }; struct tySequence__ayW1sBql6IlgnJXmG6YwBw { NI len; tySequence__ayW1sBql6IlgnJXmG6YwBw_Content* p; }; typedef tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tyArray__KVFQ9aaG2TvX85nFH9cK8pgA[38]; struct tySequence__UfuHwINLHlFJGRcvFZqKQQ { NI len; tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content* p; }; struct tySequence__mkw3BsSwySE8kJ1iQVHi2g { NI len; tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content* p; }; struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw { NI len; tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content* p; }; struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ { NI counter; tySequence__oJNUGvppFP9c7bQcQ1vFDNw data; }; struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw { NI len; tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content* p; }; typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__BcN7hdcTXNhFurWwndJbtA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* expectedType); typedef NU32 tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw; typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__BKMLzOCUnskOBj9cQFWlQDg) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* expectedType); typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__1tbGLFcNoKdU6yzwBHJs0w) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__jyUVm9cjKpkX8xEizEHTzRA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, void* ClE_0); void* ClE_0; } tyProc__3uTdqcW420OPmOVJGvTaZg; typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__Ntct9cf2liy0XMGfc9cIbU8w) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); typedef NU32 tySet_tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ; typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__1lfnnpeKNG6FV20X1Z36yA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tySet_tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ filter, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags); typedef N_NIMCALL_PTR(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, tyProc__wkobAC4Q85JVV8ho2qVRRw) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev); typedef struct { N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, void* ClE_0); void* ClE_0; } tyProc__AxxFowutpTGFjFkvZOwI0A; typedef struct { N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, void* ClE_0); void* ClE_0; } tyProc__k67h6NtyzLIZJvCNdfU5Pw; struct tySequence__Bre9bNyuQOg1EJKitjSzn8w { NI len; tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content* p; }; 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__oh42nAr9awCy3TD3e9b5LxLg { NI counter; tySequence__UfuHwINLHlFJGRcvFZqKQQ data; }; struct tySequence__B9cdeRjiqZYBtgmMW4y69bow { NI len; tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content* p; }; typedef NU8 tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA; typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__shO9bqCbvwwreLFolgYIp8A) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dc, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, NI col); struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; typedef NU32 tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA; struct tySequence__zzmYOvMjuaDPGlm2gOxjfw { NI len; tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content* p; }; struct tySequence__Bis5AbpONWcIRrPyPJS8Yw { NI len; tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content* p; }; struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w { tySequence__Bis5AbpONWcIRrPyPJS8Yw data; NI counter; }; struct tySequence__E8pi9b5QNahsURYzXMjh3qw { NI len; tySequence__E8pi9b5QNahsURYzXMjh3qw_Content* p; }; struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w { tySequence__E8pi9b5QNahsURYzXMjh3qw data; NI counter; }; struct tySequence__2ysejK9bM8cCXleF05Ng9cHA { NI len; tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content* p; }; struct tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA { tySequence__2ysejK9bM8cCXleF05Ng9cHA data; NI counter; }; struct tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg { tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA Sup; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* enforceVoidContext; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* voidType; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* currentScope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* moduleScope; tySequence__ayW1sBql6IlgnJXmG6YwBw imports; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* topLevelScope; tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w* p; tyArray__KVFQ9aaG2TvX85nFH9cK8pgA intTypeCache; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* nilTypeCache; tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw* matchedConcept; tySequence__UfuHwINLHlFJGRcvFZqKQQ friendModules; NI instCounter; NI* templInstCounter; NI inGenericContext; NI inStaticContext; NI inUnrolledContext; NI compilesContextId; NI compilesContextIdGenerator; NI inGenericInst; tySequence__UfuHwINLHlFJGRcvFZqKQQ converters; tySequence__UfuHwINLHlFJGRcvFZqKQQ patterns; tySequence__mkw3BsSwySE8kJ1iQVHi2g optionStack; tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ symMapping; tySequence__P2jdSFF0rwb3d6yhCnf7Tw libs; tyProc__BcN7hdcTXNhFurWwndJbtA semConstExpr; tyProc__BKMLzOCUnskOBj9cQFWlQDg semExpr; tyProc__1tbGLFcNoKdU6yzwBHJs0w semTryExpr; tyProc__BcN7hdcTXNhFurWwndJbtA semTryConstExpr; tyProc__jyUVm9cjKpkX8xEizEHTzRA computeRequiresInit; tyProc__3uTdqcW420OPmOVJGvTaZg hasUnresolvedArgs; tyProc__1tbGLFcNoKdU6yzwBHJs0w semOperand; tyProc__Ntct9cf2liy0XMGfc9cIbU8w semConstBoolExpr; tyProc__1lfnnpeKNG6FV20X1Z36yA semOverloadedCall; tyProc__wkobAC4Q85JVV8ho2qVRRw semTypeNode; tyProc__AxxFowutpTGFjFkvZOwI0A semInferredLambda; tyProc__k67h6NtyzLIZJvCNdfU5Pw semGenerateInstance; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg pureEnumFields; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg userPragmas; tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* evalContext; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents; tySequence__B9cdeRjiqZYBtgmMW4y69bow generics; NI topStmts; NI lastGenericIdx; NI hloLoopDetector; NI inParallelStmt; tyProc__shO9bqCbvwwreLFolgYIp8A instTypeBoundOp; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache; tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg signatures; NimStringV2 recursiveDep; NIM_BOOL suggestionsMade; NIM_BOOL isAmbiguous; tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features; NI inTypeContext; NI inConceptDecl; tySequence__zzmYOvMjuaDPGlm2gOxjfw unusedImports; tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections; tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastTLineInfo; tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA sideEffects; NI inUncheckedAssignSection; }; struct tySequence__9czS3pDdyAs7bxglDcl2YyA { NI len; tySequence__9czS3pDdyAs7bxglDcl2YyA_Content* p; }; struct tySequence__XHeQfi7ybWnv4ebLBB7afQ { NI len; tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content* p; }; struct tySequence__gDGqa9bft4EIBGJXdPabojw { NI len; tySequence__gDGqa9bft4EIBGJXdPabojw_Content* p; }; struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg { NI len; tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content* p; }; struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A { tySequence__YLW4xuku9cRS9cLOfVzwUxqg data; NI counter; }; struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g { NI len; tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content* p; }; struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg { tySequence__HL9bxOKBQaeJ5XQXd8t8m8g data; NI counter; }; struct tySequence__M1HR1j8fkzOLdhYymqd9cNA { NI len; tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content* p; }; struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ { tySequence__M1HR1j8fkzOLdhYymqd9cNA data; NI counter; }; typedef tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyArray__RtDvnrEZJ39agpdQSeedS9bg[5]; struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q { NI len; tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content* p; }; struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q { tySequence__ndtMxvII636Jz8NCVD9a9a0Q data; NI counter; }; struct tySequence__7lEisrXlQEzwtUKW5pzRCw { NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p; }; struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA { tySequence__7lEisrXlQEzwtUKW5pzRCw data; NI counter; }; typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w; typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg; typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g; typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg; typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw; struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw { tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend; tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC; tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options; tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions; }; struct tySequence__fdmz6VkIf1ewwrssKYqRFg { NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p; }; struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA { tySequence__fdmz6VkIf1ewwrssKYqRFg data; NI counter; }; struct tySequence__kxu4GK0onha2t9bo86mdVAg { NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p; }; struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ { tySequence__kxu4GK0onha2t9bo86mdVAg data; NI counter; }; struct tySequence__48JTohSgTy339bRxHzUD8KA { NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0); void* ClE_0; } tyProc__In3g79a0qTcRmbTbJp9ba9ctg; struct tySequence__7C9bvULfaDaWykzhm3DspFQ { NI len; tySequence__7C9bvULfaDaWykzhm3DspFQ_Content* p; }; struct tyObject_Table__SogU5TxbKBYUMQw7zmdG3g { tySequence__7C9bvULfaDaWykzhm3DspFQ data; NI counter; }; struct tySequence__kdxAxisTjDkmDgNFb13UQw { NI len; tySequence__kdxAxisTjDkmDgNFb13UQw_Content* p; }; struct tyObject_Table__ijGervJNjyJafnomjvukiw { tySequence__kdxAxisTjDkmDgNFb13UQw data; NI counter; }; struct tySequence__ANJm3Ou4QEh9abhA1XpChkw { NI len; tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content* p; }; typedef tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ[65]; struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ { NI len; tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content* p; }; struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ { tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ data; NI counter; }; struct tySequence__fIB1rTQ55aFonoft9a9bmljQ { NI len; tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content* p; }; struct tyObject_Table__G1v8c16HePOldLeucwe05Q { tySequence__fIB1rTQ55aFonoft9a9bmljQ data; NI counter; }; typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__vPrWBhD9cGsW9cbPZw2O089bQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx); typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__lJFXsCoW9bancuutiZwWl3g) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx); struct tySequence__UQG43DVXYWx86AitV5pL8g { NI len; tySequence__UQG43DVXYWx86AitV5pL8g_Content* p; }; struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ { tySequence__UQG43DVXYWx86AitV5pL8g data; NI counter; }; struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA { NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p; }; struct tyObject_Table__NttoEzoiq5CiphZe81oadg { tySequence__squ9b9bUH4OLHf6cEMrt6hVA data; NI counter; }; struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA { NI len; tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content* p; }; struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w { tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA data; NI counter; }; struct tySequence__6HN8Af9btfjdnDkSmkCapaA { NI len; tySequence__6HN8Af9btfjdnDkSmkCapaA_Content* p; }; typedef N_NIMCALL_PTR(void, tyProc__NoUxTS8DcbzCOvNOEi3ocQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ { NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p; }; typedef N_NIMCALL_PTR(void, tyProc__uM2x1UhfNk9babrtrGeM2gw) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body); typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__39c4YkMNuEKczAhajwhaZug) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* actual); struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opNot; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opContains; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLe; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAnd; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opOr; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opIsNil; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opEq; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAdd; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opSub; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opMul; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opDiv; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLen; }; struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg { tySequence__9czS3pDdyAs7bxglDcl2YyA ifaces; tySequence__XHeQfi7ybWnv4ebLBB7afQ packed_0; tySequence__gDGqa9bft4EIBGJXdPabojw encoders; tyObject_Table__fjuGiTdj9aowj72av2a6U5A typeInstCache; tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg procInstCache; tyArray__RtDvnrEZJ39agpdQSeedS9bg attachedOps; tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q methodsPerType; tyObject_Table__ylj8DEu79cdmULczcIwXsIQ enumToStringProcs; tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo; tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw startupPackedConfig; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageSyms; 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___2BjaRtGfBjUbX51p9a4g9a9cg* config; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache; RootObj* vm; tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* usageSym; tySequence__UfuHwINLHlFJGRcvFZqKQQ owners; tyObject_Table__SogU5TxbKBYUMQw7zmdG3g suggestSymbols; tyObject_Table__ijGervJNjyJafnomjvukiw suggestErrors; tySequence__ANJm3Ou4QEh9abhA1XpChkw methods; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* systemModule; tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ sysTypes; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg compilerprocs; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg exposed; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageTypes; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* emptyNode; tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ canonTypes; tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes; tyProc__vPrWBhD9cGsW9cbPZw2O089bQ importModuleCallback; tyProc__lJFXsCoW9bancuutiZwWl3g includeFileCallback; tyObject_Table__fkVbis6Wl9armQNEPm21CLQ cacheSeqs; tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters; tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w cacheTables; tySequence__6HN8Af9btfjdnDkSmkCapaA passes; tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinition; tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinitionResolveForward; tyProc__NoUxTS8DcbzCOvNOEi3ocQ onUsage; tySequence__xxu3GgaFAGO6lOns9aHaeLQ globalDestructors; tyProc__uM2x1UhfNk9babrtrGeM2gw strongSemCheck; tyProc__39c4YkMNuEKczAhajwhaZug compatibleProps; tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen; tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w operators; }; typedef NU8 tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow; typedef NU8 tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg; struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg { tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow targetCPU; tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow hostCPU; tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg targetOS; tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg hostOS; NI intSize; NI floatSize; NI ptrSize; NimStringV2 tnl; }; typedef NU8 tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag; struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA { NI len; tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content* p; }; struct tySequence__o8paxaScVM7VHajE9a8rbyw { NI len; tySequence__o8paxaScVM7VHajE9a8rbyw_Content* p; }; struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos; NIM_BOOL trackPosAttached; tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag errorOutputs; tySequence__npXKLeClRo4ZDs6rPxQ9bRA msgContext; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastError; tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl; tySequence__o8paxaScVM7VHajE9a8rbyw fileInfos; NI32 systemFileIdx; }; typedef NU8 tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ; typedef NU8 tyEnum_Command__b145RBTl7bacomLHdBguHg; typedef NU8 tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ; typedef NU8 tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ; struct tySequence__4eRCaZmrYLLw2k30GPTiMw { NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p; }; struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg { tySequence__4eRCaZmrYLLw2k30GPTiMw data; NI counter; }; typedef NU8 tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g; typedef NU8 tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg; typedef NU8 tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw[12]; struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ { NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p; }; struct tyTuple__47w2DboNEPf69aPgubZdd7Q { NI Field0; NI Field1; NI Field2; }; typedef NU8 tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA; struct tySequence__SE64IkxZVzsW0aLsNjnJHg { NI len; tySequence__SE64IkxZVzsW0aLsNjnJHg_Content* p; }; typedef struct { N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result, void* ClE_0); void* ClE_0; } tyProc__UwsGaXGCDEc7Akhwij5HRA; typedef struct { N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output, void* ClE_0); void* ClE_0; } tyProc__k2HFjxisIgDALbEUFojxaQ; typedef NU8 tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g; typedef struct { N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 msg, tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g severity, void* ClE_0); void* ClE_0; } tyProc__9a8L4QvXftisHTVzCsMCKUA; struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg { tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend; tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg target; NI linesCompiled; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options; tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand; tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag m; tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ filenameOption; NimStringV2 unitSep; NI evalTemplateCounter; NI evalMacroCounter; NI8 exitcode; tyEnum_Command__b145RBTl7bacomLHdBguHg cmd; NimStringV2 cmdInput; NIM_BOOL projectIsCmd; NIM_BOOL implicitCmd; tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC; tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ exc; NIM_BOOL hintProcessingDots; NI verbosity; NI numberOfProcessors; NF lastCmdTime; tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ symbolFiles; NI spellSuggestMax; tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines; NimStringV2 headerFile; tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features; tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g legacyFeatures; NimStringV2 arguments; tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg ideCmd; NIM_BOOL oldNewlines; tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw modifiedyNotes; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw cmdlineNotes; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw foreignPackageNotes; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw notes; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw warningAsErrors; tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw 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; NimStringV2 outFile; NimStringV2 outDir; NimStringV2 jsonBuildFile; NimStringV2 prefixDir; NimStringV2 libpath; NimStringV2 nimcacheDir; tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides; tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions; NimStringV2 projectName; NimStringV2 projectPath; NimStringV2 projectFull; NIM_BOOL projectIsStdin; tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA lastMsgWasDot; NI32 projectMainIdx; NI32 projectMainIdx2; NimStringV2 command; tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs; NimStringV2 commandLine; tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds; NIM_BOOL keepComments; tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports; tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes; NimStringV2 docSeeSrcUrl; NimStringV2 docRoot; NimStringV2 docCmd; tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles; tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes; tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink; NimStringV2 linkOptionsCmd; tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd; NimStringV2 linkOptions; NimStringV2 compileOptions; NimStringV2 cCompilerPath; tySequence__SE64IkxZVzsW0aLsNjnJHg toCompile; tyProc__UwsGaXGCDEc7Akhwij5HRA suggestionResultHook; NI suggestVersion; NI suggestMaxResults; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastLineInfo; tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook; tyProc__9a8L4QvXftisHTVzCsMCKUA structuredErrorHook; NimStringV2 cppCustomNamespace; NimStringV2 nimMainPrefix; tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ* vmProfileData; }; typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw; typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ; struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags; tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind; union{ struct {NI64 intVal; } _kind_1; struct {NF floatVal; } _kind_2; struct {NimStringV2 strVal; } _kind_3; struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; } _kind_4; struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident; } _kind_5; struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons; } _kind_6; }; }; struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA { NI len; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content* p; }; struct tySequence__uB9b75OUPRENsBAu4AnoePA { NI len; tySequence__uB9b75OUPRENsBAu4AnoePA_Content* p; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringV2 message; tySequence__uB9b75OUPRENsBAu4AnoePA trace; Exception* up; }; typedef NU8 tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w; struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw { NI32 module; NI32 item; }; struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ { RootObj Sup; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId; }; typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ; typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg; typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg; typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw; typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg; typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw; struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA { tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k; tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage; tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode; NimStringV2 r; }; struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA { tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup; tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind; union{ struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody; } _kind_1; struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard; NI bitsize; NI alignment; } _kind_2; }; tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner; tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options; NI position; NI offset; tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc; tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint; }; struct tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q { NI h; }; struct tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw { NI depthLevel; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg symbols; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* parent; tySequence__UfuHwINLHlFJGRcvFZqKQQ allowPrivateAccess; }; struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA { NI id; NimStringV2 s; tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next; NI h; }; struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ { tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg section; tySequence__sM4lkSb7zS6F7OVMvW9cffQ qualifiedPath; NimStringV2* name; NimStringV2 filePath; NI line; NI column; NimStringV2 doc; NimStringV2 forth; NI quality; NIM_BOOL isGlobal; NIM_BOOL contextFits; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w prefix; NU8 symkind; NI scope; NI localUsages; NI globalUsages; NI tokenLen; NI version; }; typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg; typedef NU8 tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw; typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32]; struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA { NI a; NI b; }; typedef NU8 tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ; struct tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA { RootObj Sup; NI colonstate_; NimStringV2 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__wjrA09aH0rT1R7zbrcCaROw_6) (NI col); typedef N_CLOSURE_PTR(NIM_BOOL, TM__wjrA09aH0rT1R7zbrcCaROw_7) (NI col); typedef N_CLOSURE_PTR(NIM_BOOL, TM__wjrA09aH0rT1R7zbrcCaROw_8) (NI col); struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A { NI rc; NI rootIdx; }; typedef NU8 tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ; typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw; typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q; struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ { NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p; }; struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA { tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind; tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv; tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; NI64 size; NI16 align; NI16 paddingAtEnd; tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId; }; typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9]; typedef NU8 tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg; typedef NU8 tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA; struct tySequence__PXIzfWocnrafGz5p3CP5LA { NI len; tySequence__PXIzfWocnrafGz5p3CP5LA_Content* p; }; struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA { NI len; tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content* p; }; struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q { NI len; tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content* p; }; struct tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw { tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q nodes; }; struct tySequence__b89aLriiJnVTD186H6zNIgg { NI len; tySequence__b89aLriiJnVTD186H6zNIgg_Content* p; }; struct tySequence__9a35SUiZaZnQQczCKMafPpA { NI len; tySequence__9a35SUiZaZnQQczCKMafPpA_Content* p; }; struct tySequence__E0A6SaW1v3EKBAVAijH8Mw { NI len; tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content* p; }; struct tySequence__ksIzANWGKlNIZxswx6UF9cQ { NI len; tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content* p; }; struct tySequence__rg1JHBuFtw6jyGZxePBOTg { NI len; tySequence__rg1JHBuFtw6jyGZxePBOTg_Content* p; }; struct tySequence__6xT3ssEcZuds56oxe6Hi1Q { NI len; tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content* p; }; typedef NU8 tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g; struct tySequence__0kQhEjYsrU0bQoX6VKnNbA { NI len; tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content* p; }; struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg { NI len; tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content* p; }; struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg { tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals; tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys; }; struct tySequence__IHUFRsFxZNv7YydiUO2esQ { NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p; }; struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg { tySequence__IHUFRsFxZNv7YydiUO2esQ vals; tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys; }; struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA { NimStringV2 definedSymbols; tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg moduleFlags; tySequence__PXIzfWocnrafGz5p3CP5LA includes; tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports; tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw toReplay; tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw topLevel; tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw bodies; tySequence__b89aLriiJnVTD186H6zNIgg exports; tySequence__b89aLriiJnVTD186H6zNIgg hidden; tySequence__9a35SUiZaZnQQczCKMafPpA reexports; tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs; tySequence__48JTohSgTy339bRxHzUD8KA converters; tySequence__48JTohSgTy339bRxHzUD8KA methods; tySequence__48JTohSgTy339bRxHzUD8KA trmacros; tySequence__48JTohSgTy339bRxHzUD8KA pureEnums; tySequence__E0A6SaW1v3EKBAVAijH8Mw typeInstCache; tySequence__ksIzANWGKlNIZxswx6UF9cQ procInstCache; tySequence__rg1JHBuFtw6jyGZxePBOTg attachedOps; tySequence__6xT3ssEcZuds56oxe6Hi1Q methodsPerType; tySequence__E0A6SaW1v3EKBAVAijH8Mw enumToStringProcs; tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo; tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g backendFlags; tySequence__0kQhEjYsrU0bQoX6VKnNbA syms; tySequence__cNHcFk7EiJIuDgTjWY8U9bg types; tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg strings; tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg numbers; tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw cfg; }; struct tySequence__9afGcb6vqUeksMMfijyiRIg { NI len; tySequence__9afGcb6vqUeksMMfijyiRIg_Content* p; }; struct tyObject_Table__wOXFN2eadVouctMpJwmcSA { tySequence__9afGcb6vqUeksMMfijyiRIg data; NI counter; }; struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA { tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA status; NIM_BOOL symsInit; NIM_BOOL typesInit; NIM_BOOL loadedButAliveSetChanged; tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA fromDisk; tySequence__UfuHwINLHlFJGRcvFZqKQQ syms; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ types; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module; tyObject_Table__wOXFN2eadVouctMpJwmcSA iface; tyObject_Table__wOXFN2eadVouctMpJwmcSA ifaceHidden; }; struct tyObject_PackedDecoder__6ADpJ19cEMaZ0CIQt5DUSdQ { NI lastModule; NU32 lastLit; NI32 lastFile; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache; }; struct tySequence__IWXeVgKgI4IltTBItDiIwQ { NI len; tySequence__IWXeVgKgI4IltTBItDiIwQ_Content* p; }; struct tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg { tyObject_PackedDecoder__6ADpJ19cEMaZ0CIQt5DUSdQ decoder; tySequence__IWXeVgKgI4IltTBItDiIwQ values; NI i; NI module; }; struct tySequence__khRnfByqYV6qzEm71s9aoMA { NI len; tySequence__khRnfByqYV6qzEm71s9aoMA_Content* p; }; struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module; tySequence__khRnfByqYV6qzEm71s9aoMA converters; tySequence__khRnfByqYV6qzEm71s9aoMA patterns; tySequence__khRnfByqYV6qzEm71s9aoMA pureEnums; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg interf; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg interfHidden; NimStringV2 uniqueName; }; struct tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0; NI Field1; NIM_BOOL Field2; }; typedef NU8 tyEnum_ImportMode__LzfO42ojcBTf7f9ahbveBXw; struct tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m; tyEnum_ImportMode__LzfO42ojcBTf7f9ahbveBXw mode; union{ struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported; } _mode_2; struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet; } _mode_3; }; }; typedef NU8 tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ; typedef NU8 tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q; struct tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w { tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q kind; NI arg; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* formal; }; struct tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg { tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c; NI exactMatches; NI genericMatches; NI subtypeMatches; NI intConvMatches; NI convMatches; tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ state; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* calleeSym; NI calleeScope; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call; tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ bindings; tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic; NIM_BOOL baseTypeMatch; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ fauxMatch; NIM_BOOL genericConverter; NIM_BOOL coerceDistincts; NIM_BOOL typedescMatched; NIM_BOOL isNoCall; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ inferredTypes; tySequence__sM4lkSb7zS6F7OVMvW9cffQ diagnostics; NI inheritancePenalty; tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w firstMismatch; NIM_BOOL diagnosticsEnabled; }; typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q; typedef NU8 tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ; typedef NU8 tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA; struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag { NI32 module; NI32 symId; NI32 typeId_0; NIM_BOOL sealed; }; struct tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* candidateType; tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw* prev; NI depth; }; typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4]; struct tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg { tyArray__FleBT9cC2nxhgiXmSYYnEKA udata; }; typedef NU8 tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA; typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA; typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw; struct tyTuple__kN8up2W6YKc5YA9avn5mV5w { NimStringV2 Field0; NI Field1; NI Field2; }; typedef NU8 tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w; typedef NU8 tySet_tyEnum_ProcConvMismatch__hNrY29aPLVl89awTfwWj3hYQ; struct tyTuple__TR1Lwag49cRgFP1PPdWM2iw { tySet_tyEnum_ProcConvMismatch__hNrY29aPLVl89awTfwWj3hYQ Field0; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ Field1; }; typedef NU8 tyEnum_EffectsCompat__EJtIyX9bIkMPp9cVIoZCnMAA; typedef NU8 tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA; struct tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ { RootObj Sup; NI colonstate_; NimStringV2 errorPrefix1; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeClass2; tyProc__k2HFjxisIgDALbEUFojxaQ oldWriteHook3; tySequence__sM4lkSb7zS6F7OVMvW9cffQ diagnostics4; }; struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ { NI len; NI cap; tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; }; struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ { NI len; NI cap; tyTuple__0F3Kz25HWtRatQmCDVHWEA* d; }; struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ { tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ traceStack; tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ toFree; NI freed; NI touched; NI edges; NI rcSum; NIM_BOOL keepThreshold; }; struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q { void** Field0; TNimTypeV2* Field1; }; typedef tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyUncheckedArray__72XmdLy0QAaMtx66AmNKfA[1]; struct tySequence__qfg9bPJ3gIhM2bdKOSVqNLA { NI len; tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content* p; }; struct tyTuple__9aq0VbgV1qcJ01voyU56UDw { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field1; }; typedef N_CLOSURE_PTR(void, TM__wjrA09aH0rT1R7zbrcCaROw_51) (NimStringV2 output); typedef N_CLOSURE_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, TM__wjrA09aH0rT1R7zbrcCaROw_62) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); typedef N_CLOSURE_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, TM__wjrA09aH0rT1R7zbrcCaROw_63) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); typedef N_CLOSURE_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, TM__wjrA09aH0rT1R7zbrcCaROw_72) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); typedef N_CLOSURE_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, TM__wjrA09aH0rT1R7zbrcCaROw_73) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__ITlg8UhAbnS7vsiPAhcspQ[1]; typedef NU8 tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg; typedef NU8 tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA; typedef NU16 tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA; typedef NimStringV2 tyArray__24KAM9afIUgUaqBaEBB6r9bg[3]; typedef NU8 tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw; struct tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field1; }; struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ { NI Field0; NI Field1; }; typedef NU8 tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w; typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2]; typedef NimStringV2 tyArray__Re75IspeoxXy2oCZHwcRrA[2]; typedef struct { N_NIMCALL_PTR(NI, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* y, void* ClE_0); void* ClE_0; } tyProc__MGxCE1n0simx8cOK1Fif5A; typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA; typedef N_CLOSURE_PTR(NI, TM__wjrA09aH0rT1R7zbrcCaROw_116) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* y, void* ClE_0); typedef N_CLOSURE_PTR(void, TM__wjrA09aH0rT1R7zbrcCaROw_117) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result); typedef NU8 tyEnum_TCheckPointResult__dUHyMGuLkqd6JX4cXb9af8g; typedef NU16 tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA; struct tySequence__QlpmqBu4k7qSn9cgYGyYsWw { NI len; tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content* p; }; struct tyObject_CandidateError__UhEY9aM3b3UsihMyUwzsE6A { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w firstMismatch; tySequence__sM4lkSb7zS6F7OVMvW9cffQ diagnostics; NIM_BOOL enabled; }; typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw; typedef N_CLOSURE_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, TM__wjrA09aH0rT1R7zbrcCaROw_142) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); #ifndef tySequence__ayW1sBql6IlgnJXmG6YwBw_Content_PP #define tySequence__ayW1sBql6IlgnJXmG6YwBw_Content_PP struct tySequence__ayW1sBql6IlgnJXmG6YwBw_Content { NI cap; tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content_PP #define tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content_PP struct tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content { NI cap; tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg* data[SEQ_DECL_SIZE];}; #endif struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg { tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key; RootObj* val; }; #ifndef tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP #define tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content { NI cap; tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content_PP #define tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content_PP struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content { NI cap; tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP #define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif struct tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* genericSym; tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ* inst; }; #ifndef tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content_PP #define tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content_PP struct tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content { NI cap; tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP #define tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP struct tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content { NI cap; tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g data[SEQ_DECL_SIZE];}; #endif struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ { NI Field0; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1; }; #ifndef tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP #define tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP #define tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content { NI cap; tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];}; #endif struct tySequence__9csKSQ865Bdwb8TbX9cOogww { NI len; tySequence__9csKSQ865Bdwb8TbX9cOogww_Content* p; }; struct tyTuple__OseWehQ0HNC8Ns4uO1D8HA { NI Field0; NI Field1; tySequence__9csKSQ865Bdwb8TbX9cOogww Field2; }; #ifndef tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content_PP #define tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content_PP struct tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content { NI cap; tyTuple__OseWehQ0HNC8Ns4uO1D8HA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP #define tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content { NI cap; tyObject_Iface__GILGqST9an4kYyzfE9aqumug data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP #define tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content { NI cap; tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA data[SEQ_DECL_SIZE];}; #endif struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ { NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p; }; struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q { tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data; NI counter; }; struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw { NI32 thisModule; NI32 lastFile; NU32 lastLit; tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ pendingTypes; tySequence__UfuHwINLHlFJGRcvFZqKQQ pendingSyms; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker; tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config; }; #ifndef tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP #define tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content { NI cap; tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw data[SEQ_DECL_SIZE];}; #endif struct tySequence__rbrgPpeV9be6C3GwbBbkmpA { NI len; tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content* p; }; struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA { NI Field0; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1; tySequence__rbrgPpeV9be6C3GwbBbkmpA Field2; }; #ifndef tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP #define tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content { NI cap; tyTuple__DlfALjW9a9aZbdaEgWjgJiDA data[SEQ_DECL_SIZE];}; #endif struct tySequence__QuE9aHaZlhk7otugTn0uD9cg { NI len; tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content* p; }; struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ { NI Field0; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1; tySequence__QuE9aHaZlhk7otugTn0uD9cg Field2; }; #ifndef tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP #define tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content { NI cap; tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ data[SEQ_DECL_SIZE];}; #endif struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA { NU32 module; NI32 item; }; struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw { NI module; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA packed_0; }; struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw { tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw id; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; }; struct tyTuple__kjLAcEjcuUUb5HQQFd004Q { NI Field0; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw Field2; }; #ifndef tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP #define tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content { NI cap; tyTuple__kjLAcEjcuUUb5HQQFd004Q data[SEQ_DECL_SIZE];}; #endif struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA { NI len; tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content* p; }; struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg { NI Field0; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1; tySequence__KBDwsdF2UrZmqdc6bU9bHbA Field2; }; #ifndef tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP #define tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content { NI cap; tyTuple__sr9ahxowKRwC2RZn4t1m9bTg data[SEQ_DECL_SIZE];}; #endif struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw { NI Field0; NimStringV2 Field1; NI32 Field2; }; #ifndef tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP #define tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];}; #endif struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q { NI Field0; NI32 Field1; tySequence__48JTohSgTy339bRxHzUD8KA Field2; }; #ifndef tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP #define tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];}; #endif struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; #ifndef tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP #define tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP #define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw { NI len; tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content* p; }; struct tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q { NI Field0; NI32 Field1; tySequence__XpdAmI9cDNdhUBFb3iaYfkw Field2; }; #ifndef tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP #define tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP struct tySequence__7C9bvULfaDaWykzhm3DspFQ_Content { NI cap; tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q data[SEQ_DECL_SIZE];}; #endif struct tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA { NI Field0; NI32 Field1; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA Field2; }; #ifndef tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP #define tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP struct tySequence__kdxAxisTjDkmDgNFb13UQw_Content { NI cap; tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA data[SEQ_DECL_SIZE];}; #endif struct tyTuple__iv4s4NUz12iOqq0NB9cYh3Q { tySequence__UfuHwINLHlFJGRcvFZqKQQ Field0; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field1; }; #ifndef tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP #define tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP struct tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content { NI cap; tyTuple__iv4s4NUz12iOqq0NB9cYh3Q data[SEQ_DECL_SIZE];}; #endif typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16]; struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw { NI Field0; tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field2; }; #ifndef tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP #define tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content { NI cap; tyTuple__VM7m2WL59bxLeiTf9bI39aJNw data[SEQ_DECL_SIZE];}; #endif struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw { NI Field0; NI Field1; tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2; }; #ifndef tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP #define tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];}; #endif struct tyTuple__hbzrBSDgTxYG04GZ0NRCew { NI Field0; NimStringV2 Field1; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2; }; #ifndef tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP #define tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP struct tySequence__UQG43DVXYWx86AitV5pL8g_Content { NI cap; tyTuple__hbzrBSDgTxYG04GZ0NRCew data[SEQ_DECL_SIZE];}; #endif struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg { NI Field0; NimStringV2 Field1; NI64 Field2; }; #ifndef tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP #define tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];}; #endif struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ { tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA* root; NI entries; }; struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA { NI Field0; NimStringV2 Field1; tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ Field2; }; #ifndef tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP #define tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content { NI cap; tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA data[SEQ_DECL_SIZE];}; #endif typedef N_NIMCALL_PTR(tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA*, tyProc__VAKrl2wuKAJ7HPlD8a2YOQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen); typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__CgBBk61cGZM3ckyCzQXJtg) (tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* topLevelStmt); typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__DJHfW17JAEBI2WHr9b1BaKg) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); struct tyTuple__GicXS2CKoWgwFlNKz2d15w { tyProc__VAKrl2wuKAJ7HPlD8a2YOQ Field0; tyProc__CgBBk61cGZM3ckyCzQXJtg Field1; tyProc__DJHfW17JAEBI2WHr9b1BaKg Field2; NIM_BOOL Field3; }; #ifndef tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP #define tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content { NI cap; tyTuple__GicXS2CKoWgwFlNKz2d15w data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP #define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];}; #endif struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0; NimStringV2 Field1; }; #ifndef tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP #define tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content { NI cap; tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg data[SEQ_DECL_SIZE];}; #endif struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg { NimStringV2 fullPath; NimStringV2 projPath; NimStringV2 shortName; NimStringV2 quotedName; NimStringV2 quotedFullName; tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines; NimStringV2 dirtyFile; NimStringV2 hash; NIM_BOOL dirty; }; #ifndef tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP #define tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content { NI cap; tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg data[SEQ_DECL_SIZE];}; #endif struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw { NI Field0; NimStringV2 Field1; }; #ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP #define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif typedef NU8 tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og; struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ { NimStringV2 nimname; NimStringV2 cname; NimStringV2 obj; tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og flags; NimStringV2 customArgs; }; #ifndef tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP #define tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content { NI cap; tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP #define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP #define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP #define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP #define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];}; #endif struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; #ifndef tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP #define tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content { NI cap; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP #define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];}; #endif struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q { NU32 Field0; NimStringV2 Field1; }; #ifndef tySequence__PXIzfWocnrafGz5p3CP5LA_Content_PP #define tySequence__PXIzfWocnrafGz5p3CP5LA_Content_PP struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP #define tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE];}; #endif struct tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg { NU16 line; NI16 col; NU32 file; }; struct tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q { tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind; tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags; NI32 operand; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typeId_0; tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg info; }; #ifndef tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content_PP #define tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content_PP struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content { NI cap; tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q data[SEQ_DECL_SIZE];}; #endif struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ { NU32 Field0; NI32 Field1; }; #ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP #define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP #define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];}; #endif struct tyTuple__4mROXJDLgq3TboX1QMTCWQ { NU32 Field0; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field1; }; #ifndef tySequence__9a35SUiZaZnQQczCKMafPpA_Content_PP #define tySequence__9a35SUiZaZnQQczCKMafPpA_Content_PP struct tySequence__9a35SUiZaZnQQczCKMafPpA_Content { NI cap; tyTuple__4mROXJDLgq3TboX1QMTCWQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP #define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP #define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];}; #endif struct tyTuple__o7TpijPv9bOBH56jcsA2W3Q { tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field1; }; #ifndef tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP #define tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content { NI cap; tyTuple__o7TpijPv9bOBH56jcsA2W3Q data[SEQ_DECL_SIZE];}; #endif struct tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw { tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA key; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA sym; tySequence__IWXeVgKgI4IltTBItDiIwQ concreteTypes; }; #ifndef tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content_PP #define tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content_PP struct tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content { NI cap; tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw data[SEQ_DECL_SIZE];}; #endif struct tyTuple__t08apXFlOi7QMiJ7EqOynA { tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0; tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA Field1; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field2; }; #ifndef tySequence__rg1JHBuFtw6jyGZxePBOTg_Content_PP #define tySequence__rg1JHBuFtw6jyGZxePBOTg_Content_PP struct tySequence__rg1JHBuFtw6jyGZxePBOTg_Content { NI cap; tyTuple__t08apXFlOi7QMiJ7EqOynA data[SEQ_DECL_SIZE];}; #endif struct tyTuple__mPT8UQTez4CkORDSYBMX5Q { tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0; NI Field1; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field2; }; #ifndef tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content_PP #define tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content_PP struct tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content { NI cap; tyTuple__mPT8UQTez4CkORDSYBMX5Q data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP #define tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content { NI cap; tyTuple__o7TpijPv9bOBH56jcsA2W3Q data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif typedef NU8 tyEnum_TLibKind__sEp9azpcqn0Sobvo3wDq16w; struct tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ { tyEnum_TLibKind__sEp9azpcqn0Sobvo3wDq16w kind; NIM_BOOL generated; NIM_BOOL isOverriden; NU32 name; NI32 path; }; struct tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA { tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind; NU32 name; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typ; tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags; tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic; tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg info; NI32 ast; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA owner; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA guard; NI bitsize; NI alignment; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options; NI position; NI offset; NU32 externalName; tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw locFlags; tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ annex; NI32 constraint; }; #ifndef tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content_PP #define tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content_PP struct tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content { NI cap; tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA data[SEQ_DECL_SIZE];}; #endif struct tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ { tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind; tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv; tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags; tySequence__IWXeVgKgI4IltTBItDiIwQ types; NI32 n; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA sym; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA owner; NI64 size; NI16 align; NI16 paddingAtEnd; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typeInst; NI32 nonUniqueId; }; #ifndef tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content_PP #define tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content_PP struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content { NI cap; tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP #define tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__IHUFRsFxZNv7YydiUO2esQ_Content_PP #define tySequence__IHUFRsFxZNv7YydiUO2esQ_Content_PP struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP #define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];}; #endif struct tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg { NI Field0; tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* Field1; tySequence__IWXeVgKgI4IltTBItDiIwQ Field2; }; #ifndef tySequence__9afGcb6vqUeksMMfijyiRIg_Content_PP #define tySequence__9afGcb6vqUeksMMfijyiRIg_Content_PP struct tySequence__9afGcb6vqUeksMMfijyiRIg_Content { NI cap; tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP #define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP #define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP #define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP #define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP #define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP #define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content_PP #define tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content_PP struct tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content { NI cap; tyTuple__9aq0VbgV1qcJ01voyU56UDw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content_PP #define tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content_PP struct tySequence__qfg9bPJ3gIhM2bdKOSVqNLA_Content { NI cap; tyTuple__9aq0VbgV1qcJ01voyU56UDw data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP #define tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP struct tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content { NI cap; tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP #define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content_PP #define tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content_PP struct tySequence__QlpmqBu4k7qSn9cgYGyYsWw_Content { NI cap; tyObject_CandidateError__UhEY9aM3b3UsihMyUwzsE6A data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif struct tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field1; }; #ifndef tySequence__9csKSQ865Bdwb8TbX9cOogww_Content_PP #define tySequence__9csKSQ865Bdwb8TbX9cOogww_Content_PP struct tySequence__9csKSQ865Bdwb8TbX9cOogww_Content { NI cap; tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ data[SEQ_DECL_SIZE];}; #endif struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA { NI Field0; NI32 Field1; NU32 Field2; }; #ifndef tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content_PP #define tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content_PP struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP #define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP #define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];}; #endif struct tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA { tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw id; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; }; #ifndef tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content_PP #define tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content_PP struct tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content { NI cap; tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA data[SEQ_DECL_SIZE];}; #endif struct tySequence__29btfq9cDuCZmHsAEmuBeMOg { NI len; tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content* p; }; struct tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA { NI module; tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw sym; tySequence__29btfq9cDuCZmHsAEmuBeMOg concreteTypes; tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ* inst; }; #ifndef tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content_PP #define tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content_PP struct tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content { NI cap; tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA data[SEQ_DECL_SIZE];}; #endif struct tyTuple__pDyHME2vky9bxBYZlE7PoZg { NI Field0; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw Field1; }; #ifndef tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content_PP #define tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content_PP struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content { NI cap; tyTuple__pDyHME2vky9bxBYZlE7PoZg data[SEQ_DECL_SIZE];}; #endif struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; }; #ifndef tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content_PP #define tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content_PP struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content { NI cap; tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP #define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP #define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP #define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP #define tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content { NI cap; tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw data[SEQ_DECL_SIZE];}; #endif N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exactEquals__msgs_1052)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg a, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg b); N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6806)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_9569)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* dest); N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign); N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6773)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, safeSemExpr__sigmatch_6767)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source, NI16 targetDepth, NU32 token); static N_INLINE(Exception*, nimBorrowCurrentException)(void); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src); static N_INLINE(void, popCurrentException)(void); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_33)(Exception** dest, Exception* src, NIM_BOOL cyclic); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5622)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src); 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__9cob5UPXvLCxy8mslvxEYzA*, initTabIter__astalgo_3937)(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q* ti, tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg tab); static N_INLINE(NIM_BOOL, filterSym__sigmatch_5286)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w* res); N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w, prefixMatch__sigmatch_5291)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w, prefixMatch__prefixmatches_10)(NimStringV2 p, NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(void, add__sigmatch_5409)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* x, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* value); N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*, symToSuggest__sigmatch_4892)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, NIM_BOOL isLocal, tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg section, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI quality, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_3522)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src); N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_69)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x, NimStringV2 value); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest); static N_INLINE(NIM_BOOL, contains__pureZtimes_2810)(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA s, NI value); static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZstrbasics_49)(NI a, NI b); static N_INLINE(void, appendChar)(NimStringV2* dest, NIM_CHAR c); static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src); static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_51)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer); N_LIB_PRIVATE N_NIMCALL(NimStringV2, toFullPath__msgs_589)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NI32 fileIdx); static N_INLINE(NI, toLinenumber__msgs_660)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); static N_INLINE(NI, toColumn__msgs_663)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4815)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 ident, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7144)(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); N_LIB_PRIVATE N_NIMCALL(NimStringV2, sourceLine__msgs_1155)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg i); N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4822)(NI col, void* ClE_0); static N_INLINE(NI, skipUntil__pureZparseutils_787)(NimStringV2 s, NIM_CHAR until, NI start); static N_INLINE(NI, skipUntil__pureZparseutils_197)(NIM_CHAR* s, NI sLen_0, NIM_CHAR until); N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringV2 a, NimStringV2 b); static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x); N_NIMCALL(NimStringV2, mnewString)(NI len); static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s); N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_2301)(NimStringV2* s); static N_INLINE(NIM_CHAR, X5BX5D___system_7003)(NimStringV2 s, NI i); N_LIB_PRIVATE N_NIMCALL(NI, identLen__linter_13)(NimStringV2 line, NI start); static N_INLINE(NI, parseWhile__pureZparseutils_815)(NimStringV2 s, NimStringV2* token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start); static N_INLINE(NI, parseWhile__pureZparseutils_293)(NIM_CHAR* s, NI sLen_0, NimStringV2* token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars); N_LIB_PRIVATE N_NIMCALL(void, fastSubstr__pureZparseutils_225)(NIM_CHAR* s, NI sLen_0, NimStringV2* token, NI length); static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b); static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size); static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7161)(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA** dest); static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p); static N_INLINE(NI, minuspercent___system_790)(NI x, NI y); N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3143)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc); N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p); N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5378)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds); N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, elemType__types_264)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest); N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, nextIter__astalgo_3921)(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q* ti, tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg tab); static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2880)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m); static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2868)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI module); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, initRodIterAllSyms__icZic_10830)(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg* it, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tySequence__XHeQfi7ybWnv4ebLBB7afQ* g, NI32 module, NIM_BOOL importHidden); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, nextRodIter__icZic_11144)(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg* it, tySequence__XHeQfi7ybWnv4ebLBB7afQ* g); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_3109)(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg* dest); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4330)(tySequence__UfuHwINLHlFJGRcvFZqKQQ* dest, tySequence__UfuHwINLHlFJGRcvFZqKQQ src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4327)(tySequence__UfuHwINLHlFJGRcvFZqKQQ* dest); N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5609)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___lookups_82)(tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw** dest, tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lookups_79)(tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw** dest); N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5432)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* list, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5402)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_5321)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* f); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getModule__astalgo_220)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, toObjectFromRefPtrGeneric__ast_6332)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ); N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5452)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest); N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5586)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_5312)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w* res); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword__renderer_94)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* i); static N_INLINE(NIM_BOOL, typeFits__sigmatch_5545)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* firstArg); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4638)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, NIM_BOOL fromHlo); N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_204)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* Result); N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee); static N_INLINE(void, initCandidateAux__sigmatch_96)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_2058)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg** dest, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* src, NIM_BOOL cyclic); N_LIB_PRIVATE N_NIMCALL(void, eqsink___sigmatch_118)(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w* dest, tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w src); static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p); N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src); N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_5200)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* x); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, paramTypesMatch__sigmatch_3930)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argOrig); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, paramTypesMatchAux__sigmatch_3574)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argSemantized, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argOrig); N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_5045)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_2055)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg** dest); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeIT__ast_3970)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makeTypeFromExpr__semdata_2418)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, newTypeS__semdata_2347)(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3496)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* dest, tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ src); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, typeRel__sigmatch_211)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aOrig, tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA flags); static N_INLINE(void, put__sigmatch_128)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* key, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* val); N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_71)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* t, tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key, RootObj* val); static N_INLINE(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipIntLit__magicsys_125)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* id); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, copyType__ast_5132)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner); static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextTypeId__ast_3291)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, lastSon__ast_4811)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n); N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_65)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ t, tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tryResolvingStaticExpr__sigmatch_1453)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL allowUnresolved); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, replaceTypesInBody__semtypinst_1033)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* p, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, NIM_BOOL allowMetaTypes); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, base__types_64)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(void, add__ast_5673)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* x, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* value); N_LIB_PRIVATE N_NIMCALL(void, add__concepts_24)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* father, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* son); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, maybeSkipDistinct__sigmatch_1436)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldSkipDistinct__sigmatch_1425)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* rules, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* callIdent); static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); static N_INLINE(NIM_BOOL, eqeq___idents_293)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* a, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* b); N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, considerQuotedIdent__lookups_29)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* origin); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest); static N_INLINE(NIM_BOOL, sameEnumTypes__types_2273)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b); N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, typeRangeRel__sigmatch_1049)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_300)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, NIM_BOOL allowEnumWithHoles); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_317)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, firstOrd__types_1373)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, lastOrd__types_1504)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_313)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg b); N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1469)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1627)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_604)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); static N_INLINE(NIM_BOOL, isIntLit__types_187)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, handleRange__sigmatch_502)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ min, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ max); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ, normalizeKind__types_1500)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ k); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, getInt__ast_6021)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ, targetSizeSignedToKind__types_1494)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ, targetSizeUnsignedToKind__types_1497)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_757)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, NI64 b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_764)(NI64 a, tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg b); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, handleFloatRange__sigmatch_657)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); static N_INLINE(NIM_BOOL, isFloatLit__types_202)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1631)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, inferStaticsInRange__sigmatch_1596)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* inferred, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_771)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, NI64 b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, lengthOrd__types_1706)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, minus___int495056_792)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, NI64 b); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, plus___int495056_806)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, NI64 b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1461)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lhs, NI64 rhs); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, newTypeWithSons__semdata_2435)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind, tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNode__ast_4791)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal); N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_77)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg arg); N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1587)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, findUnresolvedStatic__ast_6398)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1172)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg, tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw); N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, minus___int495056_476)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg b); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, recordRel__sigmatch_874)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1991)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b, tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w flags); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, minRel__sigmatch_866)(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ a, tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ b); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2224)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b); N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_717)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin); N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_683)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* last, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin); static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2269)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b); static N_INLINE(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, allowsNil__sigmatch_943)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, procTypeRel__sigmatch_995)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, procParamTypeRel__sigmatch_966)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_4084)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, generateTypeInstance__semtypinst_1107)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* p, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_950)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(tyTuple__TR1Lwag49cRgFP1PPdWM2iw, getProcConvMismatch__types_3928)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ rel); N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__EJtIyX9bIkMPp9cVIoZCnMAA, compatibleEffects__types_3648)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* actual); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2481)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 symbol); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipGenericAlias__types_2396)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, prepareMetatypeForSigmatch__semtypinst_1121)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* p, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1510)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, conceptMatch__concepts_661)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concpt, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* arg, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* bindings, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* invocation); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipToObject__sigmatch_765)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA* skipped); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_811)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, NI* d, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, concreteType__sigmatch_469)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3859)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, matchUserTypeClass__sigmatch_1061)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7590)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_3516)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___sigmatch_7599)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* dest, void* env); static N_INLINE(void, nimTraceRefDyn)(void* q, void* env); static N_INLINE(void, add__system_2688)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t); N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1735)(NI size); N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_2511)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_1271)(tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7615)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ** dest); N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*, openScope__lookups_76)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___idents_136)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newSym__ast_4028)(tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ symKind, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options); static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, exactReplica__ast_5137)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3490)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* dest); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makeTypeDesc__concepts_50)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ); N_LIB_PRIVATE N_NIMCALL(void, add__sigmatch_1154)(tySequence__qfg9bPJ3gIhM2bdKOSVqNLA* x, tyTuple__9aq0VbgV1qcJ01voyU56UDw value); static N_INLINE(void, addDecl__lookups_1052)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym); static N_INLINE(void, addDeclAt__lookups_1044)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* scope, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym); N_LIB_PRIVATE N_NIMCALL(void, addDeclAt__lookups_1022)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* scope, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_1394)(tyProc__k2HFjxisIgDALbEUFojxaQ* dest, tyProc__k2HFjxisIgDALbEUFojxaQ src, NIM_BOOL cyclic); N_LIB_PRIVATE N_NIMCALL(void, eqsink___sigmatch_1398)(tyProc__k2HFjxisIgDALbEUFojxaQ* dest, tyProc__k2HFjxisIgDALbEUFojxaQ src); N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1239)(NimStringV2 s, void* ClE_0); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceStr)(NimStringV2 s, NimStringV2 sub, NimStringV2 by); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_7618)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ** dest, tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* src, NIM_BOOL cyclic); static N_INLINE(void, nimIncRefCyclic)(void* p, NIM_BOOL cyclic); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_1295)(tySequence__qfg9bPJ3gIhM2bdKOSVqNLA* dest); N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align); N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_110)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x); N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_176)(NimStringV2* result, NI64 x); N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_5812)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_63)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b, NIM_BOOL strictSymEquality); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_341)(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ e); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, makeStaticExpr__semdata_2440)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3538)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ r, NI convMatch); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4787)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, implicitConv__sigmatch_3350)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3570)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getInstantiatedType__sigmatch_3336)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, errorType__semdata_2662)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___modulegraphs_11315)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg** dest, tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newProcNode__ast_4889)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pattern, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* genericParams, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmas, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exceptions); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTree__ast_3975)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** children, NI childrenLen_0); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_11312)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg** dest); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, userConvMatch__sigmatch_3393)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matchNodeKinds__parampatterns_510)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); static N_INLINE(NIM_BOOL, isLValue__sigmatch_3373)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL isOutParam); N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg, isAssignable__parampatterns_349)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getRoot__trees_397)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_87)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_3378)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg** dest, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* src); N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5777)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, extractPragma__ast_3868)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA, whichPragma__trees_251)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5810)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0); static N_INLINE(NimStringV2, toFileLineCol__msgs_670)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(NimStringV2, toMsgFilename__msgs_653)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NI32 fileIdx); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, belongsToProjectPackage__packages_76)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym); N_LIB_PRIVATE N_NIMCALL(void, styleCheckUseImpl__linter_180)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_91)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sigmatch_5960)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key, NI default_0); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__sigmatch_6370)(tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w s, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ key); N_LIB_PRIVATE N_NIMCALL(void, del__sigmatch_6663)(tySequence__zzmYOvMjuaDPGlm2gOxjfw* x, NI i); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_3375)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg** dest); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym); static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeref__lowerings_12)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, localConvMatch__sigmatch_3480)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg); N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_5759)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w kind); N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_208)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b); N_LIB_PRIVATE N_NIMCALL(void, copyIdTable__ast_4354)(tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ* dest, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ src); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_264)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* dest, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* src); static N_INLINE(void, nimIncRef)(void* p); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest); N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4527)(tySequence__oJNUGvppFP9c7bQcQ1vFDNw* dest, tySequence__oJNUGvppFP9c7bQcQ1vFDNw src); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3493)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* dest, tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ src); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_3519)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src); N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_384)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b); N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_216)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_261)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4524)(tySequence__oJNUGvppFP9c7bQcQ1vFDNw* dest); N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_362)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b); N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_282)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); static N_INLINE(NIM_BOOL, contains__sigmatch_4656)(NI* a, NI aLen_0, NI item); static N_INLINE(NI, find__sigmatch_4661)(NI* a, NI aLen_0, NI item); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__ast_5733)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src); N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5516)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5483)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5505)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* candidate, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig); N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_198)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* binding, NI calleeScope, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* Result); N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_132)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, originatingModule__ast_6098)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, skipGenericOwner__ast_6087)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s); N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4532)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m); static N_INLINE(void, initIntSet__pureZcollectionsZintsets_389)(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_4132)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker); N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_4094)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, openShadowScope__lookups_1110)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_202)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key); N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg); N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3997)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, NI at, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son); N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_3741)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s, NI newlen); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, arrayConstr__sigmatch_4072)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_5669)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* father, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* son, NIM_BOOL propagateHasAsgn); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makeRangeType__semdata_2699)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, NI64 first, NI64 last, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* intType); N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_4076)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t); N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_4056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIdentNode__ast_4780)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info); N_LIB_PRIVATE N_NIMCALL(void, mergeShadowScope__lookups_1114)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getNamedParamFromList__astalgo_302)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* list, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, prepareOperand__sigmatch_4010)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a); N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_778)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, arrayConstr__sigmatch_4068)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_137)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* father, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* son, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* id); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, prepareOperand__sigmatch_4047)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind); N_LIB_PRIVATE N_NIMCALL(void, closeShadowScope__lookups_1112)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_181)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest); N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5531)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs); N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_5108)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* a, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf); N_LIB_PRIVATE N_NIMCALL(void, sort__sigmatch_5117)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** a, NI aLen_0, tyProc__MGxCE1n0simx8cOK1Fif5A cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order); N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4797)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* a, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* b); N_LIB_PRIVATE N_NIMCALL(NI, cmp__system_1543)(NimStringV2 x, NimStringV2 y); N_LIB_PRIVATE N_NIMCALL(void, setLen__modulegraphs_9604)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* s, NI newlen); N_LIB_PRIVATE N_NIMCALL(void, suggestWriteln__msgs_448)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___sigmatch_5065)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* suggest); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___options_5599)(tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg c); static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_469)(tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ e); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuJoinSep)(NimStringV2* a, NI aLen_0, NimStringV2 sep); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___prefixmatches_7)(tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w e); N_LIB_PRIVATE N_NIMCALL(void, suggestQuit__msgs_472)(void); N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_50)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA renderFlags); N_LIB_PRIVATE N_NIMCALL(NimStringV2, argTypeToString__sigmatch_388)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr, NimStringV2 a); N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_3507)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* s, NI newlen); N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6929)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n); N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, newLineInfo__msgs_408)(NI32 fileInfoIdx, NI line, NI col); static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__wjrA09aH0rT1R7zbrcCaROw_2 = { 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} ; static const struct { NI cap; NIM_CHAR data[0+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_3 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_4 = {0, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_3}; N_LIB_PRIVATE TNimTypeV2 NTIv2__JTQD63EOMNGYBEyDiI65hA_; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__wjrA09aH0rT1R7zbrcCaROw_9 = { 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} ; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_10 = { 1 | NIM_STRLIT_FLAG, "=" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_11 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_10}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_12 = { 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_13 = { 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_14 = { 0x10, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_15 = { 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_16 = { 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_17 = { 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_18 = { 0x00, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x10, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_19 = { 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_20 = { 7 | NIM_STRLIT_FLAG, "unknown" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_21 = {7, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_20}; static const struct { NI cap; NIM_CHAR data[44+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_22 = { 44 | NIM_STRLIT_FLAG, "cannot infer the value of the static param \'" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_23 = {44, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_22}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_24 = { 1 | NIM_STRLIT_FLAG, "\'" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_25 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_24}; static const struct { NI cap; NIM_CHAR data[38+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_27 = { 38 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/sigmatch.nim" }; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_28 = { 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_29 = { 0x00, 0x08, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[27+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_30 = { 27 | NIM_STRLIT_FLAG, "nimPreviewCstringConversion" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_31 = {27, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_30}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_32 = { 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_33 = { 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[24+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_34 = { 24 | NIM_STRLIT_FLAG, "wrong instantiated type!" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_35 = {24, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_34}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_37 = {24, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_34}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_39 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_40 = { 0x10, 0x08, 0x10, 0x00, 0x00, 0x60, 0x08, 0x00, 0x00} ; N_LIB_PRIVATE TNimTypeV2 NTIv2__PD9aW11HeUq9a1eqUZIZ9a0aQ_; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_42 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[29+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_43 = { 29 | NIM_STRLIT_FLAG, " too nested for type matching" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_44 = {29, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_43}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_46 = { 1 | NIM_STRLIT_FLAG, ":" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_47 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_46}; static const struct { NI cap; NIM_CHAR data[6+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_48 = { 6 | NIM_STRLIT_FLAG, "Error:" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_49 = {6, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_48}; static NIM_CONST tyProc__k2HFjxisIgDALbEUFojxaQ TM__wjrA09aH0rT1R7zbrcCaROw_50 = {NIM_NIL,NIM_NIL}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_52 = { 1 | NIM_STRLIT_FLAG, "(" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_53 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_52}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_54 = { 2 | NIM_STRLIT_FLAG, ", " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_55 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_54}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_56 = { 1 | NIM_STRLIT_FLAG, ")" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_57 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_56}; static const struct { NI cap; NIM_CHAR data[19+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_59 = { 19 | NIM_STRLIT_FLAG, " unknown type kind " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_60 = {19, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_59}; static const struct { NI cap; NIM_CHAR data[19+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_64 = { 19 | NIM_STRLIT_FLAG, "getInstantiatedType" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_65 = {19, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_64}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_67 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00} ; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_68 = { 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[12+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_69 = { 12 | NIM_STRLIT_FLAG, "implicitConv" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_70 = {12, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_69}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_74 = { 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00} ; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_75 = {0, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_3}; static const struct { NI cap; NIM_CHAR data[6+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_77 = { 6 | NIM_STRLIT_FLAG, "enum \'" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_78 = {6, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_77}; static const struct { NI cap; NIM_CHAR data[24+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_79 = { 24 | NIM_STRLIT_FLAG, "\' which contains field \'" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_80 = {24, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_79}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_81 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_24}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_82 = { 2 | NIM_STRLIT_FLAG, "; " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_83 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_82}; static const struct { NI cap; NIM_CHAR data[14+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_84 = { 14 | NIM_STRLIT_FLAG, " is deprecated" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_85 = {14, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_84}; static const struct { NI cap; NIM_CHAR data[37+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_87 = { 37 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/suggest.nim" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_88 = {14, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_84}; static const struct { NI cap; NIM_CHAR data[45+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_90 = { 45 | NIM_STRLIT_FLAG, "$1usage of \'$2\' is an {.error.} defined at $3" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_91 = {45, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_90}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_92 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_82}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_93 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_52}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_94 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_54}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_95 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_56}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_97 = {45, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_90}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_98 = {0, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_3}; static const struct { NI cap; NIM_CHAR data[22+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_100 = { 22 | NIM_STRLIT_FLAG, "x.state is not csMatch" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_101 = {22, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_100}; static const struct { NI cap; NIM_CHAR data[91+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_104 = { 91 | NIM_STRLIT_FLAG, "sigmatch.nim(2428, 9) `n[a][0].kind == nkEmpty and n[a][1].kind in {nkBracket, nkArgList}` " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_105 = {91, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_104}; static const struct { NI cap; NIM_CHAR data[39+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_106 = { 39 | NIM_STRLIT_FLAG, "named parameter has to be an identifier" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_107 = {39, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_106}; static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__wjrA09aH0rT1R7zbrcCaROw_109 = { 0x00, 0x88, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[7+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_110 = { 7 | NIM_STRLIT_FLAG, "matches" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_111 = {7, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_110}; static const struct { NI cap; NIM_CHAR data[23+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_113 = { 23 | NIM_STRLIT_FLAG, "cannot convert $1 to $2" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_114 = {23, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_113}; static const struct { NI cap; NIM_CHAR data[11+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_118 = { 11 | NIM_STRLIT_FLAG, "skGlobalVar" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_119 = {11, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_118}; static const struct { NI cap; NIM_CHAR data[11+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_120 = { 11 | NIM_STRLIT_FLAG, "skGlobalLet" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_121 = {11, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_120}; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_122 = { 1 | NIM_STRLIT_FLAG, "." }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_123 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_122}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_124 = {0, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_3}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_125 = { 2 | NIM_STRLIT_FLAG, ": " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_126 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_125}; static const struct { NI cap; NIM_CHAR data[3+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_127 = { 3 | NIM_STRLIT_FLAG, " | " }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_128 = {3, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_127}; static const struct { NI cap; NIM_CHAR data[4+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_129 = { 4 | NIM_STRLIT_FLAG, "void" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_130 = {4, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_129}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_131 = {2, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_54}; static const struct { NI cap; NIM_CHAR data[97+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_132 = { 97 | NIM_STRLIT_FLAG, "The default parameter \'$1\' has incompatible type with the explicitly requested proc instantiation" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_133 = {97, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_132}; static const struct { NI cap; NIM_CHAR data[21+1]; } TM__wjrA09aH0rT1R7zbrcCaROw_135 = { 21 | NIM_STRLIT_FLAG, "cannot instantiate: \'" }; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_136 = {21, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_135}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_137 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_24}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_139 = {21, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_135}; static const NimStringV2 TM__wjrA09aH0rT1R7zbrcCaROw_140 = {1, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_24}; extern NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ abstractInst__ast_358; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_26 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)897), ((NI)12)} ; extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_338; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_36 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1531), ((NI)23)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_38 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1565), ((NI)25)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_45 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)681), ((NI)16)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_58 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1705), ((NI)12)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_61 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1878), ((NI)4)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_66 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1905), ((NI)17)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_71 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)1918), ((NI)37)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_76 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2196), ((NI)13)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_86 = {{37, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_87}, ((NI)548), ((NI)15)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_89 = {{37, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_87}, ((NI)550), ((NI)9)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_96 = {{37, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_87}, ((NI)561), ((NI)12)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_99 = {{37, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_87}, ((NI)563), ((NI)6)} ; extern NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw Letters__linter_12; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_102 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2288), ((NI)21)} ; static NIM_CONST tyArray__HU7qaqKu9czJLT84iCBJnsA TM__wjrA09aH0rT1R7zbrcCaROw_103 = {((NI)0), ((NI)256)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_108 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2445), ((NI)18)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_112 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2513), ((NI)23)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_115 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2565), ((NI)22)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_134 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2627), ((NI)20)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_138 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2669), ((NI)14)} ; static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__wjrA09aH0rT1R7zbrcCaROw_141 = {{38, (NimStrPayload*)&TM__wjrA09aH0rT1R7zbrcCaROw_27}, ((NI)2678), ((NI)14)} ; extern Exception* currException__system_3654; extern Exception* currException__system_3654; extern Exception* currException__system_3654; extern NIM_BOOL nimInErrorMode__system_3980; static NIM_CONST NU32 TM__wjrA09aH0rT1R7zbrcCaROw_5[2] = {3701606400, 872672000}; N_LIB_PRIVATE TNimTypeV2 NTIv2__JTQD63EOMNGYBEyDiI65hA_ = {.destructor = (void*)eqdestroy___sigmatch_7144, .size = sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA), .align = (NI16) NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA), .depth = 1, .display = TM__wjrA09aH0rT1R7zbrcCaROw_5, .traceImpl = (void*)NIM_NIL, .flags = 0}; static NIM_CONST NU32 TM__wjrA09aH0rT1R7zbrcCaROw_41[2] = {3701606400, 1062655744}; N_LIB_PRIVATE TNimTypeV2 NTIv2__PD9aW11HeUq9a1eqUZIZ9a0aQ_ = {.destructor = (void*)eqdestroy___sigmatch_7590, .size = sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ), .align = (NI16) NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ), .depth = 1, .display = TM__wjrA09aH0rT1R7zbrcCaROw_41, .traceImpl = (void*)eqtrace___sigmatch_7599, .flags = 0}; static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source, NI16 targetDepth, NU32 token) { NIM_BOOL result; NIM_BOOL T1_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T1_ = (targetDepth <= (*source).depth); if (!(T1_)) goto LA2_; T1_ = ((*source).display[targetDepth] == token); LA2_: ; result = T1_; return result; } static N_INLINE(Exception*, nimBorrowCurrentException)(void) { Exception* result; result = NIM_NIL; result = currException__system_3654; return result; } static N_INLINE(void, popCurrentException)(void) { eqcopy___stdZassertions_33(&currException__system_3654, (*currException__system_3654).up, NIM_FALSE); } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, safeSemExpr__sigmatch_6767)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T2_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; T2_ = 0; T3_ = NIM_NIL; T3_ = (*c).semExpr(c, n, T2_, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = T3_; if (NIM_UNLIKELY(*nimErr_)) { LA1_:; if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 1111923200)) { *nimErr_ = NIM_FALSE; eqcopy___ast_3457(&result, (*(*c).graph).emptyNode); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; popCurrentException(); LA5_:; } } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NI result; NI T1_; result = (NI)0; T1_ = (*n)._kind_6.sons.len; 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) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimSetMem__systemZmemory_7(p, ((int)0), size); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w, prefixMatch__sigmatch_5291)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; switch ((*n).kind) { case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2): { result = prefixMatch__prefixmatches_10((*(*n)._kind_5.ident).s, (*(*s).name).s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3): { result = prefixMatch__prefixmatches_10((*(*(*n)._kind_4.sym).name).s, (*(*s).name).s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57): case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56): case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)53): { { NI T6_; T6_ = (NI)0; T6_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(((NI)0) < T6_)) goto LA7_; result = prefixMatch__sigmatch_5291(s, (*n)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA7_: ; } break; default: { } break; } }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, filterSym__sigmatch_5286)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w* res) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { if (!!(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)))) goto LA3_; { tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w T9_; if (!!((prefix == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA7_; T9_ = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; T9_ = prefixMatch__sigmatch_5291(s, prefix); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*res) = T9_; result = !(((*res) == ((tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0))); } goto LA5_; LA7_: ; { result = NIM_TRUE; } LA5_: ; } LA3_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, contains__pureZtimes_2810)(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___stdZstrbasics_49)(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)(NimStringV2* dest, NIM_CHAR c) { (*(*dest).p).data[(*dest).len] = c; (*(*dest).p).data[(NI)((*dest).len + ((NI)1))] = 0; (*dest).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_1719)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) { { if (!(((NI)0) < src.len)) goto LA3_; copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1))))); (*dest).len += src.len; } LA3_: ; } static N_INLINE(NI, toLinenumber__msgs_660)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) { NI result; result = (NI)0; result = ((NI) (info.line)); return result; } static N_INLINE(NI, toColumn__msgs_663)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) { NI result; result = (NI)0; result = ((NI) (info.col)); return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7144)(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA* dest) { eqdestroy___stdZassertions_13((&(*dest).line1)); } N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, isOpeningBacktick__sigmatch_4822)(NI col, void* ClE_0) { NIM_BOOL result; tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA* colonenvP_; NIM_BOOL colontmpD_; NIM_BOOL colontmpD__2; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; colonenvP_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA*) ClE_0; colontmpD_ = (NIM_BOOL)0; colontmpD__2 = (NIM_BOOL)0; { NIM_BOOL T3_; NIM_BOOL colontmpD__3; NIM_BOOL colontmpD__4; T3_ = (NIM_BOOL)0; T3_ = (((NI)0) <= col); if (!(T3_)) goto LA4_; T3_ = (col < (*colonenvP_).line1.len); LA4_: ; if (!T3_) goto LA5_; colontmpD__3 = (NIM_BOOL)0; colontmpD__4 = (NIM_BOOL)0; { tyProc__cOOsXj9cY0bKt2oqNqLbhZw T11_; NIM_BOOL T12_; if (!((NU8)((*colonenvP_).line1.p->data[col]) == (NU8)(96))) goto LA9_; nimZeroMem((void*)(&T11_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T11_.ClP_0 = isOpeningBacktick__sigmatch_4822; T11_.ClE_0 = colonenvP_; T12_ = (NIM_BOOL)0; T12_ = T11_.ClE_0? T11_.ClP_0((NI)(col - ((NI)1)), T11_.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_6)(T11_.ClP_0))((NI)(col - ((NI)1))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmpD__3 = !(T12_); colontmpD_ = colontmpD__3; } goto LA7_; LA9_: ; { tyProc__cOOsXj9cY0bKt2oqNqLbhZw T14_; nimZeroMem((void*)(&T14_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T14_.ClP_0 = isOpeningBacktick__sigmatch_4822; T14_.ClE_0 = colonenvP_; colontmpD__4 = T14_.ClE_0? T14_.ClP_0((NI)(col - ((NI)1)), T14_.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_7)(T14_.ClP_0))((NI)(col - ((NI)1))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmpD_ = colontmpD__4; } LA7_: ; result = colontmpD_; } goto LA1_; LA5_: ; { colontmpD__2 = NIM_FALSE; result = colontmpD__2; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NI, skipUntil__pureZparseutils_197)(NIM_CHAR* s, NI sLen_0, NIM_CHAR until) { NI result; result = (NI)0; result = ((NI)0); { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (result < sLen_0); if (!(T3_)) goto LA4_; T3_ = !(((NU8)(s[result]) == (NU8)(until))); LA4_: ; if (!T3_) goto LA2 ; result += ((NI)1); } LA2: ; } return result; } static N_INLINE(NI, skipUntil__pureZparseutils_787)(NimStringV2 s, NIM_CHAR until, NI start) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = skipUntil__pureZparseutils_197((((s).p) ? ((NIM_CHAR*)s.p->data+(start)) : NIM_NIL), ((s.len-1))-(start)+1, until); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !(((*s).p == ((NimStrPayload*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = ((NI)((*(*s).p).cap & ((NI)1073741824)) == ((NI)1073741824)); LA4_: ; if (!T3_) goto LA5_; nimPrepareStrMutationImpl__system_2301(s); } LA5_: ; } static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_1279)(NimStringV2 s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) { NimStringV2 result; NI a; NI L; result.len = 0; result.p = 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; nimPrepareStrMutationV2((&result)); result.p->data[i] = s.p->data[(NI)(i + a)]; i_2 += ((NI)1); } LA3: ; } } return result; } static N_INLINE(NIM_CHAR, X5BX5D___system_7003)(NimStringV2 s, NI i) { NIM_CHAR result; result = (NIM_CHAR)0; result = s.p->data[(NI)(s.len - i)]; return result; } static N_INLINE(NI, parseWhile__pureZparseutils_293)(NIM_CHAR* s, NI sLen_0, NimStringV2* token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars) { NI result; NI i; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; i = ((NI)0); { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (i < sLen_0); if (!(T3_)) goto LA4_; T3_ = ((validChars[(NU)((((NU8)(s[i]))))>>3] &(1U<<((NU)((((NU8)(s[i]))))&7U)))!=0); LA4_: ; if (!T3_) goto LA2 ; i += ((NI)1); } LA2: ; } result = i; fastSubstr__pureZparseutils_225(s, sLen_0, token, result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, parseWhile__pureZparseutils_815)(NimStringV2 s, NimStringV2* token, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw validChars, NI start) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = parseWhile__pureZparseutils_293((((s).p) ? ((NIM_CHAR*)s.p->data+(start)) : NIM_NIL), ((s.len-1))-(start)+1, token, validChars); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; 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_1727)(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)(NimStringV2 a, NimStringV2 b) { NIM_BOOL result; NI alen; NI blen; { result = (NIM_BOOL)0; alen = a.len; blen = b.len; { if (!(alen == blen)) goto LA3_; { if (!(alen == ((NI)0))) goto LA7_; result = NIM_TRUE; goto BeforeRet_; } LA7_: ; result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen))); goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y)))))); return result; } static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell; NI T5_; if (!!((p == NIM_NIL))) goto LA3_; T5_ = (NI)0; T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_)); { if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_; result = NIM_TRUE; } goto LA6_; LA8_: ; { (*cell).rc -= ((NI)16); } LA6_: ; rememberCycle__system_3143(result, cell, (*((TNimTypeV2**) (p)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7161)(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA** dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest)); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest)); } LA4_: ; } N_LIB_PRIVATE N_NIMCALL(NI, getTokenLenFromSource__sigmatch_4815)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 ident, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) { NI result; tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA* colonenv_; tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA* T1_; NimStringV2 T2_; NI column; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; colonenv_ = NIM_NIL; T1_ = NIM_NIL; T1_ = (tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA*) nimNewObj(sizeof(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA), NIM_ALIGNOF(tyObject_Env_suggestdotnim_getTokenLenFromSource___JTQD63EOMNGYBEyDiI65hA)); (*T1_).Sup.m_type = (&NTIv2__JTQD63EOMNGYBEyDiI65hA_); colonenv_ = T1_; T2_.len = 0; T2_.p = NIM_NIL; T2_ = sourceLine__msgs_1155(conf, info); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___stdZassertions_19((&(*colonenv_).line1), T2_); column = toColumn__msgs_663(info); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!((*colonenv_).line1.len < column)) goto LA5_; result = ((NI)0); } goto LA3_; LA5_: ; { NIM_BOOL T8_; NIM_BOOL T9_; tyProc__cOOsXj9cY0bKt2oqNqLbhZw T12_; NimStringV2 colontmpD_; T8_ = (NIM_BOOL)0; T9_ = (NIM_BOOL)0; T9_ = (((NI)0) < column); if (!(T9_)) goto LA10_; T9_ = ((NU8)((*colonenv_).line1.p->data[(NI)(column - ((NI)1))]) == (NU8)(96)); LA10_: ; T8_ = T9_; if (!(T8_)) goto LA11_; nimZeroMem((void*)(&T12_), sizeof(tyProc__cOOsXj9cY0bKt2oqNqLbhZw)); T12_.ClP_0 = isOpeningBacktick__sigmatch_4822; T12_.ClE_0 = colonenv_; T8_ = T12_.ClE_0? T12_.ClP_0((NI)(column - ((NI)1)), T12_.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_8)(T12_.ClP_0))((NI)(column - ((NI)1))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; LA11_: ; if (!T8_) goto LA13_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; result = skipUntil__pureZparseutils_787((*colonenv_).line1, 96, column); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T17_; NI T18_; T17_ = dotdot___stdZstrbasics_49(column, (NI)((NI)(column + result) - ((NI)1))); colontmpD_ = X5BX5D___pureZstrutils_1279((*colonenv_).line1, T17_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T18_ = (NI)0; T18_ = nsuCmpIgnoreStyle(colontmpD_, ident); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!((T18_ == ((NI)0)))) goto LA19_; result = ((NI)0); } LA19_: ; eqdestroy___stdZassertions_13((&colontmpD_)); } goto LA3_; LA13_: ; { NIM_BOOL T22_; NIM_CHAR T24_; NimStringV2 colontmpD__2; T22_ = (NIM_BOOL)0; T22_ = (((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)(ident.p->data[((NI)0)])) == ((NU8)(95))); if (!(T22_)) goto LA23_; T24_ = (NIM_CHAR)0; T24_ = X5BX5D___system_7003(ident, ((NI)1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T22_ = !(((NU8)(T24_) == (NU8)(61))); LA23_: ; if (!T22_) goto LA25_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; result = identLen__linter_13((*colonenv_).line1, column); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T29_; NI T30_; T29_ = dotdot___stdZstrbasics_49(column, (NI)((NI)(column + result) - ((NI)1))); colontmpD__2 = X5BX5D___pureZstrutils_1279((*colonenv_).line1, T29_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T30_ = (NI)0; T30_ = nsuCmpIgnoreStyle(colontmpD__2, ident); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!((T30_ == ((NI)0)))) goto LA31_; result = ((NI)0); } LA31_: ; eqdestroy___stdZassertions_13((&colontmpD__2)); } goto LA3_; LA25_: ; { NimStringV2 sourceIdent; NimStringV2 colontmpD__3; sourceIdent.len = 0; sourceIdent.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; result = parseWhile__pureZparseutils_815((*colonenv_).line1, (&sourceIdent), TM__wjrA09aH0rT1R7zbrcCaROw_9, column); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T36_; NIM_CHAR T37_; T36_ = (NIM_BOOL)0; T37_ = (NIM_CHAR)0; T37_ = X5BX5D___system_7003(ident, ((NI)1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T36_ = ((NU8)(T37_) == (NU8)(61)); if (!(T36_)) goto LA38_; T36_ = (((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)(ident.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)(ident.p->data[((NI)0)])) <= ((NU8)(255)) || ((NU8)(ident.p->data[((NI)0)])) == ((NU8)(95))); LA38_: ; if (!T36_) goto LA39_; { if (!!(eqStrings(sourceIdent, TM__wjrA09aH0rT1R7zbrcCaROw_11))) goto LA43_; result = ((NI)0); } LA43_: ; } goto LA34_; LA39_: ; { NIM_BOOL T46_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T48_; T46_ = (NIM_BOOL)0; T46_ = (ident.len < sourceIdent.len); if (!(T46_)) goto LA47_; T48_ = dotdot___stdZstrbasics_49(((NI)0), (ident.len-1)); colontmpD__3 = X5BX5D___pureZstrutils_1279(sourceIdent, T48_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T46_ = eqStrings(colontmpD__3, ident); LA47_: ; if (!T46_) goto LA49_; result = ident.len; } goto LA34_; LA49_: ; { if (!!(eqStrings(sourceIdent, ident))) goto LA52_; result = ((NI)0); } goto LA34_; LA52_: ; LA34_: ; eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&sourceIdent)); } LA3_: ; eqdestroy___sigmatch_7161(&colonenv_); }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*, symToSuggest__sigmatch_4892)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, NIM_BOOL isLocal, tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg section, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI quality, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w prefix, NIM_BOOL inTypeContext, NI scope, NIM_BOOL useSuppliedInfo) { tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; T1_ = NIM_NIL; T1_ = (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*) nimNewObj(sizeof(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ), NIM_ALIGNOF(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ)); (*T1_).quality = ((NI)0); result = T1_; (*result).section = section; (*result).quality = quality; (*result).isGlobal = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0); (*result).prefix = prefix; (*result).contextFits = (inTypeContext == ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)4))); (*result).scope = scope; (*result).name = (&(*(*s).name).s); (*result).symkind = ((NU8) ((*s).kind)); { tySequence__sM4lkSb7zS6F7OVMvW9cffQ T6_; if (!!((((*(*g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)31)))&63U)))!=0))) goto LA4_; T6_.len = 0; T6_.p = NIM_NIL; T6_.len = 0; T6_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2)); eqsink___system_3522((&(*result).qualifiedPath), T6_); { NIM_BOOL T9_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* ow; T9_ = (NIM_BOOL)0; T9_ = !(isLocal); if (!(T9_)) goto LA10_; T9_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6))); LA10_: ; if (!T9_) goto LA11_; ow = NIM_NIL; eqcopy___ast_4063(&ow, (*s).owner); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T15_; NIM_BOOL T16_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* ow2; NimStringV2 colontmpD_; T15_ = (NIM_BOOL)0; T16_ = (NIM_BOOL)0; T16_ = !((ow == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T16_)) goto LA17_; T16_ = !(((*ow).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6))); LA17_: ; T15_ = T16_; if (!(T15_)) goto LA18_; T15_ = !(((*ow).owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); LA18_: ; if (!T15_) goto LA19_; ow2 = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; eqcopy___ast_4063(&ow2, (*ow).owner); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD_), (*(*ow2).name).s); add__stdZenumutils_69((&(*result).qualifiedPath), colontmpD_); eqdestroy___ast_4060(&ow2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA19_: ; { NimStringV2 colontmpD__2; if (!!((ow == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA23_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD__2), (*(*ow).name).s); add__stdZenumutils_69((&(*result).qualifiedPath), colontmpD__2); } LA23_: ; eqdestroy___ast_4060(&ow); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA11_: ; { NIM_BOOL T27_; tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T29_; NimStringV2 T32_; T27_ = (NIM_BOOL)0; T27_ = ((TM__wjrA09aH0rT1R7zbrcCaROw_2[(NU)((((NU8)((*(*s).name).s.p->data[((NI)0)]))))>>3] &(1U<<((NU)((((NU8)((*(*s).name).s.p->data[((NI)0)]))))&7U)))!=0); if (T27_) goto LA28_; T29_ = dotdot___stdZstrbasics_49(((NI)1), ((NI)66)); T27_ = contains__pureZtimes_2810(T29_, (*(*s).name).id); LA28_: ; if (!T27_) goto LA30_; T32_.len = 0; T32_.p = NIM_NIL; T32_ = rawNewString((*(*s).name).s.len + 2); appendChar((&T32_), 96); appendString((&T32_), (*(*s).name).s); appendChar((&T32_), 96); add__stdZenumutils_69((&(*result).qualifiedPath), T32_); } goto LA25_; LA30_: ; { NimStringV2 colontmpD__3; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD__3), (*(*s).name).s); add__stdZenumutils_69((&(*result).qualifiedPath), colontmpD__3); } LA25_: ; { NimStringV2 T38_; if (!!(((*s).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA36_; T38_.len = 0; T38_.p = NIM_NIL; T38_ = typeToString__types_51((*s).typ, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___stdZassertions_19((&(*result).forth), T38_); } goto LA34_; LA36_: ; { eqsink___stdZassertions_19((&(*result).forth), TM__wjrA09aH0rT1R7zbrcCaROw_4); } LA34_: ; } LA4_: ; { NIM_BOOL T42_; NIM_BOOL T43_; NI T45_; NimStringV2 T49_; T42_ = (NIM_BOOL)0; T43_ = (NIM_BOOL)0; T43_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)); if (!(T43_)) goto LA44_; T45_ = (NI)0; T45_ = len__ast_3325((*s).ast); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T43_ = !((T45_ == ((NI)0))); LA44_: ; T42_ = T43_; if (!(T42_)) goto LA46_; T42_ = !((section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)9))); LA46_: ; if (!T42_) goto LA47_; T49_.len = 0; T49_.p = NIM_NIL; T49_ = toFullPath__msgs_589((*g).config, (*(*(*s).ast)._kind_6.sons.p->data[((NI)0)]).info.fileIndex); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___stdZassertions_19((&(*result).filePath), T49_); (*result).line = ((NI)1); (*result).column = ((NI)0); (*result).tokenLen = ((NI)0); } goto LA40_; LA47_: ; { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__4; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__5; NI colontmpD__6; NI colontmpD__7; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg infox; NimStringV2 T58_; NI T59_; NI T60_; nimZeroMem((void*)(&colontmpD__4), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg)); nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg)); colontmpD__6 = (NI)0; colontmpD__7 = (NI)0; { NIM_BOOL T53_; T53_ = (NIM_BOOL)0; T53_ = useSuppliedInfo; if (T53_) goto LA54_; T53_ = (section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)4) || section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)9) || section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)10) || section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)18)); LA54_: ; if (!T53_) goto LA55_; colontmpD__4 = info; infox = colontmpD__4; } goto LA51_; LA55_: ; { colontmpD__5 = (*s).info; infox = colontmpD__5; } LA51_: ; T58_.len = 0; T58_.p = NIM_NIL; T58_ = toFullPath__msgs_589((*g).config, infox.fileIndex); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___stdZassertions_19((&(*result).filePath), T58_); T59_ = (NI)0; T59_ = toLinenumber__msgs_660(infox); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*result).line = T59_; T60_ = (NI)0; T60_ = toColumn__msgs_663(infox); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*result).column = T60_; { if (!!((section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)9)))) goto LA63_; colontmpD__6 = (*(*s).name).s.len; (*result).tokenLen = colontmpD__6; } goto LA61_; LA63_: ; { colontmpD__7 = getTokenLenFromSource__sigmatch_4815((*g).config, (*(*s).name).s, infox); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*result).tokenLen = colontmpD__7; } LA61_: ; } LA40_: ; (*result).version = (*(*g).config).suggestVersion; }BeforeRet_: ; return result; } static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n) { NI result; NI T1_; result = (NI)0; T1_ = (*n).sons.len; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(NI, getQuality__sigmatch_5378)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = ((NI)100); { NIM_BOOL T3_; NI T5_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* exp_1; T3_ = (NIM_BOOL)0; T3_ = !(((*s).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T3_)) goto LA4_; T5_ = (NI)0; T5_ = len__ast_5071((*s).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T3_ = (((NI)1) < T5_); LA4_: ; if (!T3_) goto LA6_; exp_1 = NIM_NIL; exp_1 = skipTypes__ast_4803((*(*s).typ).sons.p->data[((NI)1)], TM__wjrA09aH0rT1R7zbrcCaROw_12); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T12_; if (!((*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))) goto LA10_; T12_ = NIM_NIL; T12_ = elemType__types_264(exp_1); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&exp_1, T12_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA10_: ; { if (!((*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))) goto LA15_; result = ((NI)50); } LA15_: ; eqdestroy___ast_3543(&exp_1); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA6_: ; { if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)22)))&63U)))!=0)) goto LA19_; result = ((NI) ((NI)(((NI) (result)) - ((NI)5)))); } LA19_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2868)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI module) { NIM_BOOL result; NIM_BOOL T1_; NI T2_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (*g).packed_0.len; T1_ = (module < T2_); if (!(T1_)) goto LA3_; T1_ = ((*g).packed_0.p->data[module].status == ((tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA)3)); LA3_: ; result = T1_; return result; } static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2880)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; result = isCachedModule__modulegraphs_2868(g, (*m).position); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestEverything__sigmatch_5609)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin4_; NIM_BOOL oldNimErrFin38_; NIM_BOOL oldNimErrFin55_; NIM_BOOL oldNimErrFin32_; NIM_BOOL oldNimErrFin2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA6 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA9_; isLocal_2 = NIM_FALSE; } LA9_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it_2; item = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item = colontmpD_; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it_2), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T22_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA14 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; item = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T17_; NI T20_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T21_; T17_ = (NIM_BOOL)0; T17_ = filterSym__sigmatch_5286(it, f, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; if (!T17_) goto LA18_; T20_ = (NI)0; T20_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; T21_ = NIM_NIL; T21_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T20_, pm, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; add__sigmatch_5409((&(*outputs)), T21_); } LA18_: ; T22_ = NIM_NIL; T22_ = nextIter__astalgo_3921((&it_2), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; eqsink___ast_4066(&s, T22_); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; } LA14: ; } { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } LA6: ; } { LA4_:; } { oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin4_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T28_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T28_ = (*c).imports.len; L = T28_; { while (1) { if (!(i < L)) goto LA30 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T35_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T39_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T40_; T35_ = (NIM_BOOL)0; T35_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; if (!T35_) goto LA36_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T39_ = NIM_NIL; T39_ = (*(*c).graph).config; T40_ = NIM_NIL; T40_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T39_, T40_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T50_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA42 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T45_; NI T48_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T49_; T45_ = (NIM_BOOL)0; T45_ = filterSym__sigmatch_5286(it, f, (&pm_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; if (!T45_) goto LA46_; T48_ = (NI)0; T48_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; T49_ = NIM_NIL; T49_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T48_, pm_2, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; add__sigmatch_5409((&(*outputs)), T49_); } LA46_: ; T50_ = NIM_NIL; T50_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; eqsink___ast_4066(&r, T50_); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; } LA42: ; } { LA38_:; } { oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; *nimErr_ = oldNimErrFin38_; } if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } goto LA33_; LA36_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T60_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA58_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA58_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; i_2 = ((NI)0); T60_ = colontmp__3.len; L_2 = T60_; { while (1) { if (!(i_2 < L_2)) goto LA62 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA65_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T69_; NI T72_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T73_; T69_ = (NIM_BOOL)0; T69_ = filterSym__sigmatch_5286(it, f, (&pm_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; if (!T69_) goto LA70_; T72_ = (NI)0; T72_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; T73_ = NIM_NIL; T73_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T72_, pm_3, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; add__sigmatch_5409((&(*outputs)), T73_); } LA70_: ; } LA65_: ; i_2 += ((NI)1); } LA62: ; } { LA55_:; } { oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; *nimErr_ = oldNimErrFin55_; } if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } } LA33_: ; { LA32_:; } { oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin32_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } i += ((NI)1); } LA30: ; } } { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } }BeforeRet_: ; } static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_5321)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* f) { NIM_BOOL result; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym823_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym825_; NI fmoduleId; NIM_BOOL T2_; NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin36_; NIM_BOOL oldNimErrFin29_; NIM_BOOL oldNimErrFin23_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; xX60gensym823_ = NIM_NIL; xX60gensym825_ = NIM_NIL; xX60gensym823_ = getModule__astalgo_220(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; fmoduleId = (NI)((NI)((NU32)(((NI) ((*xX60gensym823_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym823_).Sup.itemId.item))); T2_ = (NIM_BOOL)0; T2_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)1)))&63U)))!=0); if (T2_) goto LA3_; xX60gensym825_ = (*c).module; T2_ = (fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym825_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym825_).Sup.itemId.item)))); LA3_: ; result = T2_; { if (!!(result)) goto LA6_; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** module; NI i; NI L; NI T9_; module = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; i = ((NI)0); T9_ = (*c).friendModules.len; L = T9_; { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym826_; if (!(i < L)) goto LA11 ; xX60gensym826_ = NIM_NIL; module = &(*c).friendModules.p->data[i]; { eqcopy___ast_4063(&xX60gensym826_, (*module)); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; if (!(fmoduleId == (NI)((NI)((NU32)(((NI) ((*xX60gensym826_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym826_).Sup.itemId.item))))) goto LA15_; result = NIM_TRUE; eqdestroy___ast_4060(&xX60gensym826_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_4060(&xX60gensym823_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA15_: ; i += ((NI)1); { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&xX60gensym826_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA11: ; } } { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* symObj; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; if (!((*f).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19))) goto LA21_; symObj = NIM_NIL; colontmpD_ = NIM_NIL; eqcopy___ast_4063(&symObj, (*f).owner); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; colontmpD_ = skipTypes__ast_4803((*symObj).typ, TM__wjrA09aH0rT1R7zbrcCaROw_14); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21))) goto LA26_; colontmpD__2 = NIM_NIL; colontmpD__2 = toObjectFromRefPtrGeneric__ast_6332((*symObj).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; eqcopy___ast_4063(&symObj, (*colontmpD__2).sym); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; } LA26_: ; { tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA31 ; scope = current; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** sym; NI i_2; NI L_2; NI T33_; sym = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; i_2 = ((NI)0); T33_ = (*scope).allowPrivateAccess.len; L_2 = T33_; { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym828_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym829_; if (!(i_2 < L_2)) goto LA35 ; xX60gensym828_ = NIM_NIL; xX60gensym829_ = NIM_NIL; sym = &(*scope).allowPrivateAccess.p->data[i_2]; { eqcopy___ast_4063(&xX60gensym828_, symObj); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; eqcopy___ast_4063(&xX60gensym829_, (*sym)); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym828_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym828_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym829_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym829_).Sup.itemId.item))))) goto LA39_; result = NIM_TRUE; eqdestroy___ast_4060(&xX60gensym829_); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; eqdestroy___ast_4060(&xX60gensym828_); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_4060(&symObj); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_4060(&xX60gensym823_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA39_: ; i_2 += ((NI)1); { LA36_:; } { oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&xX60gensym829_); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; eqdestroy___ast_4060(&xX60gensym828_); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; *nimErr_ = oldNimErrFin36_; } if (NIM_UNLIKELY(*nimErr_)) goto LA29_; } LA35: ; } } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA29_; } LA31: ; } { LA29_:; } { oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; *nimErr_ = oldNimErrFin29_; } if (NIM_UNLIKELY(*nimErr_)) goto LA23_; } { LA23_:; } { oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_4060(&symObj); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin23_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA21_: ; } LA6_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&xX60gensym823_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestField__sigmatch_5402)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T3_; NI T7_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T8_; T3_ = (NIM_BOOL)0; T3_ = filterSym__sigmatch_5286(s, f, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(T3_)) goto LA4_; T3_ = fieldVisible__sigmatch_5321(c, s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; LA4_: ; if (!T3_) goto LA5_; T7_ = (NI)0; T7_ = getQuality__sigmatch_5378(s); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T8_ = NIM_NIL; T8_ = symToSuggest__sigmatch_4892((*c).graph, s, NIM_TRUE, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T7_, pm, (((NI)0) < (*c).inTypeContext), ((NI)0), NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; add__sigmatch_5409((&(*outputs)), T8_); } LA5_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestSymList__sigmatch_5432)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* list, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(list); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA3 ; i = i_2; { if (!((*(*list)._kind_6.sons.p->data[i]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA6_; suggestField__sigmatch_5402(c, (*(*list)._kind_6.sons.p->data[i])._kind_4.sym, f, info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA6_: ; i_2 += ((NI)1); } LA3: ; } } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestObject__sigmatch_5452)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { NIM_BOOL oldNimErrFin14_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); switch ((*n).kind) { case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)138): { { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA4 ; i = i_2; suggestObject__sigmatch_5452(c, (*n)._kind_6.sons.p->data[i], f, info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 += ((NI)1); } LA4: ; } } } break; case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)139): { { NI T8_; T8_ = (NI)0; T8_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(((NI)0) < T8_)) goto LA9_; suggestObject__sigmatch_5452(c, (*n)._kind_6.sons.p->data[((NI)0)], f, info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NI i_3; NI colontmp__2; NI i_4; i_3 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_4 = ((NI)1); { while (1) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_; if (!(i_4 < colontmp__2)) goto LA13 ; colontmpD_ = NIM_NIL; i_3 = i_4; colontmpD_ = lastSon__ast_6268((*n)._kind_6.sons.p->data[i_3]); if (NIM_UNLIKELY(*nimErr_)) goto LA14_; suggestObject__sigmatch_5452(c, colontmpD_, f, info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA14_; i_4 += ((NI)1); { LA14_:; } { oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin14_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA13: ; } } } LA9_: ; } break; case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3): { suggestField__sigmatch_5402(c, (*n)._kind_4.sym, f, info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { } break; } }BeforeRet_: ; } static N_INLINE(NIM_BOOL, filterSymNoOpr__sigmatch_5312)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix, tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w* res) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; NIM_BOOL T5_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (NIM_BOOL)0; T2_ = filterSym__sigmatch_5286(s, prefix, res); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(T2_)) goto LA3_; T2_ = (((NU8)((*(*s).name).s.p->data[((NI)0)])) >= ((NU8)(97)) && ((NU8)((*(*s).name).s.p->data[((NI)0)])) <= ((NU8)(122)) || ((NU8)((*(*s).name).s.p->data[((NI)0)])) >= ((NU8)(65)) && ((NU8)((*(*s).name).s.p->data[((NI)0)])) <= ((NU8)(90)) || ((NU8)((*(*s).name).s.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)((*(*s).name).s.p->data[((NI)0)])) <= ((NU8)(57)) || ((NU8)((*(*s).name).s.p->data[((NI)0)])) >= ((NU8)(128)) && ((NU8)((*(*s).name).s.p->data[((NI)0)])) <= ((NU8)(255))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T5_ = (NIM_BOOL)0; T5_ = isKeyword__renderer_94((*s).name); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T1_ = !(T5_); LA4_: ; result = T1_; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) { NIM_BOOL result; result = (NIM_BOOL)0; { tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell; NI T5_; if (!!((p == NIM_NIL))) goto LA3_; T5_ = (NI)0; T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_)); { if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_; result = NIM_TRUE; } goto LA6_; LA8_: ; { (*cell).rc -= ((NI)16); } LA6_: ; } LA3_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqsink___sigmatch_118)(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w* dest, tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w src) { (*dest).kind = src.kind; (*dest).arg = src.arg; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLast((*dest).formal); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).formal); } LA4_: ; (*dest).formal = src.formal; } static N_INLINE(void, initCandidateAux__sigmatch_96)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee) { tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); eqcopy___semdata_2058(&(*c).c, ctx, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*c).exactMatches = ((NI)0); (*c).subtypeMatches = ((NI)0); (*c).convMatches = ((NI)0); (*c).intConvMatches = ((NI)0); (*c).genericMatches = ((NI)0); (*c).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)0); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w)); nimZeroMem((void*)(&T1_), sizeof(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w)); eqsink___sigmatch_118((&(*c).firstMismatch), T1_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___ast_3546(&(*c).callee, callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3460(&(*c).call, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*c).baseTypeMatch = NIM_FALSE; (*c).genericConverter = NIM_FALSE; (*c).inheritancePenalty = ((NI)0); }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_124)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); initCandidateAux__sigmatch_96(ctx, c, callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_4066(&(*c).calleeSym, ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; initIdTable__ast_5200((&(*c).bindings)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_204)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* callee, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* Result) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)Result, sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); initCandidate__sigmatch_124(ctx, Result, callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextTypeId__ast_3291)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result; NI32 colontmpD_; NI32 colontmpD__2; nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw)); colontmpD_ = (NI32)0; colontmpD__2 = (NI32)0; (*x).typeId_0 += ((NI)1); nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw)); colontmpD_ = (*x).module; result.module = colontmpD_; colontmpD__2 = (*x).typeId_0; result.item = colontmpD__2; return result; } static N_INLINE(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipIntLit__magicsys_125)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* id) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { NIM_BOOL T3_; tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T7_; T3_ = (NIM_BOOL)0; T3_ = !(((*t).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36)); LA4_: ; if (!T3_) goto LA5_; T7_ = nextTypeId__ast_3291(id); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = copyType__ast_5132(t, T7_, (*t).owner); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3460(&(*result).n, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA5_: ; { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(void, put__sigmatch_128)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* key, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* val) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); colontmpD_ = NIM_NIL; colontmpD_ = skipIntLit__magicsys_125(val, (*(*c).c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; idTablePut__astalgo_71((&(*c).bindings), &key->Sup, (*((RootObj**) (&(colontmpD_))))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tryResolvingStaticExpr__sigmatch_1453)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL allowUnresolved) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* instantiated; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T2_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; instantiated = NIM_NIL; instantiated = replaceTypesInBody__semtypinst_1033((*c).c, (*c).bindings, n, ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL), allowUnresolved); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_ = 0; result = (*(*c).c).semExpr((*c).c, instantiated, T2_, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&instantiated); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; { if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA3_; result = ((NI)0); } goto LA1_; LA3_: ; { result = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, eqeq___idents_293)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* a, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* 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_1425)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* rules, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* callIdent) { NIM_BOOL result; NIM_BOOL oldNimErrFin10_; NIM_BOOL oldNimErrFin6_; NIM_BOOL oldNimErrFin26_; NIM_BOOL oldNimErrFin22_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { if (!((*rules).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)130))) goto LA3_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* r; r = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3318(rules); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; i_2 = ((NI)0); { while (1) { tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_; if (!(i_2 < colontmp_)) goto LA9 ; colontmpD_ = NIM_NIL; i = i_2; eqcopy___ast_3457(&r, (*rules)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; { NIM_BOOL T13_; colontmpD_ = considerQuotedIdent__lookups_29((*m).c, r, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; T13_ = (NIM_BOOL)0; T13_ = eqeq___idents_293(colontmpD_, callIdent); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; if (!T13_) goto LA14_; result = NIM_TRUE; eqdestroy___idents_133(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqdestroy___ast_3454(&r); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA14_: ; i_2 += ((NI)1); { LA10_:; } { oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___idents_133(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; *nimErr_ = oldNimErrFin10_; } if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA9: ; } } { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&r); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } result = NIM_FALSE; goto BeforeRet_; } goto LA1_; LA3_: ; { { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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_3318(rules); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; i_4 = ((NI)0); { while (1) { tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2; if (!(i_4 < colontmp__2)) goto LA25 ; colontmpD__2 = NIM_NIL; i_3 = i_4; eqcopy___ast_3457(&r_2, (*rules)._kind_6.sons.p->data[i_3]); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; { NIM_BOOL T29_; colontmpD__2 = considerQuotedIdent__lookups_29((*m).c, r_2, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T29_ = (NIM_BOOL)0; T29_ = eqeq___idents_293(colontmpD__2, callIdent); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; if (!T29_) goto LA30_; result = NIM_FALSE; eqdestroy___idents_133(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; eqdestroy___ast_3454(&r_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA30_: ; i_4 += ((NI)1); { LA26_:; } { oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___idents_133(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; *nimErr_ = oldNimErrFin26_; } if (NIM_UNLIKELY(*nimErr_)) goto LA22_; } LA25: ; } } { LA22_:; } { oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&r_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin22_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } result = NIM_TRUE; goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, maybeSkipDistinct__sigmatch_1436)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); 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__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T5_)) goto LA6_; T5_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13)); LA6_: ; T4_ = T5_; if (!(T4_)) goto LA7_; T4_ = !(((*t).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA7_: ; T3_ = T4_; if (!(T3_)) goto LA8_; T3_ = shouldSkipDistinct__sigmatch_1425(m, (*t).n, (*callee).name); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; LA8_: ; if (!T3_) goto LA9_; result = base__types_64(t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA9_: ; { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, sameEnumTypes__types_2273)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b) { NIM_BOOL result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym296_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym297_; result = (NIM_BOOL)0; xX60gensym296_ = NIM_NIL; xX60gensym297_ = NIM_NIL; xX60gensym296_ = a; xX60gensym297_ = b; result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym296_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym296_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym297_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym297_).Sup.itemId.item)))); return result; } N_LIB_PRIVATE N_NOINLINE(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, typeRangeRel__sigmatch_1049)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__2; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__2 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { NIM_BOOL T3_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__3; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__4; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__5; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__6; T3_ = (NIM_BOOL)0; T3_ = isOrdinalType__types_300(f, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; colontmpD__3 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__4 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__5 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__6 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { NIM_BOOL T9_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T10_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T11_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T13_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T14_; T9_ = (NIM_BOOL)0; T10_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T11_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T9_ = eqeq___int495056_317(T10_, T11_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!(T9_)) goto LA12_; T13_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T14_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T9_ = eqeq___int495056_317(T13_, T14_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA12_: ; if (!T9_) goto LA15_; colontmpD__3 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); colontmpD_ = colontmpD__3; } goto LA7_; LA15_: ; { NIM_BOOL T18_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T19_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T20_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T22_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T23_; T18_ = (NIM_BOOL)0; T19_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T20_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T18_ = lteq___int495056_313(T19_, T20_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!(T18_)) goto LA21_; T22_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T23_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T18_ = lteq___int495056_313(T22_, T23_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA21_: ; if (!T18_) goto LA24_; colontmpD__4 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); colontmpD_ = colontmpD__4; } goto LA7_; LA24_: ; { NIM_BOOL T27_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T28_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T29_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T31_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T32_; T27_ = (NIM_BOOL)0; T28_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T29_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T27_ = lteq___int495056_313(T28_, T29_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!(T27_)) goto LA30_; T31_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T32_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T27_ = lteq___int495056_313(T31_, T32_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA30_: ; if (!T27_) goto LA33_; colontmpD__5 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); colontmpD_ = colontmpD__5; } goto LA7_; LA33_: ; { colontmpD__6 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); colontmpD_ = colontmpD__6; } LA7_: ; result = colontmpD_; { LA6_:; } { } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA4_: ; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__7; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__8; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__9; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__10; colontmpD__7 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__8 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__9 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__10 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { NIM_BOOL T42_; NF T43_; NF T44_; NF T46_; NF T47_; T42_ = (NIM_BOOL)0; T43_ = (NF)0; T43_ = firstFloat__types_1469(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T44_ = (NF)0; T44_ = firstFloat__types_1469(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T42_ = (T43_ == T44_); if (!(T42_)) goto LA45_; T46_ = (NF)0; T46_ = lastFloat__types_1627(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T47_ = (NF)0; T47_ = lastFloat__types_1627(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T42_ = (T46_ == T47_); LA45_: ; if (!T42_) goto LA48_; colontmpD__7 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); colontmpD__2 = colontmpD__7; } goto LA40_; LA48_: ; { NIM_BOOL T51_; NF T52_; NF T53_; NF T55_; NF T56_; T51_ = (NIM_BOOL)0; T52_ = (NF)0; T52_ = firstFloat__types_1469(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T53_ = (NF)0; T53_ = firstFloat__types_1469(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T51_ = (T52_ <= T53_); if (!(T51_)) goto LA54_; T55_ = (NF)0; T55_ = lastFloat__types_1627(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T56_ = (NF)0; T56_ = lastFloat__types_1627(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T51_ = (T55_ <= T56_); LA54_: ; if (!T51_) goto LA57_; colontmpD__8 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); colontmpD__2 = colontmpD__8; } goto LA40_; LA57_: ; { NIM_BOOL T60_; NF T61_; NF T62_; NF T64_; NF T65_; T60_ = (NIM_BOOL)0; T61_ = (NF)0; T61_ = firstFloat__types_1469(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T62_ = (NF)0; T62_ = lastFloat__types_1627(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T60_ = (T61_ <= T62_); if (!(T60_)) goto LA63_; T64_ = (NF)0; T64_ = firstFloat__types_1469(f); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T65_ = (NF)0; T65_ = lastFloat__types_1627(a); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; T60_ = (T64_ <= T65_); LA63_: ; if (!T60_) goto LA66_; colontmpD__9 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); colontmpD__2 = colontmpD__9; } goto LA40_; LA66_: ; { colontmpD__10 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); colontmpD__2 = colontmpD__10; } LA40_: ; result = colontmpD__2; { LA39_:; } { } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, isIntLit__types_187)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* 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__cu4lI59aFp7m9cDkg2Nfr7ZQ)31)); if (!(T2_)) goto LA3_; T2_ = !(((*t).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6)); LA4_: ; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConvertibleToRange__sigmatch_604)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44)); if (!(T3_)) goto LA4_; T3_ = ((*a).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*a).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*a).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*a).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44)); LA4_: ; if (!T3_) goto LA5_; switch ((*f).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32): { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T8_) goto LA9_; T8_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32)); LA9_: ; result = T8_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33): { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T11_) goto LA12_; T11_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33)); LA12_: ; result = T11_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34): { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T14_) goto LA15_; T14_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34)); LA15_: ; result = T14_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40): { result = NIM_TRUE; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35): { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T18_) goto LA19_; T18_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35)); LA19_: ; result = T18_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41): { NIM_BOOL T21_; T21_ = (NIM_BOOL)0; T21_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T21_) goto LA22_; T21_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41)); LA22_: ; result = T21_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42): { NIM_BOOL T24_; T24_ = (NIM_BOOL)0; T24_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T24_) goto LA25_; T24_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42)); LA25_: ; result = T24_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43): { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T27_) goto LA28_; T27_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43)); LA28_: ; result = T27_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44): { NIM_BOOL T30_; T30_ = (NIM_BOOL)0; T30_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T30_) goto LA31_; T30_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44)); LA31_: ; result = T30_; } break; default: { result = NIM_FALSE; } break; } } goto LA1_; LA5_: ; { NIM_BOOL T36_; if (!((*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39))) goto LA34_; T36_ = (NIM_BOOL)0; T36_ = isIntLit__types_187(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (T36_) goto LA37_; T36_ = ((*a).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) && (*a).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39)); LA37_: ; result = T36_; } goto LA1_; LA34_: ; LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, handleRange__sigmatch_502)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ min, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ max) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; NIM_BOOL oldNimErrFin6_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!((*a).kind == (*f).kind)) goto LA3_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA1_; LA3_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ab; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ k; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ nf; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ na; ab = NIM_NIL; ab = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; k = (*ab).kind; nf = normalizeKind__types_1500((*(*c).graph).config, (*f).kind); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; na = normalizeKind__types_1500((*(*c).graph).config, k); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { if (!(k == (*f).kind)) goto LA9_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4); } goto LA7_; LA9_: ; { NIM_BOOL T12_; NIM_BOOL T13_; NIM_BOOL T14_; NIM_BOOL T15_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T19_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T20_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T22_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T23_; T12_ = (NIM_BOOL)0; T13_ = (NIM_BOOL)0; T14_ = (NIM_BOOL)0; T15_ = (NIM_BOOL)0; T15_ = (k == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31)); if (!(T15_)) goto LA16_; T15_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20) || (*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44)); LA16_: ; T14_ = T15_; if (!(T14_)) goto LA17_; T14_ = isIntLit__types_187(ab); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA17_: ; T13_ = T14_; if (!(T13_)) goto LA18_; T19_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T20_ = getInt__ast_6021((*ab).n); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T13_ = lteq___int495056_313(T19_, T20_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA18_: ; T12_ = T13_; if (!(T12_)) goto LA21_; T22_ = getInt__ast_6021((*ab).n); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T23_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T12_ = lteq___int495056_313(T22_, T23_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA21_: ; if (!T12_) goto LA24_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)9); } goto LA7_; LA24_: ; { NIM_BOOL T27_; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T29_; T27_ = (NIM_BOOL)0; T27_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31)); if (!(T27_)) goto LA28_; T29_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T29_ = targetSizeSignedToKind__types_1494((*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T27_ = (nf == T29_); LA28_: ; if (!T27_) goto LA30_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } goto LA7_; LA30_: ; { NIM_BOOL T33_; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T35_; T33_ = (NIM_BOOL)0; T33_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40)); if (!(T33_)) goto LA34_; T35_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T35_ = targetSizeUnsignedToKind__types_1497((*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T33_ = (nf == T35_); LA34_: ; if (!T33_) goto LA36_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } goto LA7_; LA36_: ; { NIM_BOOL T39_; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T41_; T39_ = (NIM_BOOL)0; T39_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31)); if (!(T39_)) goto LA40_; T41_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T41_ = targetSizeSignedToKind__types_1494((*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T39_ = (na >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) && na <= (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)(T41_ - ((NI)1))); LA40_: ; if (!T39_) goto LA42_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } goto LA7_; LA42_: ; { NIM_BOOL T45_; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T47_; T45_ = (NIM_BOOL)0; T45_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40)); if (!(T45_)) goto LA46_; T47_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T47_ = targetSizeUnsignedToKind__types_1497((*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T45_ = (na >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && na <= (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)(T47_ - ((NI)1))); LA46_: ; if (!T45_) goto LA48_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } goto LA7_; LA48_: ; { NIM_BOOL T51_; T51_ = (NIM_BOOL)0; T51_ = (min <= k); if (!(T51_)) goto LA52_; T51_ = (k <= max); LA52_: ; if (!T51_) goto LA53_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA7_; LA53_: ; { NIM_BOOL T56_; NIM_BOOL T57_; NIM_BOOL T58_; NIM_BOOL T60_; NIM_BOOL T61_; NIM_BOOL T64_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T67_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T69_; T56_ = (NIM_BOOL)0; T57_ = (NIM_BOOL)0; T58_ = (NIM_BOOL)0; T58_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20)); if (!(T58_)) goto LA59_; T60_ = (NIM_BOOL)0; T61_ = (NIM_BOOL)0; T61_ = ((*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35)); if (!(T61_)) goto LA62_; T61_ = ((*(*a).sons.p->data[((NI)0)]).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*(*a).sons.p->data[((NI)0)]).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35)); LA62_: ; T60_ = T61_; if (T60_) goto LA63_; T64_ = (NIM_BOOL)0; T64_ = ((*f).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*f).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43)); if (!(T64_)) goto LA65_; T64_ = ((*(*a).sons.p->data[((NI)0)]).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*(*a).sons.p->data[((NI)0)]).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43)); LA65_: ; T60_ = T64_; LA63_: ; T58_ = T60_; LA59_: ; T57_ = T58_; if (!(T57_)) goto LA66_; T67_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T57_ = lteq___int495056_757(T67_, (*(*(*a).n)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA66_: ; T56_ = T57_; if (!(T56_)) goto LA68_; T69_ = lastOrd__types_1504(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), f); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T56_ = lteq___int495056_764((*(*(*a).n)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal, T69_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; LA68_: ; if (!T56_) goto LA70_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA7_; LA70_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA7_: ; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&ab); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, isFloatLit__types_202)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* 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__cu4lI59aFp7m9cDkg2Nfr7ZQ)36)); if (!(T2_)) goto LA3_; T2_ = !(((*t).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA3_: ; T1_ = T2_; if (!(T1_)) goto LA4_; T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)16)); LA4_: ; result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, handleFloatRange__sigmatch_657)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!((*a).kind == (*f).kind)) goto LA3_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA1_; LA3_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ab; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ k; ab = NIM_NIL; ab = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; k = (*ab).kind; { if (!(k == (*f).kind)) goto LA8_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4); } goto LA6_; LA8_: ; { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = isFloatLit__types_202(ab); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T11_) goto LA12_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)9); } goto LA6_; LA12_: ; { NIM_BOOL T15_; T15_ = (NIM_BOOL)0; T15_ = isIntLit__types_187(ab); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T15_) goto LA16_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA6_; LA16_: ; { NIM_BOOL T19_; T19_ = (NIM_BOOL)0; T19_ = (((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) <= k); if (!(T19_)) goto LA20_; T19_ = (k <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39)); LA20_: ; if (!T19_) goto LA21_; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37))) goto LA25_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA23_; LA25_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } LA23_: ; } goto LA6_; LA21_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA6_: ; eqdestroy___ast_3543(&ab); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, isOutParam__ast_6694)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) { NIM_BOOL result; result = (NIM_BOOL)0; result = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)45)))&63U)))!=0); return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCovariantPtr__sigmatch_1631)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { NIM_BOOL result; NIM_BOOL oldNimErrFin2_; NIM_BOOL oldNimErrFin9_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; switch ((*f).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3; NIM_BOOL T3_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T5_; colontmpD_ = NIM_NIL; colontmpD__2 = NIM_NIL; colontmpD__3 = NIM_NIL; T3_ = (NIM_BOOL)0; colontmpD_ = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; T3_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))); if (!(T3_)) goto LA4_; colontmpD__2 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; colontmpD__3 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; T5_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T5_ = typeRel__sigmatch_211(c, colontmpD__2, colontmpD__3, 2); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; T3_ = (T5_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)); LA4_: ; result = T3_; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* body; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4; NIM_BOOL T10_; NIM_BOOL T11_; NIM_BOOL T12_; NI T14_; NIM_BOOL T17_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T19_; body = NIM_NIL; colontmpD__4 = NIM_NIL; body = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; T10_ = (NIM_BOOL)0; T11_ = (NIM_BOOL)0; T12_ = (NIM_BOOL)0; colontmpD__4 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; T12_ = (body == colontmpD__4); if (!(T12_)) goto LA13_; T14_ = (NI)0; T14_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; T12_ = (T14_ == ((NI)3)); LA13_: ; T11_ = T12_; if (!(T11_)) goto LA15_; T11_ = !((((*(*body).sons.p->data[((NI)0)]).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)36)))&63U)))!=0)); LA15_: ; T10_ = T11_; if (!(T10_)) goto LA16_; T17_ = (NIM_BOOL)0; T17_ = !(((*(*f).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*(*f).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*(*f).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*(*f).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*(*f).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))); if (!(T17_)) goto LA18_; T19_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T19_ = typeRel__sigmatch_211(c, (*f).sons.p->data[((NI)1)], (*a).sons.p->data[((NI)1)], 2); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; T17_ = (T19_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)); LA18_: ; T10_ = T17_; LA16_: ; result = T10_; eqdestroy___ast_3543(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&body); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA9_:; } { oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&body); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin9_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { result = NIM_FALSE; goto BeforeRet_; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inferStaticParam__sigmatch_1461)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lhs, NI64 rhs) { NIM_BOOL result; NIM_BOOL oldNimErrFin76_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ((*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32)); if (!(T3_)) goto LA4_; T3_ = ((*(*lhs)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)); LA4_: ; if (!T3_) goto LA5_; switch ((*(*(*lhs)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) { case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)46): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)65): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)29): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)51): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA10_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)2)], (NI64)(rhs - (*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA8_; LA10_: ; { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA13_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)(rhs - (*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA8_; LA13_: ; LA8_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)30): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)47): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)66): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)52): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA18_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)2)], (NI64)((*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal - rhs)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA16_; LA18_: ; { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA21_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)(rhs + (*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA16_; LA21_: ; LA16_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)48): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)67): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA26_; { if (!((NI64)(rhs % (*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal) == IL64(0))) goto LA30_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)2)], (NI64)(rhs / (*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA30_: ; } goto LA24_; LA26_: ; { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA33_; { if (!((NI64)(rhs % (*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal) == IL64(0))) goto LA37_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)(rhs / (*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA37_: ; } goto LA24_; LA33_: ; LA24_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)49): case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)68): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA42_; { if (!((NI64)((*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal % rhs) == IL64(0))) goto LA46_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)2)], (NI64)((*(*lhs)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal / rhs)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA46_: ; } goto LA40_; LA42_: ; { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA49_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)((*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal * rhs)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA40_; LA49_: ; LA40_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)58): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA54_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA54_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)57): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA59_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)((NU64)(rhs) << (NU64)((*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA59_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)59): { { if (!((*(*lhs)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA64_; result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], (NI64)((NI64)(rhs) >> (NU64)((*(*lhs)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA64_: ; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)93): { result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], -(rhs)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)97): { result = inferStaticParam__sigmatch_1461(c, (*lhs)._kind_6.sons.p->data[((NI)1)], rhs); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; default: { } break; } } goto LA1_; LA5_: ; { NIM_BOOL T70_; NIM_BOOL T71_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* inferred; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T77_; T70_ = (NIM_BOOL)0; T71_ = (NIM_BOOL)0; T71_ = ((*lhs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)); if (!(T71_)) goto LA72_; T71_ = ((*(*lhs).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60)); LA72_: ; T70_ = T71_; if (!(T70_)) goto LA73_; T70_ = ((*(*lhs).typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); LA73_: ; if (!T70_) goto LA74_; inferred = NIM_NIL; inferred = newTypeWithSons__semdata_2435((*c).c, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60), (*(*lhs).typ).sons); if (NIM_UNLIKELY(*nimErr_)) goto LA76_; T77_ = NIM_NIL; T77_ = newIntNode__ast_4791(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), rhs); if (NIM_UNLIKELY(*nimErr_)) goto LA76_; eqsink___ast_3460(&(*inferred).n, T77_); if (NIM_UNLIKELY(*nimErr_)) goto LA76_; put__sigmatch_128(c, (*lhs).typ, inferred); if (NIM_UNLIKELY(*nimErr_)) goto LA76_; { if (!!(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL)))) goto LA80_; eqcopy___ast_3457(&(*(*lhs).typ).n, (*inferred).n); if (NIM_UNLIKELY(*nimErr_)) goto LA76_; } LA80_: ; result = NIM_TRUE; eqdestroy___ast_3543(&inferred); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA76_:; } { oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&inferred); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin76_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA74_: ; LA1_: ; result = NIM_FALSE; goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, failureToInferStaticParam__sigmatch_1587)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* staticParam; NimStringV2 name; NimStringV2 colontmpD_; NimStringV2 T2_; NimStringV2 T8_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); staticParam = NIM_NIL; name.len = 0; name.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; staticParam = findUnresolvedStatic__ast_6398(n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_.len = 0; T2_.p = NIM_NIL; { if (!!((staticParam == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA5_; eqcopy___stdZassertions_16((&name), (*(*(*staticParam)._kind_4.sym).name).s); } goto LA3_; LA5_: ; { name = TM__wjrA09aH0rT1R7zbrcCaROw_21; } LA3_: ; T8_.len = 0; T8_.p = NIM_NIL; T8_ = rawNewString(name.len + 45); appendString((&T8_), TM__wjrA09aH0rT1R7zbrcCaROw_23); appendString((&T8_), name); appendString((&T8_), TM__wjrA09aH0rT1R7zbrcCaROw_25); colontmpD_ = T8_; liMessage__msgs_1172(conf, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_26, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&name)); eqdestroy___ast_3454(&staticParam); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, inferStaticsInRange__sigmatch_1596)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* inferred, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lowerBound; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* upperBound; NIM_BOOL oldNimErrFin6_; NIM_BOOL oldNimErrFin32_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; lowerBound = NIM_NIL; upperBound = NIM_NIL; lowerBound = tryResolvingStaticExpr__sigmatch_1453(c, (*(*inferred).n)._kind_6.sons.p->data[((NI)0)], NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; upperBound = tryResolvingStaticExpr__sigmatch_1453(c, (*(*inferred).n)._kind_6.sons.p->data[((NI)1)], NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* expX60gensym230_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg rhsX60gensym230_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T18_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T19_; if (!((*lowerBound).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA4_; expX60gensym230_ = NIM_NIL; { if (!((*upperBound).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA9_; { tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T13_; NIM_BOOL T14_; T13_ = lengthOrd__types_1706((*(*(*c).c).graph).config, concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T14_ = (NIM_BOOL)0; T14_ = eqeq___int495056_771(T13_, (NI64)((NI64)((*upperBound)._kind_1.intVal - (*lowerBound)._kind_1.intVal) + IL64(1))); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!T14_) goto LA15_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3454(&expX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&upperBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&lowerBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA11_; LA15_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3454(&expX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&upperBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&lowerBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA11_: ; } LA9_: ; expX60gensym230_ = upperBound; upperBound = 0; T18_ = lengthOrd__types_1706((*(*(*c).c).graph).config, concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T19_ = plus___int495056_806(T18_, (*lowerBound)._kind_1.intVal); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; rhsX60gensym230_ = minus___int495056_792(T19_, IL64(1)); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { NI64 T22_; NIM_BOOL T23_; T22_ = (NI64)0; T22_ = toInt64__int495056_77(rhsX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T23_ = (NIM_BOOL)0; T23_ = inferStaticParam__sigmatch_1461(c, expX60gensym230_, T22_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; if (!T23_) goto LA24_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3454(&expX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&upperBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&lowerBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA20_; LA24_: ; { failureToInferStaticParam__sigmatch_1587((*(*(*c).c).graph).config, expX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA20_: ; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&expX60gensym230_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA2_; LA4_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* expX60gensym233_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg rhsX60gensym233_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T33_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T34_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T35_; if (!((*upperBound).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6))) goto LA30_; expX60gensym233_ = NIM_NIL; expX60gensym233_ = lowerBound; lowerBound = 0; T33_ = getInt__ast_6021(upperBound); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; T34_ = plus___int495056_806(T33_, IL64(1)); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; T35_ = lengthOrd__types_1706((*(*(*c).c).graph).config, concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; rhsX60gensym233_ = minus___int495056_476(T34_, T35_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; { NI64 T38_; NIM_BOOL T39_; T38_ = (NI64)0; T38_ = toInt64__int495056_77(rhsX60gensym233_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; T39_ = (NIM_BOOL)0; T39_ = inferStaticParam__sigmatch_1461(c, expX60gensym233_, T38_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; if (!T39_) goto LA40_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3454(&expX60gensym233_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&upperBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&lowerBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA36_; LA40_: ; { failureToInferStaticParam__sigmatch_1587((*(*(*c).c).graph).config, expX60gensym233_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } LA36_: ; { LA32_:; } { oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&expX60gensym233_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin32_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA2_; LA30_: ; LA2_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&upperBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&lowerBound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, minRel__sigmatch_866)(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ a, tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ b) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!(a <= b)) goto LA3_; result = a; } goto LA1_; LA3_: ; { result = b; } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, recordRel__sigmatch_874)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; NIM_BOOL oldNimErrFin42_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); { tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w T3_; NIM_BOOL T4_; T3_ = 0; T4_ = (NIM_BOOL)0; T4_ = sameType__types_1991(f, a, T3_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T4_) goto LA5_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA1_; LA5_: ; { NI T8_; NI T9_; NI colontmpD_; NI colontmpD__2; NI firstField; T8_ = (NI)0; T8_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T9_ = (NI)0; T9_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!(T8_ == T9_)) goto LA10_; colontmpD_ = (NI)0; colontmpD__2 = (NI)0; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18))) goto LA14_; colontmpD_ = ((NI)0); firstField = colontmpD_; } goto LA12_; LA14_: ; { colontmpD__2 = ((NI)1); firstField = colontmpD__2; } LA12_: ; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = firstField; { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ m; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T20_; if (!(i_2 < colontmp_)) goto LA19 ; i = i_2; T20_ = 0; m = typeRel__sigmatch_211(c, (*f).sons.p->data[i], (*a).sons.p->data[i], T20_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(m < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA23_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } LA23_: ; result = minRel__sigmatch_866(result, m); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 += ((NI)1); } LA19: ; } } { NIM_BOOL T27_; T27_ = (NIM_BOOL)0; T27_ = !(((*f).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T27_)) goto LA28_; T27_ = !(((*a).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA28_: ; if (!T27_) goto LA29_; { NI i_3; NI colontmp__2; NI i_4; i_3 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = len__ast_3325((*f).n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_4 = ((NI)0); { while (1) { if (!(i_4 < colontmp__2)) goto LA33 ; i_3 = i_4; { if (!!(((*(*(*f).n)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)))) goto LA36_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } goto LA34_; LA36_: ; { if (!!(((*(*(*a).n)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)))) goto LA39_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } goto LA34_; LA39_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* y; x = NIM_NIL; y = NIM_NIL; eqcopy___ast_4063(&x, (*(*(*f).n)._kind_6.sons.p->data[i_3])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA42_; eqcopy___ast_4063(&y, (*(*(*a).n)._kind_6.sons.p->data[i_3])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA42_; { NIM_BOOL T45_; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T47_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T48_; T45_ = (NIM_BOOL)0; T45_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17)); if (!(T45_)) goto LA46_; T47_ = 0; T48_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T48_ = typeRel__sigmatch_211(c, (*x).typ, (*y).typ, T47_); if (NIM_UNLIKELY(*nimErr_)) goto LA42_; T45_ = (T48_ < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)); LA46_: ; if (!T45_) goto LA49_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_4060(&y); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&x); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA49_: ; { if (!!(((*(*x).name).id == (*(*y).name).id))) goto LA53_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_4060(&y); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&x); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA53_: ; { LA42_:; } { oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&y); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&x); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin42_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA34_: ; i_4 += ((NI)1); } LA33: ; } } } LA29_: ; } goto LA1_; LA10_: ; LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, genericParamPut__sigmatch_683)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* last, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NIM_BOOL T3_; NIM_BOOL T4_; NI T7_; NI T8_; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T4_ = !((fGenericOrigin == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T4_)) goto LA5_; T4_ = ((*last).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); LA5_: ; T3_ = T4_; if (!(T3_)) goto LA6_; T7_ = (NI)0; T7_ = len__ast_5071(last); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T8_ = (NI)0; T8_ = len__ast_5071(fGenericOrigin); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; 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_5071(fGenericOrigin); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)1); { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x; RootObj* T14_; if (!(i_2 < colontmp_)) goto LA13 ; x = NIM_NIL; i = i_2; T14_ = NIM_NIL; T14_ = idTableGet__astalgo_65((*c).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&((*fGenericOrigin).sons.p->data[i]))))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; x = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T14_)); { if (!(x == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA17_; put__sigmatch_128(c, (*fGenericOrigin).sons.p->data[i], (*last).sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA17_: ; i_2 += ((NI)1); eqdestroy___ast_3543(&x); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA13: ; } } } LA9_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, isObjectSubtype__sigmatch_717)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin) { NI result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* last; NI depth; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; t = NIM_NIL; last = NIM_NIL; eqcopy___ast_3546(&t, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; depth = ((NI)0); eqcopy___ast_3546(&last, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { while (1) { NIM_BOOL T4_; NIM_BOOL T6_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T11_; T4_ = (NIM_BOOL)0; T4_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T4_)) goto LA5_; T6_ = (NIM_BOOL)0; T6_ = sameObjectTypes__types_2224(f, t); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T4_ = !(T6_); LA5_: ; if (!T4_) goto LA3 ; eqcopy___ast_3546(&t, (*t).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA9_; goto LA2; } LA9_: ; eqcopy___ast_3546(&last, t); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T11_ = NIM_NIL; T11_ = skipTypes__ast_4803(t, TM__wjrA09aH0rT1R7zbrcCaROw_15); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&t, T11_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; depth += ((NI)1); } LA3: ; } LA2: ; { if (!!((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA14_; genericParamPut__sigmatch_683(c, last, fGenericOrigin); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = depth; } goto LA12_; LA14_: ; { result = ((NI)-1); } LA12_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&last); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, sameDistinctTypes__types_2269)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; result = sameObjectTypes__types_2224(a, b); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, allowsNil__sigmatch_943)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__2; result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__2 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!!((((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0))) goto LA3_; colontmpD_ = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); result = colontmpD_; } goto LA1_; LA3_: ; { colontmpD__2 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); result = colontmpD__2; } LA1_: ; return result; } static N_INLINE(NIM_BOOL, inconsistentVarTypes__sigmatch_950)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { NIM_BOOL result; NIM_BOOL T1_; NIM_BOOL T2_; NIM_BOOL T4_; NIM_BOOL T7_; NIM_BOOL T8_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T2_ = (NIM_BOOL)0; T2_ = !(((*f).kind == (*a).kind)); if (!(T2_)) goto LA3_; T4_ = (NIM_BOOL)0; T4_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46)); if (T4_) goto LA5_; T4_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46)); LA5_: ; T2_ = T4_; LA3_: ; T1_ = T2_; if (T1_) goto LA6_; T7_ = (NIM_BOOL)0; T7_ = isOutParam__ast_6694(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T8_ = (NIM_BOOL)0; T8_ = isOutParam__ast_6694(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T1_ = !((T7_ == T8_)); LA6_: ; result = T1_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, procParamTypeRel__sigmatch_966)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f_2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a_2; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; f_2 = NIM_NIL; a_2 = NIM_NIL; eqcopy___ast_3546(&f_2, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&a_2, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T4_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aResolved; RootObj* T7_; T4_ = (NIM_BOOL)0; T4_ = isMetaType__ast_4084(a_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T4_) goto LA5_; aResolved = NIM_NIL; T7_ = NIM_NIL; T7_ = idTableGet__astalgo_65((*c).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&(a_2))))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; aResolved = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T7_)); { if (!!((aResolved == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA10_; eqsink___ast_3549(&a_2, aResolved); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; aResolved = 0; } LA10_: ; eqdestroy___ast_3543(&aResolved); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA5_: ; { NIM_BOOL T14_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ reverseRel; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T34_; T14_ = (NIM_BOOL)0; T14_ = isMetaType__ast_4084(a_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T14_) goto LA15_; { NIM_BOOL T19_; T19_ = (NIM_BOOL)0; T19_ = isMetaType__ast_4084(f_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T19_) goto LA20_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T26_; if (!!(((*c).call == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA24_; T26_ = NIM_NIL; T26_ = generateTypeInstance__semtypinst_1107((*c).c, (*c).bindings, (*(*c).call).info, f_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&f_2, T26_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA22_; LA24_: ; { eqsink___ast_3549(&f_2, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA22_: ; { NIM_BOOL T30_; T30_ = (NIM_BOOL)0; T30_ = (f_2 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (T30_) goto LA31_; T30_ = isMetaType__ast_4084(f_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; LA31_: ; if (!T30_) goto LA32_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)5); eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&f_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA32_: ; } LA20_: ; T34_ = 0; reverseRel = typeRel__sigmatch_211(c, a_2, f_2, T34_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= reverseRel)) goto LA37_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)6); } LA37_: ; } goto LA12_; LA15_: ; { tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T40_; T40_ = 0; result = typeRel__sigmatch_211(c, f_2, a_2, T40_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA12_: ; { NIM_BOOL T43_; T43_ = (NIM_BOOL)0; T43_ = (result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4)); if (T43_) goto LA44_; T43_ = inconsistentVarTypes__sigmatch_950(f_2, a_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; LA44_: ; if (!T43_) goto LA45_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA45_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&f_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, procTypeRel__sigmatch_995)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25): { tyTuple__TR1Lwag49cRgFP1PPdWM2iw T33_; { NI T4_; NI T5_; T4_ = (NI)0; T4_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T5_ = (NI)0; T5_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!((T4_ == T5_))) goto LA6_; goto BeforeRet_; } LA6_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)1); { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T11_; if (!(i_2 < colontmp_)) goto LA10 ; i = i_2; T11_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T11_ = procParamTypeRel__sigmatch_966(c, (*f).sons.p->data[i], (*a).sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = minRel__sigmatch_866(result, T11_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA14_; goto BeforeRet_; } LA14_: ; i_2 += ((NI)1); } LA10: ; } } { if (!!(((*f).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA18_; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T24_; if (!!(((*a).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA22_; T24_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T24_ = procParamTypeRel__sigmatch_966(c, (*f).sons.p->data[((NI)0)], (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = minRel__sigmatch_866(result, T24_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA27_; goto BeforeRet_; } LA27_: ; } goto LA20_; LA22_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } LA20_: ; } goto LA16_; LA18_: ; { if (!!(((*a).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA31_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } goto LA16_; LA31_: ; LA16_: ; T33_ = getProcConvMismatch__types_3928((*(*(*c).c).graph).config, f, a, result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = T33_.Field1; { tyEnum_EffectsCompat__EJtIyX9bIkMPp9cVIoZCnMAA T36_; T36_ = (tyEnum_EffectsCompat__EJtIyX9bIkMPp9cVIoZCnMAA)0; T36_ = compatibleEffects__types_3648(f, a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!!((T36_ == ((tyEnum_EffectsCompat__EJtIyX9bIkMPp9cVIoZCnMAA)0)))) goto LA37_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); goto BeforeRet_; } LA37_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = allowsNil__sigmatch_943(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipToObject__sigmatch_765)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA* skipped) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* r; NI ptrs; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; r = NIM_NIL; eqcopy___ast_3546(&r, t); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; ptrs = ((NI)0); { while (1) { if (!!((r == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA3 ; switch ((*r).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9): { eqcopy___ast_3546(&r, (*r).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T6_; ptrs += ((NI)1); (*skipped) = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)1); T6_ = NIM_NIL; T6_ = lastSon__ast_4811(r); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&r, T6_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T8_; ptrs += ((NI)1); (*skipped) = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)2); T8_ = NIM_NIL; T8_ = lastSon__ast_4811(r); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&r, T8_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)4): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T10_; T10_ = NIM_NIL; T10_ = lastSon__ast_4811(r); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&r, T10_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; default: { goto LA2; } break; } } LA3: ; } LA2: ; { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = ((*r).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17)); if (!(T14_)) goto LA15_; T14_ = (ptrs <= ((NI)1)); LA15_: ; if (!T14_) goto LA16_; result = r; r = 0; } LA16_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&r); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericSubtype__sigmatch_811)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, NI* d, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fGenericOrigin) { NIM_BOOL result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* r; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* last; tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA askip; tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA fskip; NI depth; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; t = NIM_NIL; r = NIM_NIL; last = NIM_NIL; askip = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)0); fskip = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)0); t = skipToObject__sigmatch_765(a, (&askip)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; r = skipToObject__sigmatch_765(f, (&fskip)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(r == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA4_; result = NIM_FALSE; eqdestroy___ast_3543(&last); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&r); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA4_: ; depth = ((NI)0); eqcopy___ast_3546(&last, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { while (1) { NIM_BOOL T8_; NIM_BOOL T9_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T16_; T8_ = (NIM_BOOL)0; T9_ = (NIM_BOOL)0; T9_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T9_)) goto LA10_; T9_ = !(((*r).sym == (*t).sym)); LA10_: ; T8_ = T9_; if (!(T8_)) goto LA11_; T8_ = (askip == fskip); LA11_: ; if (!T8_) goto LA7 ; eqcopy___ast_3546(&t, (*t).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA14_; goto LA6; } LA14_: ; eqcopy___ast_3546(&last, t); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T16_ = NIM_NIL; T16_ = skipToObject__sigmatch_765(t, (&askip)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&t, T16_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; depth += ((NI)1); } LA7: ; } LA6: ; { NIM_BOOL T19_; T19_ = (NIM_BOOL)0; T19_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T19_)) goto LA20_; T19_ = (askip == fskip); LA20_: ; if (!T19_) goto LA21_; genericParamPut__sigmatch_683(c, last, fGenericOrigin); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*d) = depth; result = NIM_TRUE; } LA21_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&last); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&r); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, concreteType__sigmatch_469)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; switch ((*t).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8): { { if (!(*c).isNoCall) goto LA4_; eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA2_; LA4_: ; { result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); } LA2_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19): { { if (!((*(*t).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3))) goto LA10_; result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); } goto LA8_; LA10_: ; { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA8_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)62): { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { while (1) { RootObj* T16_; T16_ = NIM_NIL; T16_ = idTableGet__astalgo_65((*c).bindings, &t->Sup); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&result, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T16_))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(result == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA19_; goto LA14; } LA19_: ; { if (!!(((*result).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)))) goto LA23_; goto LA14; } LA23_: ; } } LA14: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9): { result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; colontmpD_ = NIM_NIL; { NIM_BOOL T29_; NIM_BOOL T30_; NI T32_; T29_ = (NIM_BOOL)0; T30_ = (NIM_BOOL)0; T30_ = !((f == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T30_)) goto LA31_; T32_ = (NI)0; T32_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T30_ = (((NI)0) < T32_); LA31_: ; T29_ = T30_; if (!(T29_)) goto LA33_; colontmpD_ = skipTypes__ast_4803((*f).sons.p->data[((NI)0)], TM__wjrA09aH0rT1R7zbrcCaROw_39); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T29_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25)); LA33_: ; if (!T29_) goto LA34_; result = lastSon__ast_4811(t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA27_; LA34_: ; { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA27_: ; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { eqcopy___ast_3546(&result, t); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7590)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* dest) { eqdestroy___stdZassertions_13((&(*dest).errorPrefix1)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLast((*dest).typeClass2); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).typeClass2); } LA4_: ; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = nimDecRefIsLastCyclicDyn((*dest).oldWriteHook3.ClE_0); if (!T8_) goto LA9_; nimDestroyAndDispose((*dest).oldWriteHook3.ClE_0); } LA9_: ; eqdestroy___system_3516((&(*dest).diagnostics4)); } static N_INLINE(void, add__system_2688)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t) { void** colontmp_; TNimTypeV2* colontmp__2; { tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; void* T5_; if (!((*s).cap <= (*s).len)) goto LA3_; (*s).cap = (NI)((NI)((*s).cap * ((NI)3)) / ((NI)2)); T5_ = (void*)0; T5_ = allocImpl__system_1735(((NI) ((NI)((*s).cap * ((NI)8))))); d = ((tyTuple__N4J9cV4JZGem3ljqqj5rT0Q*) (T5_)); copyMem__system_1719(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI)8))))); dealloc(((void*) ((*s).d))); (*s).d = d; } LA3_: ; colontmp_ = c; colontmp__2 = t; (*s).d[(*s).len].Field0 = colontmp_; (*s).d[(*s).len].Field1 = colontmp__2; (*s).len += ((NI)1); } static N_INLINE(void, nimTraceRefDyn)(void* q, void* env) { void** p; p = ((void**) (q)); { tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ* j; if (!!(((*p) == NIM_NIL))) goto LA3_; j = ((tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ*) (env)); add__system_2688((&(*j).traceStack), p, (*((TNimTypeV2**) ((*p))))); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqtrace___sigmatch_7599)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* dest, void* env) { nimTraceRefDyn((&(*dest).oldWriteHook3.ClE_0), env); } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_7615)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ** dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest)); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest)); } LA4_: ; } static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result; NI32 colontmpD_; NI32 colontmpD__2; nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw)); colontmpD_ = (NI32)0; colontmpD__2 = (NI32)0; (*x).symId += ((NI)1); nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw)); colontmpD_ = (*x).module; result.module = colontmpD_; colontmpD__2 = (*x).symId; result.item = colontmpD__2; return result; } static N_INLINE(void, addDeclAt__lookups_1044)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* scope, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); addDeclAt__lookups_1022(c, scope, sym, (*sym).info); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(void, addDecl__lookups_1052)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); addDeclAt__lookups_1044(c, (*c).currentScope, sym); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___sigmatch_1239)(NimStringV2 s, void* ClE_0) { tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* colonenvP_; NimStringV2 msg; NimStringV2 blitTmp; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); colonenvP_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ*) ClE_0; msg.len = 0; msg.p = NIM_NIL; { NimStringV2 T5_; if (!((*colonenvP_).errorPrefix1.len == ((NI)0))) goto LA3_; T5_.len = 0; T5_.p = NIM_NIL; T5_ = rawNewString((*(*(*(*colonenvP_).typeClass2).sym).name).s.len + 1); appendString((&T5_), (*(*(*(*colonenvP_).typeClass2).sym).name).s); appendString((&T5_), TM__wjrA09aH0rT1R7zbrcCaROw_47); eqsink___stdZassertions_19((&(*colonenvP_).errorPrefix1), T5_); } LA3_: ; msg = nsuReplaceStr(s, TM__wjrA09aH0rT1R7zbrcCaROw_49, (*colonenvP_).errorPrefix1); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!!(((*colonenvP_).oldWriteHook3.ClP_0 == TM__wjrA09aH0rT1R7zbrcCaROw_50.ClP_0 && (*colonenvP_).oldWriteHook3.ClE_0 == TM__wjrA09aH0rT1R7zbrcCaROw_50.ClE_0))) goto LA8_; (*colonenvP_).oldWriteHook3.ClE_0? (*colonenvP_).oldWriteHook3.ClP_0(msg, (*colonenvP_).oldWriteHook3.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_51)((*colonenvP_).oldWriteHook3.ClP_0))(msg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA8_: ; blitTmp = msg; add__stdZenumutils_69((&(*colonenvP_).diagnostics4), blitTmp); }BeforeRet_: ; } static N_INLINE(void, nimIncRefCyclic)(void* p, NIM_BOOL cyclic) { tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* h; NI T1_; T1_ = (NI)0; T1_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); h = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T1_)); (*h).rc += ((NI)16); } N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_7618)(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ** dest, tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* src, NIM_BOOL cyclic) { tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* colontmp_; colontmp_ = (*dest); { if (!src) goto LA3_; nimIncRefCyclic(src, cyclic); } LA3_: ; (*dest) = src; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = nimDecRefIsLastCyclicDyn(colontmp_); if (!T7_) goto LA8_; nimDestroyAndDispose(colontmp_); } LA8_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_1295)(tySequence__qfg9bPJ3gIhM2bdKOSVqNLA* dest) { NI colontmp_; colontmp_ = ((NI)0); { while (1) { NI T3_; T3_ = (*dest).len; if (!(colontmp_ < T3_)) goto LA2 ; { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = nimDecRefIsLast((*dest).p->data[colontmp_].Field0); if (!T6_) goto LA7_; nimDestroyAndDispose((*dest).p->data[colontmp_].Field0); } LA7_: ; { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = nimDecRefIsLast((*dest).p->data[colontmp_].Field1); if (!T11_) goto LA12_; nimDestroyAndDispose((*dest).p->data[colontmp_].Field1); } LA12_: ; colontmp_ += ((NI)1); } LA2: ; } if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) { alignedDealloc((*dest).p, NIM_ALIGNOF(tyTuple__9aq0VbgV1qcJ01voyU56UDw)); } } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, matchUserTypeClass__sigmatch_1061)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* colonenv_; tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body; tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw matchedConceptContext; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevCandidateType; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* colontmpD_; tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* T2_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_; tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw* prevMatchedConcept; tySequence__qfg9bPJ3gIhM2bdKOSVqNLA typeParams; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* checkedBody; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4; NIM_BOOL oldNimErrFin37_; NIM_BOOL oldNimErrFin26_; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags; NIM_BOOL collectDiagnostics; NIM_BOOL T75_; NIM_BOOL oldNimErrFin17_; NIM_BOOL oldNimErrFin16_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; colonenv_ = NIM_NIL; c = NIM_NIL; body = NIM_NIL; nimZeroMem((void*)(&matchedConceptContext), sizeof(tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw)); prevCandidateType = NIM_NIL; colontmpD_ = NIM_NIL; T2_ = NIM_NIL; T2_ = (tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ*) nimNewObj(sizeof(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ), NIM_ALIGNOF(tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ)); (*T2_).Sup.m_type = (&NTIv2__PD9aW11HeUq9a1eqUZIZ9a0aQ_); colonenv_ = T2_; eqcopy___semdata_2058(&c, (*m).c, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T3_ = NIM_NIL; T3_ = skipTypes__ast_4803(ff, TM__wjrA09aH0rT1R7zbrcCaROw_42); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&(*colonenv_).typeClass2, T3_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3457(&body, (*(*(*colonenv_).typeClass2).n)._kind_6.sons.p->data[((NI)3)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prevMatchedConcept = (*c).matchedConcept; eqcopy___ast_3546(&prevCandidateType, (*(*(*colonenv_).typeClass2).sons.p->data[((NI)0)]).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!((prevMatchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL)))) goto LA6_; matchedConceptContext.prev = prevMatchedConcept; matchedConceptContext.depth = (NI)((*prevMatchedConcept).depth + ((NI)1)); { NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; NimStringV2 T13_; if (!(((NI)4) < (*prevMatchedConcept).depth)) goto LA10_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; T13_.len = 0; T13_.p = NIM_NIL; colontmpD__2 = dollar___renderer_2511(body); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; T13_ = rawNewString(colontmpD__2.len + 29); appendString((&T13_), colontmpD__2); appendString((&T13_), TM__wjrA09aH0rT1R7zbrcCaROw_44); colontmpD__3 = T13_; liMessage__msgs_1172((*(*(*m).c).graph).config, (*body).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_45, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___lookups_79(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&prevCandidateType); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_1271((&matchedConceptContext)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&body); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_7615(&colonenv_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA12_:; } { eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA10_: ; } LA6_: ; colontmpD_ = openScope__lookups_76(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&matchedConceptContext.candidateType, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&(*(*(*colonenv_).typeClass2).sons.p->data[((NI)0)]).sons.p->data[((NI)0)], a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*c).matchedConcept = (&matchedConceptContext); typeParams.len = 0; typeParams.p = NIM_NIL; checkedBody = NIM_NIL; colontmpD__4 = NIM_NIL; { if (!((*ff).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)53))) goto LA20_; { NI i; NI colontmp_; NI T23_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T23_ = (NI)0; T23_ = len__ast_5071(ff); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; colontmp_ = (NI)(T23_ - ((NI)1)); i_2 = ((NI)1); { while (1) { tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* typeParamName; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* param; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* alreadyBound; RootObj* T27_; if (!(i_2 < colontmp_)) goto LA25 ; typeParamName = NIM_NIL; colontmpD__5 = NIM_NIL; typ = NIM_NIL; param = NIM_NIL; alreadyBound = NIM_NIL; i = i_2; colontmpD__5 = base__types_64(ff); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqcopy___idents_136(&typeParamName, (*(*(*colontmpD__5).sons.p->data[(NI)(i - ((NI)1))]).sym).name); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqcopy___ast_3546(&typ, (*ff).sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; param = 0; T27_ = NIM_NIL; T27_ = idTableGet__astalgo_65((*m).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&(typ))))); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; alreadyBound = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T27_)); { if (!!((alreadyBound == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA30_; eqsink___ast_3549(&typ, alreadyBound); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; alreadyBound = 0; } LA30_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__6; tyTuple__9aq0VbgV1qcJ01voyU56UDw T72_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* blitTmp; colontmpD__6 = NIM_NIL; { tyTuple__9aq0VbgV1qcJ01voyU56UDw* prev; NI i_3; NI L; NI T34_; prev = (tyTuple__9aq0VbgV1qcJ01voyU56UDw*)0; i_3 = ((NI)0); T34_ = typeParams.len; L = T34_; { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym167_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym168_; if (!(i_3 < L)) goto LA36 ; xX60gensym167_ = NIM_NIL; xX60gensym168_ = NIM_NIL; prev = (&typeParams.p->data[i_3]); { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T42_; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T43_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T44_; eqcopy___ast_3546(&xX60gensym167_, (*prev).Field1); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; eqcopy___ast_3546(&xX60gensym168_, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym167_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym167_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym168_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym168_).Sup.itemId.item))))) goto LA40_; T42_ = nextSymId__ast_3268((*c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; T43_ = 0; T44_ = NIM_NIL; T44_ = newSym__ast_4028((*(*prev).Field0).kind, typeParamName, T42_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, T43_); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; eqsink___ast_4066(¶m, T44_); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; eqcopy___ast_3546(&(*param).typ, (*(*prev).Field0).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA37_; eqdestroy___ast_3543(&xX60gensym168_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqdestroy___ast_3543(&xX60gensym167_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; goto LA32; } LA40_: ; i_3 += ((NI)1); { LA37_:; } { oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&xX60gensym168_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqdestroy___ast_3543(&xX60gensym167_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; *nimErr_ = oldNimErrFin37_; } if (NIM_UNLIKELY(*nimErr_)) goto LA26_; } LA36: ; } } switch ((*typ).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60): { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T48_; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T49_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T50_; T48_ = nextSymId__ast_3268((*c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T49_ = 0; param = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)10), typeParamName, T48_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, T49_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T50_ = NIM_NIL; T50_ = exactReplica__ast_5137(typ); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqsink___ast_3549(&(*param).typ, T50_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; { if (!((*typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA53_; (*(*param).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)27))) & 63); } goto LA51_; LA53_: ; { eqcopy___ast_3457(&(*param).ast, (*typ).n); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; } LA51_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)61): { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T57_; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T58_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T59_; T57_ = nextSymId__ast_3268((*c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T58_ = 0; param = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), typeParamName, T57_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, T58_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T59_ = NIM_NIL; T59_ = exactReplica__ast_5137(typ); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqsink___ast_3549(&(*param).typ, T59_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; } break; default: { tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T61_; tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T62_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T63_; T61_ = nextSymId__ast_3268((*c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T62_ = 0; param = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7), typeParamName, T61_, (*(*colonenv_).typeClass2).sym, (*(*(*colonenv_).typeClass2).sym).info, T62_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T63_ = NIM_NIL; { NIM_BOOL T66_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ colontmpD__8; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T69_; T66_ = (NIM_BOOL)0; T66_ = isMetaType__ast_4084(typ); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; if (!T66_) goto LA67_; colontmpD__7 = NIM_NIL; colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL; colontmpD__8.len = 1; colontmpD__8.p = (tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content*) newSeqPayload(1, sizeof(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*), NIM_ALIGNOF(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*)); colontmpD__7 = 0; eqcopy___ast_3546(&colontmpD__7, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; colontmpD__8.p->data[0] = colontmpD__7; T69_ = NIM_NIL; T69_ = newTypeWithSons__semdata_2435(c, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)55), colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqsink___ast_3549(&(*param).typ, T69_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqdestroy___ast_3490((&colontmpD__8)); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; } goto LA64_; LA67_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T71_; T71_ = NIM_NIL; T71_ = makeTypeDesc__concepts_50(c, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; eqsink___ast_3549(&(*param).typ, T71_); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; } LA64_: ; } break; } nimZeroMem((void*)(&T72_), sizeof(tyTuple__9aq0VbgV1qcJ01voyU56UDw)); colontmpD__6 = 0; eqcopy___ast_4063(&colontmpD__6, param); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; T72_.Field0 = colontmpD__6; blitTmp = typ; typ = 0; T72_.Field1 = blitTmp; add__sigmatch_1154((&typeParams), T72_); } LA32: ; addDecl__lookups_1052(c, param); if (NIM_UNLIKELY(*nimErr_)) goto LA26_; i_2 += ((NI)1); { LA26_:; } { oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&alreadyBound); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqdestroy___ast_4060(¶m); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqdestroy___ast_3543(&typ); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqdestroy___ast_3543(&colontmpD__5); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqdestroy___idents_133(&typeParamName); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; *nimErr_ = oldNimErrFin26_; } if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA25: ; } } } LA20_: ; flags = 0; T75_ = (NIM_BOOL)0; T75_ = (*m).diagnosticsEnabled; if (T75_) goto LA76_; T75_ = (((*(*(*colonenv_).typeClass2).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)23)))&63U)))!=0); LA76_: ; collectDiagnostics = T75_; { tyObject_Env_sigmatchdotnim_matchUserTypeClass___PD9aW11HeUq9a1eqUZIZ9a0aQ* colontmpD__9; tySequence__sM4lkSb7zS6F7OVMvW9cffQ T81_; tyProc__k2HFjxisIgDALbEUFojxaQ T82_; if (!collectDiagnostics) goto LA79_; colontmpD__9 = NIM_NIL; eqcopy___sigmatch_1394((&(*colonenv_).oldWriteHook3), (*(*(*(*m).c).graph).config).writelnHook, NIM_TRUE); T81_.len = 0; T81_.p = NIM_NIL; T81_.len = 0; T81_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2)); eqsink___system_3522((&(*colonenv_).diagnostics4), T81_); flags = 1024; colontmpD__9 = 0; eqcopy___sigmatch_7618(&colontmpD__9, colonenv_, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; nimZeroMem((void*)(&T82_), sizeof(tyProc__k2HFjxisIgDALbEUFojxaQ)); T82_.ClP_0 = colonanonymous___sigmatch_1239; T82_.ClE_0 = colontmpD__9; eqsink___sigmatch_1398((&(*(*(*(*m).c).graph).config).writelnHook), T82_); } LA79_: ; colontmpD__4 = copyTree__ast_5856(body); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; checkedBody = (*c).semTryExpr(c, colontmpD__4, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { if (!collectDiagnostics) goto LA85_; eqcopy___sigmatch_1394((&(*(*(*(*m).c).graph).config).writelnHook), (*colonenv_).oldWriteHook3, NIM_TRUE); { NimStringV2* msg; NI i_4; NI L_2; NI T88_; msg = (NimStringV2*)0; i_4 = ((NI)0); T88_ = (*colonenv_).diagnostics4.len; L_2 = T88_; { while (1) { NimStringV2 colontmpD__10; if (!(i_4 < L_2)) goto LA90 ; colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL; msg = (&(*colonenv_).diagnostics4.p->data[i_4]); colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD__10), (*msg)); add__stdZenumutils_69((&(*m).diagnostics), colontmpD__10); (*m).diagnosticsEnabled = NIM_TRUE; i_4 += ((NI)1); } LA90: ; } } } LA85_: ; { if (!(checkedBody == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA93_; result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); eqdestroy___ast_3454(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; eqdestroy___ast_3454(&checkedBody); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; eqdestroy___sigmatch_1295((&typeParams)); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; (*c).matchedConcept = prevMatchedConcept; eqsink___ast_3549(&(*(*(*colonenv_).typeClass2).sons.p->data[((NI)0)]).sons.p->data[((NI)0)], prevCandidateType); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prevCandidateType = 0; closeScope__lookups_110(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___lookups_79(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&prevCandidateType); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_1271((&matchedConceptContext)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&body); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_7615(&colonenv_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA93_: ; { tyTuple__9aq0VbgV1qcJ01voyU56UDw* p; NI i_5; NI L_3; NI T96_; p = (tyTuple__9aq0VbgV1qcJ01voyU56UDw*)0; i_5 = ((NI)0); T96_ = typeParams.len; L_3 = T96_; { while (1) { if (!(i_5 < L_3)) goto LA98 ; p = (&typeParams.p->data[i_5]); put__sigmatch_128(m, (*p).Field1, (*(*p).Field0).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; i_5 += ((NI)1); } LA98: ; } } { if (!((*ff).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)53))) goto LA101_; result = generateTypeInstance__semtypinst_1107(c, (*m).bindings, (*(*(*colonenv_).typeClass2).sym).info, ff); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } goto LA99_; LA101_: ; { result = exactReplica__ast_5137(ff); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA99_: ; eqsink___ast_3460(&(*result).n, checkedBody); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; checkedBody = 0; { LA17_:; } { oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; eqdestroy___ast_3454(&checkedBody); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; eqdestroy___sigmatch_1295((&typeParams)); if (NIM_UNLIKELY(*nimErr_)) goto LA16_; *nimErr_ = oldNimErrFin17_; } if (NIM_UNLIKELY(*nimErr_)) goto LA16_; { LA16_:; } { oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE; (*c).matchedConcept = prevMatchedConcept; eqsink___ast_3549(&(*(*(*colonenv_).typeClass2).sons.p->data[((NI)0)]).sons.p->data[((NI)0)], prevCandidateType); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prevCandidateType = 0; closeScope__lookups_110(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin16_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&prevCandidateType); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_1271((&matchedConceptContext)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&body); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_7615(&colonenv_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x) { addInt__stdZprivateZdigitsutils_176(result, ((NI64) (x))); } static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) { NimStringV2 result; result.len = 0; result.p = NIM_NIL; prepareAdd((&result), info.Field0.len + 0); appendString((&result), info.Field0); { if (!(((NI)0) < info.Field1)) goto LA3_; prepareAdd((&result), 1); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_53); addInt__stdZprivateZdigitsutils_198((&result), info.Field1); { if (!(((NI)0) < (NI)(info.Field2 + ((NI)1)))) goto LA7_; prepareAdd((&result), 2); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_55); addInt__stdZprivateZdigitsutils_198((&result), (NI)(info.Field2 + ((NI)1))); } LA7_: ; prepareAdd((&result), 1); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_57); } LA3_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, typeRel__sigmatch_211)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aOrig, tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA flags) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aOrig_2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; NIM_BOOL useTypeLoweringRuleInTypeClass; NIM_BOOL T10_; NIM_BOOL T11_; NIM_BOOL T12_; NIM_BOOL T13_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T18_; NIM_BOOL oldNimErrFin49_; NIM_BOOL oldNimErrFin41_; NIM_BOOL oldNimErrFin28_; NIM_BOOL oldNimErrFin69_; NIM_BOOL oldNimErrFin78_; NIM_BOOL oldNimErrFin85_; NIM_BOOL oldNimErrFin122_; NIM_BOOL oldNimErrFin173_; NIM_BOOL oldNimErrFin237_; NIM_BOOL oldNimErrFin241_; NIM_BOOL oldNimErrFin222_; NIM_BOOL oldNimErrFin258_; NIM_BOOL oldNimErrFin262_; NIM_BOOL oldNimErrFin253_; NIM_BOOL oldNimErrFin275_; NIM_BOOL oldNimErrFin333_; NIM_BOOL oldNimErrFin350_; NIM_BOOL oldNimErrFin358_; NIM_BOOL oldNimErrFin366_; NIM_BOOL oldNimErrFin389_; NIM_BOOL oldNimErrFin416_; NIM_BOOL oldNimErrFin442_; NIM_BOOL oldNimErrFin473_; NIM_BOOL oldNimErrFin541_; NIM_BOOL oldNimErrFin547_; NIM_BOOL oldNimErrFin583_; NIM_BOOL oldNimErrFin636_; NIM_BOOL oldNimErrFin703_; NIM_BOOL oldNimErrFin732_; NIM_BOOL oldNimErrFin745_; NIM_BOOL oldNimErrFin790_; NIM_BOOL oldNimErrFin773_; NIM_BOOL oldNimErrFin833_; NIM_BOOL oldNimErrFin858_; NIM_BOOL oldNimErrFin828_; NIM_BOOL oldNimErrFin763_; NIM_BOOL oldNimErrFin875_; NIM_BOOL oldNimErrFin751_; NIM_BOOL oldNimErrFin893_; NIM_BOOL oldNimErrFin887_; NIM_BOOL oldNimErrFin936_; NIM_BOOL oldNimErrFin1017_; NIM_BOOL oldNimErrFin1007_; NIM_BOOL oldNimErrFin991_; NIM_BOOL oldNimErrFin916_; NIM_BOOL oldNimErrFin1057_; NIM_BOOL oldNimErrFin1087_; NIM_BOOL oldNimErrFin1118_; NIM_BOOL oldNimErrFin1147_; NIM_BOOL oldNimErrFin1141_; NIM_BOOL oldNimErrFin1166_; NIM_BOOL oldNimErrFin1160_; NIM_BOOL oldNimErrFin1189_; NIM_BOOL oldNimErrFin1199_; NIM_BOOL oldNimErrFin1193_; NIM_BOOL oldNimErrFin1250_; NIM_BOOL oldNimErrFin1264_; NIM_BOOL oldNimErrFin1239_; NIM_BOOL oldNimErrFin1233_; NIM_BOOL oldNimErrFin1304_; NIM_BOOL oldNimErrFin1336_; NIM_BOOL oldNimErrFin1358_; NIM_BOOL oldNimErrFin1377_; NIM_BOOL oldNimErrFin1277_; NIM_BOOL oldNimErrFin1426_; NIM_BOOL oldNimErrFin1449_; NIM_BOOL oldNimErrFin1458_; NIM_BOOL oldNimErrFin1443_; NIM_BOOL oldNimErrFin1421_; NIM_BOOL oldNimErrFin1480_; NIM_BOOL oldNimErrFin1475_; NIM_BOOL oldNimErrFin1498_; NIM_BOOL oldNimErrFin1411_; NIM_BOOL oldNimErrFin1530_; NIM_BOOL oldNimErrFin1517_; NIM_BOOL oldNimErrFin1562_; NIM_BOOL oldNimErrFin1546_; NIM_BOOL oldNimErrFin1576_; NIM_BOOL oldNimErrFin1582_; NIM_BOOL oldNimErrFin1540_; NIM_BOOL oldNimErrFin1603_; NIM_BOOL oldNimErrFin1607_; NIM_BOOL oldNimErrFin1595_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; aOrig_2 = NIM_NIL; a = NIM_NIL; colontmpD_ = NIM_NIL; colontmpD__2 = NIM_NIL; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6))) goto LA4_; { if (!!((aOrig == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA8_; put__sigmatch_128(c, f, aOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA8_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA4_: ; T10_ = (NIM_BOOL)0; T11_ = (NIM_BOOL)0; T12_ = (NIM_BOOL)0; T13_ = (NIM_BOOL)0; T13_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL))); if (!(T13_)) goto LA14_; T13_ = !((*c).isNoCall); LA14_: ; T12_ = T13_; if (!(T12_)) goto LA15_; T12_ = !(((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))); LA15_: ; T11_ = T12_; if (!(T11_)) goto LA16_; T11_ = !((((*aOrig).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)29)))&63U)))!=0)); LA16_: ; T10_ = T11_; if (!(T10_)) goto LA17_; T10_ = !((((*aOrig).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)28)))&63U)))!=0)); LA17_: ; useTypeLoweringRuleInTypeClass = T10_; T18_ = NIM_NIL; { if (!useTypeLoweringRuleInTypeClass) goto LA21_; aOrig_2 = skipTypes__ast_4803(aOrig, TM__wjrA09aH0rT1R7zbrcCaROw_17); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA19_; LA21_: ; { eqcopy___ast_3546(&aOrig_2, aOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA19_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T29_; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)55))) goto LA26_; prev = NIM_NIL; T29_ = NIM_NIL; { NI T32_; T32_ = (*aOrig_2).sons.len; if (!(((NI)1) < T32_)) goto LA33_; prev = lastSon__ast_4811(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; } goto LA30_; LA33_: ; { prev = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); } LA30_: ; { if (!!((prev == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA38_; result = typeRel__sigmatch_211(c, f, prev, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; eqdestroy___ast_3543(&prev); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA36_; LA38_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* candidate; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3; candidate = NIM_NIL; colontmpD__3 = NIM_NIL; eqcopy___ast_3546(&candidate, f); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; switch ((*f).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_2; RootObj* T43_; prev_2 = NIM_NIL; T43_ = NIM_NIL; T43_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; prev_2 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T43_)); { if (!!((prev_2 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA46_; eqsink___ast_3549(&candidate, prev_2); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; prev_2 = 0; } LA46_: ; eqdestroy___ast_3543(&prev_2); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)61): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* computedType; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4; computedType = NIM_NIL; colontmpD__4 = NIM_NIL; colontmpD__4 = tryResolvingStaticExpr__sigmatch_1453(c, (*f).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; eqcopy___ast_3546(&computedType, (*colontmpD__4).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; switch ((*computedType).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T51_; T51_ = NIM_NIL; T51_ = base__types_64(computedType); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; eqsink___ast_3549(&candidate, T51_); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60): { eqsink___ast_3549(&candidate, computedType); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; computedType = 0; } break; default: { } break; } { LA49_:; } { oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; eqdestroy___ast_3543(&computedType); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; *nimErr_ = oldNimErrFin49_; } if (NIM_UNLIKELY(*nimErr_)) goto LA41_; } break; default: { } break; } colontmpD__3 = base__types_64(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; result = typeRel__sigmatch_211(c, colontmpD__3, candidate, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5; if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA59_; colontmpD__5 = NIM_NIL; colontmpD__5 = 0; eqcopy___ast_3546(&colontmpD__5, aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; add__ast_5673((&(*c).inferredTypes), colontmpD__5); add__concepts_24(aOrig_2, candidate); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA59_: ; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; eqdestroy___ast_3543(&candidate); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; eqdestroy___ast_3543(&prev); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA41_:; } { oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; eqdestroy___ast_3543(&candidate); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; *nimErr_ = oldNimErrFin41_; } if (NIM_UNLIKELY(*nimErr_)) goto LA28_; } LA36_: ; { LA28_:; } { oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prev); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin28_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA26_: ; colontmpD_ = skipTypes__ast_4803(aOrig_2, TM__wjrA09aH0rT1R7zbrcCaROw_18); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; a = maybeSkipDistinct__sigmatch_1436((&(*c)), colontmpD_, (*c).calleeSym); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__6; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)4) || (*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46))) goto LA67_; colontmpD__6 = NIM_NIL; colontmpD__6 = lastSon__ast_4811(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA69_; result = typeRel__sigmatch_211(c, f, colontmpD__6, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA69_; eqdestroy___ast_3543(&colontmpD__6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA69_:; } { oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin69_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA67_: ; { NIM_BOOL T74_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7; T74_ = (NIM_BOOL)0; T74_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); if (!(T74_)) goto LA75_; colontmpD__2 = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_18); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T74_ = !(((*colontmpD__2).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12) || (*colontmpD__2).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)54) || (*colontmpD__2).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56) && (*colontmpD__2).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))); LA75_: ; if (!T74_) goto LA76_; colontmpD__7 = NIM_NIL; colontmpD__7 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA78_; result = typeRel__sigmatch_211(c, f, colontmpD__7, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA78_; eqdestroy___ast_3543(&colontmpD__7); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA78_:; } { oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__7); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin78_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA76_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__8; if (!(((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)10)))&63U)))!=0)) goto LA83_; colontmpD__8 = NIM_NIL; colontmpD__8 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; result = typeRel__sigmatch_211(c, f, colontmpD__8, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; eqdestroy___ast_3543(&colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA85_:; } { oldNimErrFin85_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin85_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA83_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)57): { (*c).typedescMatched = NIM_TRUE; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch; NI i; NI L; NI T90_; branch = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i = ((NI)0); T90_ = (*a).sons.len; L = T90_; { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ x; if (!(i < L)) goto LA92 ; branch = &(*a).sons.p->data[i]; x = typeRel__sigmatch_211(c, f, (*branch), (flags | 1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(x == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA95_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA95_: ; { if (!(x < result)) goto LA99_; result = x; } LA99_: ; i += ((NI)1); } LA92: ; } } eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56): { (*c).typedescMatched = NIM_TRUE; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch_2; NI i_2; NI L_2; NI T103_; branch_2 = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i_2 = ((NI)0); T103_ = (*a).sons.len; L_2 = T103_; { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ x_2; if (!(i_2 < L_2)) goto LA105 ; branch_2 = &(*a).sons.p->data[i_2]; x_2 = typeRel__sigmatch_211(c, f, (*branch_2), (flags | 1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__9; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__10; if (!!((x_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA108_; colontmpD__9 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__10 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= x_2)) goto LA112_; colontmpD__9 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__9; } goto LA110_; LA112_: ; { colontmpD__10 = x_2; result = colontmpD__10; } LA110_: ; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA108_: ; i_2 += ((NI)1); } LA105: ; } } result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64): { { if (!!(((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64)))) goto LA118_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA118_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)58): { switch ((*f).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)58): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__11; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__12; colontmpD__11 = NIM_NIL; colontmpD__12 = NIM_NIL; colontmpD__11 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA122_; colontmpD__12 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA122_; result = typeRel__sigmatch_211(c, colontmpD__11, colontmpD__12, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA122_; eqdestroy___ast_3543(&colontmpD__12); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA122_:; } { oldNimErrFin122_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__12); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin122_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; default: { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__13; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__14; colontmpD__13 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__14 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))) goto LA128_; colontmpD__13 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__13; } goto LA126_; LA128_: ; { colontmpD__14 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); result = colontmpD__14; } LA126_: ; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59): { { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))) goto LA134_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA132_; LA134_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA132_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)52): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)53): { { NIM_BOOL T140_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ x_3; T140_ = (NIM_BOOL)0; T140_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL))); if (!(T140_)) goto LA141_; T140_ = ((*(*(*c).c).matchedConcept).depth <= ((NI)4)); LA141_: ; if (!T140_) goto LA142_; (*(*(*c).c).matchedConcept).depth += ((NI)1); x_3 = typeRel__sigmatch_211(c, a, f, (flags | 1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= x_3)) goto LA146_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA146_: ; } LA142_: ; } break; default: { } break; } switch ((*f).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__15; colontmpD__15 = NIM_NIL; { NIM_BOOL T152_; T152_ = (NIM_BOOL)0; T152_ = ((*a).kind == (*f).kind); if (!(T152_)) goto LA153_; T152_ = sameEnumTypes__types_2273(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; LA153_: ; if (!T152_) goto LA154_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA150_; LA154_: ; { NIM_BOOL T157_; colontmpD__15 = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T157_ = (NIM_BOOL)0; T157_ = sameEnumTypes__types_2273(f, colontmpD__15); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T157_) goto LA158_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA150_; LA158_: ; LA150_: ; eqdestroy___ast_3543(&colontmpD__15); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__16; colontmpD__16 = NIM_NIL; { if (!((*a).kind == (*f).kind)) goto LA163_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA161_; LA163_: ; { colontmpD__16 = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!((*colontmpD__16).kind == (*f).kind)) goto LA166_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA161_; LA166_: ; LA161_: ; eqdestroy___ast_3543(&colontmpD__16); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__17; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__18; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__19; if (!((*a).kind == (*f).kind)) goto LA171_; colontmpD__17 = NIM_NIL; colontmpD__18 = NIM_NIL; colontmpD__19 = NIM_NIL; { colontmpD__17 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; if (!((*colontmpD__17).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))) goto LA176_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&colontmpD__19); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__18); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__17); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA176_: ; colontmpD__18 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; colontmpD__19 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; result = typeRel__sigmatch_211(c, colontmpD__18, colontmpD__19, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0) || result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)))) goto LA180_; { NI i_3; NI res; i_3 = (NI)0; res = ((NI)0); { while (1) { if (!(res <= ((NI)1))) goto LA184 ; i_3 = res; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T189_; if (!((*(*(*f).n)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)62))) goto LA187_; T189_ = NIM_NIL; T189_ = tryResolvingStaticExpr__sigmatch_1453(c, (*(*f).n)._kind_6.sons.p->data[i_3], NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; eqsink___ast_3460(&(*(*f).n)._kind_6.sons.p->data[i_3], T189_); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; } LA187_: ; res += ((NI)1); } LA184: ; } } result = typeRangeRel__sigmatch_1049(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; } LA180_: ; { LA173_:; } { oldNimErrFin173_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__19); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__18); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__17); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin173_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA169_; LA171_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f_2; f_2 = NIM_NIL; f_2 = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T195_; NIM_BOOL T197_; T195_ = (NIM_BOOL)0; T195_ = ((*f_2).kind == (*a).kind); if (!(T195_)) goto LA196_; T197_ = (NIM_BOOL)0; T197_ = !(((*f_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14))); if (T197_) goto LA198_; T197_ = sameEnumTypes__types_2273(f_2, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; LA198_: ; T195_ = T197_; LA196_: ; if (!T195_) goto LA199_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2); } goto LA193_; LA199_: ; { NIM_BOOL T202_; T202_ = (NIM_BOOL)0; T202_ = isConvertibleToRange__sigmatch_604((*c).c, f_2, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T202_) goto LA203_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA193_; LA203_: ; LA193_: ; eqdestroy___ast_3543(&f_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA169_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31): { tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T206_; T206_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T206_ = targetSizeSignedToKind__types_1494((*(*(*c).c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32), T206_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40): { tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ T212_; T212_ = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0; T212_ = targetSizeUnsignedToKind__types_1497((*(*(*c).c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41), T212_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)42)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44): { result = handleRange__sigmatch_502((*c).c, f, a, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40), ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36): { result = handleFloatRange__sigmatch_657(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37): { result = handleFloatRange__sigmatch_657(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)38): { result = handleFloatRange__sigmatch_657(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39): { result = handleFloatRange__sigmatch_657(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23): { tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA colontmpD__20; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA colontmpD__21; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__22; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__23; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA flags_2; nimZeroMem((void*)(&colontmpD__20), sizeof(tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)); nimZeroMem((void*)(&colontmpD__21), sizeof(tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)); colontmpD__22 = NIM_NIL; colontmpD__23 = NIM_NIL; { NIM_BOOL T225_; T225_ = (NIM_BOOL)0; T225_ = isOutParam__ast_6694(f); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; if (!T225_) goto LA226_; colontmpD__20 = (flags | 8); flags_2 = colontmpD__20; } goto LA223_; LA226_: ; { colontmpD__21 = flags; flags_2 = colontmpD__21; } LA223_: ; { NIM_BOOL T231_; NIM_BOOL T233_; NIM_BOOL T234_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__24; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__25; T231_ = (NIM_BOOL)0; T231_ = ((*aOrig_2).kind == (*f).kind); if (!(T231_)) goto LA232_; T233_ = (NIM_BOOL)0; T233_ = isOutParam__ast_6694(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; T234_ = (NIM_BOOL)0; T234_ = isOutParam__ast_6694(f); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; T231_ = (T233_ == T234_); LA232_: ; if (!T231_) goto LA235_; colontmpD__24 = NIM_NIL; colontmpD__25 = NIM_NIL; colontmpD__24 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA237_; colontmpD__25 = base__types_64(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA237_; result = typeRel__sigmatch_211(c, colontmpD__24, colontmpD__25, flags_2); if (NIM_UNLIKELY(*nimErr_)) goto LA237_; { LA237_:; } { oldNimErrFin237_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__25); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; eqdestroy___ast_3543(&colontmpD__24); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; *nimErr_ = oldNimErrFin237_; } if (NIM_UNLIKELY(*nimErr_)) goto LA222_; } goto LA229_; LA235_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__26; colontmpD__26 = NIM_NIL; colontmpD__26 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA241_; result = typeRel__sigmatch_211(c, colontmpD__26, aOrig_2, (flags_2 | 2)); if (NIM_UNLIKELY(*nimErr_)) goto LA241_; { LA241_:; } { oldNimErrFin241_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__26); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; *nimErr_ = oldNimErrFin241_; } if (NIM_UNLIKELY(*nimErr_)) goto LA222_; } LA229_: ; { NIM_BOOL T246_; T246_ = (NIM_BOOL)0; T246_ = (result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4)); if (!(T246_)) goto LA247_; colontmpD__22 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; colontmpD__23 = skipTypes__ast_4803(colontmpD__22, abstractInst__ast_358); if (NIM_UNLIKELY(*nimErr_)) goto LA222_; T246_ = ((*colontmpD__23).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD__23).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*colontmpD__23).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*colontmpD__23).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*colontmpD__23).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)); LA247_: ; if (!T246_) goto LA248_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA248_: ; { LA222_:; } { oldNimErrFin222_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__23); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__22); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin222_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__27; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__28; colontmpD__27 = NIM_NIL; colontmpD__28 = NIM_NIL; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__29; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__30; if (!((*aOrig_2).kind == (*f).kind)) goto LA256_; colontmpD__29 = NIM_NIL; colontmpD__30 = NIM_NIL; colontmpD__29 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA258_; colontmpD__30 = base__types_64(aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA258_; result = typeRel__sigmatch_211(c, colontmpD__29, colontmpD__30, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA258_; { LA258_:; } { oldNimErrFin258_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__30); if (NIM_UNLIKELY(*nimErr_)) goto LA253_; eqdestroy___ast_3543(&colontmpD__29); if (NIM_UNLIKELY(*nimErr_)) goto LA253_; *nimErr_ = oldNimErrFin258_; } if (NIM_UNLIKELY(*nimErr_)) goto LA253_; } goto LA254_; LA256_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__31; colontmpD__31 = NIM_NIL; colontmpD__31 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA262_; result = typeRel__sigmatch_211(c, colontmpD__31, aOrig_2, (flags | 2)); if (NIM_UNLIKELY(*nimErr_)) goto LA262_; { LA262_:; } { oldNimErrFin262_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__31); if (NIM_UNLIKELY(*nimErr_)) goto LA253_; *nimErr_ = oldNimErrFin262_; } if (NIM_UNLIKELY(*nimErr_)) goto LA253_; } LA254_: ; { NIM_BOOL T267_; T267_ = (NIM_BOOL)0; T267_ = (result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4)); if (!(T267_)) goto LA268_; colontmpD__27 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA253_; colontmpD__28 = skipTypes__ast_4803(colontmpD__27, abstractInst__ast_358); if (NIM_UNLIKELY(*nimErr_)) goto LA253_; T267_ = ((*colontmpD__28).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD__28).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*colontmpD__28).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*colontmpD__28).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*colontmpD__28).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)); LA268_: ; if (!T267_) goto LA269_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA269_: ; { LA253_:; } { oldNimErrFin253_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__28); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__27); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin253_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16): { switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fRange; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aRange; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa; fRange = NIM_NIL; aRange = NIM_NIL; ff = NIM_NIL; aa = NIM_NIL; eqcopy___ast_3546(&fRange, (*f).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; eqcopy___ast_3546(&aRange, (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_3; RootObj* T280_; if (!((*fRange).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA278_; prev_3 = NIM_NIL; T280_ = NIM_NIL; T280_ = idTableGet__astalgo_65((*c).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&(fRange))))); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; prev_3 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T280_)); { if (!(prev_3 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA283_; put__sigmatch_128(c, fRange, (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; eqcopy___ast_3546(&fRange, a); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; } goto LA281_; LA283_: ; { eqsink___ast_3549(&fRange, prev_3); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; prev_3 = 0; } LA281_: ; eqdestroy___ast_3543(&prev_3); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; } LA278_: ; ff = skipTypes__ast_4803((*f).sons.p->data[((NI)1)], TM__wjrA09aH0rT1R7zbrcCaROw_17); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; eqcopy___ast_3546(&aa, (*a).sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; { NIM_BOOL T288_; T288_ = (NIM_BOOL)0; T288_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))); if (!(T288_)) goto LA289_; T288_ = ((*aa).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3)); LA289_: ; if (!T288_) goto LA290_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA286_; LA290_: ; { result = typeRel__sigmatch_211(c, ff, aa, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; } LA286_: ; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA295_; { NIM_BOOL T299_; NIM_BOOL T300_; NIM_BOOL T301_; T299_ = (NIM_BOOL)0; T300_ = (NIM_BOOL)0; T301_ = (NIM_BOOL)0; T301_ = NIM_FALSE; if (!(T301_)) goto LA302_; T301_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)1)))&7U)))!=0)); LA302_: ; T300_ = T301_; if (!(T300_)) goto LA303_; T300_ = ((*ff).kind == (*aa).kind); LA303_: ; T299_ = T300_; if (!(T299_)) goto LA304_; T299_ = isCovariantPtr__sigmatch_1631(c, ff, aa); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; LA304_: ; if (!T299_) goto LA305_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA297_; LA305_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&aRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&fRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA297_: ; } LA295_: ; { if (!(((*fRange).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)9)))&63U)))!=0)) goto LA310_; result = inferStaticsInRange__sigmatch_1596(c, fRange, a); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&aRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&fRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA308_; LA310_: ; { NIM_BOOL T313_; T313_ = (NIM_BOOL)0; T313_ = !(((*(*c).c).matchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL))); if (!(T313_)) goto LA314_; T313_ = (((*aRange).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)9)))&63U)))!=0); LA314_: ; if (!T313_) goto LA315_; result = inferStaticsInRange__sigmatch_1596(c, aRange, f); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&aRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&fRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA308_; LA315_: ; { { tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T320_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T321_; NIM_BOOL T322_; T320_ = lengthOrd__types_1706((*(*(*c).c).graph).config, fRange); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; T321_ = lengthOrd__types_1706((*(*(*c).c).graph).config, aRange); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; T322_ = (NIM_BOOL)0; T322_ = eqeq___int495056_317(T320_, T321_); if (NIM_UNLIKELY(*nimErr_)) goto LA275_; if (!!(T322_)) goto LA323_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA323_: ; } LA308_: ; { LA275_:; } { oldNimErrFin275_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&aRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&fRange); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin275_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)49): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__32; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__33; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)49))) goto LA331_; colontmpD__32 = NIM_NIL; colontmpD__33 = NIM_NIL; colontmpD__32 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA333_; colontmpD__33 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA333_; result = typeRel__sigmatch_211(c, colontmpD__32, colontmpD__33, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA333_; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA336_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA336_: ; { LA333_:; } { oldNimErrFin333_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__33); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__32); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin333_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA329_; LA331_: ; { } LA329_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48): { { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))) goto LA344_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__34; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__35; if (!(((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)0)))&63U)))!=0)) goto LA348_; colontmpD__34 = NIM_NIL; colontmpD__35 = NIM_NIL; colontmpD__34 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA350_; colontmpD__35 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA350_; result = typeRel__sigmatch_211(c, colontmpD__34, colontmpD__35, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA350_; eqdestroy___ast_3543(&colontmpD__35); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__34); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA350_:; } { oldNimErrFin350_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__35); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__34); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin350_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA348_: ; { if (!((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7))) goto LA355_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA355_: ; } LA344_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__36; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__37; colontmpD__36 = NIM_NIL; colontmpD__37 = NIM_NIL; colontmpD__36 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA358_; colontmpD__37 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA358_; result = typeRel__sigmatch_211(c, colontmpD__36, colontmpD__37, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA358_; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA361_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA361_: ; { LA358_:; } { oldNimErrFin358_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__37); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__36); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin358_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ffX60gensym303_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aaX60gensym303_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ baseRelX60gensym303_; ffX60gensym303_ = NIM_NIL; aaX60gensym303_ = NIM_NIL; { NIM_BOOL T369_; T369_ = (NIM_BOOL)0; T369_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))); if (!(T369_)) goto LA370_; T369_ = ((*(*a).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3)); LA370_: ; if (!T369_) goto LA371_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); eqdestroy___ast_3543(&aaX60gensym303_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ffX60gensym303_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA371_: ; ffX60gensym303_ = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA366_; eqcopy___ast_3546(&aaX60gensym303_, (*a).sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA366_; baseRelX60gensym303_ = typeRel__sigmatch_211(c, ffX60gensym303_, aaX60gensym303_, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA366_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= baseRelX60gensym303_)) goto LA375_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA373_; LA375_: ; { NIM_BOOL T378_; NIM_BOOL T379_; NIM_BOOL T380_; T378_ = (NIM_BOOL)0; T379_ = (NIM_BOOL)0; T380_ = (NIM_BOOL)0; T380_ = NIM_FALSE; if (!(T380_)) goto LA381_; T380_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)1)))&7U)))!=0)); LA381_: ; T379_ = T380_; if (!(T379_)) goto LA382_; T379_ = ((*ffX60gensym303_).kind == (*aaX60gensym303_).kind); LA382_: ; T378_ = T379_; if (!(T378_)) goto LA383_; T378_ = isCovariantPtr__sigmatch_1631(c, ffX60gensym303_, aaX60gensym303_); if (NIM_UNLIKELY(*nimErr_)) goto LA366_; LA383_: ; if (!T378_) goto LA384_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA373_; LA384_: ; LA373_: ; { LA366_:; } { oldNimErrFin366_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aaX60gensym303_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ffX60gensym303_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin366_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ffX60gensym310_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aaX60gensym310_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ baseRelX60gensym310_; ffX60gensym310_ = NIM_NIL; aaX60gensym310_ = NIM_NIL; { NIM_BOOL T392_; T392_ = (NIM_BOOL)0; T392_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))); if (!(T392_)) goto LA393_; T392_ = ((*(*a).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3)); LA393_: ; if (!T392_) goto LA394_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); eqdestroy___ast_3543(&aaX60gensym310_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ffX60gensym310_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA394_: ; ffX60gensym310_ = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA389_; eqcopy___ast_3546(&aaX60gensym310_, (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA389_; baseRelX60gensym310_ = typeRel__sigmatch_211(c, ffX60gensym310_, aaX60gensym310_, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA389_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= baseRelX60gensym310_)) goto LA398_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA396_; LA398_: ; { NIM_BOOL T401_; NIM_BOOL T402_; NIM_BOOL T403_; T401_ = (NIM_BOOL)0; T402_ = (NIM_BOOL)0; T403_ = (NIM_BOOL)0; T403_ = NIM_FALSE; if (!(T403_)) goto LA404_; T403_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)1)))&7U)))!=0)); LA404_: ; T402_ = T403_; if (!(T402_)) goto LA405_; T402_ = ((*ffX60gensym310_).kind == (*aaX60gensym310_).kind); LA405_: ; T401_ = T402_; if (!(T401_)) goto LA406_; T401_ = isCovariantPtr__sigmatch_1631(c, ffX60gensym310_, aaX60gensym310_); if (NIM_UNLIKELY(*nimErr_)) goto LA389_; LA406_: ; if (!T401_) goto LA407_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA396_; LA407_: ; LA396_: ; { LA389_:; } { oldNimErrFin389_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aaX60gensym310_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ffX60gensym310_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin389_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__38; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__39; if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27))) goto LA414_; colontmpD__38 = NIM_NIL; colontmpD__39 = NIM_NIL; { if (!((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2))) goto LA419_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA417_; LA419_: ; { NIM_BOOL T422_; NIM_BOOL T423_; NI T425_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T427_; T422_ = (NIM_BOOL)0; T423_ = (NIM_BOOL)0; T423_ = ((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)); if (!(T423_)) goto LA424_; T425_ = (NI)0; T425_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA416_; T423_ = (((NI)0) < T425_); LA424_: ; T422_ = T423_; if (!(T422_)) goto LA426_; colontmpD__38 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA416_; colontmpD__39 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA416_; T427_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T427_ = typeRel__sigmatch_211(c, colontmpD__38, colontmpD__39, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA416_; T422_ = (((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) <= T427_); LA426_: ; if (!T422_) goto LA428_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA417_; LA428_: ; LA417_: ; { LA416_:; } { oldNimErrFin416_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__39); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__38); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin416_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA414_: ; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24): { switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24): { { NIM_BOOL T437_; T437_ = (NIM_BOOL)0; T437_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))); if (!(T437_)) goto LA438_; T437_ = ((*(*a).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3)); LA438_: ; if (!T437_) goto LA439_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA435_; LA439_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff_2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa_2; ff_2 = NIM_NIL; aa_2 = NIM_NIL; eqcopy___ast_3546(&ff_2, (*f).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA442_; eqcopy___ast_3546(&aa_2, (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA442_; result = typeRel__sigmatch_211(c, ff_2, aa_2, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA442_; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA445_; { NIM_BOOL T449_; NIM_BOOL T450_; NIM_BOOL T451_; T449_ = (NIM_BOOL)0; T450_ = (NIM_BOOL)0; T451_ = (NIM_BOOL)0; T451_ = NIM_FALSE; if (!(T451_)) goto LA452_; T451_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)1)))&7U)))!=0)); LA452_: ; T450_ = T451_; if (!(T450_)) goto LA453_; T450_ = ((*ff_2).kind == (*aa_2).kind); LA453_: ; T449_ = T450_; if (!(T449_)) goto LA454_; T449_ = isCovariantPtr__sigmatch_1631(c, ff_2, aa_2); if (NIM_UNLIKELY(*nimErr_)) goto LA442_; LA454_: ; if (!T449_) goto LA455_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA447_; LA455_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA447_: ; } goto LA443_; LA445_: ; { NIM_BOOL T459_; T459_ = (NIM_BOOL)0; T459_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); if (!(T459_)) goto LA460_; T459_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA460_: ; if (!T459_) goto LA461_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA443_; LA461_: ; LA443_: ; { LA442_:; } { oldNimErrFin442_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aa_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin442_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA435_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)15): { { NIM_BOOL T470_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x_4; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T474_; T470_ = (NIM_BOOL)0; T470_ = isOrdinalType__types_300(a, (((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)48)))&63U)))!=0)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T470_) goto LA471_; x_4 = NIM_NIL; T474_ = NIM_NIL; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)15))) goto LA477_; eqcopy___ast_3546(&x_4, (*a).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA473_; } goto LA475_; LA477_: ; { x_4 = a; a = 0; } LA475_: ; { if (!((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))) goto LA482_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA480_; LA482_: ; { result = typeRel__sigmatch_211(c, (*f).sons.p->data[((NI)0)], x_4, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA473_; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA487_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA487_: ; } LA480_: ; { LA473_:; } { oldNimErrFin473_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&x_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin473_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA468_; LA471_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA492_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA468_; LA492_: ; LA468_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)30): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T500_; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))) goto LA498_; T500_ = NIM_NIL; T500_ = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_28); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&a, T500_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA498_: ; { if (!((*a).kind == (*f).kind)) goto LA503_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA503_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18): { { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18))) goto LA508_; result = recordRel__sigmatch_874(c, f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA508_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17): { { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17))) goto LA513_; { NIM_BOOL T517_; T517_ = (NIM_BOOL)0; T517_ = sameObjectTypes__types_2224(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T517_) goto LA518_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA515_; LA518_: ; { NI depth; if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)3)))&7U)))!=0))) goto LA521_; depth = isObjectSubtype__sigmatch_717(c, a, f, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(((NI)0) < depth)) goto LA525_; (*c).inheritancePenalty += depth; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } LA525_: ; } goto LA515_; LA521_: ; LA515_: ; } LA513_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T528_; T528_ = NIM_NIL; T528_ = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_29); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&a, T528_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13))) goto LA531_; { NIM_BOOL T535_; T535_ = (NIM_BOOL)0; T535_ = sameDistinctTypes__types_2269(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T535_) goto LA536_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } goto LA533_; LA536_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__40; if (!(*c).coerceDistincts) goto LA539_; colontmpD__40 = NIM_NIL; colontmpD__40 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA541_; result = typeRel__sigmatch_211(c, colontmpD__40, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA541_; { LA541_:; } { oldNimErrFin541_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__40); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin541_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA533_; LA539_: ; LA533_: ; } goto LA529_; LA531_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__41; if (!(*c).coerceDistincts) goto LA545_; colontmpD__41 = NIM_NIL; colontmpD__41 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA547_; result = typeRel__sigmatch_211(c, colontmpD__41, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA547_; { LA547_:; } { oldNimErrFin547_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__41); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin547_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA529_; LA545_: ; LA529_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19): { { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19))) goto LA553_; { NIM_BOOL T557_; T557_ = (NIM_BOOL)0; T557_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))); if (!(T557_)) goto LA558_; T557_ = ((*(*a).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3)); LA558_: ; if (!T557_) goto LA559_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); } goto LA555_; LA559_: ; { result = typeRel__sigmatch_211(c, (*f).sons.p->data[((NI)0)], (*a).sons.p->data[((NI)0)], flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(result < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA564_; { if (!(result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1))) goto LA568_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } goto LA566_; LA568_: ; { if (!!((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)43)))&63U)))!=0))) goto LA571_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } goto LA566_; LA571_: ; LA566_: ; } LA564_: ; } LA555_: ; } LA553_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T578_; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))) goto LA576_; T578_ = NIM_NIL; T578_ = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_28); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&a, T578_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA576_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__42; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__43; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__44; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__45; if (!((*a).kind == (*f).kind)) goto LA581_; colontmpD__42 = NIM_NIL; colontmpD__43 = NIM_NIL; colontmpD__44 = NIM_NIL; colontmpD__45 = NIM_NIL; { NI T586_; NI T587_; T586_ = (NI)0; T586_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; T587_ = (NI)0; T587_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; if (!(T586_ < T587_)) goto LA588_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__45); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__44); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__43); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__42); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA588_: ; { NI i_4; NI colontmp_; NI T591_; NI i_5; i_4 = (NI)0; colontmp_ = (NI)0; T591_ = (NI)0; T591_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; colontmp_ = (NI)(T591_ - ((NI)1)); i_5 = ((NI)0); { while (1) { if (!(i_5 < colontmp_)) goto LA593 ; i_4 = i_5; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T596_; T596_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T596_ = typeRel__sigmatch_211(c, (*f).sons.p->data[i_4], (*a).sons.p->data[i_4], flags); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; if (!(T596_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA597_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&colontmpD__45); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__44); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__43); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__42); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA597_: ; i_5 += ((NI)1); } LA593: ; } } colontmpD__42 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; colontmpD__43 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; result = typeRel__sigmatch_211(c, colontmpD__42, colontmpD__43, (flags | 2)); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; { NIM_BOOL T601_; T601_ = (NIM_BOOL)0; T601_ = (result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4)); if (!(T601_)) goto LA602_; colontmpD__44 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; colontmpD__45 = skipTypes__ast_4803(colontmpD__44, abstractInst__ast_358); if (NIM_UNLIKELY(*nimErr_)) goto LA583_; T601_ = ((*colontmpD__45).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD__45).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*colontmpD__45).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*colontmpD__45).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47) || (*colontmpD__45).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)); LA602_: ; if (!T601_) goto LA603_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA603_: ; { if (!(result <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2))) goto LA607_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } goto LA605_; LA607_: ; { NIM_BOOL T610_; T610_ = (NIM_BOOL)0; T610_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); if (!(T610_)) goto LA611_; T610_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA611_: ; if (!T610_) goto LA612_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA605_; LA612_: ; LA605_: ; { LA583_:; } { oldNimErrFin583_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__45); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__44); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__43); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__42); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin583_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA579_; LA581_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5))) goto LA617_; result = allowsNil__sigmatch_943(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA579_; LA617_: ; { } LA579_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T625_; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))) goto LA623_; T625_ = NIM_NIL; T625_ = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_28); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&a, T625_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA623_: ; result = procTypeRel__sigmatch_995(c, f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T628_; NIM_BOOL T629_; T628_ = (NIM_BOOL)0; T629_ = (NIM_BOOL)0; T629_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T629_)) goto LA630_; T629_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); LA630_: ; T628_ = T629_; if (!(T628_)) goto LA631_; T628_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA631_: ; if (!T628_) goto LA632_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } LA632_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__46; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__47; colontmpD__46 = NIM_NIL; colontmpD__47 = NIM_NIL; colontmpD__46 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA636_; colontmpD__47 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA636_; result = typeRel__sigmatch_211(c, colontmpD__46, colontmpD__47, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA636_; { LA636_:; } { oldNimErrFin636_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__47); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__46); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin636_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = allowsNil__sigmatch_943(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T646_; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))) goto LA644_; T646_ = NIM_NIL; T646_ = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_28); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&a, T646_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA644_: ; switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26): { { NIM_BOOL T650_; T650_ = (NIM_BOOL)0; T650_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); if (!(T650_)) goto LA651_; T650_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA651_: ; if (!T650_) goto LA652_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA648_; LA652_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA648_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = allowsNil__sigmatch_943(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25): { { if (!!(((*a).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9)))) goto LA659_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } LA659_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): { { NI T664_; T664_ = (NI)0; T664_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T664_ == ((NI)1))) goto LA665_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } LA665_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28): { switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28): { { NIM_BOOL T673_; T673_ = (NIM_BOOL)0; T673_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); if (!(T673_)) goto LA674_; T673_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA674_: ; if (!T673_) goto LA675_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA671_; LA675_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA671_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29): { switch ((*a).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29): { { NIM_BOOL T684_; T684_ = (NIM_BOOL)0; T684_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0); if (!(T684_)) goto LA685_; T684_ = !((((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)17)))&63U)))!=0)); LA685_: ; if (!T684_) goto LA686_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA682_; LA686_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA682_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5): { result = allowsNil__sigmatch_943(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): { { NIM_BOOL T694_; T694_ = (NIM_BOOL)0; T694_ = isDefined__options_2481((*(*(*c).c).graph).config, TM__wjrA09aH0rT1R7zbrcCaROw_31); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T694_) goto LA695_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } goto LA692_; LA695_: ; { { NI T700_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* pointsTo; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__48; T700_ = (NI)0; T700_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T700_ == ((NI)1))) goto LA701_; pointsTo = NIM_NIL; colontmpD__48 = NIM_NIL; pointsTo = skipTypes__ast_4803((*a).sons.p->data[((NI)0)], TM__wjrA09aH0rT1R7zbrcCaROw_32); if (NIM_UNLIKELY(*nimErr_)) goto LA703_; { if (!((*pointsTo).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2))) goto LA706_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA704_; LA706_: ; { NIM_BOOL T709_; T709_ = (NIM_BOOL)0; T709_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)49)); if (!(T709_)) goto LA710_; T709_ = ((*(*pointsTo).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2)); LA710_: ; if (!T709_) goto LA711_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA704_; LA711_: ; { NIM_BOOL T714_; NIM_BOOL T715_; NIM_BOOL T716_; tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T718_; T714_ = (NIM_BOOL)0; T715_ = (NIM_BOOL)0; T716_ = (NIM_BOOL)0; T716_ = ((*pointsTo).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16)); if (!(T716_)) goto LA717_; T718_ = firstOrd__types_1373(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), (*pointsTo).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA703_; T716_ = eqeq___int495056_771(T718_, IL64(0)); if (NIM_UNLIKELY(*nimErr_)) goto LA703_; LA717_: ; T715_ = T716_; if (!(T715_)) goto LA719_; colontmpD__48 = skipTypes__ast_4803((*pointsTo).sons.p->data[((NI)0)], TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA703_; T715_ = ((*colontmpD__48).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*colontmpD__48).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35)); LA719_: ; T714_ = T715_; if (!(T714_)) goto LA720_; T714_ = ((*(*pointsTo).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2)); LA720_: ; if (!T714_) goto LA721_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1); } goto LA704_; LA721_: ; LA704_: ; { LA703_:; } { oldNimErrFin703_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__48); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&pointsTo); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin703_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA701_: ; } LA692_: ; } break; default: { } break; } } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)63): { { if (!((*a).kind == (*f).kind)) goto LA729_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA729_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)4): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__49; colontmpD__49 = NIM_NIL; colontmpD__49 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA732_; result = typeRel__sigmatch_211(c, colontmpD__49, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA732_; { LA732_:; } { oldNimErrFin732_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__49); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin732_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64): { { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64))) goto LA738_; { NI T742_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__50; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__51; T742_ = (NI)0; T742_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T742_ == ((NI)1))) goto LA743_; colontmpD__50 = NIM_NIL; colontmpD__51 = NIM_NIL; colontmpD__50 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA745_; colontmpD__51 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA745_; result = typeRel__sigmatch_211(c, colontmpD__50, colontmpD__51, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA745_; { LA745_:; } { oldNimErrFin745_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__51); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__50); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin745_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA740_; LA743_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA740_: ; } goto LA736_; LA738_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA736_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_4; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* origF; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f_3; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* roota; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* rootf; RootObj* T752_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T753_; prev_4 = NIM_NIL; origF = NIM_NIL; f_3 = NIM_NIL; roota = NIM_NIL; rootf = NIM_NIL; T752_ = NIM_NIL; T752_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; prev_4 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T752_)); eqcopy___ast_3546(&origF, f); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; T753_ = NIM_NIL; { if (!(prev_4 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA756_; eqcopy___ast_3546(&f_3, f); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; } goto LA754_; LA756_: ; { eqcopy___ast_3546(&f_3, prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; } LA754_: ; roota = skipGenericAlias__types_2396(a); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; rootf = skipGenericAlias__types_2396(f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__52; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__53; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11))) goto LA761_; colontmpD__52 = NIM_NIL; colontmpD__53 = NIM_NIL; { tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA nextFlags; NIM_BOOL hasCovariance; colontmpD__52 = base__types_64(roota); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; colontmpD__53 = base__types_64(rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; if (!(colontmpD__52 == colontmpD__53)) goto LA766_; nextFlags = (flags | 2); hasCovariance = NIM_FALSE; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); { NI i_6; NI colontmp__2; NI T769_; NI i_7; i_6 = (NI)0; colontmp__2 = (NI)0; T769_ = (NI)0; T769_ = len__ast_5071(rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; colontmp__2 = (NI)(T769_ - ((NI)1)); i_7 = ((NI)1); { while (1) { if (!(i_7 < colontmp__2)) goto LA771 ; i_6 = i_7; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff_3; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa_3; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ res_2; ff_3 = NIM_NIL; aa_3 = NIM_NIL; eqcopy___ast_3546(&ff_3, (*rootf).sons.p->data[i_6]); if (NIM_UNLIKELY(*nimErr_)) goto LA773_; eqcopy___ast_3546(&aa_3, (*roota).sons.p->data[i_6]); if (NIM_UNLIKELY(*nimErr_)) goto LA773_; res_2 = typeRel__sigmatch_211(c, ff_3, aa_3, nextFlags); if (NIM_UNLIKELY(*nimErr_)) goto LA773_; { NIM_BOOL T776_; T776_ = (NIM_BOOL)0; T776_ = !((res_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T776_)) goto LA777_; T776_ = !((res_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10))); LA777_: ; if (!T776_) goto LA778_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA778_: ; { if (!!((res_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10) || res_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)))) goto LA782_; { NIM_BOOL T786_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__54; NIM_BOOL colontmpD__55; NIM_BOOL colontmpD__56; tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q paramFlags; T786_ = (NIM_BOOL)0; T786_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)1)))&7U)))!=0)); if (!(T786_)) goto LA787_; T786_ = ((*ff_3).kind == (*aa_3).kind); LA787_: ; if (!T786_) goto LA788_; colontmpD__54 = NIM_NIL; colontmpD__55 = (NIM_BOOL)0; colontmpD__56 = (NIM_BOOL)0; colontmpD__54 = base__types_64(rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA790_; paramFlags = (*(*colontmpD__54).sons.p->data[(NI)(i_6 - ((NI)1))]).flags; { NIM_BOOL colontmpD__57; NIM_BOOL colontmpD__58; if (!((paramFlags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)35)))&63U)))!=0)) goto LA793_; colontmpD__57 = (NIM_BOOL)0; colontmpD__58 = (NIM_BOOL)0; { if (!((paramFlags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)36)))&63U)))!=0)) goto LA798_; colontmpD__57 = isCovariantPtr__sigmatch_1631(c, ff_3, aa_3); if (NIM_UNLIKELY(*nimErr_)) goto LA800_; colontmpD__55 = colontmpD__57; { LA800_:; } { } if (NIM_UNLIKELY(*nimErr_)) goto LA795_; } goto LA796_; LA798_: ; { NIM_BOOL T804_; T804_ = (NIM_BOOL)0; T804_ = !(((*ff_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*ff_3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21))); if (!(T804_)) goto LA805_; T804_ = (res_2 == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)); LA805_: ; colontmpD__58 = T804_; colontmpD__55 = colontmpD__58; } LA796_: ; hasCovariance = colontmpD__55; { LA795_:; } { } if (NIM_UNLIKELY(*nimErr_)) goto LA790_; } goto LA791_; LA793_: ; { NIM_BOOL T810_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T812_; T810_ = (NIM_BOOL)0; T810_ = ((paramFlags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)37)))&63U)))!=0); if (!(T810_)) goto LA811_; T812_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T812_ = typeRel__sigmatch_211(c, aa_3, ff_3, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA809_; T810_ = (T812_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)); LA811_: ; colontmpD__56 = T810_; hasCovariance = colontmpD__56; { LA809_:; } { } if (NIM_UNLIKELY(*nimErr_)) goto LA790_; } LA791_: ; { if (!hasCovariance) goto LA817_; eqdestroy___ast_3543(&colontmpD__54); if (NIM_UNLIKELY(*nimErr_)) goto LA773_; eqdestroy___ast_3543(&aa_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&ff_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; goto LA772; } LA817_: ; { LA790_:; } { oldNimErrFin790_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__54); if (NIM_UNLIKELY(*nimErr_)) goto LA773_; *nimErr_ = oldNimErrFin790_; } if (NIM_UNLIKELY(*nimErr_)) goto LA773_; } LA788_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&aa_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&ff_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__53); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&colontmpD__52); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&roota); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&origF); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA782_: ; { LA773_:; } { oldNimErrFin773_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aa_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&ff_3); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; *nimErr_ = oldNimErrFin773_; } if (NIM_UNLIKELY(*nimErr_)) goto LA763_; } LA772: ; i_7 += ((NI)1); } LA771: ; } } { if (!(prev_4 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA825_; put__sigmatch_128(c, f_3, a); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; } LA825_: ; } goto LA764_; LA766_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__59; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aAsObject; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ fKind; colontmpD__59 = NIM_NIL; aAsObject = NIM_NIL; colontmpD__59 = lastSon__ast_4811(rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; fKind = (*colontmpD__59).kind; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__60; if (!(fKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56) || fKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)57))) goto LA831_; colontmpD__60 = NIM_NIL; colontmpD__60 = lastSon__ast_4811(f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA833_; result = typeRel__sigmatch_211(c, colontmpD__60, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA833_; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA836_; put__sigmatch_128(c, f_3, a); if (NIM_UNLIKELY(*nimErr_)) goto LA833_; } LA836_: ; eqdestroy___ast_3543(&colontmpD__60); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; eqdestroy___ast_3543(&aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__59); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__53); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&colontmpD__52); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&roota); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&origF); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA833_:; } { oldNimErrFin833_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__60); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; *nimErr_ = oldNimErrFin833_; } if (NIM_UNLIKELY(*nimErr_)) goto LA828_; } LA831_: ; aAsObject = lastSon__ast_4811(roota); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; { if (!(fKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || fKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21))) goto LA842_; { if (!((*aAsObject).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17))) goto LA846_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__59); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__53); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&colontmpD__52); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&roota); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&origF); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA844_; LA846_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T851_; if (!((*aAsObject).kind == fKind)) goto LA849_; T851_ = NIM_NIL; T851_ = base__types_64(aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; eqsink___ast_3549(&aAsObject, T851_); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; } goto LA844_; LA849_: ; LA844_: ; } LA842_: ; { NIM_BOOL T854_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType; T854_ = (NIM_BOOL)0; T854_ = ((*aAsObject).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17)); if (!(T854_)) goto LA855_; T854_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)3)))&7U)))!=0)); LA855_: ; if (!T854_) goto LA856_; baseType = NIM_NIL; baseType = base__types_64(aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA858_; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__61; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__62; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ ret; if (!!((baseType == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA861_; colontmpD__61 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__62 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; (*c).inheritancePenalty += ((NI)1); ret = typeRel__sigmatch_211(c, f_3, baseType, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA858_; { if (!(ret == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10) || ret == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA865_; colontmpD__61 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); result = colontmpD__61; } goto LA863_; LA865_: ; { colontmpD__62 = ret; result = colontmpD__62; } LA863_: ; eqdestroy___ast_3543(&baseType); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; eqdestroy___ast_3543(&aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__59); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__53); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&colontmpD__52); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&roota); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&origF); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA861_: ; { LA858_:; } { oldNimErrFin858_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&baseType); if (NIM_UNLIKELY(*nimErr_)) goto LA828_; *nimErr_ = oldNimErrFin858_; } if (NIM_UNLIKELY(*nimErr_)) goto LA828_; } LA856_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); { LA828_:; } { oldNimErrFin828_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aAsObject); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; eqdestroy___ast_3543(&colontmpD__59); if (NIM_UNLIKELY(*nimErr_)) goto LA763_; *nimErr_ = oldNimErrFin828_; } if (NIM_UNLIKELY(*nimErr_)) goto LA763_; } LA764_: ; { LA763_:; } { oldNimErrFin763_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__53); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; eqdestroy___ast_3543(&colontmpD__52); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; *nimErr_ = oldNimErrFin763_; } if (NIM_UNLIKELY(*nimErr_)) goto LA751_; } goto LA759_; LA761_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__63; colontmpD__63 = NIM_NIL; colontmpD__63 = lastSon__ast_4811(origF); if (NIM_UNLIKELY(*nimErr_)) goto LA875_; result = typeRel__sigmatch_211(c, colontmpD__63, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA875_; { NIM_BOOL T878_; T878_ = (NIM_BOOL)0; T878_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T878_)) goto LA879_; T878_ = !(((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5))); LA879_: ; if (!T878_) goto LA880_; put__sigmatch_128(c, f_3, a); if (NIM_UNLIKELY(*nimErr_)) goto LA875_; } LA880_: ; { LA875_:; } { oldNimErrFin875_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__63); if (NIM_UNLIKELY(*nimErr_)) goto LA751_; *nimErr_ = oldNimErrFin875_; } if (NIM_UNLIKELY(*nimErr_)) goto LA751_; } LA759_: ; { LA751_:; } { oldNimErrFin751_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&rootf); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&roota); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&f_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&origF); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&prev_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin751_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym387_; RootObj* T888_; prevX60gensym387_ = NIM_NIL; T888_ = NIM_NIL; T888_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; prevX60gensym387_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T888_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__64; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff_4; if (!(prevX60gensym387_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA891_; colontmpD__64 = NIM_NIL; ff_4 = NIM_NIL; { NIM_BOOL T896_; NIM_BOOL T898_; T896_ = (NIM_BOOL)0; T896_ = (a == f); if (T896_) goto LA897_; T898_ = (NIM_BOOL)0; T898_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); if (!(T898_)) goto LA899_; colontmpD__64 = skipGenericAlias__types_2396(a); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; T898_ = ((*colontmpD__64).sons.p->data[((NI)0)] == f); LA899_: ; T896_ = T898_; LA897_: ; if (!T896_) goto LA900_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boundX60gensym389_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__65; if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0))) goto LA904_; boundX60gensym389_ = NIM_NIL; colontmpD__65 = NIM_NIL; colontmpD__65 = skipTypes__ast_4803(aOrig_2, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; boundX60gensym389_ = skipIntLit__magicsys_125(colontmpD__65, (*(*c).c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; put__sigmatch_128(c, f, boundX60gensym389_); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; eqdestroy___ast_3543(&colontmpD__65); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; eqdestroy___ast_3543(&boundX60gensym389_); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; } LA904_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&ff_4); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; eqdestroy___ast_3543(&colontmpD__64); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; eqdestroy___ast_3543(&prevX60gensym387_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA900_: ; ff_4 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; { if (!!((ff_4 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA908_; result = typeRel__sigmatch_211(c, ff_4, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA893_; } LA908_: ; { LA893_:; } { oldNimErrFin893_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&ff_4); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; eqdestroy___ast_3543(&colontmpD__64); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; *nimErr_ = oldNimErrFin893_; } if (NIM_UNLIKELY(*nimErr_)) goto LA887_; } goto LA889_; LA891_: ; { result = typeRel__sigmatch_211(c, prevX60gensym387_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA887_; eqdestroy___ast_3543(&prevX60gensym387_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA889_: ; { LA887_:; } { oldNimErrFin887_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym387_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin887_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x_5; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concpt; NIM_BOOL preventHack; x_5 = NIM_NIL; concpt = NIM_NIL; x_5 = skipGenericAlias__types_2396(a); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; concpt = skipTypes__ast_4803((*f).sons.p->data[((NI)0)], TM__wjrA09aH0rT1R7zbrcCaROw_33); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; preventHack = ((*concpt).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)62)); { NIM_BOOL T919_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T923_; T919_ = (NIM_BOOL)0; T919_ = ((*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)); if (!(T919_)) goto LA920_; T919_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45))); LA920_: ; if (!T919_) goto LA921_; preventHack = NIM_TRUE; T923_ = NIM_NIL; T923_ = lastSon__ast_4811(x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqsink___ast_3549(&x_5, T923_); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; } LA921_: ; { NIM_BOOL T926_; NIM_BOOL T927_; NIM_BOOL T928_; NIM_BOOL T929_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* inst; T926_ = (NIM_BOOL)0; T927_ = (NIM_BOOL)0; T928_ = (NIM_BOOL)0; T929_ = (NIM_BOOL)0; T929_ = ((*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11) || (*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16)); if (!(T929_)) goto LA930_; T929_ = !(((*c).calleeSym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); LA930_: ; T928_ = T929_; if (!(T928_)) goto LA931_; T928_ = ((*(*c).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*(*c).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13)); LA931_: ; T927_ = T928_; if (!(T927_)) goto LA932_; T927_ = !(((*c).call == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA932_: ; T926_ = T927_; if (!(T926_)) goto LA933_; T926_ = !(preventHack); LA933_: ; if (!T926_) goto LA934_; inst = NIM_NIL; inst = prepareMetatypeForSigmatch__semtypinst_1121((*c).c, (*c).bindings, (*(*c).call).info, f); if (NIM_UNLIKELY(*nimErr_)) goto LA936_; result = typeRel__sigmatch_211(c, inst, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA936_; eqdestroy___ast_3543(&inst); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&concpt); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA936_:; } { oldNimErrFin936_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&inst); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; *nimErr_ = oldNimErrFin936_; } if (NIM_UNLIKELY(*nimErr_)) goto LA916_; } LA934_: ; { if (!((*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9))) goto LA941_; { if (!((*f).sons.p->data[((NI)0)] == (*x_5).sons.p->data[((NI)0)])) goto LA945_; { NI i_8; NI colontmp__3; NI i_9; i_8 = (NI)0; colontmp__3 = (NI)0; colontmp__3 = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; i_9 = ((NI)1); { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ tr; if (!(i_9 < colontmp__3)) goto LA949 ; i_8 = i_9; tr = typeRel__sigmatch_211(c, (*f).sons.p->data[i_8], (*x_5).sons.p->data[i_8], flags); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; { if (!(tr <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA952_; eqdestroy___ast_3543(&concpt); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA952_: ; i_9 += ((NI)1); } LA949: ; } } result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA945_: ; } goto LA939_; LA941_: ; { NIM_BOOL T955_; NIM_BOOL T956_; NI T959_; NI T960_; T955_ = (NIM_BOOL)0; T956_ = (NIM_BOOL)0; T956_ = ((*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); if (!(T956_)) goto LA957_; T956_ = ((*f).sons.p->data[((NI)0)] == (*x_5).sons.p->data[((NI)0)]); LA957_: ; T955_ = T956_; if (!(T955_)) goto LA958_; T959_ = (NI)0; T959_ = len__ast_5071(x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; T960_ = (NI)0; T960_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; T955_ = ((NI)(T959_ - ((NI)1)) == T960_); LA958_: ; if (!T955_) goto LA961_; { NI i_10; NI colontmp__4; NI i_11; i_10 = (NI)0; colontmp__4 = (NI)0; colontmp__4 = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; i_11 = ((NI)1); { while (1) { if (!(i_11 < colontmp__4)) goto LA965 ; i_10 = i_11; { if (!((*(*x_5).sons.p->data[i_10]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA968_; internalErrorImpl__msgs_1510((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_338, TM__wjrA09aH0rT1R7zbrcCaROw_35, TM__wjrA09aH0rT1R7zbrcCaROw_36); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; } goto LA966_; LA968_: ; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T971_; T971_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T971_ = typeRel__sigmatch_211(c, (*f).sons.p->data[i_10], (*x_5).sons.p->data[i_10], flags); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; if (!(T971_ <= ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA972_; { if (!!(((*(*f).sons.p->data[i_10]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)))) goto LA976_; eqdestroy___ast_3543(&concpt); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA976_: ; } goto LA966_; LA972_: ; LA966_: ; i_11 += ((NI)1); } LA965: ; } } result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA939_; LA961_: ; { NIM_BOOL T979_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__66; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__67; T979_ = (NIM_BOOL)0; T979_ = ((*x_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); if (!(T979_)) goto LA980_; T979_ = ((*concpt).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)62)); LA980_: ; if (!T979_) goto LA981_; colontmpD__66 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__67 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* T985_; NIM_BOOL T986_; T985_ = NIM_NIL; T985_ = (*c).c; T986_ = (NIM_BOOL)0; T986_ = conceptMatch__concepts_661(T985_, concpt, x_5, (&(*c).bindings), f); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; if (!T986_) goto LA987_; colontmpD__66 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__66; } goto LA983_; LA987_: ; { colontmpD__67 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); result = colontmpD__67; } LA983_: ; } goto LA939_; LA981_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* genericBody; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aobj; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fobj; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__68; tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA askip; tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA fskip; NI depth_2; genericBody = NIM_NIL; aobj = NIM_NIL; fobj = NIM_NIL; colontmpD__68 = NIM_NIL; eqcopy___ast_3546(&genericBody, (*f).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; askip = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)0); fskip = ((tyEnum_SkippedPtr__fLvvdAEzM584kvO7hbjBxA)0); aobj = skipToObject__sigmatch_765(x_5, (&askip)); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; colontmpD__68 = lastSon__ast_4811(genericBody); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; fobj = skipToObject__sigmatch_765(colontmpD__68, (&fskip)); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; depth_2 = ((NI)-1); { NIM_BOOL T994_; NIM_BOOL T995_; T994_ = (NIM_BOOL)0; T995_ = (NIM_BOOL)0; T995_ = !((fobj == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T995_)) goto LA996_; T995_ = !((aobj == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); LA996_: ; T994_ = T995_; if (!(T994_)) goto LA997_; T994_ = (askip == fskip); LA997_: ; if (!T994_) goto LA998_; depth_2 = isObjectSubtype__sigmatch_717(c, aobj, fobj, f); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; } LA998_: ; result = typeRel__sigmatch_211(c, genericBody, x_5, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1002_; { NI i_12; NI colontmp__5; NI i_13; i_12 = (NI)0; colontmp__5 = (NI)0; colontmp__5 = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; i_13 = ((NI)1); { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x_6; RootObj* T1008_; if (!(i_13 < colontmp__5)) goto LA1006 ; x_6 = NIM_NIL; i_12 = i_13; T1008_ = NIM_NIL; T1008_ = idTableGet__astalgo_65((*c).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&((*genericBody).sons.p->data[(NI)(i_12 - ((NI)1))]))))); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; x_6 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1008_)); { if (!(x_6 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1011_; } goto LA1009_; LA1011_: ; { if (!((*x_6).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9) || (*x_6).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA1014_; internalErrorImpl__msgs_1510((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_338, TM__wjrA09aH0rT1R7zbrcCaROw_37, TM__wjrA09aH0rT1R7zbrcCaROw_38); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; } goto LA1009_; LA1014_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* key; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* old; RootObj* T1018_; key = NIM_NIL; old = NIM_NIL; eqcopy___ast_3546(&key, (*f).sons.p->data[i_12]); if (NIM_UNLIKELY(*nimErr_)) goto LA1017_; T1018_ = NIM_NIL; T1018_ = idTableGet__astalgo_65((*c).bindings, &key->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1017_; old = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1018_)); { if (!(old == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1021_; put__sigmatch_128(c, key, x_6); if (NIM_UNLIKELY(*nimErr_)) goto LA1017_; } goto LA1019_; LA1021_: ; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T1024_; T1024_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T1024_ = typeRel__sigmatch_211(c, old, x_6, (flags | 1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1017_; if (!(T1024_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA1025_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&old); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; eqdestroy___ast_3543(&key); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; eqdestroy___ast_3543(&x_6); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; eqdestroy___ast_3543(&colontmpD__68); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&fobj); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&aobj); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&genericBody); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&concpt); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA1019_; LA1025_: ; LA1019_: ; { LA1017_:; } { oldNimErrFin1017_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&old); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; eqdestroy___ast_3543(&key); if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; *nimErr_ = oldNimErrFin1017_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1007_; } LA1009_: ; i_13 += ((NI)1); { LA1007_:; } { oldNimErrFin1007_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&x_6); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; *nimErr_ = oldNimErrFin1007_; } if (NIM_UNLIKELY(*nimErr_)) goto LA991_; } LA1006: ; } } } LA1002_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym423_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym424_; NIM_BOOL genericSubtype; if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA1033_; xX60gensym423_ = NIM_NIL; xX60gensym424_ = NIM_NIL; genericSubtype = isGenericSubtype__sigmatch_811(c, x_5, f, (&depth_2), f); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; { NIM_BOOL T1037_; NIM_BOOL T1038_; T1037_ = (NIM_BOOL)0; T1038_ = (NIM_BOOL)0; T1038_ = genericSubtype; if (!(T1038_)) goto LA1039_; eqcopy___ast_4063(&xX60gensym423_, (*aobj).sym); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; eqcopy___ast_4063(&xX60gensym424_, (*fobj).sym); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; T1038_ = !(((NI)((NI)((NU32)(((NI) ((*xX60gensym423_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym423_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym424_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym424_).Sup.itemId.item))))); LA1039_: ; T1037_ = !(T1038_); if (!(T1037_)) goto LA1040_; T1037_ = !(((*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10))); LA1040_: ; if (!T1037_) goto LA1041_; depth_2 = ((NI)-1); } LA1041_: ; eqdestroy___ast_4060(&xX60gensym424_); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; eqdestroy___ast_4060(&xX60gensym423_); if (NIM_UNLIKELY(*nimErr_)) goto LA991_; } LA1033_: ; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__69; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__70; if (!(((NI)0) <= depth_2)) goto LA1045_; colontmpD__69 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__70 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; (*c).inheritancePenalty += depth_2; { if (!(depth_2 == ((NI)0))) goto LA1049_; colontmpD__69 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__69; } goto LA1047_; LA1049_: ; { colontmpD__70 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3); result = colontmpD__70; } LA1047_: ; } LA1045_: ; { LA991_:; } { oldNimErrFin991_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__68); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&fobj); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&aobj); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; eqdestroy___ast_3543(&genericBody); if (NIM_UNLIKELY(*nimErr_)) goto LA916_; *nimErr_ = oldNimErrFin991_; } if (NIM_UNLIKELY(*nimErr_)) goto LA916_; } LA939_: ; { LA916_:; } { oldNimErrFin916_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&concpt); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&x_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin916_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym427_; RootObj* T1058_; prevX60gensym427_ = NIM_NIL; T1058_ = NIM_NIL; T1058_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; prevX60gensym427_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1058_)); { if (!(prevX60gensym427_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1061_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch_3; NI i_14; NI L_3; NI T1064_; branch_3 = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i_14 = ((NI)0); T1064_ = (*f).sons.len; L_3 = T1064_; { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ x_7; if (!(i_14 < L_3)) goto LA1066 ; branch_3 = &(*f).sons.p->data[i_14]; x_7 = typeRel__sigmatch_211(c, (*branch_3), aOrig_2, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; { if (!(x_7 < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA1069_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&prevX60gensym427_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1069_: ; { if (!(x_7 < result)) goto LA1073_; result = x_7; } LA1073_: ; i_14 += ((NI)1); } LA1066: ; } } { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) < result)) goto LA1077_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1077_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boundX60gensym429_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__71; if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0))) goto LA1081_; boundX60gensym429_ = NIM_NIL; colontmpD__71 = NIM_NIL; colontmpD__71 = skipTypes__ast_4803(aOrig_2, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; boundX60gensym429_ = skipIntLit__magicsys_125(colontmpD__71, (*(*c).c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; put__sigmatch_128(c, f, boundX60gensym429_); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; eqdestroy___ast_3543(&colontmpD__71); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; eqdestroy___ast_3543(&boundX60gensym429_); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; } LA1081_: ; eqdestroy___ast_3543(&prevX60gensym427_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA1059_; LA1061_: ; { result = typeRel__sigmatch_211(c, prevX60gensym427_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1057_; eqdestroy___ast_3543(&prevX60gensym427_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1059_: ; { LA1057_:; } { oldNimErrFin1057_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym427_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1057_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)57): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym432_; RootObj* T1088_; prevX60gensym432_ = NIM_NIL; T1088_ = NIM_NIL; T1088_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; prevX60gensym432_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1088_)); { NI oldInheritancePenalty; NI maxInheritance; if (!(prevX60gensym432_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1091_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); oldInheritancePenalty = (*c).inheritancePenalty; maxInheritance = ((NI)0); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch_4; NI i_15; NI L_4; NI T1094_; branch_4 = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i_15 = ((NI)0); T1094_ = (*f).sons.len; L_4 = T1094_; { while (1) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ x_8; if (!(i_15 < L_4)) goto LA1096 ; branch_4 = &(*f).sons.p->data[i_15]; (*c).inheritancePenalty = ((NI)0); x_8 = typeRel__sigmatch_211(c, (*branch_4), aOrig_2, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; maxInheritance = ((maxInheritance >= (*c).inheritancePenalty) ? maxInheritance : (*c).inheritancePenalty); { if (!(result < x_8)) goto LA1099_; result = x_8; } LA1099_: ; i_15 += ((NI)1); } LA1096: ; } } { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2) <= result)) goto LA1103_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) < result)) goto LA1107_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1107_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boundX60gensym436_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__72; if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0))) goto LA1111_; boundX60gensym436_ = NIM_NIL; colontmpD__72 = NIM_NIL; colontmpD__72 = skipTypes__ast_4803(aOrig_2, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; boundX60gensym436_ = skipIntLit__magicsys_125(colontmpD__72, (*(*c).c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; put__sigmatch_128(c, f, boundX60gensym436_); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; eqdestroy___ast_3543(&colontmpD__72); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; eqdestroy___ast_3543(&boundX60gensym436_); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; } LA1111_: ; eqdestroy___ast_3543(&prevX60gensym432_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA1101_; LA1103_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1101_: ; (*c).inheritancePenalty = (NI)(oldInheritancePenalty + maxInheritance); } goto LA1089_; LA1091_: ; { result = typeRel__sigmatch_211(c, prevX60gensym432_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1087_; eqdestroy___ast_3543(&prevX60gensym432_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1089_: ; { LA1087_:; } { oldNimErrFin1087_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym432_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1087_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)58): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym439_; RootObj* T1119_; prevX60gensym439_ = NIM_NIL; T1119_ = NIM_NIL; T1119_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; prevX60gensym439_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1119_)); { if (!(prevX60gensym439_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1122_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch_5; NI i_16; NI L_5; NI T1125_; branch_5 = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i_16 = ((NI)0); T1125_ = (*f).sons.len; L_5 = T1125_; { while (1) { if (!(i_16 < L_5)) goto LA1127 ; branch_5 = &(*f).sons.p->data[i_16]; { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T1130_; T1130_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T1130_ = typeRel__sigmatch_211(c, (*branch_5), aOrig_2, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; if (!!((T1130_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1131_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&prevX60gensym439_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1131_: ; i_16 += ((NI)1); } LA1127: ; } } { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boundX60gensym441_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__73; if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0))) goto LA1135_; boundX60gensym441_ = NIM_NIL; colontmpD__73 = NIM_NIL; colontmpD__73 = skipTypes__ast_4803(aOrig_2, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; boundX60gensym441_ = skipIntLit__magicsys_125(colontmpD__73, (*(*c).c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; put__sigmatch_128(c, f, boundX60gensym441_); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; eqdestroy___ast_3543(&colontmpD__73); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; eqdestroy___ast_3543(&boundX60gensym441_); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; } LA1135_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&prevX60gensym439_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA1120_; LA1122_: ; { result = typeRel__sigmatch_211(c, prevX60gensym439_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1118_; eqdestroy___ast_3543(&prevX60gensym439_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1120_: ; { LA1118_:; } { oldNimErrFin1118_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym439_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1118_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym444_; RootObj* T1142_; prevX60gensym444_ = NIM_NIL; T1142_ = NIM_NIL; T1142_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1141_; prevX60gensym444_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1142_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete; if (!(prevX60gensym444_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1145_; concrete = NIM_NIL; concrete = concreteType__sigmatch_469((&(*c)), a, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1147_; { NIM_BOOL T1150_; T1150_ = (NIM_BOOL)0; T1150_ = !((concrete == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T1150_)) goto LA1151_; T1150_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0)); LA1151_: ; if (!T1150_) goto LA1152_; put__sigmatch_128(c, f, concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA1147_; } LA1152_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA1141_; eqdestroy___ast_3543(&prevX60gensym444_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA1147_:; } { oldNimErrFin1147_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&concrete); if (NIM_UNLIKELY(*nimErr_)) goto LA1141_; *nimErr_ = oldNimErrFin1147_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1141_; } goto LA1143_; LA1145_: ; { result = typeRel__sigmatch_211(c, prevX60gensym444_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1141_; eqdestroy___ast_3543(&prevX60gensym444_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1143_: ; { LA1141_:; } { oldNimErrFin1141_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym444_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1141_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym448_; RootObj* T1161_; prevX60gensym448_ = NIM_NIL; T1161_ = NIM_NIL; T1161_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; prevX60gensym448_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1161_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* effectiveArgType; tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ targetKind; NIM_BOOL typeClassMatches; NIM_BOOL T1167_; NIM_BOOL T1169_; if (!(prevX60gensym448_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1164_; effectiveArgType = NIM_NIL; targetKind = (*(*f).sons.p->data[((NI)0)]).kind; effectiveArgType = skipTypes__ast_4803(a, TM__wjrA09aH0rT1R7zbrcCaROw_40); if (NIM_UNLIKELY(*nimErr_)) goto LA1166_; T1167_ = (NIM_BOOL)0; T1167_ = (targetKind == (*effectiveArgType).kind); if (!(T1167_)) goto LA1168_; T1169_ = (NIM_BOOL)0; T1169_ = isEmptyContainer__types_3859(effectiveArgType); if (NIM_UNLIKELY(*nimErr_)) goto LA1166_; T1167_ = !(T1169_); LA1168_: ; typeClassMatches = T1167_; { NIM_BOOL T1172_; NIM_BOOL T1174_; T1172_ = (NIM_BOOL)0; T1172_ = typeClassMatches; if (T1172_) goto LA1173_; T1174_ = (NIM_BOOL)0; T1174_ = (targetKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25) || targetKind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26)); if (!(T1174_)) goto LA1175_; T1174_ = ((*effectiveArgType).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5)); LA1175_: ; T1172_ = T1174_; LA1173_: ; if (!T1172_) goto LA1176_; put__sigmatch_128(c, f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1166_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&effectiveArgType); if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; eqdestroy___ast_3543(&prevX60gensym448_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA1170_; LA1176_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&effectiveArgType); if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; eqdestroy___ast_3543(&prevX60gensym448_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1170_: ; { LA1166_:; } { oldNimErrFin1166_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&effectiveArgType); if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; *nimErr_ = oldNimErrFin1166_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; } goto LA1162_; LA1164_: ; { result = typeRel__sigmatch_211(c, prevX60gensym448_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1160_; eqdestroy___ast_3543(&prevX60gensym448_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1162_: ; { LA1160_:; } { oldNimErrFin1160_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym448_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1160_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)53): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)52): { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__74; if (!(((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)10)))&63U)))!=0)) goto LA1187_; colontmpD__74 = NIM_NIL; colontmpD__74 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1189_; result = typeRel__sigmatch_211(c, colontmpD__74, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1189_; { LA1189_:; } { oldNimErrFin1189_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__74); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1189_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA1185_; LA1187_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym453_; RootObj* T1194_; prevX60gensym453_ = NIM_NIL; T1194_ = NIM_NIL; T1194_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; prevX60gensym453_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1194_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* matched; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__75; if (!(prevX60gensym453_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1197_; matched = NIM_NIL; colontmpD__75 = NIM_NIL; { if (!(aOrig_2 == f)) goto LA1202_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); eqdestroy___ast_3543(&colontmpD__75); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; eqdestroy___ast_3543(&matched); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; eqdestroy___ast_3543(&prevX60gensym453_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1202_: ; matched = matchUserTypeClass__sigmatch_1061(c, f, aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1199_; { if (!!((matched == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA1206_; add__concepts_24(matched, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1199_; (*matched).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)10))) & 63); { if (!!(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0))) goto LA1210_; put__sigmatch_128(c, f, matched); if (NIM_UNLIKELY(*nimErr_)) goto LA1199_; } LA1210_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1204_; LA1206_: ; { NIM_BOOL T1213_; NI T1214_; T1213_ = (NIM_BOOL)0; T1214_ = (NI)0; T1214_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1199_; T1213_ = (((NI)0) < T1214_); if (!(T1213_)) goto LA1215_; colontmpD__75 = lastSon__ast_4811(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1199_; T1213_ = (colontmpD__75 == f); LA1215_: ; if (!T1213_) goto LA1216_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1204_; LA1216_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1204_: ; { LA1199_:; } { oldNimErrFin1199_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__75); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; eqdestroy___ast_3543(&matched); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; *nimErr_ = oldNimErrFin1199_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; } goto LA1195_; LA1197_: ; { result = typeRel__sigmatch_211(c, prevX60gensym453_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1193_; eqdestroy___ast_3543(&prevX60gensym453_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1195_: ; { LA1193_:; } { oldNimErrFin1193_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym453_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1193_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA1185_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)62): { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__76; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__77; colontmpD__76 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__77 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* T1227_; NIM_BOOL T1228_; T1227_ = NIM_NIL; T1227_ = (*c).c; T1228_ = (NIM_BOOL)0; T1228_ = conceptMatch__concepts_661(T1227_, f, a, (&(*c).bindings), ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T1228_) goto LA1229_; colontmpD__76 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__76; } goto LA1225_; LA1229_: ; { colontmpD__77 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); result = colontmpD__77; } LA1225_: ; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)54): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prevX60gensym459_; RootObj* T1234_; prevX60gensym459_ = NIM_NIL; T1234_ = NIM_NIL; T1234_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; prevX60gensym459_ = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1234_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* roota_2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* rootf_2; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__78; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__79; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__80; if (!(prevX60gensym459_ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1237_; roota_2 = NIM_NIL; rootf_2 = NIM_NIL; colontmpD__78 = NIM_NIL; colontmpD__79 = NIM_NIL; colontmpD__80 = NIM_NIL; roota_2 = skipGenericAlias__types_2396(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; colontmpD__78 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; rootf_2 = skipGenericAlias__types_2396(colontmpD__78); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; { NIM_BOOL T1242_; T1242_ = (NIM_BOOL)0; T1242_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11)); if (!(T1242_)) goto LA1243_; colontmpD__79 = base__types_64(roota_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; colontmpD__80 = base__types_64(rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; T1242_ = (colontmpD__79 == colontmpD__80); LA1243_: ; if (!T1242_) goto LA1244_; { NI i_17; NI colontmp__6; NI T1247_; NI i_18; i_17 = (NI)0; colontmp__6 = (NI)0; T1247_ = (NI)0; T1247_ = len__ast_5071(rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; colontmp__6 = (NI)(T1247_ - ((NI)1)); i_18 = ((NI)1); { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff_5; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa_4; if (!(i_18 < colontmp__6)) goto LA1249 ; ff_5 = NIM_NIL; aa_4 = NIM_NIL; i_17 = i_18; eqcopy___ast_3546(&ff_5, (*rootf_2).sons.p->data[i_17]); if (NIM_UNLIKELY(*nimErr_)) goto LA1250_; eqcopy___ast_3546(&aa_4, (*roota_2).sons.p->data[i_17]); if (NIM_UNLIKELY(*nimErr_)) goto LA1250_; result = typeRel__sigmatch_211(c, ff_5, aa_4, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1250_; { if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA1253_; eqdestroy___ast_3543(&aa_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; eqdestroy___ast_3543(&ff_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; eqdestroy___ast_3543(&colontmpD__80); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__79); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__78); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&roota_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&prevX60gensym459_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1253_: ; { NIM_BOOL T1257_; T1257_ = (NIM_BOOL)0; T1257_ = ((*ff_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20)); if (!(T1257_)) goto LA1258_; T1257_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10))); LA1258_: ; if (!T1257_) goto LA1259_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&aa_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; eqdestroy___ast_3543(&ff_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; eqdestroy___ast_3543(&colontmpD__80); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__79); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__78); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&roota_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&prevX60gensym459_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1259_: ; i_18 += ((NI)1); { LA1250_:; } { oldNimErrFin1250_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&aa_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; eqdestroy___ast_3543(&ff_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; *nimErr_ = oldNimErrFin1250_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; } LA1249: ; } } } goto LA1240_; LA1244_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__81; colontmpD__81 = NIM_NIL; colontmpD__81 = lastSon__ast_4811(rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1264_; result = typeRel__sigmatch_211(c, colontmpD__81, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1264_; { LA1264_:; } { oldNimErrFin1264_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__81); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; *nimErr_ = oldNimErrFin1264_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; } LA1240_: ; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1269_; put__sigmatch_128(c, f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1239_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1269_: ; { LA1239_:; } { oldNimErrFin1239_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__80); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__79); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&colontmpD__78); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&rootf_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&roota_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; *nimErr_ = oldNimErrFin1239_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; } goto LA1235_; LA1237_: ; { result = typeRel__sigmatch_211(c, prevX60gensym459_, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1233_; eqdestroy___ast_3543(&prevX60gensym459_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1235_: ; { LA1233_:; } { oldNimErrFin1233_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prevX60gensym459_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1233_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* x_9; NIM_BOOL doBindGP; NIM_BOOL T1278_; RootObj* T1280_; x_9 = NIM_NIL; T1278_ = (NIM_BOOL)0; T1278_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)0)))&7U)))!=0)); if (T1278_) goto LA1279_; T1278_ = ((flags &((NU8)1<<((NU)((((tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA)2)))&7U)))!=0); LA1279_: ; doBindGP = T1278_; T1280_ = NIM_NIL; T1280_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; x_9 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1280_)); { if (!(x_9 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1283_; { NIM_BOOL T1287_; T1287_ = (NIM_BOOL)0; T1287_ = ((*(*c).callee).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10)); if (!(T1287_)) goto LA1288_; T1287_ = !((*c).typedescMatched); LA1288_: ; if (!T1287_) goto LA1289_; { if (!(((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)30)))&63U)))!=0)) goto LA1293_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1291_; LA1293_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA1296_; { NI T1300_; T1300_ = (NI)0; T1300_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; if (!(T1300_ == ((NI)0))) goto LA1301_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1298_; LA1301_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa_5; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__82; aa_5 = NIM_NIL; colontmpD__82 = NIM_NIL; { NI T1307_; NimStringV2 argX60gensym469_; T1307_ = (NI)0; T1307_ = len__ast_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; if (!!((((NI)0) < T1307_))) goto LA1308_; argX60gensym469_.len = 0; argX60gensym469_.p = NIM_NIL; argX60gensym469_ = toFileLineCol__msgs_666(TM__wjrA09aH0rT1R7zbrcCaROw_58); if (NIM_UNLIKELY(*nimErr_)) goto LA1310_; internalErrorImpl__msgs_1510((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_338, argX60gensym469_, TM__wjrA09aH0rT1R7zbrcCaROw_58); if (NIM_UNLIKELY(*nimErr_)) goto LA1310_; { LA1310_:; } { eqdestroy___stdZassertions_13((&argX60gensym469_)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; } LA1308_: ; (*c).typedescMatched = NIM_TRUE; eqcopy___ast_3546(&aa_5, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; { while (1) { NIM_BOOL T1315_; NI T1317_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T1318_; T1315_ = (NIM_BOOL)0; T1315_ = ((*aa_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8) || (*aa_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)); if (!(T1315_)) goto LA1316_; T1317_ = (NI)0; T1317_ = len__ast_5071(aa_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; T1315_ = (((NI)0) < T1317_); LA1316_: ; if (!T1315_) goto LA1314 ; T1318_ = NIM_NIL; T1318_ = lastSon__ast_4811(aa_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; eqsink___ast_3549(&aa_5, T1318_); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; } LA1314: ; } { if (!((*aa_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12) || (*aa_5).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51) && (*aa_5).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)54) || (*aa_5).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56) && (*aa_5).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))) goto LA1321_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3543(&colontmpD__82); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&aa_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&x_9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1321_: ; colontmpD__82 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; result = typeRel__sigmatch_211(c, colontmpD__82, aa_5, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1304_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) < result)) goto LA1325_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1325_: ; { LA1304_:; } { oldNimErrFin1304_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__82); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&aa_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; *nimErr_ = oldNimErrFin1304_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; } LA1298_: ; } goto LA1291_; LA1296_: ; { if (!(*c).isNoCall) goto LA1330_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete_2; if (!doBindGP) goto LA1334_; concrete_2 = NIM_NIL; concrete_2 = concreteType__sigmatch_469((&(*c)), a, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1336_; { if (!(concrete_2 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1339_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&concrete_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&x_9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1339_: ; put__sigmatch_128(c, f, concrete_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1336_; { LA1336_:; } { oldNimErrFin1336_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&concrete_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; *nimErr_ = oldNimErrFin1336_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; } LA1334_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1291_; LA1330_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1291_: ; } goto LA1285_; LA1289_: ; { { NIM_BOOL T1347_; NI T1348_; NI oldInheritancePenalty_2; T1347_ = (NIM_BOOL)0; T1348_ = (NI)0; T1348_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; T1347_ = (((NI)0) < T1348_); if (!(T1347_)) goto LA1349_; T1347_ = !(((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))); LA1349_: ; if (!T1347_) goto LA1350_; oldInheritancePenalty_2 = (*c).inheritancePenalty; result = typeRel__sigmatch_211(c, (*f).sons.p->data[((NI)0)], a, (flags | 5)); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; { NIM_BOOL T1354_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete_3; T1354_ = (NIM_BOOL)0; T1354_ = doBindGP; if (!(T1354_)) goto LA1355_; T1354_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0) || result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))); LA1355_: ; if (!T1354_) goto LA1356_; concrete_3 = NIM_NIL; concrete_3 = concreteType__sigmatch_469((&(*c)), a, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1358_; { if (!(concrete_3 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1361_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&concrete_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&x_9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1361_: ; put__sigmatch_128(c, f, concrete_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1358_; { LA1358_:; } { oldNimErrFin1358_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&concrete_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; *nimErr_ = oldNimErrFin1358_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; } LA1356_: ; { if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10) || result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA1367_; (*c).inheritancePenalty = (NI)((NI)(oldInheritancePenalty_2 - (*c).inheritancePenalty) - (NI)(((NI)100) * (result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10)))); result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1367_: ; } goto LA1345_; LA1350_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA1370_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } goto LA1345_; LA1370_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1345_: ; } LA1285_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* concrete_4; if (!(result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA1375_; concrete_4 = NIM_NIL; eqcopy___ast_3546(&concrete_4, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1377_; { if (!(((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)30)))&63U)))!=0)) goto LA1380_; transitionGenericParamToType__ast_5812((*a).sym); if (NIM_UNLIKELY(*nimErr_)) goto LA1377_; (*a).flags &= ~(((NU64)1) << (((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)30))) & 63)); } goto LA1378_; LA1380_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T1383_; T1383_ = NIM_NIL; T1383_ = concreteType__sigmatch_469((&(*c)), a, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1377_; eqsink___ast_3549(&concrete_4, T1383_); if (NIM_UNLIKELY(*nimErr_)) goto LA1377_; { if (!(concrete_4 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1386_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); eqdestroy___ast_3543(&concrete_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; eqdestroy___ast_3543(&x_9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1386_: ; } LA1378_: ; { if (!doBindGP) goto LA1390_; put__sigmatch_128(c, f, concrete_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1377_; } LA1390_: ; { LA1377_:; } { oldNimErrFin1377_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&concrete_4); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; *nimErr_ = oldNimErrFin1377_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; } goto LA1373_; LA1375_: ; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) < result)) goto LA1395_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1373_; LA1395_: ; LA1373_: ; } goto LA1281_; LA1283_: ; { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3))) goto LA1398_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1281_; LA1398_: ; { if (!((*x_9).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA1401_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1281_; LA1401_: ; { result = typeRel__sigmatch_211(c, x_9, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1277_; { if (!(((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) < result)) goto LA1406_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1406_: ; } LA1281_: ; { LA1277_:; } { oldNimErrFin1277_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&x_9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1277_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_5; RootObj* T1412_; prev_5 = NIM_NIL; T1412_ = NIM_NIL; T1412_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; prev_5 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1412_)); { if (!(prev_5 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1415_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__83; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__84; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60))) goto LA1419_; colontmpD__83 = NIM_NIL; colontmpD__84 = NIM_NIL; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__85; colontmpD__83 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; if (!!(((*colontmpD__83).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0) || (*colontmpD__83).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)))) goto LA1424_; colontmpD__85 = NIM_NIL; colontmpD__85 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1426_; result = typeRel__sigmatch_211(c, colontmpD__85, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1426_; { NIM_BOOL T1429_; T1429_ = (NIM_BOOL)0; T1429_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T1429_)) goto LA1430_; T1429_ = !(((*f).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA1430_: ; if (!T1429_) goto LA1431_; { NIM_BOOL T1435_; T1435_ = (NIM_BOOL)0; T1435_ = exprStructuralEquivalent__trees_63((*f).n, (*aOrig_2).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1426_; if (!!(T1435_)) goto LA1436_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1436_: ; } LA1431_: ; { LA1426_:; } { oldNimErrFin1426_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__85); if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; *nimErr_ = oldNimErrFin1426_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; } goto LA1422_; LA1424_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__86; colontmpD__84 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; if (!((*colontmpD__84).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12))) goto LA1441_; colontmpD__86 = NIM_NIL; { NI T1446_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__87; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__88; colontmpD__86 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; T1446_ = (NI)0; T1446_ = len__ast_5071(colontmpD__86); if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; if (!(((NI)0) < T1446_)) goto LA1447_; colontmpD__87 = NIM_NIL; colontmpD__88 = NIM_NIL; colontmpD__87 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1449_; colontmpD__88 = lastSon__ast_4811(colontmpD__87); if (NIM_UNLIKELY(*nimErr_)) goto LA1449_; result = typeRel__sigmatch_211(c, colontmpD__88, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1449_; { LA1449_:; } { oldNimErrFin1449_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__88); if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; eqdestroy___ast_3543(&colontmpD__87); if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; *nimErr_ = oldNimErrFin1449_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; } goto LA1444_; LA1447_: ; { { if (!(((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)25)))&63U)))!=0)) goto LA1455_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1453_; LA1455_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__89; colontmpD__89 = NIM_NIL; colontmpD__89 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1458_; result = typeRel__sigmatch_211(c, colontmpD__89, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1458_; { LA1458_:; } { oldNimErrFin1458_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__89); if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; *nimErr_ = oldNimErrFin1458_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1443_; } LA1453_: ; } LA1444_: ; { LA1443_:; } { oldNimErrFin1443_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__86); if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; *nimErr_ = oldNimErrFin1443_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; } goto LA1422_; LA1441_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } LA1422_: ; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1466_; put__sigmatch_128(c, f, aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1421_; } LA1466_: ; { LA1421_:; } { oldNimErrFin1421_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__84); if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; eqdestroy___ast_3543(&colontmpD__83); if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; *nimErr_ = oldNimErrFin1421_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; } goto LA1417_; LA1419_: ; { NIM_BOOL T1471_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__90; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__91; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ colontmpD__92; T1471_ = (NIM_BOOL)0; T1471_ = !(((*aOrig_2).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T1471_)) goto LA1472_; T1471_ = !(((*(*aOrig_2).n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); LA1472_: ; if (!T1471_) goto LA1473_; colontmpD__90 = NIM_NIL; colontmpD__91 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; colontmpD__92 = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__93; colontmpD__90 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; if (!!(((*colontmpD__90).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0)))) goto LA1478_; colontmpD__93 = NIM_NIL; colontmpD__93 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1480_; colontmpD__91 = typeRel__sigmatch_211(c, colontmpD__93, (*(*aOrig_2).n).typ, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1480_; result = colontmpD__91; { LA1480_:; } { oldNimErrFin1480_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__93); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; *nimErr_ = oldNimErrFin1480_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; } goto LA1476_; LA1478_: ; { colontmpD__92 = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); result = colontmpD__92; } LA1476_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boundType; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__94; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ colontmpD__95; if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1486_; boundType = NIM_NIL; colontmpD__94 = NIM_NIL; colontmpD__95.len = 0; colontmpD__95.p = NIM_NIL; colontmpD__95.len = 1; colontmpD__95.p = (tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content*) newSeqPayload(1, sizeof(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*), NIM_ALIGNOF(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*)); colontmpD__94 = 0; eqcopy___ast_3546(&colontmpD__94, (*(*aOrig_2).n).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; colontmpD__95.p->data[0] = colontmpD__94; boundType = newTypeWithSons__semdata_2435((*c).c, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60), colontmpD__95); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; eqcopy___ast_3457(&(*boundType).n, (*aOrig_2).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; put__sigmatch_128(c, f, boundType); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; eqdestroy___ast_3490((&colontmpD__95)); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; eqdestroy___ast_3543(&boundType); if (NIM_UNLIKELY(*nimErr_)) goto LA1475_; } LA1486_: ; { LA1475_:; } { oldNimErrFin1475_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__90); if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; *nimErr_ = oldNimErrFin1475_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; } goto LA1417_; LA1473_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1417_: ; } goto LA1413_; LA1415_: ; { if (!((*prev_5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60))) goto LA1492_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__96; if (!((*aOrig_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60))) goto LA1496_; colontmpD__96 = NIM_NIL; colontmpD__96 = lastSon__ast_4811(prev_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1498_; result = typeRel__sigmatch_211(c, colontmpD__96, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1498_; { NIM_BOOL T1501_; T1501_ = (NIM_BOOL)0; T1501_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T1501_)) goto LA1502_; T1501_ = !(((*prev_5).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA1502_: ; if (!T1501_) goto LA1503_; { NIM_BOOL T1507_; T1507_ = (NIM_BOOL)0; T1507_ = exprStructuralEquivalent__trees_63((*prev_5).n, (*aOrig_2).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1498_; if (!!(T1507_)) goto LA1508_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1508_: ; } LA1503_: ; { LA1498_:; } { oldNimErrFin1498_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__96); if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; *nimErr_ = oldNimErrFin1498_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1411_; } goto LA1494_; LA1496_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1494_: ; } goto LA1413_; LA1492_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1413_: ; { LA1411_:; } { oldNimErrFin1411_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prev_5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1411_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)55): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_6; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T1518_; prev_6 = NIM_NIL; T1518_ = NIM_NIL; { NI T1521_; T1521_ = (*f).sons.len; if (!(((NI)1) < T1521_)) goto LA1522_; prev_6 = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1517_; } goto LA1519_; LA1522_: ; { prev_6 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL); } LA1519_: ; { if (!!((prev_6 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA1527_; result = typeRel__sigmatch_211(c, prev_6, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1517_; } goto LA1525_; LA1527_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__97; colontmpD__97 = NIM_NIL; colontmpD__97 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1530_; result = typeRel__sigmatch_211(c, colontmpD__97, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1530_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__98; if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1533_; colontmpD__98 = NIM_NIL; colontmpD__98 = 0; eqcopy___ast_3546(&colontmpD__98, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1530_; add__ast_5673((&(*c).inferredTypes), colontmpD__98); add__concepts_24(f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1530_; } LA1533_: ; { LA1530_:; } { oldNimErrFin1530_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__97); if (NIM_UNLIKELY(*nimErr_)) goto LA1517_; *nimErr_ = oldNimErrFin1530_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1517_; } LA1525_: ; { LA1517_:; } { oldNimErrFin1517_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prev_6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1517_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev_7; RootObj* T1541_; prev_7 = NIM_NIL; T1541_ = NIM_NIL; T1541_ = idTableGet__astalgo_65((*c).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; prev_7 = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1541_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__99; if (!(prev_7 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA1544_; colontmpD__99 = NIM_NIL; { if (!!(((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)))) goto LA1549_; { NIM_BOOL T1553_; T1553_ = (NIM_BOOL)0; T1553_ = ((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)); if (!(T1553_)) goto LA1554_; T1553_ = (((*a).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)30)))&63U)))!=0); LA1554_: ; if (!T1553_) goto LA1555_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1551_; LA1555_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1551_: ; } goto LA1547_; LA1549_: ; { colontmpD__99 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1546_; if (!((*colontmpD__99).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))) goto LA1559_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } goto LA1547_; LA1559_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__100; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__101; colontmpD__100 = NIM_NIL; colontmpD__101 = NIM_NIL; colontmpD__100 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1562_; colontmpD__101 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1562_; result = typeRel__sigmatch_211(c, colontmpD__100, colontmpD__101, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1562_; { LA1562_:; } { oldNimErrFin1562_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__101); if (NIM_UNLIKELY(*nimErr_)) goto LA1546_; eqdestroy___ast_3543(&colontmpD__100); if (NIM_UNLIKELY(*nimErr_)) goto LA1546_; *nimErr_ = oldNimErrFin1562_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1546_; } LA1547_: ; { if (!!((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA1567_; put__sigmatch_128(c, f, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1546_; } LA1567_: ; { LA1546_:; } { oldNimErrFin1546_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__99); if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; *nimErr_ = oldNimErrFin1546_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; } goto LA1542_; LA1544_: ; { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__102; if (!(((*f).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)9)))&63U)))!=0)) goto LA1574_; colontmpD__102 = NIM_NIL; colontmpD__102 = base__types_64(prev_7); if (NIM_UNLIKELY(*nimErr_)) goto LA1576_; result = typeRel__sigmatch_211(c, colontmpD__102, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1576_; { LA1576_:; } { oldNimErrFin1576_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__102); if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; *nimErr_ = oldNimErrFin1576_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; } goto LA1572_; LA1574_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__103; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__104; if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA1580_; colontmpD__103 = NIM_NIL; colontmpD__104 = NIM_NIL; colontmpD__103 = base__types_64(prev_7); if (NIM_UNLIKELY(*nimErr_)) goto LA1582_; colontmpD__104 = base__types_64(a); if (NIM_UNLIKELY(*nimErr_)) goto LA1582_; result = typeRel__sigmatch_211(c, colontmpD__103, colontmpD__104, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1582_; { LA1582_:; } { oldNimErrFin1582_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__104); if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; eqdestroy___ast_3543(&colontmpD__103); if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; *nimErr_ = oldNimErrFin1582_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1540_; } goto LA1572_; LA1580_: ; { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1572_: ; } LA1542_: ; { LA1540_:; } { oldNimErrFin1540_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&prev_7); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1540_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7): { { if (!!((aOrig_2 == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA1591_; put__sigmatch_128(c, f, aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA1591_: ; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)50): { result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)61): { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* reevaluated; reevaluated = NIM_NIL; { NIM_BOOL T1598_; T1598_ = (NIM_BOOL)0; T1598_ = ((*f).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (T1598_) goto LA1599_; T1598_ = ((*(*f).n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)); LA1599_: ; if (!T1598_) goto LA1600_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8); eqdestroy___ast_3454(&reevaluated); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA1600_: ; reevaluated = tryResolvingStaticExpr__sigmatch_1453(c, (*f).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; switch ((*(*reevaluated).typ).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__105; colontmpD__105 = NIM_NIL; colontmpD__105 = base__types_64((*reevaluated).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1603_; result = typeRel__sigmatch_211(c, a, colontmpD__105, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1603_; { LA1603_:; } { oldNimErrFin1603_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__105); if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; *nimErr_ = oldNimErrFin1603_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__106; colontmpD__106 = NIM_NIL; colontmpD__106 = base__types_64((*reevaluated).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1607_; result = typeRel__sigmatch_211(c, a, colontmpD__106, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1607_; { NIM_BOOL T1610_; T1610_ = (NIM_BOOL)0; T1610_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T1610_)) goto LA1611_; T1610_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA1611_: ; if (!T1610_) goto LA1612_; { NIM_BOOL T1616_; T1616_ = (NIM_BOOL)0; T1616_ = exprStructuralEquivalent__trees_63((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1607_; if (!!(T1616_)) goto LA1617_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1617_: ; } LA1612_: ; { LA1607_:; } { oldNimErrFin1607_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__106); if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; *nimErr_ = oldNimErrFin1607_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; } break; default: { result = typeRel__sigmatch_211(c, a, (*reevaluated).typ, flags); if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; { NIM_BOOL T1624_; T1624_ = (NIM_BOOL)0; T1624_ = !((result == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T1624_)) goto LA1625_; T1624_ = !(((*(*reevaluated).typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA1625_: ; if (!T1624_) goto LA1626_; { NIM_BOOL T1630_; T1630_ = (NIM_BOOL)0; T1630_ = exprStructuralEquivalent__trees_63((*aOrig_2).n, (*(*reevaluated).typ).n, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1595_; if (!!(T1630_)) goto LA1631_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0); } LA1631_: ; } LA1626_: ; } break; } { LA1595_:; } { oldNimErrFin1595_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&reevaluated); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin1595_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0): { { if (!((*a).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))) goto LA1638_; result = ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10); } LA1638_: ; } break; default: { NimStringV2 colontmpD__107; NimStringV2 colontmpD__108; NimStringV2 T1642_; colontmpD__107.len = 0; colontmpD__107.p = NIM_NIL; colontmpD__108.len = 0; colontmpD__108.p = NIM_NIL; T1642_.len = 0; T1642_.p = NIM_NIL; colontmpD__107 = dollar___ast_341((*f).kind); T1642_ = rawNewString(colontmpD__107.len + 19); appendString((&T1642_), TM__wjrA09aH0rT1R7zbrcCaROw_60); appendString((&T1642_), colontmpD__107); colontmpD__108 = T1642_; internalErrorImpl__msgs_1510((*(*(*c).c).graph).config, unknownLineInfo__lineinfos_338, colontmpD__108, TM__wjrA09aH0rT1R7zbrcCaROw_61); if (NIM_UNLIKELY(*nimErr_)) goto LA1641_; { LA1641_:; } { eqdestroy___stdZassertions_13((&colontmpD__108)); eqdestroy___stdZassertions_13((&colontmpD__107)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; } { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aOrig_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, incMatches__sigmatch_3538)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ r, NI convMatch) { switch (r) { case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1): case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2): { (*m).convMatches += convMatch; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3): case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4): { (*m).subtypeMatches += ((NI)1); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8): case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)6): case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)5): { (*m).genericMatches += ((NI)1); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)9): { (*m).intConvMatches += ((NI)256); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)7): { (*m).convMatches += ((NI)1); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10): { (*m).exactMatches += ((NI)1); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0): { } break; } } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getInstantiatedType__sigmatch_3336)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; RootObj* T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; T1_ = NIM_NIL; T1_ = idTableGet__astalgo_65((*m).bindings, &f->Sup); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; result = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T1_)); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T6_; if (!(result == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA4_; T6_ = NIM_NIL; T6_ = generateTypeInstance__semtypinst_1107(c, (*m).bindings, (*arg).info, f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&result, T6_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T11_; if (!(result == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA9_; internalErrorImpl__msgs_1510((*(*c).graph).config, (*arg).info, TM__wjrA09aH0rT1R7zbrcCaROw_65, TM__wjrA09aH0rT1R7zbrcCaROw_66); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T11_ = NIM_NIL; T11_ = errorType__semdata_2662(c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&result, T11_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA9_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, implicitConv__sigmatch_3350)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL oldNimErrFin10_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; result = newNodeI__ast_3949(kind, (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = containsGenericType__types_3570(f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T11_; if (!!(!(((*m).fauxMatch == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0))))) goto LA8_; colontmpD_ = NIM_NIL; colontmpD_ = getInstantiatedType__sigmatch_3336(c, arg, m, f); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; T11_ = NIM_NIL; T11_ = skipTypes__ast_4803(colontmpD_, TM__wjrA09aH0rT1R7zbrcCaROw_67); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; eqsink___ast_3549(&(*result).typ, T11_); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; { LA10_:; } { oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin10_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA6_; LA8_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T15_; T15_ = NIM_NIL; T15_ = errorType__semdata_2662(c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&(*result).typ, T15_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA6_: ; } goto LA1_; LA4_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T17_; T17_ = NIM_NIL; T17_ = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_68); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&(*result).typ, T17_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; { if (!((*result).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA20_; internalErrorImpl__msgs_1510((*(*c).graph).config, (*arg).info, TM__wjrA09aH0rT1R7zbrcCaROw_70, TM__wjrA09aH0rT1R7zbrcCaROw_71); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA20_: ; add__ast_6233(result, (*(*c).graph).emptyNode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; add__ast_6233(result, arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, isLValue__sigmatch_3373)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL isOutParam) { NIM_BOOL result; tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg aa; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; aa = isAssignable__parampatterns_349(((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL), n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; switch (aa) { case ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)1): case ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)2): case ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)6): { result = NIM_TRUE; } break; case ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)3): { result = (((NI)0) < (*c).inUncheckedAssignSection); } break; case ((tyEnum_TAssignableResult__tM1HL39bOpJzxn4WjZuSvIg)4): { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym; NIM_BOOL T4_; NIM_BOOL T5_; NIM_BOOL T6_; sym = NIM_NIL; sym = getRoot__trees_397(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T4_ = (NIM_BOOL)0; T5_ = (NIM_BOOL)0; T6_ = (NIM_BOOL)0; T6_ = (((*c).features &((NU32)1<<((NU)((((tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA)18)))&31U)))!=0); if (!(T6_)) goto LA7_; T6_ = !((sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); LA7_: ; T5_ = T6_; if (!(T5_)) goto LA8_; T5_ = ((*sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9)); LA8_: ; T4_ = T5_; if (!(T4_)) goto LA9_; T4_ = isOutParam; LA9_: ; result = T4_; eqdestroy___ast_4060(&sym); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { result = NIM_FALSE; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, warnAboutDeprecated__sigmatch_5777)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmaNode; NimStringV2 name; NimStringV2 colontmpD_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T2_; NimStringV2 T8_; NIM_BOOL oldNimErrFin22_; NimStringV2 T42_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); pragmaNode = NIM_NIL; name.len = 0; name.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; T2_ = NIM_NIL; { if (!((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20))) goto LA5_; pragmaNode = extractPragma__ast_3868((*s).owner); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA3_; LA5_: ; { pragmaNode = extractPragma__ast_3868(s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA3_: ; T8_.len = 0; T8_.p = NIM_NIL; { NIM_BOOL T11_; NimStringV2 T15_; T11_ = (NIM_BOOL)0; T11_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20)); if (!(T11_)) goto LA12_; T11_ = !((((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)22)))&63U)))!=0)); LA12_: ; if (!T11_) goto LA13_; T15_.len = 0; T15_.p = NIM_NIL; T15_ = rawNewString((*(*(*s).owner).name).s.len + (*(*s).name).s.len + 31); appendString((&T15_), TM__wjrA09aH0rT1R7zbrcCaROw_78); appendString((&T15_), (*(*(*s).owner).name).s); appendString((&T15_), TM__wjrA09aH0rT1R7zbrcCaROw_80); appendString((&T15_), (*(*s).name).s); appendString((&T15_), TM__wjrA09aH0rT1R7zbrcCaROw_81); name = T15_; } goto LA9_; LA13_: ; { eqcopy___stdZassertions_16((&name), (*(*s).name).s); } LA9_: ; { if (!!((pragmaNode == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA19_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it; it = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3318(pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA25 ; i = i_2; eqcopy___ast_3457(&it, (*pragmaNode)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; { NIM_BOOL T28_; NIM_BOOL T29_; tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA T30_; NI T32_; NimStringV2 colontmpD__2; NimStringV2 T37_; T28_ = (NIM_BOOL)0; T29_ = (NIM_BOOL)0; T30_ = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0; T30_ = whichPragma__trees_251(it); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; T29_ = (T30_ == ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)138)); if (!(T29_)) goto LA31_; T32_ = (NI)0; T32_ = safeLen__ast_3318(it); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; T29_ = (T32_ == ((NI)2)); LA31_: ; T28_ = T29_; if (!(T28_)) goto LA33_; T28_ = ((*(*it)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20) && (*(*it)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22)); LA33_: ; if (!T28_) goto LA34_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; T37_.len = 0; T37_.p = NIM_NIL; T37_ = rawNewString((*(*it)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal.len + name.len + 16); appendString((&T37_), (*(*it)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal); appendString((&T37_), TM__wjrA09aH0rT1R7zbrcCaROw_83); appendString((&T37_), name); appendString((&T37_), TM__wjrA09aH0rT1R7zbrcCaROw_85); colontmpD__2 = T37_; liMessage__msgs_1172(conf, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)23), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_86, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___ast_3454(&it); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&name)); eqdestroy___ast_3454(&pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA36_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto LA22_; } LA34_: ; i_2 += ((NI)1); } LA25: ; } } { LA22_:; } { oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&it); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin22_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } } LA19_: ; T42_.len = 0; T42_.p = NIM_NIL; T42_ = rawNewString(name.len + 14); appendString((&T42_), name); appendString((&T42_), TM__wjrA09aH0rT1R7zbrcCaROw_88); colontmpD_ = T42_; liMessage__msgs_1172(conf, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)23), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_89, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___stdZassertions_13((&name)); eqdestroy___ast_3454(&pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(NimStringV2, toFileLineCol__msgs_670)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) { NimStringV2 result; NimStringV2 colontmpD_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD_ = toMsgFilename__msgs_653(conf, info.fileIndex); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); { if (!(((NI)0) < ((NI) (info.line)))) goto LA4_; prepareAdd((&result), 1); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_93); addInt__stdZprivateZdigitsutils_198((&result), ((NI) (info.line))); { if (!(((NI)0) < (NI)(((NI) (info.col)) + ((NI)1)))) goto LA8_; prepareAdd((&result), 2); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_94); addInt__stdZprivateZdigitsutils_198((&result), (NI)(((NI) (info.col)) + ((NI)1))); } LA8_: ; prepareAdd((&result), 1); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_95); } LA4_: ; { LA1_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, userError__sigmatch_5810)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* pragmaNode; NimStringV2 colontmpD_; NimStringV2 colontmpD__2; NIM_BOOL oldNimErrFin7_; tyArray__24KAM9afIUgUaqBaEBB6r9bg T28_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); pragmaNode = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; pragmaNode = extractPragma__ast_3868(s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!((pragmaNode == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA4_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it; it = NIM_NIL; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3318(pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA10 ; i = i_2; eqcopy___ast_3457(&it, (*pragmaNode)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; { NIM_BOOL T13_; NIM_BOOL T14_; tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA T15_; NI T17_; NimStringV2 colontmpD__3; NimStringV2 colontmpD__4; NimStringV2 colontmpD__5; tyArray__24KAM9afIUgUaqBaEBB6r9bg T22_; NimStringV2 T23_; T13_ = (NIM_BOOL)0; T14_ = (NIM_BOOL)0; T15_ = (tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)0; T15_ = whichPragma__trees_251(it); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; T14_ = (T15_ == ((tyEnum_TSpecialWord__hTGV9ad79bZJfqtldnYLJ8AA)122)); if (!(T14_)) goto LA16_; T17_ = (NI)0; T17_ = safeLen__ast_3318(it); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; T14_ = (T17_ == ((NI)2)); LA16_: ; T13_ = T14_; if (!(T13_)) goto LA18_; T13_ = ((*(*it)._kind_6.sons.p->data[((NI)1)]).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20) && (*(*it)._kind_6.sons.p->data[((NI)1)]).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22)); LA18_: ; if (!T13_) goto LA19_; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; T23_.len = 0; T23_.p = NIM_NIL; T23_ = rawNewString((*(*it)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal.len + 2); appendString((&T23_), (*(*it)._kind_6.sons.p->data[((NI)1)])._kind_3.strVal); appendString((&T23_), TM__wjrA09aH0rT1R7zbrcCaROw_92); colontmpD__3 = T23_; T22_[0] = colontmpD__3; T22_[1] = (*(*s).name).s; colontmpD__4 = toFileLineCol__msgs_670(conf, (*(*s).ast).info); if (NIM_UNLIKELY(*nimErr_)) goto LA21_; T22_[2] = colontmpD__4; colontmpD__5 = nsuFormatOpenArray(TM__wjrA09aH0rT1R7zbrcCaROw_91, T22_, 3); if (NIM_UNLIKELY(*nimErr_)) goto LA21_; liMessage__msgs_1172(conf, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__5, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_96, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA21_; eqdestroy___stdZassertions_13((&colontmpD__5)); eqdestroy___stdZassertions_13((&colontmpD__4)); eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___ast_3454(&it); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___ast_3454(&pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA21_:; } { eqdestroy___stdZassertions_13((&colontmpD__5)); eqdestroy___stdZassertions_13((&colontmpD__4)); eqdestroy___stdZassertions_13((&colontmpD__3)); } if (NIM_UNLIKELY(*nimErr_)) goto LA7_; } LA19_: ; i_2 += ((NI)1); } LA10: ; } } { LA7_:; } { oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&it); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin7_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } } LA4_: ; T28_[0] = TM__wjrA09aH0rT1R7zbrcCaROw_98; T28_[1] = (*(*s).name).s; colontmpD_ = toFileLineCol__msgs_670(conf, (*(*s).ast).info); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T28_[2] = colontmpD_; colontmpD__2 = nsuFormatOpenArray(TM__wjrA09aH0rT1R7zbrcCaROw_97, T28_, 3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; liMessage__msgs_1172(conf, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_99, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___ast_3454(&pragmaNode); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_91)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); module = NIM_NIL; module = s; { while (1) { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = !((module == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T3_)) goto LA4_; T3_ = !(((*module).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6))); LA4_: ; if (!T3_) goto LA2 ; module = (*module).owner; } LA2: ; } { NIM_BOOL T7_; NI i; T7_ = (NIM_BOOL)0; T7_ = !((module == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T7_)) goto LA8_; T7_ = !((module == (*c).module)); LA8_: ; if (!T7_) goto LA9_; i = ((NI)0); { while (1) { NI T13_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* candidate; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym904_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym909_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym910_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym911_; T13_ = ((*c).unusedImports.len-1); if (!(i <= T13_)) goto LA12 ; candidate = NIM_NIL; xX60gensym904_ = NIM_NIL; xX60gensym909_ = NIM_NIL; xX60gensym910_ = NIM_NIL; xX60gensym911_ = NIM_NIL; eqcopy___ast_4063(&candidate, (*c).unusedImports.p->data[i].Field0); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T16_; NIM_BOOL T17_; NI T19_; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T21_; T16_ = (NIM_BOOL)0; T17_ = (NIM_BOOL)0; T17_ = (candidate == module); if (T17_) goto LA18_; eqcopy___ast_4063(&xX60gensym904_, candidate); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T19_ = (NI)0; T19_ = getOrDefault__sigmatch_5960((*c).importModuleMap, (NI)((NI)((NU32)(((NI) ((*xX60gensym904_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym904_).Sup.itemId.item))), ((NI)(-2147483647 -1))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___ast_4063(&xX60gensym909_, module); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T17_ = (T19_ == (NI)((NI)((NU32)(((NI) ((*xX60gensym909_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym909_).Sup.itemId.item)))); LA18_: ; T16_ = T17_; if (T16_) goto LA20_; xX60gensym910_ = candidate; candidate = 0; T21_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym910_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym910_).Sup.itemId.item))); xX60gensym911_ = s; T21_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym911_).Sup.itemId.module))) << (NU32)(((NI)20))) + ((NI) ((*xX60gensym911_).Sup.itemId.item))); T16_ = contains__sigmatch_6370((*c).exportIndirections, T21_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; LA20_: ; if (!T16_) goto LA22_; del__sigmatch_6663((&(*c).unusedImports), ((NI) (i))); } goto LA14_; LA22_: ; { i += ((NI)1); } LA14_: ; eqdestroy___ast_4060(&xX60gensym910_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&xX60gensym909_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&xX60gensym904_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&candidate); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA12: ; } } LA9_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_87)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) { tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); conf = NIM_NIL; eqcopy___options_3378(&conf, (*(*c).graph).config); (*s).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)0))) & 63); { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20)); if (!(T4_)) goto LA5_; T4_ = !(((*s).owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); LA5_: ; if (!T4_) goto LA6_; (*(*s).owner).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)0))) & 63); { if (!(((*(*s).owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)22)))&63U)))!=0)) goto LA10_; warnAboutDeprecated__sigmatch_5777(conf, info, s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA10_: ; } LA6_: ; { tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg T14_; T14_ = 0; if (!!(((20971520 & (*s).flags) == T14_))) goto LA15_; { if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)22)))&63U)))!=0)) goto LA19_; { NIM_BOOL T23_; T23_ = (NIM_BOOL)0; T23_ = ((*c).lastTLineInfo.line == info.line); if (!(T23_)) goto LA24_; T23_ = ((*c).lastTLineInfo.col == info.col); LA24_: ; if (!!(T23_)) goto LA25_; warnAboutDeprecated__sigmatch_5777(conf, info, s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*c).lastTLineInfo = info; } LA25_: ; } LA19_: ; { if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24)))&63U)))!=0)) goto LA29_; userError__sigmatch_5810(conf, info, s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA29_: ; } LA15_: ; { NIM_BOOL T33_; NIM_BOOL T34_; NIM_BOOL T35_; NIM_BOOL T36_; NIM_BOOL T37_; tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw T38_; T33_ = (NIM_BOOL)0; T34_ = (NIM_BOOL)0; T35_ = (NIM_BOOL)0; T36_ = (NIM_BOOL)0; T37_ = (NIM_BOOL)0; T38_ = 0; T37_ = !(((98304 & (*(*(*c).graph).config).globalOptions) == T38_)); if (!(T37_)) goto LA39_; T37_ = (((*(*(*c).graph).config).notes[(NU)((((tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw)97) - 19))>>3] &(1U<<((NU)((((tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw)97) - 19))&7U)))!=0); LA39_: ; T36_ = T37_; if (!(T36_)) goto LA40_; T36_ = belongsToProjectPackage__packages_76((*(*c).graph).config, (*c).module); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; LA40_: ; T35_ = T36_; if (!(T35_)) goto LA41_; T35_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5))); LA41_: ; T34_ = T35_; if (!(T34_)) goto LA42_; T34_ = ((Letters__linter_12[(NU)((((NU8)((*(*s).name).s.p->data[((NI)0)]))))>>3] &(1U<<((NU)((((NU8)((*(*s).name).s.p->data[((NI)0)]))))&7U)))!=0); LA42_: ; T33_ = T34_; if (!(T33_)) goto LA43_; T33_ = !((((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)34)))&63U)))!=0)); LA43_: ; if (!T33_) goto LA44_; styleCheckUseImpl__linter_180((*(*c).graph).config, info, s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA44_: ; markOwnerModuleAsUsed__sigmatch_91(c, s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { eqdestroy___options_3375(&conf); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeref__lowerings_12)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65), (*n).info, (*(*n).typ).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; add__ast_6233(result, n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, userConvMatch__sigmatch_3393)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL oldNimErrFin46_; NIM_BOOL oldNimErrFin53_; NIM_BOOL oldNimErrFin40_; NIM_BOOL oldNimErrFin6_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); { NI i; NI colontmp_; NI T2_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T2_ = (*c).converters.len; colontmp_ = T2_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA4 ; i = i_2; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* dest; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ srca; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T7_; NIM_BOOL destIsGeneric; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ fdest; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T31_; src = NIM_NIL; dest = NIM_NIL; constraint = NIM_NIL; eqcopy___ast_3546(&src, (*(*(*c).converters.p->data[i]).typ).sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqcopy___ast_3546(&dest, (*(*(*c).converters.p->data[i]).typ).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T7_ = 0; srca = typeRel__sigmatch_211(m, src, a, T7_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { if (!!((srca == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10) || srca == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8) || srca == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3)))) goto LA10_; eqdestroy___ast_3454(&constraint); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&dest); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&src); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA5; } LA10_: ; eqcopy___ast_3457(&constraint, (*(*(*(*(*(*c).converters.p->data[i]).typ).n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).constraint); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { NIM_BOOL T14_; NIM_BOOL T16_; T14_ = (NIM_BOOL)0; T14_ = !((constraint == 0)); if (!(T14_)) goto LA15_; T16_ = (NIM_BOOL)0; T16_ = matchNodeKinds__parampatterns_510(constraint, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T14_ = !(T16_); LA15_: ; if (!T14_) goto LA17_; eqdestroy___ast_3454(&constraint); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&dest); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&src); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA5; } LA17_: ; { NIM_BOOL T21_; NIM_BOOL T23_; T21_ = (NIM_BOOL)0; T21_ = ((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47)); if (!(T21_)) goto LA22_; T23_ = (NIM_BOOL)0; T23_ = isLValue__sigmatch_3373(c, arg, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; T21_ = !(T23_); LA22_: ; if (!T21_) goto LA24_; eqdestroy___ast_3454(&constraint); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&dest); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&src); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA5; } LA24_: ; destIsGeneric = containsGenericType__types_3570(dest); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T30_; if (!destIsGeneric) goto LA28_; T30_ = NIM_NIL; T30_ = generateTypeInstance__semtypinst_1107(c, (*m).bindings, (*arg).info, dest); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqsink___ast_3549(&dest, T30_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA28_: ; T31_ = 0; fdest = typeRel__sigmatch_211(m, f, dest, T31_); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; { NIM_BOOL T34_; NIM_BOOL T36_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* param; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T41_; T34_ = (NIM_BOOL)0; T34_ = (fdest == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10) || fdest == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)); if (!(T34_)) goto LA35_; T36_ = (NIM_BOOL)0; T36_ = ((*dest).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47)); if (!(T36_)) goto LA37_; T36_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23)); LA37_: ; T34_ = !(T36_); LA35_: ; if (!T34_) goto LA38_; s = NIM_NIL; param = NIM_NIL; markUsed__sigmatch_87(c, (*arg).info, (*c).converters.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; s = newSymNode__ast_4784((*c).converters.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; eqcopy___ast_3546(&(*s).typ, (*(*c).converters.p->data[i]).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; (*s).info = (*arg).info; T41_ = NIM_NIL; T41_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32), (*arg).info, dest); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; eqsink___ast_3460(&result, T41_); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; add__ast_6233(result, s); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; param = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T47_; if (!(srca == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3))) goto LA44_; colontmpD_ = NIM_NIL; colontmpD_ = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; T47_ = NIM_NIL; T47_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59), src, colontmpD_, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; eqsink___ast_3460(¶m, T47_); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; { LA46_:; } { oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; *nimErr_ = oldNimErrFin46_; } if (NIM_UNLIKELY(*nimErr_)) goto LA40_; } goto LA42_; LA44_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T54_; if (!((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA51_; colontmpD__2 = NIM_NIL; T54_ = NIM_NIL; T54_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64), (*arg).info, (*(*s).typ).sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA53_; eqsink___ast_3460(¶m, T54_); if (NIM_UNLIKELY(*nimErr_)) goto LA53_; colontmpD__2 = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA53_; add__ast_6233(param, colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA53_; { LA53_:; } { oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; *nimErr_ = oldNimErrFin53_; } if (NIM_UNLIKELY(*nimErr_)) goto LA40_; } goto LA42_; LA51_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T58_; T58_ = NIM_NIL; T58_ = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; eqsink___ast_3460(¶m, T58_); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; } LA42_: ; add__ast_6233(result, param); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T63_; if (!((*dest).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*dest).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47))) goto LA61_; (*dest).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)20))) & 63); T63_ = NIM_NIL; T63_ = newDeref__lowerings_12(result); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; eqsink___ast_3460(&result, T63_); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; } LA61_: ; (*m).convMatches += ((NI)1); { NIM_BOOL T68_; if (!!((*m).genericConverter)) goto LA66_; T68_ = (NIM_BOOL)0; T68_ = (srca == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)); if (T68_) goto LA69_; T68_ = destIsGeneric; LA69_: ; (*m).genericConverter = T68_; } LA66_: ; eqdestroy___ast_3454(¶m); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqdestroy___ast_3454(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqdestroy___ast_3454(&constraint); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&dest); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&src); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA40_:; } { oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(¶m); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; eqdestroy___ast_3454(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA6_; *nimErr_ = oldNimErrFin40_; } if (NIM_UNLIKELY(*nimErr_)) goto LA6_; } LA38_: ; { LA6_:; } { oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&constraint); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&dest); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&src); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin6_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA5: ; i_2 += ((NI)1); } LA4: ; } } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, localConvMatch__sigmatch_3480)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2; NIM_BOOL oldNimErrFin35_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; call = NIM_NIL; colontmpD_ = NIM_NIL; colontmpD__2 = NIM_NIL; { if (!((*arg).typ == 0)) goto LA4_; result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA4_: ; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = (f == (*arg).typ); if (!(T8_)) goto LA9_; T8_ = ((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58)); LA9_: ; if (!T8_) goto LA10_; eqcopy___ast_3457(&result, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA10_: ; call = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = copyTree__ast_5856((*f).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; add__ast_6233(call, colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD__2 = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; add__ast_6233(call, colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = (*c).semTryExpr(c, call, 131072); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T20_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T21_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ r; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T22_; if (!!((result == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA14_; { if (!((*result).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA18_; eqsink___ast_3460(&result, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA18_: ; T20_ = 0; T21_ = NIM_NIL; T21_ = (*c).semExpr(c, call, T20_, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&result, T21_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T22_ = 0; r = typeRel__sigmatch_211(m, (*f).sons.p->data[((NI)0)], (*result).typ, T22_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(r < ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA25_; eqsink___ast_3460(&result, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA25_: ; { if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27))) goto LA29_; transitionSonsKind__ast_5759(result, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)32)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA29_: ; (*m).convMatches += ((NI)1); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T36_; if (!(r == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8))) goto LA33_; colontmpD__3 = NIM_NIL; colontmpD__3 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; T36_ = NIM_NIL; T36_ = getInstantiatedType__sigmatch_3336(c, arg, (&(*m)), colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; eqsink___ast_3549(&(*result).typ, T36_); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; { LA35_:; } { oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin35_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA33_: ; (*m).baseTypeMatch = NIM_TRUE; } LA14_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, paramTypesMatchAux__sigmatch_3574)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argSemantized, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argOrig) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fMaybeStatic; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a_2; tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c; NIM_BOOL oldNimErrFin24_; NIM_BOOL oldNimErrFin33_; NIM_BOOL oldNimErrFin43_; NIM_BOOL oldNimErrFin28_; NI oldInheritancePenalty; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ r; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T56_; NI bothMetaCounter; NI lastBindingsLength; NIM_BOOL oldNimErrFin93_; NIM_BOOL oldNimErrFin99_; NIM_BOOL oldNimErrFin107_; NIM_BOOL oldNimErrFin138_; NIM_BOOL oldNimErrFin148_; NIM_BOOL oldNimErrFin169_; NIM_BOOL oldNimErrFin202_; NIM_BOOL oldNimErrFin226_; NIM_BOOL oldNimErrFin242_; NIM_BOOL oldNimErrFin236_; NIM_BOOL oldNimErrFin249_; NIM_BOOL oldNimErrFin223_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; fMaybeStatic = NIM_NIL; arg = NIM_NIL; a_2 = NIM_NIL; c = NIM_NIL; fMaybeStatic = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_16); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3457(&arg, argSemantized); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&a_2, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___semdata_2058(&c, (*m).c, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(((*fMaybeStatic).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)24)))&63U)))!=0)) goto LA4_; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = ((*a_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12)); if (!(T8_)) goto LA9_; T8_ = (((*a_2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)30)))&63U)))!=0); LA9_: ; if (!T8_) goto LA10_; assignType__ast_5045(a_2, f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3457(&result, argSemantized); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA10_: ; { if (!((*a_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60))) goto LA14_; { NIM_BOOL T18_; NIM_BOOL T19_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; T18_ = (NIM_BOOL)0; T19_ = (NIM_BOOL)0; T19_ = ((*(*m).callee).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10)); if (!(T19_)) goto LA20_; T19_ = ((*a_2).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); LA20_: ; T18_ = T19_; if (!(T18_)) goto LA21_; T18_ = !((((*a_2).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)25)))&63U)))!=0)); LA21_: ; if (!T18_) goto LA22_; colontmpD_ = NIM_NIL; colontmpD_ = makeTypeFromExpr__semdata_2418(c, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA24_; result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*argOrig).info, colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA24_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA24_:; } { oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin24_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA22_: ; } goto LA12_; LA14_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* evaluated; evaluated = NIM_NIL; evaluated = (*c).semTryConstExpr(c, arg, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ T34_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T35_; if (!!((evaluated == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA31_; typ = NIM_NIL; colontmpD__2 = NIM_NIL; typ = newTypeS__semdata_2347(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60), c); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; T34_.len = 0; T34_.p = NIM_NIL; T34_.len = 1; T34_.p = (tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content*) newSeqPayload(1, sizeof(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*), NIM_ALIGNOF(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*)); colontmpD__2 = 0; eqcopy___ast_3546(&colontmpD__2, (*evaluated).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; T34_.p->data[0] = colontmpD__2; eqsink___ast_3496((&(*typ).sons), T34_); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; eqsink___ast_3460(&(*typ).n, evaluated); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; evaluated = 0; T35_ = NIM_NIL; T35_ = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; eqsink___ast_3460(&arg, T35_); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; eqcopy___ast_3546(&(*arg).typ, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; eqsink___ast_3549(&a_2, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA33_; typ = 0; { LA33_:; } { oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&typ); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; *nimErr_ = oldNimErrFin33_; } if (NIM_UNLIKELY(*nimErr_)) goto LA28_; } goto LA29_; LA31_: ; { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3; if (!((*(*m).callee).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10))) goto LA41_; colontmpD__3 = NIM_NIL; { NIM_BOOL T46_; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T48_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T49_; T46_ = (NIM_BOOL)0; T46_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60)); if (!(T46_)) goto LA47_; colontmpD__3 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; T48_ = 0; T49_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T49_ = typeRel__sigmatch_211(m, colontmpD__3, a_2, T48_); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; T46_ = !((T49_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); LA47_: ; if (!T46_) goto LA50_; result = makeStaticExpr__semdata_2440((*m).c, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; (*(*result).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)9))) & 63); eqsink___ast_3460(&(*(*result).typ).n, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; arg = 0; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; eqdestroy___ast_3454(&evaluated); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA50_: ; { LA43_:; } { oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA28_; *nimErr_ = oldNimErrFin43_; } if (NIM_UNLIKELY(*nimErr_)) goto LA28_; } LA41_: ; } LA29_: ; { LA28_:; } { oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&evaluated); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin28_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA12_: ; } LA4_: ; oldInheritancePenalty = (*m).inheritancePenalty; T56_ = 0; r = typeRel__sigmatch_211(m, f, a_2, T56_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T59_; NIM_BOOL T60_; T59_ = (NIM_BOOL)0; T60_ = (NIM_BOOL)0; T60_ = !((r == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))); if (!(T60_)) goto LA61_; T60_ = !(((*m).calleeSym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); LA61_: ; T59_ = T60_; if (!(T59_)) goto LA62_; T59_ = ((*(*m).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*(*m).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18)); LA62_: ; if (!T59_) goto LA63_; incMatches__sigmatch_3538(m, r, ((NI)1)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7))) goto LA67_; result = arg; arg = 0; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA65_; LA67_: ; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA70_; result = arg; arg = 0; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA65_; LA70_: ; { NIM_BOOL T73_; T73_ = (NIM_BOOL)0; T73_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60)); if (!(T73_)) goto LA74_; T73_ = !(((*(*arg).typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA74_: ; if (!T73_) goto LA75_; eqcopy___ast_3457(&result, (*(*arg).typ).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA65_; LA75_: ; { eqcopy___ast_3457(&result, argSemantized); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA65_: ; } LA63_: ; bothMetaCounter = ((NI)0); lastBindingsLength = ((NI)-1); { while (1) { NIM_BOOL T80_; NIM_BOOL T81_; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T97_; T80_ = (NIM_BOOL)0; T81_ = (NIM_BOOL)0; T81_ = (r == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)5)); if (!(T81_)) goto LA82_; T81_ = !((lastBindingsLength == (*m).bindings.counter)); LA82_: ; T80_ = T81_; if (!(T80_)) goto LA83_; T80_ = (bothMetaCounter < ((NI)100)); LA83_: ; if (!T80_) goto LA79 ; lastBindingsLength = (*m).bindings.counter; bothMetaCounter += ((NI)1); { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T88_; if (!((*arg).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) && (*arg).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159))) goto LA86_; T88_ = NIM_NIL; T88_ = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_62)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&result, T88_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA84_; LA86_: ; { if (!!(((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)))) goto LA90_; eqsink___ast_3460(&result, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA84_; LA90_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* inferred; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T94_; inferred = NIM_NIL; inferred = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_63)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto LA93_; T94_ = NIM_NIL; T94_ = newSymNode__ast_4787(inferred, (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto LA93_; eqsink___ast_3460(&result, T94_); if (NIM_UNLIKELY(*nimErr_)) goto LA93_; { LA93_:; } { oldNimErrFin93_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&inferred); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin93_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA84_: ; (*m).convMatches += ((NI)1); eqsink___ast_3460(&arg, result); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = 0; T97_ = 0; r = typeRel__sigmatch_211(m, f, (*arg).typ, T97_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA79: ; } switch (r) { case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)1): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4; colontmpD__4 = NIM_NIL; { colontmpD__4 = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA99_; if (!((*colontmpD__4).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) || (*colontmpD__4).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40))) goto LA102_; (*m).convMatches += ((NI)1); } LA102_: ; (*m).convMatches += ((NI)1); result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA99_; { LA99_:; } { oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin99_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)2): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5; colontmpD__5 = NIM_NIL; { colontmpD__5 = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_19); if (NIM_UNLIKELY(*nimErr_)) goto LA107_; if (!!(((*colontmpD__5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40)))) goto LA110_; (*m).intConvMatches += ((NI)1); } LA110_: ; (*m).intConvMatches += ((NI)1); result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA107_; { LA107_:; } { oldNimErrFin107_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin107_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3): { (*m).subtypeMatches += ((NI)1); { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA117_; result = arg; arg = 0; } goto LA115_; LA117_: ; { result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA115_: ; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)4): { (*m).subtypeMatches += ((NI)1); { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA123_; result = arg; arg = 0; } goto LA121_; LA123_: ; { result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA121_: ; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)6): case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)7): { { if (!((*arg).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) && (*arg).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159))) goto LA129_; result = (*c).semInferredLambda.ClE_0? (*c).semInferredLambda.ClP_0(c, (*m).bindings, arg, (*c).semInferredLambda.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_72)((*c).semInferredLambda.ClP_0))(c, (*m).bindings, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA127_; LA129_: ; { if (!!(((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)))) goto LA132_; result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA127_; LA132_: ; { if (!((*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18))) goto LA135_; result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA127_; LA135_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* inferred_2; inferred_2 = NIM_NIL; inferred_2 = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info, (*c).semGenerateInstance.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_73)((*c).semGenerateInstance.ClP_0))(c, (*arg)._kind_4.sym, (*m).bindings, (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto LA138_; result = newSymNode__ast_4787(inferred_2, (*arg).info); if (NIM_UNLIKELY(*nimErr_)) goto LA138_; { LA138_:; } { oldNimErrFin138_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&inferred_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin138_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA127_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T145_; if (!(r == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)7))) goto LA143_; (*m).convMatches += ((NI)1); T145_ = NIM_NIL; T145_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, result, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&result, T145_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA141_; LA143_: ; { (*m).genericMatches += ((NI)1); } LA141_: ; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__6; colontmpD__6 = NIM_NIL; (*m).genericMatches += ((NI)1); { if (!((*arg).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA151_; result = arg; arg = 0; } goto LA149_; LA151_: ; { NIM_BOOL T154_; T154_ = (NIM_BOOL)0; colontmpD__6 = skipTypes__ast_4803((*arg).typ, TM__wjrA09aH0rT1R7zbrcCaROw_74); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; T154_ = ((*colontmpD__6).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18)); if (T154_) goto LA155_; T154_ = (oldInheritancePenalty < (*m).inheritancePenalty); LA155_: ; if (!T154_) goto LA156_; result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; } goto LA149_; LA156_: ; { NIM_BOOL T159_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T162_; T159_ = (NIM_BOOL)0; T159_ = isEmptyContainer__types_3859((*arg).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; if (!T159_) goto LA160_; result = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; T162_ = NIM_NIL; T162_ = getInstantiatedType__sigmatch_3336(c, arg, (&(*m)), f); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; eqsink___ast_3549(&(*result).typ, T162_); if (NIM_UNLIKELY(*nimErr_)) goto LA148_; } goto LA149_; LA160_: ; { result = arg; arg = 0; } LA149_: ; { LA148_:; } { oldNimErrFin148_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin148_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)5): { result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)9): { (*m).intConvMatches += ((NI)256); result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ff; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7; ff = NIM_NIL; colontmpD__7 = NIM_NIL; (*m).exactMatches += ((NI)1); eqcopy___ast_3457(&result, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA169_; ff = skipTypes__ast_4803(f, TM__wjrA09aH0rT1R7zbrcCaROw_74); if (NIM_UNLIKELY(*nimErr_)) goto LA169_; { NIM_BOOL T172_; NIM_BOOL T174_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T178_; T172_ = (NIM_BOOL)0; T172_ = ((*ff).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18)); if (T172_) goto LA173_; T174_ = (NIM_BOOL)0; T174_ = !(((*arg).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T174_)) goto LA175_; colontmpD__7 = skipTypes__ast_4803((*arg).typ, TM__wjrA09aH0rT1R7zbrcCaROw_74); if (NIM_UNLIKELY(*nimErr_)) goto LA169_; T174_ = ((*colontmpD__7).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18)); LA175_: ; T172_ = T174_; LA173_: ; if (!T172_) goto LA176_; T178_ = NIM_NIL; T178_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59), f, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA169_; eqsink___ast_3460(&result, T178_); if (NIM_UNLIKELY(*nimErr_)) goto LA169_; } LA176_: ; { LA169_:; } { oldNimErrFin169_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__7); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&ff); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin169_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0): { { if (!((*a_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)50) || (*a_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)61))) goto LA184_; (*m).genericMatches += ((NI)1); (*m).fauxMatch = (*a_2).kind; result = arg; arg = 0; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA182_; LA184_: ; { NIM_BOOL T187_; NIM_BOOL T188_; NIM_BOOL T190_; NIM_BOOL T191_; NIM_BOOL T192_; NI T194_; NIM_BOOL T197_; tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* p; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lifted; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9; tyArray__ITlg8UhAbnS7vsiPAhcspQ T203_; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T204_; T187_ = (NIM_BOOL)0; T188_ = (NIM_BOOL)0; T188_ = ((*a_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)63)); if (!(T188_)) goto LA189_; T190_ = (NIM_BOOL)0; T191_ = (NIM_BOOL)0; T192_ = (NIM_BOOL)0; T192_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25)); if (!(T192_)) goto LA193_; T194_ = (NI)0; T194_ = len__ast_5071(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T192_ = (T194_ == ((NI)1)); LA193_: ; T191_ = T192_; if (!(T191_)) goto LA195_; T191_ = ((*f).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); LA195_: ; T190_ = T191_; if (T190_) goto LA196_; T197_ = (NIM_BOOL)0; T197_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51)); if (!(T197_)) goto LA198_; T197_ = ((*(*f).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25)); LA198_: ; T190_ = T197_; LA196_: ; T188_ = T190_; LA189_: ; T187_ = T188_; if (!(T187_)) goto LA199_; T187_ = ((*argOrig).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115)); LA199_: ; if (!T187_) goto LA200_; p = NIM_NIL; lifted = NIM_NIL; colontmpD__8 = NIM_NIL; colontmpD__9 = NIM_NIL; liMessage__msgs_1172((*(*c).graph).config, (*argOrig).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)75), TM__wjrA09aH0rT1R7zbrcCaROw_75, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_76, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; eqcopy___modulegraphs_11315(&p, (*c).graph); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; nimZeroMem((void*)T203_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ)); T203_[0] = (*p).emptyNode; colontmpD__8 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)76), T203_, 1); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; colontmpD__9 = newProcNode__ast_4889(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52), (*argOrig).info, argOrig, colontmpD__8, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode, (*p).emptyNode); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; T204_ = 0; lifted = (*c).semExpr(c, colontmpD__9, T204_, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51))) goto LA207_; (*m).genericMatches += ((NI)1); put__sigmatch_128(m, f, (*lifted).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; } LA207_: ; (*m).convMatches += ((NI)1); result = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), f, lifted, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA202_; eqdestroy___ast_3454(&colontmpD__9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&lifted); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___modulegraphs_11312(&p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA202_:; } { oldNimErrFin202_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__9); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&lifted); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___modulegraphs_11312(&p); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin202_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA182_; LA200_: ; LA182_: ; result = userConvMatch__sigmatch_3393(c, m, f, a_2, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T213_; T213_ = (NIM_BOOL)0; T213_ = (result == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (!(T213_)) goto LA214_; T213_ = ((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48)); LA214_: ; if (!T213_) goto LA215_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T221_; if (!!(((*f).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA219_; T221_ = NIM_NIL; T221_ = localConvMatch__sigmatch_3480(c, m, f, a_2, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&result, T221_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA217_; LA219_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__10; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T224_; colontmpD__10 = NIM_NIL; colontmpD__10 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; T224_ = 0; r = typeRel__sigmatch_211(m, colontmpD__10, a_2, T224_); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; switch (r) { case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__11; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T227_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T228_; colontmpD__11 = NIM_NIL; (*m).convMatches += ((NI)1); T227_ = NIM_NIL; T227_ = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; eqsink___ast_3460(&result, T227_); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; colontmpD__11 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; T228_ = NIM_NIL; T228_ = getInstantiatedType__sigmatch_3336(c, arg, (&(*m)), colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; eqsink___ast_3549(&(*result).typ, T228_); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; (*m).baseTypeMatch = NIM_TRUE; { LA226_:; } { oldNimErrFin226_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; *nimErr_ = oldNimErrFin226_; } if (NIM_UNLIKELY(*nimErr_)) goto LA223_; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)9): { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T232_; (*m).intConvMatches += ((NI)256); T232_ = NIM_NIL; T232_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), (*f).sons.p->data[((NI)0)], arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; eqsink___ast_3460(&result, T232_); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; (*m).baseTypeMatch = NIM_TRUE; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)10): { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T234_; (*m).convMatches += ((NI)1); T234_ = NIM_NIL; T234_ = copyTree__ast_5856(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; eqsink___ast_3460(&result, T234_); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; (*m).baseTypeMatch = NIM_TRUE; } break; case ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)3): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__12; colontmpD__12 = NIM_NIL; (*m).subtypeMatches += ((NI)1); { colontmpD__12 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA236_; if (!((*colontmpD__12).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA239_; eqsink___ast_3460(&result, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA236_; arg = 0; } goto LA237_; LA239_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__13; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T243_; colontmpD__13 = NIM_NIL; colontmpD__13 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; T243_ = NIM_NIL; T243_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59), colontmpD__13, arg, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; eqsink___ast_3460(&result, T243_); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; { LA242_:; } { oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__13); if (NIM_UNLIKELY(*nimErr_)) goto LA236_; *nimErr_ = oldNimErrFin242_; } if (NIM_UNLIKELY(*nimErr_)) goto LA236_; } LA237_: ; (*m).baseTypeMatch = NIM_TRUE; { LA236_:; } { oldNimErrFin236_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__12); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; *nimErr_ = oldNimErrFin236_; } if (NIM_UNLIKELY(*nimErr_)) goto LA223_; } break; default: { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__14; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T250_; colontmpD__14 = NIM_NIL; colontmpD__14 = base__types_64(f); if (NIM_UNLIKELY(*nimErr_)) goto LA249_; T250_ = NIM_NIL; T250_ = userConvMatch__sigmatch_3393(c, m, colontmpD__14, a_2, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA249_; eqsink___ast_3460(&result, T250_); if (NIM_UNLIKELY(*nimErr_)) goto LA249_; { if (!!((result == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA253_; (*m).baseTypeMatch = NIM_TRUE; } LA253_: ; { LA249_:; } { oldNimErrFin249_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__14); if (NIM_UNLIKELY(*nimErr_)) goto LA223_; *nimErr_ = oldNimErrFin249_; } if (NIM_UNLIKELY(*nimErr_)) goto LA223_; } break; } { LA223_:; } { oldNimErrFin223_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__10); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin223_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA217_: ; } LA215_: ; } break; } { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&a_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&fMaybeStatic); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, copyCandidate__sigmatch_208)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); eqcopy___semdata_2058(&(*a).c, (*b).c, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*a).exactMatches = (*b).exactMatches; (*a).subtypeMatches = (*b).subtypeMatches; (*a).convMatches = (*b).convMatches; (*a).intConvMatches = (*b).intConvMatches; (*a).genericMatches = (*b).genericMatches; (*a).state = (*b).state; eqcopy___ast_3546(&(*a).callee, (*b).callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___ast_4063(&(*a).calleeSym, (*b).calleeSym); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T1_ = NIM_NIL; T1_ = copyTree__ast_5856((*b).call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3460(&(*a).call, T1_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*a).baseTypeMatch = (*b).baseTypeMatch; copyIdTable__ast_4354((&(*a).bindings), (*b).bindings); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(void, nimIncRef)(void* p) { NI T1_; T1_ = (NI)0; T1_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); (*((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T1_))).rc += ((NI)16); } N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_264)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* dest, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* src) { tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* colontmp_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); colontmp_ = (*dest).c; { if (!(*src).c) goto LA3_; nimIncRefCyclic((*src).c, NIM_TRUE); } LA3_: ; (*dest).c = (*src).c; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = nimDecRefIsLastCyclicDyn(colontmp_); if (!T7_) goto LA8_; nimDestroyAndDispose(colontmp_); } LA8_: ; (*dest).exactMatches = (*src).exactMatches; (*dest).genericMatches = (*src).genericMatches; (*dest).subtypeMatches = (*src).subtypeMatches; (*dest).intConvMatches = (*src).intConvMatches; (*dest).convMatches = (*src).convMatches; (*dest).state = (*src).state; { if (!(*src).callee) goto LA12_; nimIncRef((*src).callee); } LA12_: ; { NIM_BOOL T16_; T16_ = (NIM_BOOL)0; T16_ = nimDecRefIsLast((*dest).callee); if (!T16_) goto LA17_; nimDestroyAndDispose((*dest).callee); } LA17_: ; (*dest).callee = (*src).callee; { if (!(*src).calleeSym) goto LA21_; nimIncRef((*src).calleeSym); } LA21_: ; { NIM_BOOL T25_; T25_ = (NIM_BOOL)0; T25_ = nimDecRefIsLast((*dest).calleeSym); if (!T25_) goto LA26_; nimDestroyAndDispose((*dest).calleeSym); } LA26_: ; (*dest).calleeSym = (*src).calleeSym; (*dest).calleeScope = (*src).calleeScope; { if (!(*src).call) goto LA30_; nimIncRef((*src).call); } LA30_: ; { NIM_BOOL T34_; T34_ = (NIM_BOOL)0; T34_ = nimDecRefIsLast((*dest).call); if (!T34_) goto LA35_; eqdestroy___ast_3466((*dest).call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; nimRawDispose((*dest).call, ((NI)8)); } LA35_: ; (*dest).call = (*src).call; (*dest).bindings.counter = (*src).bindings.counter; eqcopy___ast_4527((&(*dest).bindings.data), (*src).bindings.data); (*dest).magic = (*src).magic; (*dest).baseTypeMatch = (*src).baseTypeMatch; (*dest).fauxMatch = (*src).fauxMatch; (*dest).genericConverter = (*src).genericConverter; (*dest).coerceDistincts = (*src).coerceDistincts; (*dest).typedescMatched = (*src).typedescMatched; (*dest).isNoCall = (*src).isNoCall; eqcopy___ast_3493((&(*dest).inferredTypes), (*src).inferredTypes); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___system_3519((&(*dest).diagnostics), (*src).diagnostics); (*dest).inheritancePenalty = (*src).inheritancePenalty; (*dest).firstMismatch.kind = (*src).firstMismatch.kind; (*dest).firstMismatch.arg = (*src).firstMismatch.arg; { if (!(*src).firstMismatch.formal) goto LA39_; nimIncRef((*src).firstMismatch.formal); } LA39_: ; { NIM_BOOL T43_; T43_ = (NIM_BOOL)0; T43_ = nimDecRefIsLast((*dest).firstMismatch.formal); if (!T43_) goto LA44_; nimDestroyAndDispose((*dest).firstMismatch.formal); } LA44_: ; (*dest).firstMismatch.formal = (*src).firstMismatch.formal; (*dest).diagnosticsEnabled = (*src).diagnosticsEnabled; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sigmatch_261)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* dest) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).c); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).c); } LA4_: ; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = nimDecRefIsLast((*dest).callee); if (!T8_) goto LA9_; nimDestroyAndDispose((*dest).callee); } LA9_: ; { NIM_BOOL T13_; T13_ = (NIM_BOOL)0; T13_ = nimDecRefIsLast((*dest).calleeSym); if (!T13_) goto LA14_; nimDestroyAndDispose((*dest).calleeSym); } LA14_: ; { NIM_BOOL T18_; T18_ = (NIM_BOOL)0; T18_ = nimDecRefIsLast((*dest).call); if (!T18_) goto LA19_; eqdestroy___ast_3466((*dest).call); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; nimRawDispose((*dest).call, ((NI)8)); } LA19_: ; eqdestroy___ast_4524((&(*dest).bindings.data)); eqdestroy___ast_3490((&(*dest).inferredTypes)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___system_3516((&(*dest).diagnostics)); { NIM_BOOL T23_; T23_ = (NIM_BOOL)0; T23_ = nimDecRefIsLast((*dest).firstMismatch.formal); if (!T23_) goto LA24_; nimDestroyAndDispose((*dest).firstMismatch.formal); } LA24_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, checkGeneric__sigmatch_216)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b) { NI result; tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* aa; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* bb; NI winner; NIM_BOOL oldNimErrFin7_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; c = NIM_NIL; aa = NIM_NIL; bb = NIM_NIL; eqcopy___semdata_2058(&c, (*a).c, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&aa, (*a).callee); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&bb, (*b).callee); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; winner = ((NI)0); { NI i; NI colontmp_; NI T3_; NI T4_; NI i_2; i = (NI)0; colontmp_ = (NI)0; T3_ = (NI)0; T3_ = len__ast_5071(aa); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T4_ = (NI)0; T4_ = len__ast_5071(bb); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmp_ = ((T3_ <= T4_) ? T3_ : T4_); i_2 = ((NI)1); { while (1) { tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg ma; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg mb; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ tra; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ trb; if (!(i_2 < colontmp_)) goto LA6 ; nimZeroMem((void*)(&ma), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); nimZeroMem((void*)(&mb), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); i = i_2; newCandidate__sigmatch_204(c, (*bb).sons.p->data[i], (&ma)); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; tra = typeRel__sigmatch_211((&ma), (*bb).sons.p->data[i], (*aa).sons.p->data[i], 1); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; newCandidate__sigmatch_204(c, (*aa).sons.p->data[i], (&mb)); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; trb = typeRel__sigmatch_211((&mb), (*aa).sons.p->data[i], (*bb).sons.p->data[i], 1); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; { NIM_BOOL T10_; T10_ = (NIM_BOOL)0; T10_ = (tra == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)); if (!(T10_)) goto LA11_; T10_ = (trb == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)); LA11_: ; if (!T10_) goto LA12_; { if (!(winner == ((NI)-1))) goto LA16_; result = ((NI)0); eqdestroy___sigmatch_261((&mb)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___sigmatch_261((&ma)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&bb); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA16_: ; winner = ((NI)1); } LA12_: ; { NIM_BOOL T20_; T20_ = (NIM_BOOL)0; T20_ = (trb == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)8)); if (!(T20_)) goto LA21_; T20_ = (tra == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)); LA21_: ; if (!T20_) goto LA22_; { if (!(winner == ((NI)1))) goto LA26_; result = ((NI)0); eqdestroy___sigmatch_261((&mb)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___sigmatch_261((&ma)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3543(&bb); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA26_: ; winner = ((NI)-1); } LA22_: ; i_2 += ((NI)1); { LA7_:; } { oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___sigmatch_261((&mb)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___sigmatch_261((&ma)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin7_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA6: ; } } result = winner; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&bb); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&aa); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, sumGeneric__sigmatch_282)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) { NI result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2; NI isvar; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; t_2 = NIM_NIL; eqcopy___ast_3546(&t_2, t); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; isvar = ((NI)1); { while (1) { switch ((*t_2).kind) { case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)49): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T5_; T5_ = NIM_NIL; T5_ = lastSon__ast_4811(t_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&t_2, T5_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result += ((NI)1); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)57): { NI maxBranch; maxBranch = ((NI)0); { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** branch; NI i; NI L; NI T8_; branch = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i = ((NI)0); T8_ = (*t_2).sons.len; L = T8_; { while (1) { NI branchSum; if (!(i < L)) goto LA10 ; branch = &(*t_2).sons.p->data[i]; branchSum = sumGeneric__sigmatch_282((*branch)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(maxBranch < branchSum)) goto LA13_; maxBranch = branchSum; } LA13_: ; i += ((NI)1); } LA10: ; } } result += maxBranch; goto LA2; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23): { eqcopy___ast_3546(&t_2, (*t_2).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result += ((NI)1); isvar += ((NI)1); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T17_; T17_ = NIM_NIL; T17_ = lastSon__ast_4811(t_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&t_2, T17_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3))) goto LA20_; goto LA2; } LA20_: ; result += ((NI)1); } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56): { result += ((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9) || (*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56)); { NI i_2; NI colontmp_; NI i_3; i_2 = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_5071(t_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; i_3 = ((NI)0); { while (1) { if (!(i_3 < colontmp_)) goto LA25 ; i_2 = i_3; { NI T30_; if (!!(((*t_2).sons.p->data[i_2] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA28_; T30_ = (NI)0; T30_ = sumGeneric__sigmatch_282((*t_2).sons.p->data[i_2]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result += T30_; } LA28_: ; i_3 += ((NI)1); } LA25: ; } } goto LA2; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60): { NI T32_; T32_ = (NI)0; T32_ = sumGeneric__sigmatch_282((*t_2).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; result = (NI)(T32_ + ((NI)1)); eqdestroy___ast_3543(&t_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7): { goto LA2; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)4): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46): { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T35_; T35_ = NIM_NIL; T35_ = lastSon__ast_4811(t_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&t_2, T35_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44): case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)54): { result = isvar; eqdestroy___ast_3543(&t_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; default: { result = ((NI)0); eqdestroy___ast_3543(&t_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; } } } LA2: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&t_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NI, complexDisambiguation__sigmatch_362)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b) { NI result; NI winner; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); 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_5071(a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T3_ = (NI)0; T3_ = len__ast_5071(b); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; 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_282((*a).sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; y = sumGeneric__sigmatch_282((*b).sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { 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_384)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* a, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* b) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); 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_216(a, b); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!!((result == ((NI)0)))) goto LA27_; goto BeforeRet_; } LA27_: ; result = complexDisambiguation__sigmatch_362((*a).callee, (*b).callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { 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__1pEudI6ZemBfsBxMjg4u5Q*, paramTypesMatch__sigmatch_3930)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argOrig) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL oldNimErrFin8_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = (arg == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (T3_) goto LA4_; T3_ = !(((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57))); LA4_: ; if (!T3_) goto LA5_; result = paramTypesMatchAux__sigmatch_3574(m, f, a, arg, argOrig); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA5_: ; { tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg x; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg y; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg z; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg T9_; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg T10_; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg T11_; NI best; c = NIM_NIL; nimZeroMem((void*)(&x), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); nimZeroMem((void*)(&y), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); eqcopy___semdata_2058(&c, (*m).c, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; nimZeroMem((void*)(&T9_), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); newCandidate__sigmatch_204(c, (*m).callee, (&T9_)); x = T9_; if (NIM_UNLIKELY(*nimErr_)) goto LA8_; nimZeroMem((void*)(&T10_), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); newCandidate__sigmatch_204(c, (*m).callee, (&T10_)); y = T10_; if (NIM_UNLIKELY(*nimErr_)) goto LA8_; nimZeroMem((void*)(&T11_), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); newCandidate__sigmatch_204(c, (*m).callee, (&T11_)); z = T11_; if (NIM_UNLIKELY(*nimErr_)) goto LA8_; eqcopy___ast_4063(&x.calleeSym, (*m).calleeSym); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; eqcopy___ast_4063(&y.calleeSym, (*m).calleeSym); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; eqcopy___ast_4063(&z.calleeSym, (*m).calleeSym); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; best = ((NI)-1); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(arg); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; i_2 = ((NI)0); { while (1) { if (!(i_2 < colontmp_)) goto LA14 ; i = i_2; { { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ r; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T24_; if (!((*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*(*(*arg)._kind_6.sons.p->data[i])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20))) goto LA18_; copyCandidate__sigmatch_208((&z), (&(*m))); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; eqcopy___ast_3546(&z.callee, (*(*arg)._kind_6.sons.p->data[i]).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; { if (!(((*z.callee).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)9)))&63U)))!=0)) goto LA22_; goto LA15; } LA22_: ; eqcopy___ast_4063(&z.calleeSym, (*(*arg)._kind_6.sons.p->data[i])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; T24_ = 0; r = typeRel__sigmatch_211((&z), f, (*(*arg)._kind_6.sons.p->data[i]).typ, T24_); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; incMatches__sigmatch_3538((&z), r, ((NI)2)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; { if (!!((r == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0)))) goto LA27_; z.state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1); switch (x.state) { case ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)0): case ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2): { eqcopy___sigmatch_264((&x), (&z)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; best = i; } break; case ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1): { NI cmp; cmp = cmpCandidates__sigmatch_384((&x), (&z)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; { if (!(cmp < ((NI)0))) goto LA33_; best = i; eqcopy___sigmatch_264((&x), (&z)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; } goto LA31_; LA33_: ; { if (!(cmp == ((NI)0))) goto LA36_; eqcopy___sigmatch_264((&y), (&z)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; } goto LA31_; LA36_: ; LA31_: ; } break; } } LA27_: ; } LA18_: ; } LA15: ; i_2 += ((NI)1); } LA14: ; } } { if (!(x.state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)0))) goto LA40_; result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } goto LA38_; LA40_: ; { NIM_BOOL T43_; NI T45_; T43_ = (NIM_BOOL)0; T43_ = (y.state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1)); if (!(T43_)) goto LA44_; T45_ = (NI)0; T45_ = cmpCandidates__sigmatch_384((&x), (&y)); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; T43_ = (T45_ == ((NI)0)); LA44_: ; if (!T43_) goto LA46_; { if (!!((x.state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1)))) goto LA50_; internalErrorImpl__msgs_1510((*(*(*m).c).graph).config, (*arg).info, TM__wjrA09aH0rT1R7zbrcCaROw_101, TM__wjrA09aH0rT1R7zbrcCaROw_102); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; } LA50_: ; { if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6) || (*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7))) goto LA54_; eqcopy___ast_3457(&result, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; } goto LA52_; LA54_: ; { result = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } LA52_: ; } goto LA38_; LA46_: ; { markUsed__sigmatch_87((*m).c, (*arg).info, (*(*arg)._kind_6.sons.p->data[best])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; result = paramTypesMatchAux__sigmatch_3574(m, f, (*(*arg)._kind_6.sons.p->data[best]).typ, (*arg)._kind_6.sons.p->data[best], argOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; } LA38_: ; { LA8_:; } { oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___sigmatch_261((&z)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_261((&y)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_261((&x)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___semdata_2055(&c); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin8_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } static N_INLINE(NI, find__sigmatch_4661)(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_4656)(NI* a, NI aLen_0, NI item) { NIM_BOOL result; NI T1_; { result = (NIM_BOOL)0; T1_ = (NI)0; T1_ = find__sigmatch_4661(a, aLen_0, item); result = (((NI)0) <= T1_); goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argtypeMatches__sigmatch_4638)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, NIM_BOOL fromHlo) { NIM_BOOL result; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg m; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res; NIM_BOOL colontmpD_; NIM_BOOL colontmpD__2; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); res = NIM_NIL; colontmpD_ = (NIM_BOOL)0; colontmpD__2 = (NIM_BOOL)0; newCandidate__sigmatch_204(c, f, (&m)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; res = paramTypesMatch__sigmatch_3930((&m), f, a, (*(*c).graph).emptyNode, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!(fromHlo)) goto LA4_; colontmpD_ = !((res == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); result = colontmpD_; } goto LA2_; LA4_: ; { NIM_BOOL T7_; NIM_BOOL T8_; T7_ = (NIM_BOOL)0; T8_ = (NIM_BOOL)0; T8_ = !((res == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T8_)) goto LA9_; T8_ = (m.convMatches == ((NI)0)); LA9_: ; T7_ = T8_; if (!(T7_)) goto LA10_; T7_ = contains__sigmatch_4656(TM__wjrA09aH0rT1R7zbrcCaROw_103, 2, m.intConvMatches); LA10_: ; colontmpD__2 = T7_; result = colontmpD__2; } LA2_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&res); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_261((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } static N_INLINE(NIM_BOOL, typeFits__sigmatch_5545)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* firstArg) { NIM_BOOL result; NIM_BOOL oldNimErrFin17_; NIM_BOOL oldNimErrFin10_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { NIM_BOOL T3_; NIM_BOOL T4_; NI T6_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m; T3_ = (NIM_BOOL)0; T4_ = (NIM_BOOL)0; T4_ = !(((*s).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T4_)) goto LA5_; T6_ = (NI)0; T6_ = len__ast_5071((*s).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T4_ = (((NI)1) < T6_); LA5_: ; T3_ = T4_; if (!(T3_)) goto LA7_; T3_ = !(((*(*s).typ).sons.p->data[((NI)1)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); LA7_: ; if (!T3_) goto LA8_; m = NIM_NIL; m = getModule__astalgo_220(s); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; { NIM_BOOL T13_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* exp_1; T13_ = (NIM_BOOL)0; T13_ = !((m == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T13_)) goto LA14_; T13_ = (((*m).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)15)))&63U)))!=0); LA14_: ; if (!T13_) goto LA15_; exp_1 = NIM_NIL; { if (!((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7))) goto LA20_; eqdestroy___ast_3543(&exp_1); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; eqdestroy___ast_4060(&m); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA20_: ; exp_1 = skipTypes__ast_4803((*(*s).typ).sons.p->data[((NI)1)], TM__wjrA09aH0rT1R7zbrcCaROw_12); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T26_; if (!((*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))) goto LA24_; T26_ = NIM_NIL; T26_ = elemType__types_264(exp_1); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqsink___ast_3549(&exp_1, T26_); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA24_: ; { if (!((*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12) || (*exp_1).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59))) goto LA29_; eqdestroy___ast_3543(&exp_1); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; eqdestroy___ast_4060(&m); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA29_: ; { LA17_:; } { oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&exp_1); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; *nimErr_ = oldNimErrFin17_; } if (NIM_UNLIKELY(*nimErr_)) goto LA10_; } LA15_: ; result = argtypeMatches__sigmatch_4638(c, (*(*s).typ).sons.p->data[((NI)1)], firstArg, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA10_; { LA10_:; } { oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&m); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin10_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA8_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestOperations__sigmatch_5586)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; NIM_BOOL oldNimErrFin15_; NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin4_; NIM_BOOL oldNimErrFin47_; NIM_BOOL oldNimErrFin42_; NIM_BOOL oldNimErrFin75_; NIM_BOOL oldNimErrFin63_; NIM_BOOL oldNimErrFin36_; NIM_BOOL oldNimErrFin2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); info = (*n).info; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA6 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA9_; isLocal_2 = NIM_FALSE; } LA9_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it; item_2 = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item_2 = colontmpD_; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T24_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA14 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; it_2 = NIM_NIL; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; item = 0; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T18_; NI T22_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T23_; T18_ = (NIM_BOOL)0; T18_ = filterSymNoOpr__sigmatch_5312(it_2, f, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; if (!(T18_)) goto LA19_; T18_ = typeFits__sigmatch_5545(c, it_2, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; LA19_: ; if (!T18_) goto LA20_; T22_ = (NI)0; T22_ = getQuality__sigmatch_5378(it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; T23_ = NIM_NIL; T23_ = symToSuggest__sigmatch_4892((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T22_, pm, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; add__sigmatch_5409((&(*outputs)), T23_); } LA20_: ; T24_ = NIM_NIL; T24_ = nextIter__astalgo_3921((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; eqsink___ast_4066(&s, T24_); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; { LA15_:; } { oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; *nimErr_ = oldNimErrFin15_; } if (NIM_UNLIKELY(*nimErr_)) goto LA12_; } LA14: ; } { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } LA6: ; } { LA4_:; } { oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin4_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T32_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T32_ = (*c).imports.len; L = T32_; { while (1) { if (!(i < L)) goto LA34 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T39_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T43_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T44_; T39_ = (NIM_BOOL)0; T39_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; if (!T39_) goto LA40_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T43_ = NIM_NIL; T43_ = (*(*c).graph).config; T44_ = NIM_NIL; T44_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T43_, T44_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA42_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T56_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA46 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_3 = NIM_NIL; eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; item = 0; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T50_; NI T54_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T55_; T50_ = (NIM_BOOL)0; T50_ = filterSymNoOpr__sigmatch_5312(it_3, f, (&pm_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; if (!(T50_)) goto LA51_; T50_ = typeFits__sigmatch_5545(c, it_3, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; LA51_: ; if (!T50_) goto LA52_; T54_ = (NI)0; T54_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; T55_ = NIM_NIL; T55_ = symToSuggest__sigmatch_4892((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T54_, pm_2, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; add__sigmatch_5409((&(*outputs)), T55_); } LA52_: ; T56_ = NIM_NIL; T56_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; eqsink___ast_4066(&r, T56_); if (NIM_UNLIKELY(*nimErr_)) goto LA47_; { LA47_:; } { oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA42_; *nimErr_ = oldNimErrFin47_; } if (NIM_UNLIKELY(*nimErr_)) goto LA42_; } LA46: ; } { LA42_:; } { oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; *nimErr_ = oldNimErrFin42_; } if (NIM_UNLIKELY(*nimErr_)) goto LA36_; } goto LA37_; LA40_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T68_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA66_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA66_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; i_2 = ((NI)0); T68_ = colontmp__3.len; L_2 = T68_; { while (1) { if (!(i_2 < L_2)) goto LA70 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA73_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_4 = NIM_NIL; eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; item = 0; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T78_; NI T82_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T83_; T78_ = (NIM_BOOL)0; T78_ = filterSymNoOpr__sigmatch_5312(it_4, f, (&pm_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; if (!(T78_)) goto LA79_; T78_ = typeFits__sigmatch_5545(c, it_4, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; LA79_: ; if (!T78_) goto LA80_; T82_ = (NI)0; T82_ = getQuality__sigmatch_5378(it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; T83_ = NIM_NIL; T83_ = symToSuggest__sigmatch_4892((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T82_, pm_3, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA75_; add__sigmatch_5409((&(*outputs)), T83_); } LA80_: ; { LA75_:; } { oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; *nimErr_ = oldNimErrFin75_; } if (NIM_UNLIKELY(*nimErr_)) goto LA63_; } LA73_: ; i_2 += ((NI)1); } LA70: ; } { LA63_:; } { oldNimErrFin63_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA36_; *nimErr_ = oldNimErrFin63_; } if (NIM_UNLIKELY(*nimErr_)) goto LA36_; } } LA37_: ; { LA36_:; } { oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin36_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } i += ((NI)1); } LA34: ; } } { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&item); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestFieldAccess__sigmatch_5622)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; NIM_BOOL oldNimErrFin17_; NIM_BOOL oldNimErrFin38_; NIM_BOOL oldNimErrFin55_; NIM_BOOL oldNimErrFin32_; NIM_BOOL oldNimErrFin90_; NIM_BOOL oldNimErrFin98_; NIM_BOOL oldNimErrFin80_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); typ = NIM_NIL; eqcopy___ast_3546(&typ, (*n).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { if (!(typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA4_; { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)); if (!(T8_)) goto LA9_; T8_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)); LA9_: ; if (!T8_) goto LA10_; { if (!((*n)._kind_4.sym == (*c).module)) goto LA14_; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it_2; it = NIM_NIL; s = NIM_NIL; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it_2), (*(*c).topLevelScope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T27_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA19 ; it = s; { NIM_BOOL T22_; NI T25_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T26_; T22_ = (NIM_BOOL)0; T22_ = filterSym__sigmatch_5286(it, field, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; if (!T22_) goto LA23_; T25_ = (NI)0; T25_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; T26_ = NIM_NIL; T26_ = symToSuggest__sigmatch_4892((*c).graph, it, NIM_FALSE, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T25_, pm, (((NI)0) < (*c).inTypeContext), ((NI)-99), NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; add__sigmatch_5409((&(*outputs)), T26_); } LA23_: ; T27_ = NIM_NIL; T27_ = nextIter__astalgo_3921((&it_2), (*(*c).topLevelScope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; eqsink___ast_4066(&s, T27_); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA19: ; } { LA17_:; } { oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin17_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } } goto LA12_; LA14_: ; { { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmp_; NIM_BOOL importHidden; it_3 = NIM_NIL; colontmp_ = NIM_NIL; eqcopy___ast_4063(&colontmp_, (*n)._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; importHidden = (((*colontmp_).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T35_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T39_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T40_; T35_ = (NIM_BOOL)0; T35_ = isCachedModule__modulegraphs_2880((*c).graph, colontmp_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; if (!T35_) goto LA36_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; T39_ = NIM_NIL; T39_ = (*(*c).graph).config; T40_ = NIM_NIL; T40_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T39_, T40_, (&(*(*c).graph).packed_0), ((NI32) ((*colontmp_).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T50_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA42 ; eqsink___ast_4066(&it_3, r); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; r = 0; { NIM_BOOL T45_; NI T48_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T49_; T45_ = (NIM_BOOL)0; T45_ = filterSym__sigmatch_5286(it_3, field, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; if (!T45_) goto LA46_; T48_ = (NI)0; T48_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; T49_ = NIM_NIL; T49_ = symToSuggest__sigmatch_4892((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T48_, pm, (((NI)0) < (*c).inTypeContext), ((NI)-99), NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; add__sigmatch_5409((&(*outputs)), T49_); } LA46_: ; T50_ = NIM_NIL; T50_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; eqsink___ast_4066(&r, T50_); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; } LA42: ; } { LA38_:; } { oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; *nimErr_ = oldNimErrFin38_; } if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } goto LA33_; LA36_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_2; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i; NI L; NI T60_; colontmp__2.len = 0; colontmp__2.p = NIM_NIL; s_2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*colontmp_).position].interf); { if (!importHidden) goto LA58_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*colontmp_).position].interfHidden); } LA58_: ; eqcopy___ast_4330((&colontmp__2), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; i = ((NI)0); T60_ = colontmp__2.len; L = T60_; { while (1) { if (!(i < L)) goto LA62 ; s_2 = &colontmp__2.p->data[i]; { if (!!(((*s_2) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA65_; eqcopy___ast_4063(&it_3, (*s_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; { NIM_BOOL T69_; NI T72_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T73_; T69_ = (NIM_BOOL)0; T69_ = filterSym__sigmatch_5286(it_3, field, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; if (!T69_) goto LA70_; T72_ = (NI)0; T72_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; T73_ = NIM_NIL; T73_ = symToSuggest__sigmatch_4892((*c).graph, it_3, NIM_FALSE, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), (*n).info, T72_, pm, (((NI)0) < (*c).inTypeContext), ((NI)-99), NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA55_; add__sigmatch_5409((&(*outputs)), T73_); } LA70_: ; } LA65_: ; i += ((NI)1); } LA62: ; } { LA55_:; } { oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__2)); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; *nimErr_ = oldNimErrFin55_; } if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } } LA33_: ; { LA32_:; } { oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&colontmp_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_4060(&it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin32_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } } LA12_: ; } goto LA6_; LA10_: ; { suggestEverything__sigmatch_5609(c, n, field, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA6_: ; } goto LA2_; LA4_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* orig; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T81_; orig = NIM_NIL; orig = typ; typ = 0; T81_ = NIM_NIL; T81_ = skipTypes__ast_4803(orig, TM__wjrA09aH0rT1R7zbrcCaROw_13); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; eqsink___ast_3549(&typ, T81_); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; { NIM_BOOL T84_; NIM_BOOL T85_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t; T84_ = (NIM_BOOL)0; T85_ = (NIM_BOOL)0; T85_ = ((*typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14)); if (!(T85_)) goto LA86_; T85_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)); LA86_: ; T84_ = T85_; if (!(T84_)) goto LA87_; T84_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7)); LA87_: ; if (!T84_) goto LA88_; t = NIM_NIL; eqcopy___ast_3546(&t, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA90_; { while (1) { if (!!((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA92 ; suggestSymList__sigmatch_5432(c, (*t).n, field, (*n).info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA90_; eqcopy___ast_3546(&t, (*t).sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA90_; } LA92: ; } { LA90_:; } { oldNimErrFin90_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&t); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; *nimErr_ = oldNimErrFin90_; } if (NIM_UNLIKELY(*nimErr_)) goto LA80_; } goto LA82_; LA88_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2; if (!((*typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17))) goto LA96_; t_2 = NIM_NIL; eqcopy___ast_3546(&t_2, typ); if (NIM_UNLIKELY(*nimErr_)) goto LA98_; { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T105_; suggestObject__sigmatch_5452(c, (*t_2).n, field, (*n).info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA98_; { if (!((*t_2).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA103_; goto LA99; } LA103_: ; T105_ = NIM_NIL; T105_ = skipTypes__ast_4803((*t_2).sons.p->data[((NI)0)], TM__wjrA09aH0rT1R7zbrcCaROw_15); if (NIM_UNLIKELY(*nimErr_)) goto LA98_; eqsink___ast_3549(&t_2, T105_); if (NIM_UNLIKELY(*nimErr_)) goto LA98_; } } LA99: ; { LA98_:; } { oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&t_2); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; *nimErr_ = oldNimErrFin98_; } if (NIM_UNLIKELY(*nimErr_)) goto LA80_; } goto LA82_; LA96_: ; { NIM_BOOL T109_; T109_ = (NIM_BOOL)0; T109_ = ((*typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18)); if (!(T109_)) goto LA110_; T109_ = !(((*typ).n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA110_: ; if (!T109_) goto LA111_; suggestSymList__sigmatch_5432(c, (*typ).n, field, (*n).info, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; } goto LA82_; LA111_: ; LA82_: ; suggestOperations__sigmatch_5586(c, n, field, orig, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; { if (!!((typ == orig))) goto LA115_; suggestOperations__sigmatch_5586(c, n, field, typ, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA80_; } LA115_: ; { LA80_:; } { oldNimErrFin80_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&orig); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin80_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA2_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, sugExpr__sigmatch_6773)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { NIM_BOOL oldNimErrFin5_; NIM_BOOL oldNimErrFin43_; NIM_BOOL oldNimErrFin40_; NIM_BOOL oldNimErrFin32_; NIM_BOOL oldNimErrFin74_; NIM_BOOL oldNimErrFin69_; NIM_BOOL oldNimErrFin101_; NIM_BOOL oldNimErrFin89_; NIM_BOOL oldNimErrFin63_; NIM_BOOL oldNimErrFin30_; NIM_BOOL oldNimErrFin22_; NIM_BOOL oldNimErrFin120_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* obj; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T6_; if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45))) goto LA3_; obj = NIM_NIL; prefix = NIM_NIL; obj = safeSemExpr__sigmatch_6767(c, (*n)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; T6_ = NIM_NIL; { NIM_BOOL T9_; NIM_BOOL T10_; NI T11_; T9_ = (NIM_BOOL)0; T10_ = (NIM_BOOL)0; T11_ = (NI)0; T11_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; T10_ = (T11_ == ((NI)2)); if (!(T10_)) goto LA12_; T10_ = ((*(*n)._kind_6.sons.p->data[((NI)1)]).info.line == (*(*n)._kind_6.sons.p->data[((NI)0)]).info.line); LA12_: ; T9_ = T10_; if (!(T9_)) goto LA13_; T9_ = !((*(*(*c).graph).config).m.trackPosAttached); LA13_: ; if (!T9_) goto LA14_; eqcopy___ast_3457(&prefix, (*n)._kind_6.sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; } goto LA7_; LA14_: ; { prefix = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } LA7_: ; suggestFieldAccess__sigmatch_5622(c, obj, prefix, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; { LA5_:; } { oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&prefix); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&obj); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin5_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA3_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix_2; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2))) goto LA20_; prefix_2 = NIM_NIL; T23_ = NIM_NIL; { if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA26_; prefix_2 = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } goto LA24_; LA26_: ; { eqcopy___ast_3457(&prefix_2, n); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; } LA24_: ; info = (*n).info; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA34 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA37_; isLocal_2 = NIM_FALSE; } LA37_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it; item_2 = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item_2 = colontmpD_; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T51_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA42 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; it_2 = NIM_NIL; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item_2); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; item = 0; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T46_; NI T49_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T50_; T46_ = (NIM_BOOL)0; T46_ = filterSym__sigmatch_5286(it_2, prefix_2, (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; if (!T46_) goto LA47_; T49_ = (NI)0; T49_ = getQuality__sigmatch_5378(it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; T50_ = NIM_NIL; T50_ = symToSuggest__sigmatch_4892((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T49_, pm, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; add__sigmatch_5409((&(*outputs)), T50_); } LA47_: ; T51_ = NIM_NIL; T51_ = nextIter__astalgo_3921((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; eqsink___ast_4066(&s, T51_); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; { LA43_:; } { oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA40_; *nimErr_ = oldNimErrFin43_; } if (NIM_UNLIKELY(*nimErr_)) goto LA40_; } LA42: ; } { LA40_:; } { oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; *nimErr_ = oldNimErrFin40_; } if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; } LA34: ; } { LA32_:; } { oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA30_; *nimErr_ = oldNimErrFin32_; } if (NIM_UNLIKELY(*nimErr_)) goto LA30_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T59_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T59_ = (*c).imports.len; L = T59_; { while (1) { if (!(i < L)) goto LA61 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T66_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T70_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T71_; T66_ = (NIM_BOOL)0; T66_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; if (!T66_) goto LA67_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T70_ = NIM_NIL; T70_ = (*(*c).graph).config; T71_ = NIM_NIL; T71_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T70_, T71_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA69_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T82_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA73 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_3 = NIM_NIL; eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; item = 0; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T77_; NI T80_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T81_; T77_ = (NIM_BOOL)0; T77_ = filterSym__sigmatch_5286(it_3, prefix_2, (&pm_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; if (!T77_) goto LA78_; T80_ = (NI)0; T80_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; T81_ = NIM_NIL; T81_ = symToSuggest__sigmatch_4892((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T80_, pm_2, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; add__sigmatch_5409((&(*outputs)), T81_); } LA78_: ; T82_ = NIM_NIL; T82_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; eqsink___ast_4066(&r, T82_); if (NIM_UNLIKELY(*nimErr_)) goto LA74_; { LA74_:; } { oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA69_; *nimErr_ = oldNimErrFin74_; } if (NIM_UNLIKELY(*nimErr_)) goto LA69_; } LA73: ; } { LA69_:; } { oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; *nimErr_ = oldNimErrFin69_; } if (NIM_UNLIKELY(*nimErr_)) goto LA63_; } goto LA64_; LA67_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T94_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA92_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA92_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA89_; i_2 = ((NI)0); T94_ = colontmp__3.len; L_2 = T94_; { while (1) { if (!(i_2 < L_2)) goto LA96 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA99_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_4 = NIM_NIL; eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA101_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA101_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; item = 0; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T104_; NI T107_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T108_; T104_ = (NIM_BOOL)0; T104_ = filterSym__sigmatch_5286(it_4, prefix_2, (&pm_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA101_; if (!T104_) goto LA105_; T107_ = (NI)0; T107_ = getQuality__sigmatch_5378(it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA101_; T108_ = NIM_NIL; T108_ = symToSuggest__sigmatch_4892((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), info, T107_, pm_3, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA101_; add__sigmatch_5409((&(*outputs)), T108_); } LA105_: ; { LA101_:; } { oldNimErrFin101_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA89_; *nimErr_ = oldNimErrFin101_; } if (NIM_UNLIKELY(*nimErr_)) goto LA89_; } LA99_: ; i_2 += ((NI)1); } LA96: ; } { LA89_:; } { oldNimErrFin89_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA63_; *nimErr_ = oldNimErrFin89_; } if (NIM_UNLIKELY(*nimErr_)) goto LA63_; } } LA64_: ; { LA63_:; } { oldNimErrFin63_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA30_; *nimErr_ = oldNimErrFin63_; } if (NIM_UNLIKELY(*nimErr_)) goto LA30_; } i += ((NI)1); } LA61: ; } } { LA30_:; } { oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&item); if (NIM_UNLIKELY(*nimErr_)) goto LA22_; *nimErr_ = oldNimErrFin30_; } if (NIM_UNLIKELY(*nimErr_)) goto LA22_; } { LA22_:; } { oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&prefix_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin22_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA20_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* prefix_3; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T121_; prefix_3 = NIM_NIL; T121_ = NIM_NIL; { if (!(*(*(*c).graph).config).m.trackPosAttached) goto LA124_; prefix_3 = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); } goto LA122_; LA124_: ; { eqcopy___ast_3457(&prefix_3, n); if (NIM_UNLIKELY(*nimErr_)) goto LA120_; } LA122_: ; suggestEverything__sigmatch_5609(c, n, prefix_3, outputs); if (NIM_UNLIKELY(*nimErr_)) goto LA120_; { LA120_:; } { oldNimErrFin120_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&prefix_3); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin120_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nameFits__sigmatch_5483)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NIM_BOOL result; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op; tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* opr; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T2_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; op = NIM_NIL; opr = NIM_NIL; T2_ = NIM_NIL; { if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA5_; op = (*n)._kind_6.sons.p->data[((NI)0)]; } goto LA3_; LA5_: ; { op = n; } LA3_: ; { if (!((*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57) || (*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56))) goto LA10_; op = (*op)._kind_6.sons.p->data[((NI)0)]; } LA10_: ; { if (!((*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45))) goto LA14_; op = (*op)._kind_6.sons.p->data[((NI)1)]; } LA14_: ; switch ((*op).kind) { case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3): { eqcopy___idents_136(&opr, (*(*op)._kind_4.sym).name); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2): { eqcopy___idents_136(&opr, (*op)._kind_5.ident); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } break; default: { result = NIM_FALSE; eqdestroy___idents_133(&opr); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } break; } result = ((*opr).id == (*(*s).name).id); { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___idents_133(&opr); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_132)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* binding, NI calleeScope, NIM_BOOL diagnosticsEnabled) { NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin7_; tySequence__sM4lkSb7zS6F7OVMvW9cffQ T26_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); initCandidateAux__sigmatch_96(ctx, c, (*callee).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___ast_4063(&(*c).calleeSym, callee); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T3_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; T3_ = (NIM_BOOL)0; T3_ = ((*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16)); if (!(T3_)) goto LA4_; T3_ = (calleeScope == ((NI)-1)); LA4_: ; if (!T3_) goto LA5_; colontmpD_ = NIM_NIL; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner; colontmpD_ = originatingModule__ast_6098(callee); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; if (!(colontmpD_ == (*ctx).module)) goto LA10_; owner = NIM_NIL; (*c).calleeScope = ((NI)2); eqcopy___ast_4063(&owner, callee); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T15_; T15_ = NIM_NIL; T15_ = skipGenericOwner__ast_6087(owner); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; eqsink___ast_4066(&owner, T15_); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { if (!((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6))) goto LA18_; goto LA13; } LA18_: ; (*c).calleeScope += ((NI)1); } } LA13: ; { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&owner); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA7_; } goto LA8_; LA10_: ; { (*c).calleeScope = ((NI)1); } LA8_: ; { LA7_:; } { oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin7_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA5_: ; { (*c).calleeScope = calleeScope; } LA1_: ; T26_.len = 0; T26_.p = NIM_NIL; T26_.len = 0; T26_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2)); eqsink___system_3522((&(*c).diagnostics), T26_); (*c).diagnosticsEnabled = diagnosticsEnabled; (*c).magic = (*(*c).calleeSym).magic; initIdTable__ast_5200((&(*c).bindings)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T29_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* typeParams; T29_ = (NIM_BOOL)0; T29_ = !((binding == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T29_)) goto LA30_; T29_ = ((*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*callee).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18)); LA30_: ; if (!T29_) goto LA31_; typeParams = NIM_NIL; eqcopy___ast_3457(&typeParams, (*(*callee).ast)._kind_6.sons.p->data[((NI)2)]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NI i; NI colontmp_; NI T34_; NI T35_; NI res; i = (NI)0; colontmp_ = (NI)0; T34_ = (NI)0; T34_ = len__ast_3325(typeParams); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T35_ = (NI)0; T35_ = len__ast_3325(binding); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmp_ = ((T34_ <= (NI)(T35_ - ((NI)1))) ? T34_ : (NI)(T35_ - ((NI)1))); res = ((NI)1); { while (1) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formalTypeParam; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* bound; if (!(res <= colontmp_)) goto LA37 ; formalTypeParam = NIM_NIL; bound = NIM_NIL; i = res; eqcopy___ast_3546(&formalTypeParam, (*(*typeParams)._kind_6.sons.p->data[(NI)(i - ((NI)1))]).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___ast_3546(&bound, (*(*binding)._kind_6.sons.p->data[i]).typ); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!!((bound == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA40_; { if (!((*formalTypeParam).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8))) goto LA44_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T50_; if (!!(((*bound).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)))) goto LA48_; T50_ = NIM_NIL; T50_ = makeTypeDesc__concepts_50(ctx, bound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&bound, T50_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA48_: ; } goto LA42_; LA44_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T52_; T52_ = NIM_NIL; T52_ = skipTypes__ast_4803(bound, TM__wjrA09aH0rT1R7zbrcCaROw_17); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3549(&bound, T52_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA42_: ; put__sigmatch_128(c, formalTypeParam, bound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA40_: ; res += ((NI)1); eqdestroy___ast_3543(&bound); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&formalTypeParam); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA37: ; } } eqdestroy___ast_3454(&typeParams); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA31_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_198)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* callee, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* binding, NI calleeScope, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* Result) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)Result, sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); initCandidate__sigmatch_132(ctx, Result, callee, binding, calleeScope, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } static N_INLINE(void, initIntSet__pureZcollectionsZintsets_389)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); initPackedSet__pureZcollectionsZintsets_16(Result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, findFirstArgBlock__sigmatch_4094)(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NI result; NIM_BOOL oldNimErrFin5_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); 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_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; colontmp_ = (NI)(T2_ - ((NI)1)); res = colontmp_; { while (1) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* formalLast; NI T10_; NI T11_; if (!(((NI)0) <= res)) goto LA4 ; formalLast = NIM_NIL; a2 = res; { if (!!(((*(*n)._kind_6.sons.p->data[a2]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115)))) goto LA8_; eqdestroy___ast_3454(&formalLast); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA1; } LA8_: ; T10_ = (NI)0; T10_ = len__ast_3325((*(*m).callee).n); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; T11_ = (NI)0; T11_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; eqcopy___ast_3457(&formalLast, (*(*(*m).callee).n)._kind_6.sons.p->data[(NI)(T10_ - (NI)(T11_ - a2))]); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; { NIM_BOOL T14_; T14_ = (NIM_BOOL)0; T14_ = ((*formalLast).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)); if (!(T14_)) goto LA15_; T14_ = ((*(*formalLast)._kind_4.sym).ast == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); LA15_: ; if (!T14_) goto LA16_; result = a2; } goto LA12_; LA16_: ; { eqdestroy___ast_3454(&formalLast); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA1; } LA12_: ; res -= ((NI)1); { LA5_:; } { oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&formalLast); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin5_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4: ; } } LA1: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, setSon__sigmatch_3997)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, NI at, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son) { NI oldLen; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); oldLen = len__ast_3325(father); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(oldLen <= at)) goto LA3_; setLen__ast_3741((&(*father)._kind_6.sons), ((NI) ((NI)(at + ((NI)1))))); } LA3_: ; eqcopy___ast_3457(&(*father)._kind_6.sons.p->data[at], son); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, arrayConstr__sigmatch_4072)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; colontmpD_ = NIM_NIL; colontmpD__2 = NIM_NIL; result = newTypeS__semdata_2347(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = makeRangeType__semdata_2699(c, IL64(0), IL64(-1), info, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; rawAddSon__ast_5669(result, colontmpD_, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD__2 = newTypeS__semdata_2347(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; rawAddSon__ast_5669(result, colontmpD__2, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, incrIndexType__sigmatch_4076)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) { (*(*(*(*t).sons.p->data[((NI)0)]).n)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal += ((NI)1); } N_LIB_PRIVATE N_NIMCALL(void, prepareNamedParam__sigmatch_4056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c) { NIM_BOOL oldNimErrFin5_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T6_; if (!!(((*(*a)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2)))) goto LA3_; colontmpD_ = NIM_NIL; info = (*(*a)._kind_6.sons.p->data[((NI)0)]).info; colontmpD_ = considerQuotedIdent__lookups_29(c, (*a)._kind_6.sons.p->data[((NI)0)], ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; T6_ = NIM_NIL; T6_ = newIdentNode__ast_4780(colontmpD_, info); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; eqsink___ast_3460(&(*a)._kind_6.sons.p->data[((NI)0)], T6_); if (NIM_UNLIKELY(*nimErr_)) goto LA5_; { LA5_:; } { oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___idents_133(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin5_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, prepareOperand__sigmatch_4010)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { NIM_BOOL T3_; NI T5_; T3_ = (NIM_BOOL)0; T3_ = ((*formal).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6)); if (!(T3_)) goto LA4_; T5_ = (NI)0; T5_ = len__ast_5071(formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T3_ = !((T5_ == ((NI)1))); LA4_: ; if (!T3_) goto LA6_; eqcopy___ast_3457(&result, a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA6_: ; { if (!((*a).typ == 0)) goto LA9_; { tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags; if (!((*formal).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64))) goto LA13_; flags = 774; result = (*c).semOperand(c, a, flags); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA11_; LA13_: ; { tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags_2; flags_2 = 768; result = (*c).semOperand(c, a, flags_2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA11_: ; } goto LA1_; LA9_: ; { eqcopy___ast_3457(&result, a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; considerGenSyms__semdata_778(c, result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T19_; NIM_BOOL T20_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_; T19_ = (NIM_BOOL)0; T20_ = (NIM_BOOL)0; T20_ = !(((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))); if (!(T20_)) goto LA21_; T20_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47)); LA21_: ; T19_ = T20_; if (!(T19_)) goto LA22_; T19_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw*) NIM_NIL)); LA22_: ; if (!T19_) goto LA23_; T25_ = NIM_NIL; T25_ = newDeref__lowerings_12(result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3460(&result, T25_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA23_: ; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, arrayConstr__sigmatch_4068)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; colontmpD_ = NIM_NIL; colontmpD__2 = NIM_NIL; result = newTypeS__semdata_2347(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16), c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = makeRangeType__semdata_2699(c, IL64(0), IL64(0), (*n).info, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; rawAddSon__ast_5669(result, colontmpD_, NIM_TRUE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD__2 = skipTypes__ast_4803((*n).typ, TM__wjrA09aH0rT1R7zbrcCaROw_109); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; addSonSkipIntLit__magicsys_137(result, colontmpD__2, (*c).Sup.idgen); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__2); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, prepareOperand__sigmatch_4047)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; { if (!((*a).typ == 0)) goto LA3_; result = (*c).semOperand(c, a, 512); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } goto LA1_; LA3_: ; { eqcopy___ast_3457(&result, a); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; considerGenSyms__semdata_778(c, result); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, matchesAux__sigmatch_4132)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_; NI colontmpD__2; NI colontmpD__3; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* formal; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* container; tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w T2_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_; NI a; NI f; NI formalLen; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T9_; NI firstArgBlock; NIM_BOOL oldNimErrFin43_; NIM_BOOL oldNimErrFin85_; NIM_BOOL oldNimErrFin111_; NIM_BOOL oldNimErrFin135_; NIM_BOOL oldNimErrFin139_; NIM_BOOL oldNimErrFin129_; NIM_BOOL oldNimErrFin173_; NIM_BOOL oldNimErrFin226_; NIM_BOOL oldNimErrFin247_; NIM_BOOL oldNimErrFin242_; NIM_BOOL oldNimErrFin279_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); colontmpD_ = NIM_NIL; colontmpD__2 = (NI)0; colontmpD__3 = (NI)0; arg = NIM_NIL; formal = NIM_NIL; container = NIM_NIL; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1); nimZeroMem((void*)(&T2_), sizeof(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w)); nimZeroMem((void*)(&T2_), sizeof(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w)); eqsink___sigmatch_118((&(*m).firstMismatch), T2_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = base__types_64((*m).callee); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T3_ = NIM_NIL; T3_ = newNodeIT__ast_3970((*n).kind, (*n).info, colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&(*m).call, T3_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; add__ast_6233((*m).call, (*n)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; a = ((NI)1); { if (!!(((*(*m).callee).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10)))) goto LA6_; colontmpD__2 = ((NI)1); f = colontmpD__2; } goto LA4_; LA6_: ; { colontmpD__3 = ((NI)0); f = colontmpD__3; } LA4_: ; formalLen = len__ast_3325((*(*m).callee).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T9_ = NIM_NIL; { if (!(((NI)1) < formalLen)) goto LA12_; eqcopy___ast_4063(&formal, (*(*(*(*m).callee).n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA10_; LA12_: ; { formal = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL); } LA10_: ; container = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL); firstArgBlock = findFirstArgBlock__sigmatch_4094(m, n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { while (1) { NI T17_; T17_ = (NI)0; T17_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(a < T17_)) goto LA16 ; openShadowScope__lookups_1110(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T20_; NIM_BOOL T21_; NIM_BOOL T24_; T20_ = (NIM_BOOL)0; T21_ = (NIM_BOOL)0; T21_ = ((NI)(formalLen - ((NI)1)) <= a); if (!(T21_)) goto LA22_; T21_ = (f < formalLen); LA22_: ; T20_ = T21_; if (!(T20_)) goto LA23_; T24_ = (NIM_BOOL)0; T24_ = ((*(*(*(*(*m).callee).n)._kind_6.sons.p->data[f]).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48)); if (!(T24_)) goto LA25_; T24_ = ((*(*(*(*(*(*m).callee).n)._kind_6.sons.p->data[f]).typ).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6)); LA25_: ; T20_ = T24_; LA23_: ; if (!T20_) goto LA26_; eqcopy___ast_4063(&formal, (*(*(*(*m).callee).n)._kind_6.sons.p->data[f])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; incl__pureZcollectionsZintsets_202(marker, (*formal).position); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((*(*n)._kind_6.sons.p->data[a]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58))) goto LA30_; { NIM_BOOL T34_; T34_ = (NIM_BOOL)0; T34_ = ((*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)); if (!(T34_)) goto LA35_; T34_ = ((*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41) || (*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152)); LA35_: ; if (!!(T34_)) goto LA36_; failedAssertImpl__stdZassertions_224(TM__wjrA09aH0rT1R7zbrcCaROw_105); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA36_: ; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA28_; LA30_: ; { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T44_; if (!(container == 0)) goto LA41_; colontmpD__4 = NIM_NIL; colontmpD__4 = arrayConstr__sigmatch_4072(c, (*n).info); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; T44_ = NIM_NIL; T44_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152), (*(*n)._kind_6.sons.p->data[a]).info, colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; eqsink___ast_3460(&container, T44_); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), container); if (NIM_UNLIKELY(*nimErr_)) goto LA43_; { LA43_:; } { oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin43_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA39_; LA41_: ; { incrIndexType__sigmatch_4076((*container).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA39_: ; add__ast_6233(container, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA28_: ; } goto LA18_; LA26_: ; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T55_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T65_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T66_; if (!((*(*n)._kind_6.sons.p->data[a]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33))) goto LA49_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)2); prepareNamedParam__sigmatch_4056((*n)._kind_6.sons.p->data[a], c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!(((*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2)))) goto LA53_; liMessage__msgs_1172((*(*c).graph).config, (*(*n)._kind_6.sons.p->data[a]).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__wjrA09aH0rT1R7zbrcCaROw_107, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_108, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA53_: ; T55_ = NIM_NIL; T55_ = getNamedParamFromList__astalgo_302((*(*m).callee).n, (*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)0)])._kind_5.ident); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_4066(&formal, T55_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(formal == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA58_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA58_: ; { NIM_BOOL T62_; T62_ = (NIM_BOOL)0; T62_ = containsOrIncl__astalgo_402(marker, (*formal).position); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T62_) goto LA63_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)1); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA63_: ; (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; T65_ = NIM_NIL; T65_ = prepareOperand__sigmatch_4010(c, (*formal).typ, (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)], T65_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqcopy___ast_3546(&(*(*n)._kind_6.sons.p->data[a]).typ, (*(*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T66_ = NIM_NIL; T66_ = paramTypesMatch__sigmatch_3930(m, (*formal).typ, (*(*n)._kind_6.sons.p->data[a]).typ, (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)], (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&arg, T66_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)3); { if (!(arg == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA69_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA69_: ; { if (!!(((*formal).constraint == 0))) goto LA73_; { NIM_BOOL T77_; T77_ = (NIM_BOOL)0; T77_ = matchNodeKinds__parampatterns_510((*formal).constraint, (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T77_) goto LA78_; (*m).genericMatches += ((NI)100); } goto LA75_; LA78_: ; { mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA75_: ; } LA73_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argConverter; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T86_; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA83_; argConverter = NIM_NIL; T86_ = NIM_NIL; { if (!((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA89_; eqcopy___ast_3457(&argConverter, (*arg)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; } goto LA87_; LA89_: ; { eqcopy___ast_3457(&argConverter, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; } LA87_: ; { if (!((*argConverter).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA94_; { if (!!(((*(*argConverter).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23)))) goto LA98_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; formal = 0; eqdestroy___ast_3454(&argConverter); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA98_: ; } goto LA92_; LA94_: ; { NIM_BOOL T101_; NIM_BOOL T102_; T101_ = (NIM_BOOL)0; T101_ = isOutParam__ast_6694((*formal).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; T102_ = (NIM_BOOL)0; T102_ = isLValue__sigmatch_3373(c, (*(*n)._kind_6.sons.p->data[a])._kind_6.sons.p->data[((NI)1)], T101_); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; if (!!(T102_)) goto LA103_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA85_; formal = 0; eqdestroy___ast_3454(&argConverter); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA92_; LA103_: ; LA92_: ; { LA85_:; } { oldNimErrFin85_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&argConverter); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin85_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA83_: ; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T112_; if (!(*m).baseTypeMatch) goto LA109_; colontmpD__5 = NIM_NIL; colontmpD__5 = arrayConstr__sigmatch_4068(c, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; T112_ = NIM_NIL; T112_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), (*(*n)._kind_6.sons.p->data[a]).info, colontmpD__5); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; eqsink___ast_3460(&container, T112_); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; add__ast_6233(container, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), container); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; { if (!!((f == (NI)(formalLen - ((NI)1))))) goto LA115_; eqsink___ast_3460(&container, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA111_; } LA115_: ; { LA111_:; } { oldNimErrFin111_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__5); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin111_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA107_; LA109_: ; { setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA107_: ; f += ((NI)1); } goto LA18_; LA49_: ; { { if (!(formalLen <= f)) goto LA123_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__6; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T130_; if (!(((*(*m).callee).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)0)))&63U)))!=0)) goto LA127_; colontmpD__6 = NIM_NIL; T130_ = NIM_NIL; T130_ = prepareOperand__sigmatch_4047(c, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; eqsink___ast_3460(&(*n)._kind_6.sons.p->data[a], T130_); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9; colontmpD__6 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[a]).typ, TM__wjrA09aH0rT1R7zbrcCaROw_74); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; if (!((*colontmpD__6).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28))) goto LA133_; colontmpD__7 = NIM_NIL; colontmpD__8 = NIM_NIL; colontmpD__9 = NIM_NIL; colontmpD__7 = getSysType__magicsys_60((*c).graph, (*(*n)._kind_6.sons.p->data[a]).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29)); if (NIM_UNLIKELY(*nimErr_)) goto LA135_; colontmpD__8 = copyTree__ast_5856((*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA135_; colontmpD__9 = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), colontmpD__7, colontmpD__8, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA135_; add__ast_6233((*m).call, colontmpD__9); if (NIM_UNLIKELY(*nimErr_)) goto LA135_; { LA135_:; } { oldNimErrFin135_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__9); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; eqdestroy___ast_3454(&colontmpD__8); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; eqdestroy___ast_3543(&colontmpD__7); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; *nimErr_ = oldNimErrFin135_; } if (NIM_UNLIKELY(*nimErr_)) goto LA129_; } goto LA131_; LA133_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10; colontmpD__10 = NIM_NIL; colontmpD__10 = copyTree__ast_5856((*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA139_; add__ast_6233((*m).call, colontmpD__10); if (NIM_UNLIKELY(*nimErr_)) goto LA139_; { LA139_:; } { oldNimErrFin139_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__10); if (NIM_UNLIKELY(*nimErr_)) goto LA129_; *nimErr_ = oldNimErrFin139_; } if (NIM_UNLIKELY(*nimErr_)) goto LA129_; } LA131_: ; { LA129_:; } { oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__6); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin129_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA125_; LA127_: ; { NIM_BOOL T145_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T149_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T150_; T145_ = (NIM_BOOL)0; T145_ = !((formal == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T145_)) goto LA146_; T145_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48)); LA146_: ; if (!T145_) goto LA147_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)3); (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; incl__pureZcollectionsZintsets_202(marker, (*formal).position); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T149_ = NIM_NIL; T149_ = prepareOperand__sigmatch_4010(c, (*formal).typ, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&(*n)._kind_6.sons.p->data[a], T149_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T150_ = NIM_NIL; T150_ = paramTypesMatch__sigmatch_3930(m, (*formal).typ, (*(*n)._kind_6.sons.p->data[a]).typ, (*n)._kind_6.sons.p->data[a], (*nOrig)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&arg, T150_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NIM_BOOL T153_; NIM_BOOL T154_; T153_ = (NIM_BOOL)0; T154_ = (NIM_BOOL)0; T154_ = !((arg == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); if (!(T154_)) goto LA155_; T154_ = (*m).baseTypeMatch; LA155_: ; T153_ = T154_; if (!(T153_)) goto LA156_; T153_ = !((container == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))); LA156_: ; if (!T153_) goto LA157_; add__ast_6233(container, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; incrIndexType__sigmatch_4076((*container).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!!(((*formal).constraint == 0))) goto LA161_; { NIM_BOOL T165_; T165_ = (NIM_BOOL)0; T165_ = matchNodeKinds__parampatterns_510((*formal).constraint, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T165_) goto LA166_; (*m).genericMatches += ((NI)100); } goto LA163_; LA166_: ; { mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA163_: ; } LA161_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argConverter_2; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T174_; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA171_; argConverter_2 = NIM_NIL; T174_ = NIM_NIL; { if (!((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA177_; eqcopy___ast_3457(&argConverter_2, (*arg)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; } goto LA175_; LA177_: ; { eqcopy___ast_3457(&argConverter_2, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; } LA175_: ; { if (!((*argConverter_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA182_; { if (!!(((*(*argConverter_2).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23)))) goto LA186_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; formal = 0; eqdestroy___ast_3454(&argConverter_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA186_: ; } goto LA180_; LA182_: ; { NIM_BOOL T189_; NIM_BOOL T190_; T189_ = (NIM_BOOL)0; T189_ = isOutParam__ast_6694((*formal).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; T190_ = (NIM_BOOL)0; T190_ = isLValue__sigmatch_3373(c, (*n)._kind_6.sons.p->data[a], T189_); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; if (!!(T190_)) goto LA191_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA173_; formal = 0; eqdestroy___ast_3454(&argConverter_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA180_; LA191_: ; LA180_: ; { LA173_:; } { oldNimErrFin173_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&argConverter_2); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin173_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA171_: ; } goto LA151_; LA157_: ; { mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA151_: ; } goto LA125_; LA147_: ; { (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)6); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA125_: ; } goto LA121_; LA123_: ; { { if (!!(((*(*(*(*m).callee).n)._kind_6.sons.p->data[f]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)))) goto LA200_; internalErrorImpl__msgs_1510((*(*c).graph).config, (*(*n)._kind_6.sons.p->data[a]).info, TM__wjrA09aH0rT1R7zbrcCaROw_111, TM__wjrA09aH0rT1R7zbrcCaROw_112); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA200_: ; { NIM_BOOL T204_; NI T208_; NI T209_; T204_ = (NIM_BOOL)0; T204_ = (((*c).features &((NU32)1<<((NU)((((tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA)17)))&31U)))!=0); if (!(T204_)) goto LA205_; T204_ = (firstArgBlock <= a); LA205_: ; if (!T204_) goto LA206_; T208_ = (NI)0; T208_ = len__ast_3325((*(*m).callee).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T209_ = (NI)0; T209_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; f = ((f >= (NI)(T208_ - (NI)(T209_ - a))) ? f : (NI)(T208_ - (NI)(T209_ - a))); } LA206_: ; eqcopy___ast_4063(&formal, (*(*(*(*m).callee).n)._kind_6.sons.p->data[f])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)3); { NIM_BOOL T212_; T212_ = (NIM_BOOL)0; T212_ = containsOrIncl__astalgo_402(marker, (*formal).position); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T212_)) goto LA213_; T212_ = (container == 0); LA213_: ; if (!T212_) goto LA214_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)7); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA214_: ; { NIM_BOOL T218_; T218_ = (NIM_BOOL)0; T218_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48)); if (!(T218_)) goto LA219_; T218_ = ((*(*(*formal).typ).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6)); LA219_: ; if (!T218_) goto LA220_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__11; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T227_; if (!(container == 0)) goto LA224_; colontmpD__11 = NIM_NIL; colontmpD__11 = arrayConstr__sigmatch_4072(c, (*n).info); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; T227_ = NIM_NIL; T227_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152), (*(*n)._kind_6.sons.p->data[a]).info, colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; eqsink___ast_3460(&container, T227_); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), container); if (NIM_UNLIKELY(*nimErr_)) goto LA226_; { LA226_:; } { oldNimErrFin226_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__11); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin226_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA222_; LA224_: ; { incrIndexType__sigmatch_4076((*container).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA222_: ; add__ast_6233(container, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA216_; LA220_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T232_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T233_; (*m).baseTypeMatch = NIM_FALSE; (*m).typedescMatched = NIM_FALSE; T232_ = NIM_NIL; T232_ = prepareOperand__sigmatch_4010(c, (*formal).typ, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&(*n)._kind_6.sons.p->data[a], T232_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T233_ = NIM_NIL; T233_ = paramTypesMatch__sigmatch_3930(m, (*formal).typ, (*(*n)._kind_6.sons.p->data[a]).typ, (*n)._kind_6.sons.p->data[a], (*nOrig)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3460(&arg, T233_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(arg == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA236_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA236_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12; NI T252_; if (!(*m).baseTypeMatch) goto LA240_; colontmpD__12 = NIM_NIL; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__13; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T248_; if (!(container == 0)) goto LA245_; colontmpD__13 = NIM_NIL; colontmpD__13 = arrayConstr__sigmatch_4068(c, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA247_; T248_ = NIM_NIL; T248_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), (*(*n)._kind_6.sons.p->data[a]).info, colontmpD__13); if (NIM_UNLIKELY(*nimErr_)) goto LA247_; eqsink___ast_3460(&container, T248_); if (NIM_UNLIKELY(*nimErr_)) goto LA247_; (*(*container).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)0))) & 63); { LA247_:; } { oldNimErrFin247_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&colontmpD__13); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; *nimErr_ = oldNimErrFin247_; } if (NIM_UNLIKELY(*nimErr_)) goto LA242_; } goto LA243_; LA245_: ; { incrIndexType__sigmatch_4076((*container).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; } LA243_: ; add__ast_6233(container, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; colontmpD__12 = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), (*formal).typ, container, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), colontmpD__12); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; T252_ = (NI)0; T252_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA242_; f = ((f >= (NI)((NI)((NI)(formalLen - T252_) + a) + ((NI)1))) ? f : (NI)((NI)((NI)(formalLen - T252_) + a) + ((NI)1))); { LA242_:; } { oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__12); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin242_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA238_; LA240_: ; { NIM_BOOL T256_; T256_ = (NIM_BOOL)0; T256_ = !(((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))); if (T256_) goto LA257_; T256_ = (container == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); LA257_: ; if (!T256_) goto LA258_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), arg); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; f += ((NI)1); eqsink___ast_3460(&container, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA238_; LA258_: ; { NimStringV2 colontmpD__14; NimStringV2 colontmpD__15; NimStringV2 colontmpD__16; tyArray__Re75IspeoxXy2oCZHwcRrA T262_; colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL; colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL; colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL; colontmpD__14 = typeToString__types_51((*(*n)._kind_6.sons.p->data[a]).typ, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0)); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; T262_[0] = colontmpD__14; colontmpD__15 = typeToString__types_51((*formal).typ, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0)); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; T262_[1] = colontmpD__15; colontmpD__16 = nsuFormatOpenArray(TM__wjrA09aH0rT1R7zbrcCaROw_114, T262_, 2); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; liMessage__msgs_1172((*(*c).graph).config, (*(*n)._kind_6.sons.p->data[a]).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__16, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_115, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA261_; formal = 0; eqdestroy___stdZassertions_13((&colontmpD__16)); eqdestroy___stdZassertions_13((&colontmpD__15)); eqdestroy___stdZassertions_13((&colontmpD__14)); eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA261_:; } { eqdestroy___stdZassertions_13((&colontmpD__16)); eqdestroy___stdZassertions_13((&colontmpD__15)); eqdestroy___stdZassertions_13((&colontmpD__14)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA238_: ; } LA216_: ; { if (!!(((*formal).constraint == 0))) goto LA267_; { NIM_BOOL T271_; T271_ = (NIM_BOOL)0; T271_ = matchNodeKinds__parampatterns_510((*formal).constraint, (*n)._kind_6.sons.p->data[a]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T271_) goto LA272_; (*m).genericMatches += ((NI)100); } goto LA269_; LA272_: ; { mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA269_: ; } LA267_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* argConverter_3; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T280_; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA277_; argConverter_3 = NIM_NIL; T280_ = NIM_NIL; { if (!((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA283_; eqcopy___ast_3457(&argConverter_3, (*arg)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; } goto LA281_; LA283_: ; { eqcopy___ast_3457(&argConverter_3, arg); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; } LA281_: ; { if (!((*argConverter_3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA288_; { if (!!(((*(*argConverter_3).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23)))) goto LA292_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; formal = 0; eqdestroy___ast_3454(&argConverter_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA292_: ; } goto LA286_; LA288_: ; { NIM_BOOL T295_; NIM_BOOL T296_; T295_ = (NIM_BOOL)0; T295_ = isOutParam__ast_6694((*formal).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; T296_ = (NIM_BOOL)0; T296_ = isLValue__sigmatch_3373(c, (*n)._kind_6.sons.p->data[a], T295_); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; if (!!(T296_)) goto LA297_; (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)4); mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA279_; formal = 0; eqdestroy___ast_3454(&argConverter_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } goto LA286_; LA297_: ; LA286_: ; { LA279_:; } { oldNimErrFin279_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&argConverter_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin279_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA277_: ; } LA121_: ; } LA18_: ; { NIM_BOOL T303_; NIM_BOOL T305_; T303_ = (NIM_BOOL)0; T303_ = ((*m).state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1)); if (!(T303_)) goto LA304_; T305_ = (NIM_BOOL)0; T305_ = !(((*m).calleeSym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))); if (!(T305_)) goto LA306_; T305_ = ((*(*m).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*(*m).calleeSym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17)); LA306_: ; T303_ = !(T305_); LA304_: ; if (!T303_) goto LA307_; mergeShadowScope__lookups_1114(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA301_; LA307_: ; { closeShadowScope__lookups_1112(c); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA301_: ; a += ((NI)1); } LA16: ; } (*m).firstMismatch.arg = a; eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; formal = 0; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___ast_3543(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, partialMatch__sigmatch_4532)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m) { tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA)); initIntSet__pureZcollectionsZintsets_389((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; matchesAux__sigmatch_4132(c, n, nOrig, m, (&marker)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___pureZcollectionsZintsets_181((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, argsFit__sigmatch_5505)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* candidate, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig) { NIM_BOOL result; NIM_BOOL oldNimErrFin2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; switch ((*candidate).kind) { case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6): case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) ... ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18): case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20): { tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg m; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); newCandidate__sigmatch_198(c, candidate, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((NI)-1), (&m)); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; partialMatch__sigmatch_4532(c, n, nOrig, (&m)); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; result = !((m.state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2))); { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___sigmatch_261((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { result = NIM_FALSE; } break; } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestCall__sigmatch_5516)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; NIM_BOOL oldNimErrFin15_; NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin4_; NIM_BOOL oldNimErrFin49_; NIM_BOOL oldNimErrFin44_; NIM_BOOL oldNimErrFin79_; NIM_BOOL oldNimErrFin67_; NIM_BOOL oldNimErrFin38_; NIM_BOOL oldNimErrFin2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); info = (*n).info; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA6 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA9_; isLocal_2 = NIM_FALSE; } LA9_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it; item_2 = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item_2 = colontmpD_; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T26_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA14 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; it_2 = NIM_NIL; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; item = 0; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T18_; NIM_BOOL T19_; NI T24_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T25_; T18_ = (NIM_BOOL)0; T19_ = (NIM_BOOL)0; T19_ = filterSym__sigmatch_5286(it_2, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; if (!(T19_)) goto LA20_; T19_ = nameFits__sigmatch_5483(c, it_2, n); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; LA20_: ; T18_ = T19_; if (!(T18_)) goto LA21_; T18_ = argsFit__sigmatch_5505(c, it_2, n, nOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; LA21_: ; if (!T18_) goto LA22_; T24_ = (NI)0; T24_ = getQuality__sigmatch_5378(it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; T25_ = NIM_NIL; T25_ = symToSuggest__sigmatch_4892((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T24_, pm, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; add__sigmatch_5409((&(*outputs)), T25_); } LA22_: ; T26_ = NIM_NIL; T26_ = nextIter__astalgo_3921((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; eqsink___ast_4066(&s, T26_); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; { LA15_:; } { oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; *nimErr_ = oldNimErrFin15_; } if (NIM_UNLIKELY(*nimErr_)) goto LA12_; } LA14: ; } { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } LA6: ; } { LA4_:; } { oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin4_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T34_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T34_ = (*c).imports.len; L = T34_; { while (1) { if (!(i < L)) goto LA36 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T41_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T45_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T46_; T41_ = (NIM_BOOL)0; T41_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; if (!T41_) goto LA42_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T45_ = NIM_NIL; T45_ = (*(*c).graph).config; T46_ = NIM_NIL; T46_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T45_, T46_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T60_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA48 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_3 = NIM_NIL; eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; item = 0; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T52_; NIM_BOOL T53_; NI T58_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T59_; T52_ = (NIM_BOOL)0; T53_ = (NIM_BOOL)0; T53_ = filterSym__sigmatch_5286(it_3, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; if (!(T53_)) goto LA54_; T53_ = nameFits__sigmatch_5483(c, it_3, n); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; LA54_: ; T52_ = T53_; if (!(T52_)) goto LA55_; T52_ = argsFit__sigmatch_5505(c, it_3, n, nOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; LA55_: ; if (!T52_) goto LA56_; T58_ = (NI)0; T58_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; T59_ = NIM_NIL; T59_ = symToSuggest__sigmatch_4892((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T58_, pm_2, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; add__sigmatch_5409((&(*outputs)), T59_); } LA56_: ; T60_ = NIM_NIL; T60_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; eqsink___ast_4066(&r, T60_); if (NIM_UNLIKELY(*nimErr_)) goto LA49_; { LA49_:; } { oldNimErrFin49_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; *nimErr_ = oldNimErrFin49_; } if (NIM_UNLIKELY(*nimErr_)) goto LA44_; } LA48: ; } { LA44_:; } { oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; *nimErr_ = oldNimErrFin44_; } if (NIM_UNLIKELY(*nimErr_)) goto LA38_; } goto LA39_; LA42_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T72_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA70_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA70_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA67_; i_2 = ((NI)0); T72_ = colontmp__3.len; L_2 = T72_; { while (1) { if (!(i_2 < L_2)) goto LA74 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA77_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_4 = NIM_NIL; eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; item = 0; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T82_; NIM_BOOL T83_; NI T88_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T89_; T82_ = (NIM_BOOL)0; T83_ = (NIM_BOOL)0; T83_ = filterSym__sigmatch_5286(it_4, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; if (!(T83_)) goto LA84_; T83_ = nameFits__sigmatch_5483(c, it_4, n); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; LA84_: ; T82_ = T83_; if (!(T82_)) goto LA85_; T82_ = argsFit__sigmatch_5505(c, it_4, n, nOrig); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; LA85_: ; if (!T82_) goto LA86_; T88_ = (NI)0; T88_ = getQuality__sigmatch_5378(it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; T89_ = NIM_NIL; T89_ = symToSuggest__sigmatch_4892((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T88_, pm_3, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA79_; add__sigmatch_5409((&(*outputs)), T89_); } LA86_: ; { LA79_:; } { oldNimErrFin79_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA67_; *nimErr_ = oldNimErrFin79_; } if (NIM_UNLIKELY(*nimErr_)) goto LA67_; } LA77_: ; i_2 += ((NI)1); } LA74: ; } { LA67_:; } { oldNimErrFin67_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA38_; *nimErr_ = oldNimErrFin67_; } if (NIM_UNLIKELY(*nimErr_)) goto LA38_; } } LA39_: ; { LA38_:; } { oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin38_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } i += ((NI)1); } LA36: ; } } { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&item); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestVar__sigmatch_5531)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* outputs) { tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info; NIM_BOOL oldNimErrFin15_; NIM_BOOL oldNimErrFin12_; NIM_BOOL oldNimErrFin4_; NIM_BOOL oldNimErrFin46_; NIM_BOOL oldNimErrFin41_; NIM_BOOL oldNimErrFin73_; NIM_BOOL oldNimErrFin61_; NIM_BOOL oldNimErrFin35_; NIM_BOOL oldNimErrFin2_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); info = (*n).info; { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA6 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA9_; isLocal_2 = NIM_FALSE; } LA9_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it; item_2 = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item_2 = colontmpD_; nimZeroMem((void*)(&it), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T23_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA14 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; it_2 = NIM_NIL; item_2 = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; it_2 = item; item = 0; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T18_; NI T21_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T22_; T18_ = (NIM_BOOL)0; T18_ = nameFits__sigmatch_5483(c, it_2, n); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; if (!T18_) goto LA19_; T21_ = (NI)0; T21_ = getQuality__sigmatch_5378(it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; T22_ = NIM_NIL; T22_ = symToSuggest__sigmatch_4892((*c).graph, it_2, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T21_, pm, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; add__sigmatch_5409((&(*outputs)), T22_); } LA19_: ; T23_ = NIM_NIL; T23_ = nextIter__astalgo_3921((&it), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; eqsink___ast_4066(&s, T23_); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; { LA15_:; } { oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_2); if (NIM_UNLIKELY(*nimErr_)) goto LA12_; *nimErr_ = oldNimErrFin15_; } if (NIM_UNLIKELY(*nimErr_)) goto LA12_; } LA14: ; } { LA12_:; } { oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; *nimErr_ = oldNimErrFin12_; } if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } LA6: ; } { LA4_:; } { oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin4_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T31_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T31_ = (*c).imports.len; L = T31_; { while (1) { if (!(i < L)) goto LA33 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T38_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T42_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T43_; T38_ = (NIM_BOOL)0; T38_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; if (!T38_) goto LA39_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T42_ = NIM_NIL; T42_ = (*(*c).graph).config; T43_ = NIM_NIL; T43_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T42_, T43_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T54_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA45 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_3 = NIM_NIL; eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; it_3 = item; item = 0; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T49_; NI T52_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T53_; T49_ = (NIM_BOOL)0; T49_ = nameFits__sigmatch_5483(c, it_3, n); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; if (!T49_) goto LA50_; T52_ = (NI)0; T52_ = getQuality__sigmatch_5378(it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; T53_ = NIM_NIL; T53_ = symToSuggest__sigmatch_4892((*c).graph, it_3, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T52_, pm_2, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; add__sigmatch_5409((&(*outputs)), T53_); } LA50_: ; T54_ = NIM_NIL; T54_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; eqsink___ast_4066(&r, T54_); if (NIM_UNLIKELY(*nimErr_)) goto LA46_; { LA46_:; } { oldNimErrFin46_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_3); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; *nimErr_ = oldNimErrFin46_; } if (NIM_UNLIKELY(*nimErr_)) goto LA41_; } LA45: ; } { LA41_:; } { oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; *nimErr_ = oldNimErrFin41_; } if (NIM_UNLIKELY(*nimErr_)) goto LA35_; } goto LA36_; LA39_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T66_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA64_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA64_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA61_; i_2 = ((NI)0); T66_ = colontmp__3.len; L_2 = T66_; { while (1) { if (!(i_2 < L_2)) goto LA68 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it_4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA71_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); it_4 = NIM_NIL; eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA73_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&item, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA73_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; it_4 = item; item = 0; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T76_; NI T79_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T80_; T76_ = (NIM_BOOL)0; T76_ = nameFits__sigmatch_5483(c, it_4, n); if (NIM_UNLIKELY(*nimErr_)) goto LA73_; if (!T76_) goto LA77_; T79_ = (NI)0; T79_ = getQuality__sigmatch_5378(it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA73_; T80_ = NIM_NIL; T80_ = symToSuggest__sigmatch_4892((*c).graph, it_4, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2), info, T79_, pm_3, (((NI)0) < (*c).inTypeContext), scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA73_; add__sigmatch_5409((&(*outputs)), T80_); } LA77_: ; { LA73_:; } { oldNimErrFin73_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it_4); if (NIM_UNLIKELY(*nimErr_)) goto LA61_; *nimErr_ = oldNimErrFin73_; } if (NIM_UNLIKELY(*nimErr_)) goto LA61_; } LA71_: ; i_2 += ((NI)1); } LA68: ; } { LA61_:; } { oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA35_; *nimErr_ = oldNimErrFin61_; } if (NIM_UNLIKELY(*nimErr_)) goto LA35_; } } LA36_: ; { LA35_:; } { oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA2_; *nimErr_ = oldNimErrFin35_; } if (NIM_UNLIKELY(*nimErr_)) goto LA2_; } i += ((NI)1); } LA33: ; } } { LA2_:; } { oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&item); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin2_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NI, cmpSuggestions__sigmatch_4797)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* a, tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* 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_1543((*(*a).name), (*(*b).name)); }BeforeRet_: ; return result; } static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) { prepareAdd(s, ((NI)1)); (*(*s).p).data[(*s).len] = c; (*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0; (*s).len += ((NI)1); } N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___sigmatch_5065)(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* suggest) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; result = dollar___options_5599((*suggest).section); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; nimAddCharV1((&result), 9); { NimStringV2 colontmpD_; NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; if (!((*suggest).section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)9))) goto LA3_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = (((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) ((*suggest).symkind)) == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8)); if (!(T7_)) goto LA8_; T7_ = (*suggest).isGlobal; LA8_: ; if (!T7_) goto LA9_; prepareAdd((&result), 11); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_119); } goto LA5_; LA9_: ; { NIM_BOOL T12_; T12_ = (NIM_BOOL)0; T12_ = (((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) ((*suggest).symkind)) == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9)); if (!(T12_)) goto LA13_; T12_ = (*suggest).isGlobal; LA13_: ; if (!T12_) goto LA14_; prepareAdd((&result), 11); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_121); } goto LA5_; LA14_: ; { NimStringV2 colontmpD__4; colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL; colontmpD__4 = dollar___ast_469(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) ((*suggest).symkind))); prepareAdd((&result), colontmpD__4.len + 0); appendString((&result), colontmpD__4); eqdestroy___stdZassertions_13((&colontmpD__4)); } LA5_: ; nimAddCharV1((&result), 9); colontmpD_ = dollar___systemZdollars_3((*suggest).line); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); nimAddCharV1((&result), 9); colontmpD__2 = dollar___systemZdollars_3((*suggest).column); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__2.len + 0); appendString((&result), colontmpD__2); nimAddCharV1((&result), 9); colontmpD__3 = dollar___systemZdollars_3((*suggest).tokenLen); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__3.len + 0); appendString((&result), colontmpD__3); eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); } goto LA1_; LA3_: ; { NimStringV2 colontmpD__5; NimStringV2 colontmpD__6; NimStringV2 colontmpD__7; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL; colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL; colontmpD__5 = dollar___ast_469(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ) ((*suggest).symkind))); prepareAdd((&result), colontmpD__5.len + 0); appendString((&result), colontmpD__5); nimAddCharV1((&result), 9); { NI T20_; NimStringV2 colontmpD__8; T20_ = (*suggest).qualifiedPath.len; if (!!((T20_ == ((NI)0)))) goto LA21_; colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL; colontmpD__8 = nsuJoinSep((((*suggest).qualifiedPath).p) ? ((*suggest).qualifiedPath.p->data) : NIM_NIL, (*suggest).qualifiedPath.len, TM__wjrA09aH0rT1R7zbrcCaROw_123); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__8.len + 0); appendString((&result), colontmpD__8); eqdestroy___stdZassertions_13((&colontmpD__8)); } LA21_: ; nimAddCharV1((&result), 9); prepareAdd((&result), (*suggest).forth.len + 0); appendString((&result), (*suggest).forth); nimAddCharV1((&result), 9); prepareAdd((&result), (*suggest).filePath.len + 0); appendString((&result), (*suggest).filePath); nimAddCharV1((&result), 9); colontmpD__6 = dollar___systemZdollars_3((*suggest).line); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__6.len + 0); appendString((&result), colontmpD__6); nimAddCharV1((&result), 9); colontmpD__7 = dollar___systemZdollars_3((*suggest).column); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__7.len + 0); appendString((&result), colontmpD__7); nimAddCharV1((&result), 9); { NimStringV2 colontmpD__9; if (!((*suggest).version == ((NI)0) || (*suggest).version == ((NI)3))) goto LA25_; colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL; nimAddCharV1((&result), 9); colontmpD__9 = dollar___systemZdollars_3(((NI) ((*suggest).quality))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&result), colontmpD__9.len + 0); appendString((&result), colontmpD__9); { NimStringV2 colontmpD__10; if (!((*suggest).section == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1))) goto LA29_; colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL; nimAddCharV1((&result), 9); colontmpD__10 = dollar___prefixmatches_7((*suggest).prefix); prepareAdd((&result), colontmpD__10.len + 0); appendString((&result), colontmpD__10); eqdestroy___stdZassertions_13((&colontmpD__10)); } LA29_: ; eqdestroy___stdZassertions_13((&colontmpD__9)); } LA25_: ; eqdestroy___stdZassertions_13((&colontmpD__7)); eqdestroy___stdZassertions_13((&colontmpD__6)); eqdestroy___stdZassertions_13((&colontmpD__5)); } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, produceOutput__sigmatch_5108)(tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA* a, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { tyProc__MGxCE1n0simx8cOK1Fif5A T5_; if (!((*conf).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1) || (*conf).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2))) goto LA3_; nimZeroMem((void*)(&T5_), sizeof(tyProc__MGxCE1n0simx8cOK1Fif5A)); T5_.ClP_0 = ((TM__wjrA09aH0rT1R7zbrcCaROw_116) (cmpSuggestions__sigmatch_4797)); T5_.ClE_0 = NIM_NIL; sort__sigmatch_5117(((*a).p) ? ((*a).p->data) : NIM_NIL, (*a).len, T5_, ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA)1)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; { NI T8_; T8_ = (*a).len; if (!((*conf).suggestMaxResults < T8_)) goto LA9_; setLen__modulegraphs_9604((&(*a)), ((NI) ((*conf).suggestMaxResults))); } LA9_: ; { if (!!(((*conf).suggestionResultHook.ClP_0 == 0))) goto LA13_; { tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** s; NI i; NI L; NI T16_; s = (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ**)0; i = ((NI)0); T16_ = (*a).len; L = T16_; { while (1) { if (!(i < L)) goto LA18 ; s = &(*a).p->data[i]; (*conf).suggestionResultHook.ClE_0? (*conf).suggestionResultHook.ClP_0((*s), (*conf).suggestionResultHook.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_117)((*conf).suggestionResultHook.ClP_0))((*s)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i += ((NI)1); } LA18: ; } } } goto LA11_; LA13_: ; { { tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ** s_2; NI i_2; NI L_2; NI T21_; s_2 = (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ**)0; i_2 = ((NI)0); T21_ = (*a).len; L_2 = T21_; { while (1) { NimStringV2 colontmpD_; if (!(i_2 < L_2)) goto LA23 ; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; s_2 = &(*a).p->data[i_2]; colontmpD_ = dollar___sigmatch_5065((*s_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA24_; suggestWriteln__msgs_448(conf, colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA24_; i_2 += ((NI)1); { LA24_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA23: ; } } } LA11_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestExprNoCheck__sigmatch_6806)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA outputs; NIM_BOOL oldNimErrFin27_; NIM_BOOL oldNimErrFin17_; NIM_BOOL oldNimErrFin41_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); outputs.len = 0; outputs.p = NIM_NIL; { if (!(((NI)0) < (*c).compilesContextId)) goto LA4_; eqdestroy___modulegraphs_9569((&outputs)); goto BeforeRet_; } LA4_: ; (*c).compilesContextId += ((NI)1); outputs.len = 0; outputs.p = (tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content*) newSeqPayload(0, sizeof(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*), NIM_ALIGNOF(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*)); { if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1))) goto LA8_; sugExpr__sigmatch_6773(c, n, (&outputs)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA6_; LA8_: ; { if (!((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2))) goto LA11_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x; if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA15_; a = NIM_NIL; x = NIM_NIL; a = copyNode__ast_5733(n); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; x = safeSemExpr__sigmatch_6767(c, (*n)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { NIM_BOOL T20_; T20_ = (NIM_BOOL)0; T20_ = ((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)); if (T20_) goto LA21_; T20_ = ((*x).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); LA21_: ; if (!T20_) goto LA22_; eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[((NI)0)]); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA22_: ; add__ast_6233(a, x); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; i_2 = ((NI)1); { while (1) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x_2; if (!(i_2 < colontmp_)) goto LA26 ; x_2 = NIM_NIL; i = i_2; x_2 = safeSemExpr__sigmatch_6767(c, (*n)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; { NIM_BOOL T30_; T30_ = (NIM_BOOL)0; T30_ = ((*x_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)); if (T30_) goto LA31_; T30_ = ((*x_2).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); LA31_: ; if (!T30_) goto LA32_; eqdestroy___ast_3454(&x_2); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; goto LA24; } LA32_: ; add__ast_6233(a, x_2); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; i_2 += ((NI)1); { LA27_:; } { oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&x_2); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; *nimErr_ = oldNimErrFin27_; } if (NIM_UNLIKELY(*nimErr_)) goto LA17_; } LA26: ; } } LA24: ; suggestCall__sigmatch_5516(c, a, n, (&outputs)); if (NIM_UNLIKELY(*nimErr_)) goto LA17_; { LA17_:; } { oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&x); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___ast_3454(&a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin17_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA13_; LA15_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x_3; if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)53) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56))) goto LA39_; x_3 = NIM_NIL; x_3 = safeSemExpr__sigmatch_6767(c, n); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; { NIM_BOOL T44_; T44_ = (NIM_BOOL)0; T44_ = ((*x_3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)); if (T44_) goto LA45_; T44_ = ((*x_3).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); LA45_: ; if (!T44_) goto LA46_; eqcopy___ast_3457(&x_3, n); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; } LA46_: ; suggestVar__sigmatch_5531(c, x_3, (&outputs)); if (NIM_UNLIKELY(*nimErr_)) goto LA41_; { LA41_:; } { oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&x_3); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin41_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA13_; LA39_: ; LA13_: ; } goto LA6_; LA11_: ; LA6_: ; (*c).compilesContextId -= ((NI)1); { NIM_BOOL T52_; NI T53_; T52_ = (NIM_BOOL)0; T53_ = outputs.len; T52_ = (((NI)0) < T53_); if (!(T52_)) goto LA54_; T52_ = ((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1) || (*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)2) || (*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)3)); LA54_: ; if (!T52_) goto LA55_; produceOutput__sigmatch_5108((&outputs), (*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; suggestQuit__msgs_472(); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA55_: ; { LA1_:; } { eqdestroy___modulegraphs_9569((&outputs)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6929)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = exactEquals__msgs_1052((*(*(*c).graph).config).m.trackPos, (*n).info); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T3_) goto LA4_; suggestExprNoCheck__sigmatch_6806(c, n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA4_: ; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__dUHyMGuLkqd6JX4cXb9af8g, inCheckpoint__sigmatch_5704)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg current, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos) { tyEnum_TCheckPointResult__dUHyMGuLkqd6JX4cXb9af8g result; { result = (tyEnum_TCheckPointResult__dUHyMGuLkqd6JX4cXb9af8g)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__dUHyMGuLkqd6JX4cXb9af8g)2); goto BeforeRet_; } LA9_: ; { if (!((NU16)(trackPos.line) <= (NU16)(current.line))) goto LA13_; result = ((tyEnum_TCheckPointResult__dUHyMGuLkqd6JX4cXb9af8g)1); goto BeforeRet_; } LA13_: ; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4519)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)1); { while (1) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_; if (!(i_2 < colontmp_)) goto LA3 ; i = i_2; T4_ = NIM_NIL; T4_ = prepareOperand__sigmatch_4047(c, (*n)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T4_); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 += ((NI)1); } LA3: ; } } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, argTypeToString__sigmatch_388)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer) { NimStringV2 result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; { if (!((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57))) goto LA3_; result = typeToString__types_51((*(*arg)._kind_6.sons.p->data[((NI)0)]).typ, prefer); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = ((NI)1); { while (1) { NimStringV2 colontmpD_; if (!(i_2 < colontmp_)) goto LA7 ; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; i = i_2; prepareAdd((&result), 3); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_128); colontmpD_ = typeToString__types_51((*(*arg)._kind_6.sons.p->data[i]).typ, prefer); if (NIM_UNLIKELY(*nimErr_)) goto LA8_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); i_2 += ((NI)1); { LA8_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA7: ; } } } goto LA1_; LA3_: ; { if (!((*arg).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA12_; result = TM__wjrA09aH0rT1R7zbrcCaROw_130; } goto LA1_; LA12_: ; { result = typeToString__types_51((*arg).typ, prefer); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, describeArgs__sigmatch_410)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI startIdx, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer) { NimStringV2 result; NIM_BOOL oldNimErrFin4_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; result = TM__wjrA09aH0rT1R7zbrcCaROw_124; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; i_2 = startIdx; { while (1) { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg; NimStringV2 colontmpD_; if (!(i_2 < colontmp_)) goto LA3 ; arg = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; i = i_2; eqcopy___ast_3457(&arg, (*n)._kind_6.sons.p->data[i]); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; { NimStringV2 colontmpD__2; tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA T10_; if (!((*(*n)._kind_6.sons.p->data[i]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33))) goto LA7_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; T10_ = 0; colontmpD__2 = renderTree__renderer_50((*(*n)._kind_6.sons.p->data[i])._kind_6.sons.p->data[((NI)0)], T10_); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; prepareAdd((&result), colontmpD__2.len + 0); appendString((&result), colontmpD__2); prepareAdd((&result), 2); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_126); { NIM_BOOL T13_; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T17_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T18_; T13_ = (NIM_BOOL)0; T13_ = ((*arg).typ == 0); if (!(T13_)) goto LA14_; T13_ = !(((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52))); LA14_: ; if (!T13_) goto LA15_; T17_ = 0; T18_ = NIM_NIL; T18_ = (*c).semOperand(c, (*(*n)._kind_6.sons.p->data[i])._kind_6.sons.p->data[((NI)1)], T17_); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; eqsink___ast_3460(&arg, T18_); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; eqcopy___ast_3546(&(*(*n)._kind_6.sons.p->data[i]).typ, (*arg).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; eqcopy___ast_3457(&(*(*n)._kind_6.sons.p->data[i])._kind_6.sons.p->data[((NI)1)], arg); if (NIM_UNLIKELY(*nimErr_)) goto LA9_; } LA15_: ; { LA9_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } goto LA5_; LA7_: ; { { NIM_BOOL T24_; tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw T28_; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_; T24_ = (NIM_BOOL)0; T24_ = ((*arg).typ == 0); if (!(T24_)) goto LA25_; T24_ = !(((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87))); LA25_: ; if (!T24_) goto LA26_; T28_ = 0; T29_ = NIM_NIL; T29_ = (*c).semOperand(c, (*n)._kind_6.sons.p->data[i], T28_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqsink___ast_3460(&arg, T29_); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; eqcopy___ast_3457(&(*n)._kind_6.sons.p->data[i], arg); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; } LA26_: ; } LA5_: ; { NIM_BOOL T32_; T32_ = (NIM_BOOL)0; T32_ = !(((*arg).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))); if (!(T32_)) goto LA33_; T32_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)50)); LA33_: ; if (!T32_) goto LA34_; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA34_: ; colontmpD_ = argTypeToString__sigmatch_388(arg, prefer); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; prepareAdd((&result), colontmpD_.len + 0); appendString((&result), colontmpD_); { NI T38_; T38_ = (NI)0; T38_ = len__ast_3325(n); if (NIM_UNLIKELY(*nimErr_)) goto LA4_; if (!!((i == (NI)(T38_ - ((NI)1))))) goto LA39_; prepareAdd((&result), 2); appendString((&result), TM__wjrA09aH0rT1R7zbrcCaROw_131); } LA39_: ; i_2 += ((NI)1); { LA4_:; } { oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___ast_3454(&arg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin4_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3: ; } } }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___sem_2056)(tySequence__QlpmqBu4k7qSn9cgYGyYsWw* dest) { NI colontmp_; colontmp_ = ((NI)0); { while (1) { NI T3_; T3_ = (*dest).len; if (!(colontmp_ < T3_)) goto LA2 ; { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = nimDecRefIsLast((*dest).p->data[colontmp_].sym); if (!T6_) goto LA7_; nimDestroyAndDispose((*dest).p->data[colontmp_].sym); } LA7_: ; { NIM_BOOL T11_; T11_ = (NIM_BOOL)0; T11_ = nimDecRefIsLast((*dest).p->data[colontmp_].firstMismatch.formal); if (!T11_) goto LA12_; nimDestroyAndDispose((*dest).p->data[colontmp_].firstMismatch.formal); } LA12_: ; eqdestroy___system_3516((&(*dest).p->data[colontmp_].diagnostics)); colontmp_ += ((NI)1); } LA2: ; } if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) { alignedDealloc((*dest).p, NIM_ALIGNOF(tyObject_CandidateError__UhEY9aM3b3UsihMyUwzsE6A)); } } N_LIB_PRIVATE N_NIMCALL(void, matches__sigmatch_4538)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg* m) { tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker; NIM_BOOL oldNimErrFin27_; NIM_BOOL oldNimErrFin39_; NIM_BOOL oldNimErrFin13_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA)); { if (!((*m).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)5) || (*m).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)6))) goto LA4_; (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)1); eqcopy___ast_3457(&(*m).call, n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___pureZcollectionsZintsets_181((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA4_: ; initIntSet__pureZcollectionsZintsets_389((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; matchesAux__sigmatch_4132(c, n, nOrig, m, (&marker)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!((*m).state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2))) goto LA8_; eqdestroy___pureZcollectionsZintsets_181((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; } LA8_: ; { NI f; NI colontmp_; NI i; f = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3325((*(*m).callee).n); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; i = ((NI)1); { while (1) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* formal; if (!(i < colontmp_)) goto LA12 ; formal = NIM_NIL; f = i; eqcopy___ast_4063(&formal, (*(*(*(*m).callee).n)._kind_6.sons.p->data[f])._kind_4.sym); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; { NIM_BOOL T16_; T16_ = (NIM_BOOL)0; T16_ = containsOrIncl__astalgo_402((&marker), (*formal).position); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; if (!!(T16_)) goto LA17_; { if (!((*formal).ast == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA21_; { tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD_; tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__2; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* container; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4; tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ cnKind; if (!((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))) goto LA25_; colontmpD_ = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0; colontmpD__2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0; container = NIM_NIL; colontmpD__3 = NIM_NIL; colontmpD__4 = NIM_NIL; { NIM_BOOL T30_; T30_ = (NIM_BOOL)0; T30_ = ((*(*formal).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48)); if (!(T30_)) goto LA31_; T30_ = ((*(*(*formal).typ).sons.p->data[((NI)0)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6)); LA31_: ; if (!T30_) goto LA32_; colontmpD_ = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)152); cnKind = colontmpD_; } goto LA28_; LA32_: ; { colontmpD__2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41); cnKind = colontmpD__2; } LA28_: ; colontmpD__3 = arrayConstr__sigmatch_4072(c, (*n).info); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; container = newNodeIT__ast_3970(cnKind, (*n).info, colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; colontmpD__4 = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), (*formal).typ, container, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA27_; { LA27_:; } { oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&colontmpD__4); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; eqdestroy___ast_3543(&colontmpD__3); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; eqdestroy___ast_3454(&container); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; *nimErr_ = oldNimErrFin27_; } if (NIM_UNLIKELY(*nimErr_)) goto LA13_; } goto LA23_; LA25_: ; { (*m).state = ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2); (*m).firstMismatch.kind = ((tyEnum_MismatchKind__1ZQ7wGBOy9aTyCOTAargb1Q)5); eqsink___ast_4066(&(*m).firstMismatch.formal, formal); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; formal = 0; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; goto LA10; } LA23_: ; } goto LA19_; LA21_: ; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* defaultValue; defaultValue = NIM_NIL; { NimStringV2 colontmpD__5; NimStringV2 colontmpD__6; if (!((*(*formal).ast).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA42_; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL; colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL; eqcopy___stdZassertions_16((&colontmpD__5), (*(*formal).name).s); colontmpD__6 = nsuFormatSingleElem(TM__wjrA09aH0rT1R7zbrcCaROw_133, colontmpD__5); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; liMessage__msgs_1172((*(*c).graph).config, (*(*m).call).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__6, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_134, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; { LA44_:; } { eqdestroy___stdZassertions_13((&colontmpD__6)); } if (NIM_UNLIKELY(*nimErr_)) goto LA39_; } LA42_: ; { if (!(((*(*formal).ast).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)19)))&31U)))!=0)) goto LA49_; (*(*m).call).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)19))) & 31); } LA49_: ; defaultValue = copyTree__ast_5856((*formal).ast); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; { tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T55_; if (!((*defaultValue).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA53_; T55_ = NIM_NIL; T55_ = implicitConv__sigmatch_3350(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58), (*formal).typ, defaultValue, (&(*m)), c); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; eqsink___ast_3460(&defaultValue, T55_); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; } LA53_: ; { tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q T58_; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* existing; RootObj* T61_; T58_ = 0; if (!!(((100663296 & (*(*formal).typ).flags) == T58_))) goto LA59_; existing = NIM_NIL; T61_ = NIM_NIL; T61_ = idTableGet__astalgo_65((*m).bindings, (*((tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ**) (&((*formal).typ))))); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; existing = ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) (T61_)); { NIM_BOOL T64_; T64_ = (NIM_BOOL)0; T64_ = (existing == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)); if (T64_) goto LA65_; T64_ = ((*existing).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)); LA65_: ; if (!T64_) goto LA66_; put__sigmatch_128(m, (*formal).typ, (*defaultValue).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; } LA66_: ; eqdestroy___ast_3543(&existing); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; } LA59_: ; (*defaultValue).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)18))) & 31); setSon__sigmatch_3997((*m).call, (NI)((*formal).position + ((NI)1)), defaultValue); if (NIM_UNLIKELY(*nimErr_)) goto LA39_; { LA39_:; } { oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3454(&defaultValue); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; *nimErr_ = oldNimErrFin39_; } if (NIM_UNLIKELY(*nimErr_)) goto LA13_; } LA19_: ; } LA17_: ; i += ((NI)1); { LA13_:; } { oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&formal); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin13_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA12: ; } } LA10: ; { if (!((*m).state == ((tyEnum_TCandidateState__8Fl0MIRwBeKUXc1wEPjTRQ)2))) goto LA74_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** t; NI i_2; NI L; NI T77_; t = (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA**)0; i_2 = ((NI)0); T77_ = (*m).inferredTypes.len; L = T77_; { while (1) { if (!(i_2 < L)) goto LA79 ; t = &(*m).inferredTypes.p->data[i_2]; { NI T82_; T82_ = (NI)0; T82_ = len__ast_5071((*t)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(((NI)1) < T82_)) goto LA83_; setLen__ast_3507((&(*(*t)).sons), ((NI)1)); } LA83_: ; i_2 += ((NI)1); } LA79: ; } } } LA74_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___pureZcollectionsZintsets_181((&marker)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqcopy___sigmatch_115)(tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w* dest, tyObject_MismatchInfo__b5zQgDdtcDHQYcb66uqc5w src) { (*dest).kind = src.kind; (*dest).arg = src.arg; { if (!src.formal) goto LA3_; nimIncRef(src.formal); } LA3_: ; { NIM_BOOL T7_; T7_ = (NIM_BOOL)0; T7_ = nimDecRefIsLast((*dest).formal); if (!T7_) goto LA8_; nimDestroyAndDispose((*dest).formal); } LA8_: ; (*dest).formal = src.formal; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ, cmpTypes__sigmatch_3330)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a) { tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ result; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg m; tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T2_; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); newCandidate__sigmatch_204(c, f, (&m)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_ = 0; result = typeRel__sigmatch_211((&m), f, a, T2_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___sigmatch_261((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6947)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); suggestExpr__sigmatch_6929(c, n); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, instTypeBoundOp__sigmatch_4688)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dc, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, NI col) { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result; tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg m; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* f; NIM_BOOL oldNimErrFin1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = NIM_NIL; nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__9aQ5yEujfKCOFGkelPt50Dg)); f = NIM_NIL; newCandidate__sigmatch_204(c, (*dc).typ, (&m)); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { NI T4_; NimStringV2 colontmpD_; NimStringV2 T8_; T4_ = (NI)0; T4_ = len__ast_5071((*dc).typ); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T4_ <= col)) goto LA5_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; T8_.len = 0; T8_.p = NIM_NIL; T8_ = rawNewString((*(*dc).name).s.len + 22); appendString((&T8_), TM__wjrA09aH0rT1R7zbrcCaROw_136); appendString((&T8_), (*(*dc).name).s); appendString((&T8_), TM__wjrA09aH0rT1R7zbrcCaROw_137); colontmpD_ = T8_; liMessage__msgs_1172((*(*c).graph).config, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_138, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA7_; result = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL); eqdestroy___stdZassertions_13((&colontmpD_)); eqdestroy___ast_3543(&f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_261((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto BeforeRet_; { LA7_:; } { eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA5_: ; eqcopy___ast_3546(&f, (*(*dc).typ).sons.p->data[col]); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(op == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4))) goto LA13_; { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T19_; if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21))) goto LA17_; T19_ = NIM_NIL; T19_ = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&f, T19_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA17_: ; } goto LA11_; LA13_: ; { { tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T25_; if (!((*f).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA23_; T25_ = NIM_NIL; T25_ = lastSon__ast_4811(f); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqsink___ast_3549(&f, T25_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } LA23_: ; } LA11_: ; { tySet_tyEnum_TTypeRelFlag__j6Cvd1YIyU71wtTtZtYaTA T28_; tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ T29_; NimStringV2 colontmpD__2; NimStringV2 T33_; T28_ = 0; T29_ = (tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0; T29_ = typeRel__sigmatch_211((&m), f, t, T28_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!(T29_ == ((tyEnum_TTypeRelation__lgkbomCWReQu9aEySIgDjeQ)0))) goto LA30_; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; T33_.len = 0; T33_.p = NIM_NIL; T33_ = rawNewString((*(*dc).name).s.len + 22); appendString((&T33_), TM__wjrA09aH0rT1R7zbrcCaROw_139); appendString((&T33_), (*(*dc).name).s); appendString((&T33_), TM__wjrA09aH0rT1R7zbrcCaROw_140); colontmpD__2 = T33_; liMessage__msgs_1172((*(*c).graph).config, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), TM__wjrA09aH0rT1R7zbrcCaROw_141, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA32_; { LA32_:; } { eqdestroy___stdZassertions_13((&colontmpD__2)); } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } goto LA26_; LA30_: ; { result = (*c).semGenerateInstance.ClE_0? (*c).semGenerateInstance.ClP_0(c, dc, m.bindings, info, (*c).semGenerateInstance.ClE_0):((TM__wjrA09aH0rT1R7zbrcCaROw_142)((*c).semGenerateInstance.ClP_0))(c, dc, m.bindings, info); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { if (!(op == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4))) goto LA39_; } LA39_: ; } LA26_: ; { LA1_:; } { oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_3543(&f); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqdestroy___sigmatch_261((&m)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; *nimErr_ = oldNimErrFin1_; } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6962)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c) { tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA outputs; NIM_BOOL oldNimErrFin23_; NIM_BOOL oldNimErrFin15_; NIM_BOOL oldNimErrFin50_; NIM_BOOL oldNimErrFin68_; NIM_BOOL oldNimErrFin44_; NIM_BOOL oldNimErrFin13_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); outputs.len = 0; outputs.p = NIM_NIL; { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = !(((*(*(*c).graph).config).ideCmd == ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1))); if (T4_) goto LA5_; T4_ = !((((NI32) ((*(*c).module).position)) == (*(*(*c).graph).config).m.trackPos.fileIndex)); LA5_: ; if (!T4_) goto LA6_; eqdestroy___modulegraphs_9569((&outputs)); goto BeforeRet_; } LA6_: ; { if (!(((NI)0) < (*c).compilesContextId)) goto LA10_; eqdestroy___modulegraphs_9569((&outputs)); goto BeforeRet_; } LA10_: ; (*c).compilesContextId += ((NI)1); outputs.len = 0; outputs.p = (tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content*) newSeqPayload(0, sizeof(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*), NIM_ALIGNOF(tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ*)); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__UGPjl9bmDNGJVWv0GAkg6Cw* scope; tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* current; scope = NIM_NIL; current = NIM_NIL; eqcopy___lookups_82(¤t, (*c).currentScope); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; { while (1) { if (!!((current == ((tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw*) NIM_NIL)))) goto LA17 ; scope = current; { if (!(scope == (*c).topLevelScope)) goto LA20_; isLocal_2 = NIM_FALSE; } LA20_: ; scopeN_2 -= ((NI)1); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s; tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q it_2; item = NIM_NIL; colontmpD_ = NIM_NIL; s = NIM_NIL; colontmpD_ = 0; item = colontmpD_; nimZeroMem((void*)(&it_2), sizeof(tyObject_TTabIter__HazYhuVplfR43sakn6fs2Q)); s = initTabIter__astalgo_3937((&it_2), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp_; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T34_; if (!!((s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA25 ; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = NIM_NIL; item = s; nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); colontmpD__2 = 0; eqcopy___ast_4063(&colontmpD__2, item); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; colontmp_.Field0 = colontmpD__2; colontmp_.Field1 = scopeN_2; colontmp_.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp_.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; scopeN = colontmp_.Field1; isLocal = colontmp_.Field2; pm = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T28_; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T31_; NI T32_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T33_; T28_ = (NIM_BOOL)0; T28_ = filterSymNoOpr__sigmatch_5312(it, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm)); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; if (!T28_) goto LA29_; T31_ = newLineInfo__msgs_408((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI)0), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; T32_ = (NI)0; T32_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; T33_ = NIM_NIL; T33_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), T31_, T32_, ((tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0), NIM_FALSE, scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; add__sigmatch_5409((&outputs), T33_); } LA29_: ; T34_ = NIM_NIL; T34_ = nextIter__astalgo_3921((&it_2), (*scope).symbols); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; eqsink___ast_4066(&s, T34_); if (NIM_UNLIKELY(*nimErr_)) goto LA23_; } LA25: ; } { LA23_:; } { oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; eqdestroy___ast_4060(&colontmpD_); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; *nimErr_ = oldNimErrFin23_; } if (NIM_UNLIKELY(*nimErr_)) goto LA15_; } eqcopy___lookups_82(¤t, (*current).parent); if (NIM_UNLIKELY(*nimErr_)) goto LA15_; } LA17: ; } { LA15_:; } { oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___lookups_79(¤t); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; *nimErr_ = oldNimErrFin15_; } if (NIM_UNLIKELY(*nimErr_)) goto LA13_; } scopeN_2 -= ((NI)1); isLocal_2 = NIM_FALSE; { tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ* im; NI i; NI L; NI T40_; im = (tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ*)0; i = ((NI)0); T40_ = (*c).imports.len; L = T40_; { while (1) { if (!(i < L)) goto LA42 ; im = (&(*c).imports.p->data[i]); { tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2; NIM_BOOL importHidden; s_2 = NIM_NIL; s_2 = 0; importHidden = (((*(*im).m).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)27)))&31U)))!=0); { NIM_BOOL T47_; tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg rodIt; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* r; tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T51_; tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T52_; T47_ = (NIM_BOOL)0; T47_ = isCachedModule__modulegraphs_2880((*c).graph, (*im).m); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; if (!T47_) goto LA48_; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); r = NIM_NIL; nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__5dfVPLNTNVGVfev7E9aSmZg)); T51_ = NIM_NIL; T51_ = (*(*c).graph).config; T52_ = NIM_NIL; T52_ = (*(*c).graph).cache; r = initRodIterAllSyms__icZic_10830((&rodIt), T51_, T52_, (&(*(*c).graph).packed_0), ((NI32) ((*(*im).m).position)), importHidden); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; { while (1) { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_2; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T63_; if (!!((r == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA54 ; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); eqsink___ast_4066(&s_2, r); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; r = 0; nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp = s_2; s_2 = 0; colontmp__2.Field0 = blitTmp; colontmp__2.Field1 = scopeN_2; colontmp__2.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp__2.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; scopeN = colontmp__2.Field1; isLocal = colontmp__2.Field2; pm_2 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T57_; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T60_; NI T61_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T62_; T57_ = (NIM_BOOL)0; T57_ = filterSymNoOpr__sigmatch_5312(it, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm_2)); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; if (!T57_) goto LA58_; T60_ = newLineInfo__msgs_408((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI)0), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; T61_ = (NI)0; T61_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; T62_ = NIM_NIL; T62_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), T60_, T61_, ((tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0), NIM_FALSE, scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; add__sigmatch_5409((&outputs), T62_); } LA58_: ; T63_ = NIM_NIL; T63_ = nextRodIter__icZic_11144((&rodIt), (&(*(*c).graph).packed_0)); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; eqsink___ast_4066(&r, T63_); if (NIM_UNLIKELY(*nimErr_)) goto LA50_; } LA54: ; } { LA50_:; } { oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&r); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; eqdestroy___modulegraphs_3109((&rodIt)); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; *nimErr_ = oldNimErrFin50_; } if (NIM_UNLIKELY(*nimErr_)) goto LA44_; } goto LA45_; LA48_: ; { { tySequence__UfuHwINLHlFJGRcvFZqKQQ colontmp__3; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** s_3; tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg* retX60gensym16_; NI i_2; NI L_2; NI T73_; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; s_3 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0; colontmp__3.len = 0; colontmp__3.p = NIM_NIL; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interf); { if (!importHidden) goto LA71_; retX60gensym16_ = (&(*(*c).graph).ifaces.p->data[(*(*im).m).position].interfHidden); } LA71_: ; eqcopy___ast_4330((&colontmp__3), (*retX60gensym16_).data); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; i_2 = ((NI)0); T73_ = colontmp__3.len; L_2 = T73_; { while (1) { if (!(i_2 < L_2)) goto LA75 ; s_3 = &colontmp__3.p->data[i_2]; { tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg colontmp__4; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* blitTmp_2; tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w pm_3; if (!!(((*s_3) == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA78_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); eqcopy___ast_4063(&s_2, (*s_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; nimZeroMem((void*)(&colontmp__4), sizeof(tyTuple__7XgJ1xntz3w9bQJqRbAR9cHg)); blitTmp_2 = s_2; s_2 = 0; colontmp__4.Field0 = blitTmp_2; colontmp__4.Field1 = scopeN_2; colontmp__4.Field2 = isLocal_2; eqsink___ast_4066(&it, colontmp__4.Field0); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; scopeN = colontmp__4.Field1; isLocal = colontmp__4.Field2; pm_3 = (tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0; { NIM_BOOL T82_; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T85_; NI T86_; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* T87_; T82_ = (NIM_BOOL)0; T82_ = filterSymNoOpr__sigmatch_5312(it, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), (&pm_3)); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; if (!T82_) goto LA83_; T85_ = newLineInfo__msgs_408((*(*(*c).graph).config).m.trackPos.fileIndex, ((NI)0), ((NI)-1)); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; T86_ = (NI)0; T86_ = getQuality__sigmatch_5378(it); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; T87_ = NIM_NIL; T87_ = symToSuggest__sigmatch_4892((*c).graph, it, isLocal, ((tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg)1), T85_, T86_, ((tyEnum_PrefixMatch__pLG39bnDOrZac0FzWXgLG0w)0), NIM_FALSE, scopeN, NIM_FALSE); if (NIM_UNLIKELY(*nimErr_)) goto LA68_; add__sigmatch_5409((&outputs), T87_); } LA83_: ; } LA78_: ; i_2 += ((NI)1); } LA75: ; } { LA68_:; } { oldNimErrFin68_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4327((&colontmp__3)); if (NIM_UNLIKELY(*nimErr_)) goto LA44_; *nimErr_ = oldNimErrFin68_; } if (NIM_UNLIKELY(*nimErr_)) goto LA44_; } } LA45_: ; { LA44_:; } { oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&s_2); if (NIM_UNLIKELY(*nimErr_)) goto LA13_; *nimErr_ = oldNimErrFin44_; } if (NIM_UNLIKELY(*nimErr_)) goto LA13_; } i += ((NI)1); } LA42: ; } } { LA13_:; } { oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE; eqdestroy___ast_4060(&it); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; *nimErr_ = oldNimErrFin13_; } if (NIM_UNLIKELY(*nimErr_)) goto LA1_; } (*c).compilesContextId -= ((NI)1); produceOutput__sigmatch_5108((&outputs), (*(*c).graph).config); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { eqdestroy___modulegraphs_9569((&outputs)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; }