csources_v2/c_code/5_14/@msigmatch.nim.c
2022-12-16 10:54:01 +08:00

22627 lines
837 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#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_3536)(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_779)(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_7029)(NimStringV2 s, NI i);
N_LIB_PRIVATE N_NIMCALL(NI, identLen__linter_13)(NimStringV2 line, NI start);
static N_INLINE(NI, parseWhile__pureZparseutils_807)(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_3157)(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_2282)(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_1509)(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_1474)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1636)(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_1505)(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_1499)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ, targetSizeUnsignedToKind__types_1502)(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_1715)(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_2000)(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_2233)(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_2278)(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_3937)(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_3657)(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_2405)(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_3868)(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_3530)(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_2702)(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_3579)(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_3533)(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_3668;
extern Exception* currException__system_3668;
extern Exception* currException__system_3668;
extern NIM_BOOL nimInErrorMode__system_3994;
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_3668;
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZassertions_33(&currException__system_3668, (*currException__system_3668).up, NIM_FALSE);
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3994);
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_779)(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)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
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_7029)(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_807)(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)((NU64)(((NU) (x))) - (NU64)(((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)16));
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_3157(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_779((*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_7029(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_807((*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_7029(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_3536((&(*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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
} LA6: ;
}
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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)((NU64)(((NI) ((*xX60gensym823_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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)((NU64)(((NI) ((*xX60gensym825_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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)((NU64)(((NI) ((*xX60gensym826_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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(&current, (*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)((NU64)(((NI) ((*xX60gensym828_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym828_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym829_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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(&current);
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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
} LA31: ;
}
{
LA29_:;
}
{
oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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)16));
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_2282)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b) {
NIM_BOOL result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym295_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* xX60gensym296_;
result = (NIM_BOOL)0;
xX60gensym295_ = NIM_NIL;
xX60gensym296_ = NIM_NIL;
xX60gensym295_ = a;
xX60gensym296_ = b;
result = ((NI)((NI)((NU64)(((NI) ((*xX60gensym295_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym295_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym296_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym296_).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_1509(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T14_ = lastOrd__types_1509(((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_1509(((tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg*) NIM_NIL), a);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T23_ = lastOrd__types_1509(((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_1509(((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_1509(((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_1474(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T44_ = (NF)0;
T44_ = firstFloat__types_1474(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T42_ = (T43_ == T44_);
if (!(T42_)) goto LA45_;
T46_ = (NF)0;
T46_ = lastFloat__types_1636(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T47_ = (NF)0;
T47_ = lastFloat__types_1636(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_1474(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T53_ = (NF)0;
T53_ = firstFloat__types_1474(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T51_ = (T52_ <= T53_);
if (!(T51_)) goto LA54_;
T55_ = (NF)0;
T55_ = lastFloat__types_1636(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T56_ = (NF)0;
T56_ = lastFloat__types_1636(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_1474(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T62_ = (NF)0;
T62_ = lastFloat__types_1636(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T60_ = (T61_ <= T62_);
if (!(T60_)) goto LA63_;
T64_ = (NF)0;
T64_ = firstFloat__types_1474(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T65_ = (NF)0;
T65_ = lastFloat__types_1636(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_1505((*(*c).graph).config, (*f).kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
na = normalizeKind__types_1505((*(*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_1509(((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_1499((*(*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_1502((*(*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_1499((*(*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_1502((*(*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_1509(((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_1715((*(*(*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_1715((*(*(*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_1715((*(*(*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_2000(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_2233(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_2278)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
result = sameObjectTypes__types_2233(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_3937((*(*(*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_3657(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_3530((&(*dest).diagnostics4));
}
static N_INLINE(void, add__system_2702)(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)16)))));
d = ((tyTuple__N4J9cV4JZGem3ljqqj5rT0Q*) (T5_));
copyMem__system_1719(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI)16)))));
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_2702((&(*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)16));
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)((NU64)(((NI) ((*xX60gensym167_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym167_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym168_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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(&param, 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(&param);
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_3536((&(*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_2282(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_2282(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_2282(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_1499((*(*(*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_1502((*(*(*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_1715((*(*(*c).c).graph).config, fRange);
if (NIM_UNLIKELY(*nimErr_)) goto LA275_;
T321_ = lengthOrd__types_1715((*(*(*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_2233(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_2278(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_2405(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA751_;
rootf = skipGenericAlias__types_2405(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_2405(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_2405(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)((NU64)(((NI) ((*xX60gensym423_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym423_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym424_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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_3868(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_2405(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
colontmpD__78 = lastSon__ast_4811(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA1239_;
rootf_2 = skipGenericAlias__types_2405(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_3579(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)((NU64)(((NI) ((*xX60gensym904_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym904_).Sup.itemId.item))), ((NI)(IL64(-9223372036854775807) - IL64(1))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_4063(&xX60gensym909_, module);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = (T19_ == (NI)((NI)((NU64)(((NI) ((*xX60gensym909_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym909_).Sup.itemId.item))));
LA18_: ;
T16_ = T17_;
if (T16_) goto LA20_;
xX60gensym910_ = candidate;
candidate = 0;
T21_.Field0 = (NI)((NI)((NU64)(((NI) ((*xX60gensym910_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym910_).Sup.itemId.item)));
xX60gensym911_ = s;
T21_.Field1 = (NI)((NI)((NU64)(((NI) ((*xX60gensym911_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((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_3579(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(&param, 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(&param, 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(&param, 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(&param);
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(&param);
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_3868((*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)16));
(*((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_3533((&(*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_3530((&(*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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
} LA6: ;
}
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
} LA34: ;
}
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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_3536((&(*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)IL64(9223372036854775807));
{
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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
} LA6: ;
}
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
} LA6: ;
}
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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_3530((&(*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_ = !(((*(*c).module).position == ((NI) ((*(*(*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(&current, (*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(&current, (*current).parent);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
} LA17: ;
}
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lookups_79(&current);
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_: ;
}