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

6585 lines
273 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_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg;
typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag;
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_TStrTable__oh42nAr9awCy3TD3e9b5LxLg tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ tySequence__UfuHwINLHlFJGRcvFZqKQQ;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content tySequence__UfuHwINLHlFJGRcvFZqKQQ_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_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_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
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 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_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A;
typedef struct tyObject_Table__p71Z7Twm41UO4wTRXWdo8g tyObject_Table__p71Z7Twm41UO4wTRXWdo8g;
typedef struct tySequence__kaH9bTc5NuRJD3u48dyf0HQ tySequence__kaH9bTc5NuRJD3u48dyf0HQ;
typedef struct tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA;
typedef struct tyObject_Table__rUQSsApDXii9ceRiVWDeqkg tyObject_Table__rUQSsApDXii9ceRiVWDeqkg;
typedef struct tySequence__3OYSahjG9c3350YMlWpRNyg tySequence__3OYSahjG9c3350YMlWpRNyg;
typedef struct tySequence__3OYSahjG9c3350YMlWpRNyg_Content tySequence__3OYSahjG9c3350YMlWpRNyg_Content;
typedef struct tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug tyObject_Iface__GILGqST9an4kYyzfE9aqumug;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA tySequence__khRnfByqYV6qzEm71s9aoMA;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content tySequence__khRnfByqYV6qzEm71s9aoMA_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_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 tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA;
typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content;
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 tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA;
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 tyTuple__3AxLuic9btzpM0BvW1FiUeA tyTuple__3AxLuic9btzpM0BvW1FiUeA;
typedef struct tyTuple__8xBW9cY3X2HD7ygqj9asi9bpw tyTuple__8xBW9cY3X2HD7ygqj9asi9bpw;
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 tySequence__IWXeVgKgI4IltTBItDiIwQ tySequence__IWXeVgKgI4IltTBItDiIwQ;
typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content tySequence__IWXeVgKgI4IltTBItDiIwQ_Content;
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__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 tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ;
typedef struct tyTuple__pDyHME2vky9bxBYZlE7PoZg tyTuple__pDyHME2vky9bxBYZlE7PoZg;
typedef struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w;
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_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;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
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;
};
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
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 NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
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;
};
};
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
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 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__UfuHwINLHlFJGRcvFZqKQQ {
NI len; tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content* p;
};
struct tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg {
NI counter;
tySequence__UfuHwINLHlFJGRcvFZqKQQ data;
};
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 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);
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 NU32 tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA;
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;
};
struct tySequence__kaH9bTc5NuRJD3u48dyf0HQ {
NI len; tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content* p;
};
struct tyObject_Table__p71Z7Twm41UO4wTRXWdo8g {
tySequence__kaH9bTc5NuRJD3u48dyf0HQ data;
NI counter;
};
struct tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A {
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA processed;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA capturedVars;
tyObject_Table__p71Z7Twm41UO4wTRXWdo8g ownerToType;
NIM_BOOL somethingToDo;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
typedef NU8 tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw;
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
typedef NU8 tyEnum_ViewTypeKind__ALnennKArpbLOuC2lHSncQ;
typedef NimStringV2 tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef NU8 tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ;
struct tySequence__3OYSahjG9c3350YMlWpRNyg {
NI len; tySequence__3OYSahjG9c3350YMlWpRNyg_Content* p;
};
struct tyObject_Table__rUQSsApDXii9ceRiVWDeqkg {
tySequence__3OYSahjG9c3350YMlWpRNyg data;
NI counter;
};
struct tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA {
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA processed;
tyObject_Table__rUQSsApDXii9ceRiVWDeqkg envVars;
NI inContainer;
tyObject_Table__rUQSsApDXii9ceRiVWDeqkg unownedEnvVars;
};
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__FIZq7sI4PRP59aHmJ2Mmqwg[2];
typedef NU8 tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
typedef NU8 tyEnum_TSymKind__juhrSkBkkwbIs4iMq5Ga6Q;
#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__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
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;
};
#ifndef tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP
#define tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP
struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content { NI cap; tyObject_Iface__GILGqST9an4kYyzfE9aqumug data[SEQ_DECL_SIZE];};
#endif
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;
};
#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
#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__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* 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 tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA {
NI len; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content* p;
};
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
struct tyTuple__3AxLuic9btzpM0BvW1FiUeA {
NI Field0;
NI Field1;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field2;
};
#ifndef tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content_PP
#define tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content_PP
struct tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content { NI cap; tyTuple__3AxLuic9btzpM0BvW1FiUeA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__8xBW9cY3X2HD7ygqj9asi9bpw {
NI Field0;
NI Field1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2;
};
#ifndef tySequence__3OYSahjG9c3350YMlWpRNyg_Content_PP
#define tySequence__3OYSahjG9c3350YMlWpRNyg_Content_PP
struct tySequence__3OYSahjG9c3350YMlWpRNyg_Content { NI cap; tyTuple__8xBW9cY3X2HD7ygqj9asi9bpw 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__3OYSahjG9c3350YMlWpRNyg_Content_PP
#define tySequence__3OYSahjG9c3350YMlWpRNyg_Content_PP
struct tySequence__3OYSahjG9c3350YMlWpRNyg_Content { NI cap; tyTuple__8xBW9cY3X2HD7ygqj9asi9bpw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content_PP
#define tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content_PP
struct tySequence__kaH9bTc5NuRJD3u48dyf0HQ_Content { NI cap; tyTuple__3AxLuic9btzpM0BvW1FiUeA 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
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 tySequence__IWXeVgKgI4IltTBItDiIwQ {
NI len; tySequence__IWXeVgKgI4IltTBItDiIwQ_Content* p;
};
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
typedef NU8 tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA;
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
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__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
#define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* 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
static N_INLINE(NIM_BOOL, interestingVar__lambdalifting_152)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6075)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, skipGenericOwner__ast_6087)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(void, propagateClosure__lambdalifting_5318)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* start, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* last);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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(void, initDetectionPass__lambdalifting_406)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZcollectionsZintsets_187)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
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, eqsink___lambdalifting_583)(tyObject_Table__p71Z7Twm41UO4wTRXWdo8g* dest, tyObject_Table__p71Z7Twm41UO4wTRXWdo8g src);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__p71Z7Twm41UO4wTRXWdo8g, initTable__lambdalifting_411)(NI initialSize);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_202)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___modulegraphs_11315)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg** dest, tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3247)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag** dest, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, detectCapturedVars__lambdalifting_2154)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c);
N_LIB_PRIVATE N_NIMCALL(void, addClosureParam__lambdalifting_2127)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getEnvParam__lambdalifting_132)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getEnvTypeForOwner__lambdalifting_590)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getOrDefault__lambdalifting_690)(tyObject_Table__p71Z7Twm41UO4wTRXWdo8g t, NI key);
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*, newType__ast_4969)(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind, 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*, createEnvObj__lambdalifting_57)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, createObj__lowerings_294)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NIM_BOOL final);
N_LIB_PRIVATE N_NIMCALL(void, rawAddField__lowerings_315)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, createStateField__lambdalifting_52)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
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);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, getIdent__idents_166)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NimStringV2 identifier);
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, createClosureIterStateType__lambdalifting_34)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNode__ast_4791)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, nilOrSysInt__magicsys_8)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g);
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(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___lambdalifting_1046)(tyObject_Table__p71Z7Twm41UO4wTRXWdo8g* t, NI key, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* val);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(void, addHiddenParam__lambdalifting_81)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* param);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
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(NIM_BOOL, isInnerProc__lambdalifting_178)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBody__transf_23)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* prc, tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw flag);
static N_INLINE(NIM_BOOL, interestingIterVar__lambdalifting_239)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
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(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getHiddenParam__lambdalifting_107)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine);
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, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, addField__lowerings_421)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(void, markAsClosure__lambdalifting_368)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, illegalCapture__lambdalifting_167)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__ALnennKArpbLOuC2lHSncQ, classifyViewType__typeallowed_579)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, typeToString__types_51)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_675)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_22)(tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw e);
N_LIB_PRIVATE N_NIMCALL(void, createUpField__lambdalifting_2104)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dep, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2481)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 symbol);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getEnvTypeForOwnerUp__lambdalifting_2098)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, lookupInRecord__astalgo_85)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* field);
N_LIB_PRIVATE N_NIMCALL(void, initLiftingPass__lambdalifting_2317)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___lambdalifting_2499)(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg* dest, tyObject_Table__rUQSsApDXii9ceRiVWDeqkg src);
N_LIB_PRIVATE N_NIMCALL(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg, initTable__lambdalifting_2330)(NI initialSize);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, liftCapturedVars__lambdalifting_4981)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getOrDefault__lambdalifting_2653)(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg t, NI key);
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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, rawClosureCreation__lambdalifting_4226)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setupEnvVar__lambdalifting_2544)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVar__lambdalifting_2536)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, asOwnedRef__lambdalifting_2079)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___lambdalifting_3113)(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg* t, NI key, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* val);
N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_64)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**, X5BX5D___lambdalifting_4342)(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg* t, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCreateEnv__lambdalifting_294)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env);
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_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newAsgnStmt__lowerings_88)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newAsgnStmt__lambdalifting_193)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3953)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI children);
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOpsLL__lambdalifting_269)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* refType, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOps__liftdestructors_48)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* orig, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, lastSon__ast_4811)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3655)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, indirectAccess__lowerings_617)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* b, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getUpViaParam__lambdalifting_4208)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, rawIndirectAccess__lowerings_332)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, finishClosureCreation__lambdalifting_4637)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, X5BX5D___lambdalifting_4735)(tyObject_Table__rUQSsApDXii9ceRiVWDeqkg t, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, symToClosure__lambdalifting_4986)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, makeClosure__lambdalifting_200)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* prc, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipConv__types_3839)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, closureCreationForIter__lambdalifting_4818)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* iter, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, addUniqueField__lowerings_450)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, accessViaEnvParam__lambdalifting_2506)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getFieldFromObj__lowerings_589)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, accessViaEnvVar__lambdalifting_4866)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_5477)(tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* dest);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_36)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_56)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_2463)(tySequence__3OYSahjG9c3350YMlWpRNyg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_5439)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_540)(tySequence__kaH9bTc5NuRJD3u48dyf0HQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_11047)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* dest);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3143)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3232)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* dest);
static N_INLINE(NIM_BOOL, liftingHarmful__lambdalifting_252)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntTypeNode__ast_4848)(NI64 intVal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(void, transitionToLet__ast_5831)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(void, transitionRoutineSymKind__ast_5815)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyEnum_TSymKind__juhrSkBkkwbIs4iMq5Ga6Q kind);
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__8JPgS7d2itnucsgTch9cDzA_2 = { 5 | NIM_STRLIT_FLAG, ":envP" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_3 = {5, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_2};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__8JPgS7d2itnucsgTch9cDzA_4 = { 6 | NIM_STRLIT_FLAG, ":state" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_5 = {6, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_4};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_6 = {5, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_2};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__8JPgS7d2itnucsgTch9cDzA_7 = { 45 | NIM_STRLIT_FLAG, "internal error: inconsistent environment type" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_8 = {45, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_7};
static const struct {
NI cap; NIM_CHAR data[43+1];
} TM__8JPgS7d2itnucsgTch9cDzA_10 = { 43 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/lambdalifting.nim" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_11 = {5, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_2};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__8JPgS7d2itnucsgTch9cDzA_12 = { 45 | NIM_STRLIT_FLAG, "internal error: could not find env param for " };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_13 = {45, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_12};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__8JPgS7d2itnucsgTch9cDzA_15 = {
0x00, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_16 = {6, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_4};
static const struct {
NI cap; NIM_CHAR data[199+1];
} TM__8JPgS7d2itnucsgTch9cDzA_17 = { 199 | NIM_STRLIT_FLAG, "\'$1\' is of type <$2> which cannot be captured as it would violate memory safety, declared here: $3; using \'-d:nimNoLentIterators\' helps in some cases. Consider using a <ref $2> which can be captured." };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_18 = {199, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_17};
static const struct {
NI cap; NIM_CHAR data[66+1];
} TM__8JPgS7d2itnucsgTch9cDzA_20 = { 66 | NIM_STRLIT_FLAG, "illegal capture \'$1\' because \'$2\' has the calling convention: <$3>" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_21 = {66, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_20};
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__8JPgS7d2itnucsgTch9cDzA_23 = { 15 | NIM_STRLIT_FLAG, "nimCycleBreaker" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_24 = {15, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_23};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__8JPgS7d2itnucsgTch9cDzA_25 = { 45 | NIM_STRLIT_FLAG, "internal error: invalid up reference computed" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_26 = {45, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_25};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__8JPgS7d2itnucsgTch9cDzA_28 = { 3 | NIM_STRLIT_FLAG, ":up" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_29 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__8JPgS7d2itnucsgTch9cDzA_30 = { 42 | NIM_STRLIT_FLAG, "internal error: up references do not agree" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_31 = {42, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_30};
static const struct {
NI cap; NIM_CHAR data[48+1];
} TM__8JPgS7d2itnucsgTch9cDzA_33 = { 48 | NIM_STRLIT_FLAG, "internal error: could not determine closure type" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_34 = {48, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_33};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__8JPgS7d2itnucsgTch9cDzA_36 = { 4 | NIM_STRLIT_FLAG, ":env" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_37 = {4, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_36};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__8JPgS7d2itnucsgTch9cDzA_38 = { 7 | NIM_STRLIT_FLAG, ":envAlt" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_39 = {7, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_38};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_40 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_41 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const struct {
NI cap; NIM_CHAR data[44+1];
} TM__8JPgS7d2itnucsgTch9cDzA_42 = { 44 | NIM_STRLIT_FLAG, "could not find up reference for closure iter" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_43 = {44, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_42};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__8JPgS7d2itnucsgTch9cDzA_45 = { 42 | NIM_STRLIT_FLAG, "internal error: cannot create up reference" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_46 = {42, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_45};
static const struct {
NI cap; NIM_CHAR data[41+1];
} TM__8JPgS7d2itnucsgTch9cDzA_48 = { 41 | NIM_STRLIT_FLAG, "internal error: taking closure of closure" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_49 = {41, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_48};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_51 = {4, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_36};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_52 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const struct {
NI cap; NIM_CHAR data[51+1];
} TM__8JPgS7d2itnucsgTch9cDzA_53 = { 51 | NIM_STRLIT_FLAG, "internal error: cannot create up reference for iter" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_54 = {51, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_53};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_56 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const struct {
NI cap; NIM_CHAR data[36+1];
} TM__8JPgS7d2itnucsgTch9cDzA_57 = { 36 | NIM_STRLIT_FLAG, "internal error: no environment found" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_58 = {36, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_57};
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_60 = {3, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_28};
static const struct {
NI cap; NIM_CHAR data[36+1];
} TM__8JPgS7d2itnucsgTch9cDzA_61 = { 36 | NIM_STRLIT_FLAG, "internal error: environment misses: " };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_62 = {36, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_61};
static const struct {
NI cap; NIM_CHAR data[47+1];
} TM__8JPgS7d2itnucsgTch9cDzA_64 = { 47 | NIM_STRLIT_FLAG, "internal error: not part of closure object type" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_65 = {47, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_64};
extern TNimTypeV2 NTIv2__C1k2TcDRT9cU4DEatQIT09ag_;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__8JPgS7d2itnucsgTch9cDzA_67 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[24+1];
} TM__8JPgS7d2itnucsgTch9cDzA_68 = { 24 | NIM_STRLIT_FLAG, "ignored invalid for loop" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_69 = {24, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_68};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__8JPgS7d2itnucsgTch9cDzA_71 = { 7 | NIM_STRLIT_FLAG, ":result" };
static const NimStringV2 TM__8JPgS7d2itnucsgTch9cDzA_72 = {7, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_71};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_9 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)426),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_14 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)181),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_19 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)297),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_22 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)303),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_27 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)371),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_32 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)377),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_35 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)568),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_44 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)583),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_47 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)638),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_50 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)220),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_55 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)679),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_59 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)724),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_63 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)544),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_66 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)692),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__8JPgS7d2itnucsgTch9cDzA_70 = {{43, (NimStrPayload*)&TM__8JPgS7d2itnucsgTch9cDzA_10},
((NI)932),
((NI)14)}
;
extern NIM_BOOL nimInErrorMode__system_3980;
static N_INLINE(NIM_BOOL, interestingVar__lambdalifting_152)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
if (!(T2_)) goto LA3_;
T2_ = !((((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0));
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60) || (*(*s).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)));
LA4_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = !((n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T1_)) goto LA2_;
T1_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)75));
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3980);
return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = !((n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T2_)) goto LA3_;
T2_ = ((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159));
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = isGenericParams__ast_6045((*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6075)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16));
if (!(T1_)) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2)))&63U)))!=0);
if (T3_) goto LA4_;
T3_ = isGenericRoutine__ast_6056((*s).ast);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, propagateClosure__lambdalifting_5318)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* start, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* last) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* o;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
o = NIM_NIL;
eqcopy___ast_4063(&o, start);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
NIM_BOOL T4_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T10_;
T4_ = (NIM_BOOL)0;
T4_ = !((o == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T4_)) goto LA5_;
T4_ = !(((*o).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)));
LA5_: ;
if (!T4_) goto LA3 ;
{
if (!(o == last)) goto LA8_;
goto LA2;
}
LA8_: ;
(*(*o).typ).callConv = ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9);
T10_ = NIM_NIL;
T10_ = skipGenericOwner__ast_6087(o);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&o, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA3: ;
} LA2: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&o);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, semCaptureSym__lambdalifting_5315)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = interestingVar__lambdalifting_152(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T3_)) goto LA4_;
T3_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11)));
LA4_: ;
if (!T3_) goto LA5_;
{
NIM_BOOL T9_;
NIM_BOOL T11_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* o;
T9_ = (NIM_BOOL)0;
T9_ = !(((*owner).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T9_)) goto LA10_;
T11_ = (NIM_BOOL)0;
T11_ = isGenericRoutine__ast_6075(owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T9_ = !(T11_);
LA10_: ;
if (!T9_) goto LA12_;
o = NIM_NIL;
o = skipGenericOwner__ast_6087(owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
NIM_BOOL T16_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T33_;
T16_ = (NIM_BOOL)0;
T16_ = !((o == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T16_)) goto LA17_;
T16_ = !(((*o).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)));
LA17_: ;
if (!T16_) goto LA15 ;
{
if (!((*s).owner == o)) goto LA20_;
{
NIM_BOOL T24_;
NIM_BOOL T25_;
NIM_BOOL T28_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
T24_ = (NIM_BOOL)0;
T25_ = (NIM_BOOL)0;
T25_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
if (T25_) goto LA26_;
T25_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
LA26_: ;
T24_ = T25_;
if (T24_) goto LA27_;
T28_ = (NIM_BOOL)0;
T28_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)0));
if (!(T28_)) goto LA29_;
T28_ = !((((*(*owner).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)42)))&63U)))!=0));
LA29_: ;
T24_ = T28_;
LA27_: ;
if (!T24_) goto LA30_;
colontmpD_ = NIM_NIL;
(*(*owner).typ).callConv = ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9);
colontmpD_ = skipGenericOwner__ast_6087(owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
propagateClosure__lambdalifting_5318(colontmpD_, (*s).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA22_;
LA30_: ;
{
}
LA22_: ;
}
LA20_: ;
T33_ = NIM_NIL;
T33_ = skipGenericOwner__ast_6087(o);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_4066(&o, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA15: ;
}
eqdestroy___ast_4060(&o);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA12_: ;
}
LA5_: ;
}BeforeRet_: ;
}
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_: ;
}
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(void, initDetectionPass__lambdalifting_406)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* Result) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym50_;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T2_;
tyObject_Table__p71Z7Twm41UO4wTRXWdo8g T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)Result, sizeof(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A));
xX60gensym50_ = NIM_NIL;
nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
initIntSet__pureZcollectionsZintsets_389((&T1_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___pureZcollectionsZintsets_187((&(*Result).processed), (&T1_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
initIntSet__pureZcollectionsZintsets_389((&T2_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___pureZcollectionsZintsets_187((&(*Result).capturedVars), (&T2_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = initTable__lambdalifting_411(((NI)32));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___lambdalifting_583((&(*Result).ownerToType), T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
xX60gensym50_ = fn;
incl__pureZcollectionsZintsets_202((&(*Result).processed), (NI)((NI)((NU64)(((NI) ((*xX60gensym50_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym50_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___modulegraphs_11315(&(*Result).graph, g);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3247(&(*Result).idgen, idgen, NIM_TRUE);
}BeforeRet_: ;
}
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;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getEnvParam__lambdalifting_132)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* hidden;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
params = NIM_NIL;
hidden = NIM_NIL;
eqcopy___ast_3457(&params, (*(*routine).ast)._kind_6.sons.p->data[((NI)3)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
hidden = lastSon__ast_6268(params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ((*hidden).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T3_)) goto LA4_;
T3_ = eqStrings((*(*(*hidden)._kind_4.sym).name).s, TM__8JPgS7d2itnucsgTch9cDzA_3);
LA4_: ;
if (!T3_) goto LA5_;
eqcopy___ast_4063(&result, (*hidden)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
eqdestroy___ast_3454(&hidden);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
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_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;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, createClosureIterStateType__lambdalifting_34)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* intType;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
n = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
intType = NIM_NIL;
n = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44), (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = newIntNode__ast_4791(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), IL64(-1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(n, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newIntNode__ast_4791(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(n, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextTypeId__ast_3291(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20), T1_, iter);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result).n, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
intType = nilOrSysInt__magicsys_8(g);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T6_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T7_;
if (!(intType == 0)) goto LA4_;
T6_ = nextTypeId__ast_3291(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T7_ = NIM_NIL;
T7_ = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31), T6_, iter);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3549(&intType, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA4_: ;
rawAddSon__ast_5669(result, intType, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&intType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, createStateField__lambdalifting_52)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD_ = getIdent__idents_166((*g).cache, TM__8JPgS7d2itnucsgTch9cDzA_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
result = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19), colontmpD_, T1_, iter, (*iter).info, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = NIM_NIL;
T3_ = createClosureIterStateType__lambdalifting_34(g, iter, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3549(&(*result).typ, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, createEnvObj__lambdalifting_57)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = createObj__lowerings_294(g, idgen, owner, info, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = createStateField__lambdalifting_52(g, owner, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rawAddField__lowerings_315(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
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*, getEnvTypeForOwner__lambdalifting_590)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym51_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
xX60gensym51_ = NIM_NIL;
xX60gensym51_ = owner;
result = getOrDefault__lambdalifting_690((*c).ownerToType, (NI)((NI)((NU64)(((NI) ((*xX60gensym51_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym51_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym56_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T6_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T7_;
if (!(result == 0)) goto LA3_;
obj = NIM_NIL;
xX60gensym56_ = NIM_NIL;
colontmpD_ = NIM_NIL;
T6_ = nextTypeId__ast_3291((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
T7_ = NIM_NIL;
T7_ = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22), T6_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqsink___ast_3549(&result, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
obj = createEnvObj__lambdalifting_57((*c).graph, (*c).idgen, owner, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
rawAddSon__ast_5669(result, obj, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqcopy___ast_4063(&xX60gensym56_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = 0;
eqcopy___ast_3546(&colontmpD_, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
X5BX5Deq___lambdalifting_1046((&(*c).ownerToType), (NI)((NI)((NU64)(((NI) ((*xX60gensym56_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym56_).Sup.itemId.item))), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym56_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}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;
}
N_LIB_PRIVATE N_NIMCALL(void, addHiddenParam__lambdalifting_81)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* param) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
params = NIM_NIL;
colontmpD_ = NIM_NIL;
eqcopy___ast_3457(&params, (*(*routine).ast)._kind_6.sons.p->data[((NI)3)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (NI)0;
T1_ = len__ast_3325((*(*routine).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*param).position = (NI)(T1_ - ((NI)1));
colontmpD_ = newSymNode__ast_4784(param);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(params, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addClosureParam__lambdalifting_2127)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* cp;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
cp = NIM_NIL;
owner = NIM_NIL;
t = NIM_NIL;
cp = getEnvParam__lambdalifting_132(fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
{
if (!((*fn).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15))) goto LA5_;
eqcopy___ast_4063(&owner, fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA3_;
LA5_: ;
{
owner = skipGenericOwner__ast_6087(fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA3_: ;
t = getEnvTypeForOwner__lambdalifting_590(c, owner, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T12_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T13_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T14_;
if (!(cp == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA10_;
colontmpD_ = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T12_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = 0;
T14_ = NIM_NIL;
T14_ = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3), colontmpD_, T12_, fn, (*fn).info, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&cp, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*cp).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2))) & 63);
eqsink___ast_3549(&(*cp).typ, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
t = 0;
addHiddenParam__lambdalifting_81(fn, cp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA8_;
LA10_: ;
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = !(((*cp).typ == t));
if (!(T16_)) goto LA17_;
T16_ = !(((*fn).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15)));
LA17_: ;
if (!T16_) goto LA18_;
liMessage__msgs_1172((*(*c).graph).config, (*fn).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_8, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_9), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA8_;
LA18_: ;
LA8_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&cp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInnerProc__lambdalifting_178)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
NIM_BOOL T3_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
T3_ = (NIM_BOOL)0;
T3_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T3_)) goto LA4_;
T3_ = ((*s).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0));
LA4_: ;
if (!T3_) goto LA5_;
colontmpD_ = NIM_NIL;
colontmpD_ = skipGenericOwner__ast_6087(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = ((*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18));
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, interestingIterVar__lambdalifting_239)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21));
if (!(T1_)) goto LA2_;
T1_ = !((((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0));
LA2_: ;
result = T1_;
return result;
}
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getHiddenParam__lambdalifting_107)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* hidden;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
params = NIM_NIL;
hidden = NIM_NIL;
eqcopy___ast_3457(&params, (*(*routine).ast)._kind_6.sons.p->data[((NI)3)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
hidden = lastSon__ast_6268(params);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NIM_BOOL T5_;
T4_ = (NIM_BOOL)0;
T5_ = (NIM_BOOL)0;
T5_ = ((*hidden).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T5_)) goto LA6_;
T5_ = ((*(*hidden)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
LA6_: ;
T4_ = T5_;
if (!(T4_)) goto LA7_;
T4_ = eqStrings((*(*(*hidden)._kind_4.sym).name).s, TM__8JPgS7d2itnucsgTch9cDzA_11);
LA7_: ;
if (!T4_) goto LA8_;
eqcopy___ast_4063(&result, (*hidden)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA8_: ;
{
NimStringV2 colontmpD_;
NimStringV2 T12_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T12_.len = 0; T12_.p = NIM_NIL;
T12_ = rawNewString((*(*routine).name).s.len + 45);
appendString((&T12_), TM__8JPgS7d2itnucsgTch9cDzA_13);
appendString((&T12_), (*(*routine).name).s);
colontmpD_ = T12_;
liMessage__msgs_1172((*g).config, (*routine).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_14), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
eqcopy___ast_4063(&result, routine);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&hidden);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, illegalCapture__lambdalifting_167)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
tyEnum_ViewTypeKind__ALnennKArpbLOuC2lHSncQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (tyEnum_ViewTypeKind__ALnennKArpbLOuC2lHSncQ)0;
T2_ = classifyViewType__typeallowed_579((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = !((T2_ == ((tyEnum_ViewTypeKind__ALnennKArpbLOuC2lHSncQ)0)));
if (T1_) goto LA3_;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
LA3_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, markAsClosure__lambdalifting_368)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
s = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 colontmpD__3;
tyArray__24KAM9afIUgUaqBaEBB6r9bg T8_;
T4_ = (NIM_BOOL)0;
T4_ = illegalCapture__lambdalifting_167(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
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;
T8_[0] = (*(*s).name).s;
colontmpD_ = typeToString__types_51((*s).typ, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_[1] = colontmpD_;
colontmpD__2 = dollar___msgs_675((*g).config, (*s).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_[2] = colontmpD__2;
colontmpD__3 = nsuFormatOpenArray(TM__8JPgS7d2itnucsgTch9cDzA_18, T8_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
liMessage__msgs_1172((*g).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_19), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA5_: ;
{
NIM_BOOL T12_;
NIM_BOOL T14_;
NimStringV2 colontmpD__4;
NimStringV2 colontmpD__5;
tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
T12_ = (NIM_BOOL)0;
T12_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
if (T12_) goto LA13_;
T14_ = (NIM_BOOL)0;
T14_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)0));
if (!(T14_)) goto LA15_;
T14_ = !((((*(*owner).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)42)))&63U)))!=0));
LA15_: ;
T12_ = T14_;
LA13_: ;
if (!!(T12_)) goto LA16_;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
T19_[0] = (*(*s).name).s;
T19_[1] = (*(*owner).name).s;
colontmpD__4 = dollar___ast_22((*(*owner).typ).callConv);
T19_[2] = colontmpD__4;
colontmpD__5 = nsuFormatOpenArray(TM__8JPgS7d2itnucsgTch9cDzA_21, T19_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
liMessage__msgs_1172((*g).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__5, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_22), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__5));
eqdestroy___stdZassertions_13((&colontmpD__4));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA16_: ;
LA2_: ;
(*(*owner).typ).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)12))) & 63);
(*(*owner).typ).callConv = ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9);
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getEnvTypeForOwnerUp__lambdalifting_2098)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* r;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
r = NIM_NIL;
colontmpD_ = NIM_NIL;
r = getEnvTypeForOwner__lambdalifting_590(c, owner, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = nextTypeId__ast_3291((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21), T2_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = skipTypes__ast_4803(r, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rawAddSon__ast_5669(result, colontmpD_, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
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(void, createUpField__lambdalifting_2104)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dep, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* refObj;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fieldType;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* upIdent;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
refObj = NIM_NIL;
obj = NIM_NIL;
fieldType = NIM_NIL;
upIdent = NIM_NIL;
upField = NIM_NIL;
refObj = getEnvTypeForOwner__lambdalifting_590(c, dest, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
obj = skipTypes__ast_4803(refObj, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
{
NIM_BOOL T5_;
T5_ = (NIM_BOOL)0;
T5_ = isDefined__options_2481((*(*c).graph).config, TM__8JPgS7d2itnucsgTch9cDzA_24);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T5_) goto LA6_;
fieldType = getEnvTypeForOwnerUp__lambdalifting_2098(c, dep, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA3_;
LA6_: ;
{
fieldType = getEnvTypeForOwner__lambdalifting_590(c, dep, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA3_: ;
{
if (!(refObj == fieldType)) goto LA11_;
liMessage__msgs_1172((*(*c).graph).config, (*dep).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_26, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_27), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
upIdent = getIdent__idents_166((*(*c).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_29);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
upField = lookupInRecord__astalgo_85((*obj).n, upIdent);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
if (!!((upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA15_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
{
colontmpD_ = skipTypes__ast_4803((*upField).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
colontmpD__2 = skipTypes__ast_4803(fieldType, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
if (!!((colontmpD_ == colontmpD__2))) goto LA20_;
liMessage__msgs_1172((*(*c).graph).config, (*dep).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_31, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_32), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA20_: ;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA13_;
LA15_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T25_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T26_;
result = NIM_NIL;
T25_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T26_ = 0;
result = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19), upIdent, T25_, (*obj).owner, (*(*obj).owner).info, T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*result).typ, fieldType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
fieldType = 0;
rawAddField__lowerings_315(obj, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA13_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&upIdent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&fieldType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&refObj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, detectCapturedVars__lambdalifting_2154)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c) {
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin83_;
NIM_BOOL oldNimErrFin115_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* ow;
NIM_BOOL innerProc;
s = NIM_NIL;
ow = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
NIM_BOOL T5_;
NIM_BOOL T6_;
T5_ = (NIM_BOOL)0;
T6_ = (NIM_BOOL)0;
T6_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T6_)) goto LA7_;
T6_ = !(((*s).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA7_: ;
T5_ = T6_;
if (!(T5_)) goto LA8_;
T5_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA8_: ;
if (!T5_) goto LA9_;
addClosureParam__lambdalifting_2127(c, s, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
(*c).somethingToDo = NIM_TRUE;
}
LA9_: ;
innerProc = isInnerProc__lambdalifting_178(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym85_;
if (!innerProc) goto LA13_;
xX60gensym85_ = NIM_NIL;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T18_)) goto LA19_;
T18_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA19_: ;
if (!T18_) goto LA20_;
(*c).somethingToDo = NIM_TRUE;
}
LA20_: ;
{
NIM_BOOL T24_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
eqcopy___ast_4063(&xX60gensym85_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T24_ = (NIM_BOOL)0;
T24_ = containsOrIncl__astalgo_402((&(*c).processed), (NI)((NI)((NU64)(((NI) ((*xX60gensym85_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym85_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
if (!!(T24_)) goto LA25_;
body = NIM_NIL;
body = transformBody__transf_23((*c).graph, (*c).idgen, s, ((tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
detectCapturedVars__lambdalifting_2154(body, s, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA25_: ;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym85_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA13_: ;
ow = skipGenericOwner__ast_6087(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
if (!(ow == owner)) goto LA34_;
{
NIM_BOOL T38_;
T38_ = (NIM_BOOL)0;
T38_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T38_)) goto LA39_;
T38_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA39_: ;
if (!T38_) goto LA40_;
(*c).somethingToDo = NIM_TRUE;
addClosureParam__lambdalifting_2127(c, owner, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
NIM_BOOL T44_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym87_;
T44_ = (NIM_BOOL)0;
T44_ = interestingIterVar__lambdalifting_239(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T44_) goto LA45_;
xX60gensym87_ = NIM_NIL;
{
NIM_BOOL T50_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
eqcopy___ast_4063(&xX60gensym87_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
T50_ = (NIM_BOOL)0;
T50_ = containsOrIncl__astalgo_402((&(*c).capturedVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym87_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym87_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
if (!!(T50_)) goto LA51_;
obj = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getHiddenParam__lambdalifting_107((*c).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
obj = skipTypes__ast_4803((*colontmpD_).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
{
NI32 colontmpD__3;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T58_;
colontmpD__2 = getIdent__idents_166((*(*c).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_16);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
if (!((*(*s).name).id == (*colontmpD__2).id)) goto LA56_;
colontmpD__3 = (NI32)0;
nimZeroMem((void*)(&T58_), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD__3 = (*s).Sup.itemId.module;
T58_.module = colontmpD__3;
T58_.item = ((NI32)-((*s).Sup.itemId.item));
(*(*(*(*obj).n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).Sup.itemId = T58_;
}
goto LA54_;
LA56_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = addField__lowerings_421(obj, s, (*(*c).graph).cache, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
(void)(colontmpD__4);
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
}
LA54_: ;
{
LA53_:;
}
{
oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
*nimErr_ = oldNimErrFin53_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
}
LA51_: ;
{
LA47_:;
}
{
oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym87_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin47_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA45_: ;
}
LA40_: ;
}
goto LA32_;
LA34_: ;
{
NIM_BOOL T65_;
NIM_BOOL T66_;
NIM_BOOL T67_;
NIM_BOOL T69_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym90_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* w;
T65_ = (NIM_BOOL)0;
T66_ = (NIM_BOOL)0;
T67_ = (NIM_BOOL)0;
T67_ = innerProc;
if (!(T67_)) goto LA68_;
T69_ = (NIM_BOOL)0;
T69_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T69_)) goto LA70_;
T69_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA70_: ;
T67_ = !(T69_);
LA68_: ;
T66_ = T67_;
if (!(T66_)) goto LA71_;
T66_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA71_: ;
T65_ = T66_;
if (T65_) goto LA72_;
T65_ = interestingVar__lambdalifting_152(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
LA72_: ;
if (!T65_) goto LA73_;
xX60gensym90_ = NIM_NIL;
w = NIM_NIL;
(*c).somethingToDo = NIM_TRUE;
markAsClosure__lambdalifting_368((*c).graph, owner, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
addClosureParam__lambdalifting_2127(c, owner, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
{
NIM_BOOL T78_;
NIM_BOOL T80_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj_2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__6;
T78_ = (NIM_BOOL)0;
T78_ = interestingVar__lambdalifting_152(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
if (!(T78_)) goto LA79_;
eqcopy___ast_4063(&xX60gensym90_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
T80_ = (NIM_BOOL)0;
T80_ = containsOrIncl__astalgo_402((&(*c).capturedVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym90_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym90_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
T78_ = !(T80_);
LA79_: ;
if (!T78_) goto LA81_;
obj_2 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__5 = getEnvTypeForOwner__lambdalifting_590(c, ow, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
obj_2 = skipTypes__ast_4803(colontmpD__5, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
colontmpD__6 = addField__lowerings_421(obj_2, s, (*(*c).graph).cache, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA83_;
(void)(colontmpD__6);
{
LA83_:;
}
{
oldNimErrFin83_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
eqdestroy___ast_3543(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
eqdestroy___ast_3543(&obj_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
*nimErr_ = oldNimErrFin83_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
}
LA81_: ;
w = skipGenericOwner__ast_6087(owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
{
NIM_BOOL T88_;
NIM_BOOL T90_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* last;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T101_;
T88_ = (NIM_BOOL)0;
T88_ = isInnerProc__lambdalifting_178(w);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
if (T88_) goto LA89_;
T90_ = (NIM_BOOL)0;
T90_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T90_)) goto LA91_;
T90_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA91_: ;
T88_ = T90_;
LA89_: ;
if (!T88_) goto LA92_;
last = NIM_NIL;
{
NIM_BOOL T97_;
T97_ = (NIM_BOOL)0;
T97_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T97_)) goto LA98_;
T97_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA98_: ;
if (!T97_) goto LA99_;
eqcopy___ast_4063(&w, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
}
LA99_: ;
T101_ = NIM_NIL;
{
NIM_BOOL T104_;
T104_ = (NIM_BOOL)0;
T104_ = ((*ow).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T104_)) goto LA105_;
T104_ = ((*(*ow).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA105_: ;
if (!T104_) goto LA106_;
last = skipGenericOwner__ast_6087(ow);
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
}
goto LA102_;
LA106_: ;
{
last = ow;
ow = 0;
}
LA102_: ;
{
while (1) {
NIM_BOOL T111_;
NIM_BOOL T112_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* up;
T111_ = (NIM_BOOL)0;
T112_ = (NIM_BOOL)0;
T112_ = !((w == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T112_)) goto LA113_;
T112_ = !(((*w).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)));
LA113_: ;
T111_ = T112_;
if (!(T111_)) goto LA114_;
T111_ = !((last == w));
LA114_: ;
if (!T111_) goto LA110 ;
up = NIM_NIL;
up = skipGenericOwner__ast_6087(w);
if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
markAsClosure__lambdalifting_368((*c).graph, w, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
addClosureParam__lambdalifting_2127(c, w, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
createUpField__lambdalifting_2104(c, w, up, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
eqsink___ast_4066(&w, up);
if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
up = 0;
{
LA115_:;
}
{
oldNimErrFin115_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&up);
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
*nimErr_ = oldNimErrFin115_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
} LA110: ;
}
{
LA94_:;
}
{
oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&last);
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
*nimErr_ = oldNimErrFin94_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
}
LA92_: ;
{
LA75_:;
}
{
oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&w);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_4060(&xX60gensym90_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin75_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA32_;
LA73_: ;
LA32_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&ow);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)80):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)82):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
{
{
if (!!(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA128_;
detectCapturedVars__lambdalifting_2154((*n)._kind_6.sons.p->data[((NI)0)], owner, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA128_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
detectCapturedVars__lambdalifting_2154((*n)._kind_6.sons.p->data[((NI)0)], owner, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
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 LA134 ;
i = i_2;
detectCapturedVars__lambdalifting_2154((*n)._kind_6.sons.p->data[i], owner, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA134: ;
}
}
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initLiftingPass__lambdalifting_2317)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* Result) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym101_;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
tyObject_Table__rUQSsApDXii9ceRiVWDeqkg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)Result, sizeof(tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA));
xX60gensym101_ = NIM_NIL;
nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
initIntSet__pureZcollectionsZintsets_389((&T1_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___pureZcollectionsZintsets_187((&(*Result).processed), (&T1_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
xX60gensym101_ = fn;
incl__pureZcollectionsZintsets_202((&(*Result).processed), (NI)((NI)((NU64)(((NI) ((*xX60gensym101_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym101_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = initTable__lambdalifting_2330(((NI)32));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___lambdalifting_2499((&(*Result).envVars), T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVar__lambdalifting_2536)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
v = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD_ = getIdent__idents_166(cache, TM__8JPgS7d2itnucsgTch9cDzA_37);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
v = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD_, T1_, owner, info, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*v).flags = IL64(549789368320);
eqcopy___ast_3546(&(*v).typ, typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newSymNode__ast_4784(v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, asOwnedRef__lambdalifting_2079)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T5_;
if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA3_;
T5_ = nextTypeId__ast_3291((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45), T5_, (*t).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)4))) & 63);
rawAddSon__ast_5669(result, t, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
eqcopy___ast_3546(&result, t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setupEnvVar__lambdalifting_2544)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym111_;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
xX60gensym111_ = NIM_NIL;
{
NIM_BOOL T3_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
T3_ = (NIM_BOOL)0;
T3_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T3_)) goto LA4_;
T3_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA4_: ;
if (!T3_) goto LA5_;
colontmpD_ = NIM_NIL;
colontmpD_ = getHiddenParam__lambdalifting_107((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
result = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
xX60gensym111_ = owner;
result = getOrDefault__lambdalifting_2653((*c).envVars, (NI)((NI)((NU64)(((NI) ((*xX60gensym111_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym111_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* envVarType;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym116_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym119_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T19_;
if (!(result == 0)) goto LA12_;
envVarType = NIM_NIL;
xX60gensym116_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
xX60gensym119_ = NIM_NIL;
colontmpD__3 = NIM_NIL;
xX60gensym116_ = owner;
envVarType = getOrDefault__lambdalifting_690((*d).ownerToType, (NI)((NI)((NU64)(((NI) ((*xX60gensym116_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym116_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
if (!(envVarType == 0)) goto LA17_;
liMessage__msgs_1172((*(*d).graph).config, (*owner).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_34, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_35), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA17_: ;
colontmpD__2 = asOwnedRef__lambdalifting_2079(d, envVarType);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T19_ = NIM_NIL;
T19_ = newEnvVar__lambdalifting_2536((*(*d).graph).cache, owner, colontmpD__2, info, (*d).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqsink___ast_3460(&result, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
xX60gensym119_ = owner;
colontmpD__3 = 0;
eqcopy___ast_3457(&colontmpD__3, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
X5BX5Deq___lambdalifting_3113((&(*c).envVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym119_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym119_).Sup.itemId.item))), colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__4;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym133_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T24_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T25_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T26_;
if (!(((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA22_;
v = NIM_NIL;
colontmpD__4 = NIM_NIL;
xX60gensym133_ = NIM_NIL;
colontmpD__4 = getIdent__idents_166((*(*d).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_39);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T24_ = nextSymId__ast_3268((*d).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T25_ = 0;
v = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD__4, T24_, owner, info, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
(*v).flags = IL64(549789368320);
eqsink___ast_3549(&(*v).typ, envVarType);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
envVarType = 0;
xX60gensym133_ = owner;
T26_ = NIM_NIL;
T26_ = newSymNode__ast_4784(v);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
X5BX5Deq___lambdalifting_3113((&(*c).unownedEnvVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym133_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym133_).Sup.itemId.item))), T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqdestroy___idents_133(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqdestroy___ast_4060(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA22_: ;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&envVarType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA12_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCreateEnv__lambdalifting_294)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* e;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
c = NIM_NIL;
colontmpD_ = NIM_NIL;
e = NIM_NIL;
c = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38), (*env).info, (*env).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*env).info, (*env).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
e = copyTree__ast_5856(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*e).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)22))) & 31);
result = newAsgnStmt__lowerings_88(e, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&e);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&c);
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*, newAsgnStmt__lambdalifting_193)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)0)], le);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)1)], ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createTypeBoundOpsLL__lambdalifting_269)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* refType, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
if (!!(((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17)))) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD_ = lastSon__ast_4811(refType);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
createTypeBoundOps__liftdestructors_48(g, ((tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg*) NIM_NIL), colontmpD_, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
createTypeBoundOps__liftdestructors_48(g, ((tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg*) NIM_NIL), refType, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = (((*refType).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0);
if (T8_) goto LA9_;
T8_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0);
LA9_: ;
if (!T8_) goto LA10_;
(*owner).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)42))) & 63);
}
LA10_: ;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&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*, getUpViaParam__lambdalifting_4208)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* p;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
p = NIM_NIL;
p = getHiddenParam__lambdalifting_107(g, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newSymNode__ast_4784(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
T4_ = (NIM_BOOL)0;
T4_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T4_)) goto LA5_;
T4_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA5_: ;
if (!T4_) goto LA6_;
upField = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = skipTypes__ast_4803((*p).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
colontmpD__2 = getIdent__idents_166((*g).cache, TM__8JPgS7d2itnucsgTch9cDzA_41);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
upField = lookupInRecord__astalgo_85((*colontmpD_).n, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
if (!(upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA11_;
liMessage__msgs_1172((*g).config, (*owner).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_43, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_44), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
goto LA9_;
LA11_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T14_;
T14_ = NIM_NIL;
T14_ = rawIndirectAccess__lowerings_332(result, upField, (*p).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_3460(&result, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA9_: ;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&p);
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*, rawClosureCreation__lambdalifting_4226)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
env = NIM_NIL;
upField = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*owner).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
T4_ = (NIM_BOOL)0;
T4_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T4_)) goto LA5_;
T4_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA5_: ;
if (!T4_) goto LA6_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = getHiddenParam__lambdalifting_107((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
env = newSymNode__ast_4784(colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA6_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
env = setupEnvVar__lambdalifting_2544(owner, d, c, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
if (!((*env).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA15_;
v = NIM_NIL;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
addVar__lowerings_64(v, env);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(result, v);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* unowned;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym139_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** T23_;
if (!(((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA20_;
unowned = NIM_NIL;
xX60gensym139_ = NIM_NIL;
eqcopy___ast_4063(&xX60gensym139_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
T23_ = X5BX5D___lambdalifting_4342((&(*c).unownedEnvVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym139_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym139_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqcopy___ast_3457(&unowned, (*T23_));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
addVar__lowerings_64(v, unowned);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym139_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_3454(&unowned);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA20_: ;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
LA15_: ;
colontmpD__4 = genCreateEnv__lambdalifting_294(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* unowned_2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym144_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** T33_;
if (!(((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA30_;
unowned_2 = NIM_NIL;
xX60gensym144_ = NIM_NIL;
env2 = NIM_NIL;
colontmpD__5 = NIM_NIL;
eqcopy___ast_4063(&xX60gensym144_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
T33_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
T33_ = X5BX5D___lambdalifting_4342((&(*c).unownedEnvVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym144_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym144_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
eqcopy___ast_3457(&unowned_2, (*T33_));
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
env2 = copyTree__ast_5856(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
eqcopy___ast_3546(&(*env2).typ, (*unowned_2).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
colontmpD__5 = newAsgnStmt__lambdalifting_193(unowned_2, env2, (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
createTypeBoundOpsLL__lambdalifting_269((*d).graph, (*unowned_2).typ, (*env).info, (*d).idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqdestroy___ast_3454(&env2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqdestroy___ast_4060(&xX60gensym144_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqdestroy___ast_3454(&unowned_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
*nimErr_ = oldNimErrFin32_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
LA30_: ;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325((*(*owner).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* local;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym150_;
if (!(i_2 < colontmp_)) goto LA38 ;
local = NIM_NIL;
xX60gensym150_ = NIM_NIL;
i = i_2;
eqcopy___ast_4063(&local, (*(*(*(*owner).typ).n)._kind_6.sons.p->data[i])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
{
NIM_BOOL T42_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fieldAccess;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
eqcopy___ast_4063(&xX60gensym150_, local);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T42_ = (NIM_BOOL)0;
T42_ = contains__astalgo_3655((&(*d).capturedVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym150_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym150_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
if (!T42_) goto LA43_;
fieldAccess = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
fieldAccess = indirectAccess__lowerings_617(env, local, (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
colontmpD__6 = newSymNode__ast_4784(local);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
colontmpD__7 = newAsgnStmt__lambdalifting_193(fieldAccess, colontmpD__6, (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
{
if (!!(((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17)))) goto LA48_;
createTypeBoundOps__liftdestructors_48((*d).graph, ((tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg*) NIM_NIL), (*fieldAccess).typ, (*env).info, (*d).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
}
LA48_: ;
{
NIM_BOOL T52_;
T52_ = (NIM_BOOL)0;
T52_ = (((*(*fieldAccess).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0);
if (T52_) goto LA53_;
T52_ = (((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0);
LA53_: ;
if (!T52_) goto LA54_;
(*owner).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)42))) & 63);
}
LA54_: ;
{
LA45_:;
}
{
oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
eqdestroy___ast_3454(&fieldAccess);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
*nimErr_ = oldNimErrFin45_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
}
LA43_: ;
i_2 += ((NI)1);
{
LA39_:;
}
{
oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym150_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqdestroy___ast_4060(&local);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
*nimErr_ = oldNimErrFin39_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
} LA38: ;
}
}
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
colontmpD_ = skipTypes__ast_4803((*env).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = getIdent__idents_166((*(*d).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_40);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
upField = lookupInRecord__astalgo_85((*colontmpD_).n, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* up;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__8;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__9;
if (!!((upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA64_;
up = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
up = getUpViaParam__lambdalifting_4208((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
{
NIM_BOOL T69_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
T69_ = (NIM_BOOL)0;
T69_ = !((up == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T69_)) goto LA70_;
colontmpD__8 = skipTypes__ast_4803((*upField).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
colontmpD__9 = skipTypes__ast_4803((*up).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
T69_ = (colontmpD__8 == colontmpD__9);
LA70_: ;
if (!T69_) goto LA71_;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__10 = rawIndirectAccess__lowerings_332(env, upField, (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
colontmpD__11 = newAsgnStmt__lambdalifting_193(colontmpD__10, up, (*env).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
add__ast_6233(result, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
}
goto LA67_;
LA71_: ;
{
liMessage__msgs_1172((*(*d).graph).config, (*env).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_46, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_47), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
}
LA67_: ;
{
LA66_:;
}
{
oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&up);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin66_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA64_: ;
createTypeBoundOpsLL__lambdalifting_269((*d).graph, (*env).typ, (*owner).info, (*d).idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&env);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, finishClosureCreation__lambdalifting_4637)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* unowned;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym159_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nilLit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!(((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA3_;
unowned = NIM_NIL;
xX60gensym159_ = NIM_NIL;
nilLit = NIM_NIL;
colontmpD_ = NIM_NIL;
xX60gensym159_ = owner;
unowned = X5BX5D___lambdalifting_4735((*c).unownedEnvVars, (NI)((NI)((NU64)(((NI) ((*xX60gensym159_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym159_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
nilLit = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, (*unowned).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD_ = newAsgnStmt__lambdalifting_193(unowned, nilLit, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(res, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
createTypeBoundOpsLL__lambdalifting_269((*d).graph, (*unowned).typ, info, (*d).idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&nilLit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&unowned);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, makeClosure__lambdalifting_200)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* prc, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155), info, (*prc).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newSymNode__ast_4784(prc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!(env == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL))) goto LA4_;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__2 = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__3 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
{
colontmpD__4 = skipConv__types_3839(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
if (!((*colontmpD__4).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155))) goto LA13_;
liMessage__msgs_1172((*g).config, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_49, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_50), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
LA13_: ;
add__ast_6233(result, env);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
createTypeBoundOps__liftdestructors_48(g, ((tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg*) NIM_NIL), (*result).typ, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T19_;
T19_ = (NIM_BOOL)0;
T19_ = (((*(*result).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0);
if (T19_) goto LA20_;
T19_ = (((*(*g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0);
LA20_: ;
if (!T19_) goto LA21_;
(*prc).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)42))) & 63);
}
LA21_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&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*, closureCreationForIter__lambdalifting_4818)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* iter, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* vnode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T3_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T4_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
owner = NIM_NIL;
v = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
vnode = NIM_NIL;
colontmpD__3 = NIM_NIL;
upField = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*iter).info, (*(*iter)._kind_4.sym).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
owner = skipGenericOwner__ast_6087((*iter)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = getIdent__idents_166((*(*d).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_51);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = nextSymId__ast_3268((*d).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = 0;
v = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD_, T2_, owner, (*iter).info, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*v).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)25))) & 63);
colontmpD__2 = getHiddenParam__lambdalifting_107((*d).graph, (*iter)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
T4_ = asOwnedRef__lambdalifting_2079(d, (*colontmpD__2).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*v).typ, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T7_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
T7_ = (NIM_BOOL)0;
T7_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T7_)) goto LA8_;
T7_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA8_: ;
if (!T7_) goto LA9_;
it = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
it = getHiddenParam__lambdalifting_107((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
colontmpD__7 = skipTypes__ast_4803((*it).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
colontmpD__8 = addUniqueField__lowerings_450(colontmpD__7, v, (*(*d).graph).cache, (*d).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
colontmpD__9 = newSymNode__ast_4784(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
vnode = indirectAccess__lowerings_617(colontmpD__9, v, (*v).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA9_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* vs;
vs = NIM_NIL;
vnode = newSymNode__ast_4784(v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
vs = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addVar__lowerings_64(vs, vnode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, vs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&vs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
colontmpD__3 = genCreateEnv__lambdalifting_294(vnode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
createTypeBoundOpsLL__lambdalifting_269((*d).graph, (*vnode).typ, (*iter).info, (*d).idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__4 = skipTypes__ast_4803((*v).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__5 = getIdent__idents_166((*(*d).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_52);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
upField = lookupInRecord__astalgo_85((*colontmpD__4).n, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* u;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__10;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__11;
if (!!((upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA17_;
u = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
u = setupEnvVar__lambdalifting_2544(owner, d, c, (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
colontmpD__10 = skipTypes__ast_4803((*u).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
colontmpD__11 = skipTypes__ast_4803((*upField).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
if (!(colontmpD__10 == colontmpD__11)) goto LA22_;
colontmpD__12 = NIM_NIL;
colontmpD__13 = NIM_NIL;
colontmpD__12 = rawIndirectAccess__lowerings_332(vnode, upField, (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
colontmpD__13 = newAsgnStmt__lambdalifting_193(colontmpD__12, u, (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
add__ast_6233(result, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
}
goto LA20_;
LA22_: ;
{
liMessage__msgs_1172((*(*d).graph).config, (*iter).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_54, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_55), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
}
LA20_: ;
{
LA19_:;
}
{
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&u);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin19_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA17_: ;
colontmpD__6 = makeClosure__lambdalifting_200((*d).graph, (*d).idgen, (*iter)._kind_4.sym, vnode, (*iter).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vnode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&owner);
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*, symToClosure__lambdalifting_4986)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
s = NIM_NIL;
colontmpD_ = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* available;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!(s == owner)) goto LA4_;
available = NIM_NIL;
colontmpD__2 = NIM_NIL;
available = getHiddenParam__lambdalifting_107((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__2 = newSymNode__ast_4784(available);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
result = makeClosure__lambdalifting_200((*d).graph, (*d).idgen, s, colontmpD__2, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&available);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T10_)) goto LA11_;
T10_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA11_: ;
if (!T10_) goto LA12_;
result = closureCreationForIter__lambdalifting_4818(n, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA12_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD_ = skipGenericOwner__ast_6087(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(colontmpD_ == owner)) goto LA15_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = setupEnvVar__lambdalifting_2544(owner, d, c, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
result = makeClosure__lambdalifting_200((*d).graph, (*d).idgen, s, colontmpD__3, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA15_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* available_2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* wanted;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* access;
available_2 = NIM_NIL;
wanted = NIM_NIL;
colontmpD__4 = NIM_NIL;
access = NIM_NIL;
available_2 = getHiddenParam__lambdalifting_107((*d).graph, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
colontmpD__4 = getHiddenParam__lambdalifting_107((*d).graph, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqcopy___ast_3546(&wanted, (*colontmpD__4).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
access = newSymNode__ast_4784(available_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
while (1) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T34_;
obj = NIM_NIL;
upField = NIM_NIL;
colontmpD__5 = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_;
if (!((*access).typ == wanted)) goto LA27_;
T29_ = NIM_NIL;
T29_ = makeClosure__lambdalifting_200((*d).graph, (*d).idgen, s, access, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqsink___ast_3460(&result, T29_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqdestroy___idents_133(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&wanted);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&available_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA27_: ;
obj = skipTypes__ast_4803((*access).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
colontmpD__5 = getIdent__idents_166((*(*d).graph).cache, TM__8JPgS7d2itnucsgTch9cDzA_56);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
upField = lookupInRecord__astalgo_85((*obj).n, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
if (!(upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA32_;
liMessage__msgs_1172((*(*d).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_58, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_59), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqdestroy___idents_133(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&wanted);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&available_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA32_: ;
T34_ = NIM_NIL;
T34_ = rawIndirectAccess__lowerings_332(access, upField, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqsink___ast_3460(&access, T34_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
}
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&wanted);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&available_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
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*, accessViaEnvParam__lambdalifting_2506)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* envParam;
NimStringV2 colontmpD_;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin6_;
NimStringV2 T24_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
s = NIM_NIL;
envParam = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
envParam = getHiddenParam__lambdalifting_107(g, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* access;
if (!!((envParam == 0))) goto LA4_;
access = NIM_NIL;
access = newSymNode__ast_4784(envParam);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
while (1) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* upField;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T19_;
obj = NIM_NIL;
field = NIM_NIL;
upField = NIM_NIL;
colontmpD__2 = NIM_NIL;
eqcopy___ast_3546(&obj, (*(*access).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
field = getFieldFromObj__lowerings_589(obj, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T14_;
if (!!((field == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA12_;
T14_ = NIM_NIL;
T14_ = rawIndirectAccess__lowerings_332(access, field, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqsink___ast_3460(&result, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___ast_4060(&envParam);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA12_: ;
colontmpD__2 = getIdent__idents_166((*g).cache, TM__8JPgS7d2itnucsgTch9cDzA_60);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
upField = lookupInRecord__astalgo_85((*obj).n, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
if (!(upField == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA17_;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
goto LA7;
}
LA17_: ;
T19_ = NIM_NIL;
T19_ = rawIndirectAccess__lowerings_332(access, upField, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqsink___ast_3460(&access, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&upField);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
} LA7: ;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
T24_.len = 0; T24_.p = NIM_NIL;
T24_ = rawNewString((*(*s).name).s.len + 36);
appendString((&T24_), TM__8JPgS7d2itnucsgTch9cDzA_62);
appendString((&T24_), (*(*s).name).s);
colontmpD_ = T24_;
liMessage__msgs_1172((*g).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_63), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___ast_4060(&envParam);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
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*, accessViaEnvVar__lambdalifting_4866)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* access;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
access = NIM_NIL;
obj = NIM_NIL;
field = NIM_NIL;
access = setupEnvVar__lambdalifting_2544(owner, d, c, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym168_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** T7_;
if (!(((*(*(*d).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA4_;
xX60gensym168_ = NIM_NIL;
eqcopy___ast_4063(&xX60gensym168_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T7_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
T7_ = X5BX5D___lambdalifting_4342((&(*c).unownedEnvVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym168_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym168_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqcopy___ast_3457(&access, (*T7_));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym168_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
obj = skipTypes__ast_4803((*access).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
field = getFieldFromObj__lowerings_589(obj, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!((field == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA12_;
result = rawIndirectAccess__lowerings_332(access, field, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA10_;
LA12_: ;
{
liMessage__msgs_1172((*(*d).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_65, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_66), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA10_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&access);
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*, liftCapturedVars__lambdalifting_4981)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* d, tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin62_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym179_;
s = NIM_NIL;
xX60gensym179_ = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
NIM_BOOL T5_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym176_;
T5_ = (NIM_BOOL)0;
T5_ = isInnerProc__lambdalifting_178(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T5_) goto LA6_;
xX60gensym176_ = NIM_NIL;
{
NIM_BOOL T11_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym177_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI oldInContainer;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T15_;
eqcopy___ast_4063(&xX60gensym176_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T11_ = (NIM_BOOL)0;
T11_ = containsOrIncl__astalgo_402((&(*c).processed), (NI)((NI)((NU64)(((NI) ((*xX60gensym176_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym176_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
if (!!(T11_)) goto LA12_;
body = NIM_NIL;
xX60gensym177_ = NIM_NIL;
colontmpD_ = NIM_NIL;
oldInContainer = (*c).inContainer;
(*c).inContainer = ((NI)0);
body = transformBody__transf_23((*d).graph, (*d).idgen, s, ((tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T15_ = NIM_NIL;
T15_ = liftCapturedVars__lambdalifting_4981(body, s, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqsink___ast_3460(&body, T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
xX60gensym177_ = s;
colontmpD_ = getOrDefault__lambdalifting_2653((*c).envVars, (NI)((NI)((NU64)(((NI) ((*xX60gensym177_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym177_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
if (!(colontmpD_ == 0)) goto LA18_;
eqsink___ast_3460(&(*s)._kind_1.transformedBody, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
body = 0;
}
goto LA16_;
LA18_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T22_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)T22_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__2 = rawClosureCreation__lambdalifting_4226(s, d, c, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
T22_[0] = colontmpD__2;
T22_[1] = body;
T23_ = NIM_NIL;
T23_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T22_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqsink___ast_3460(&(*s)._kind_1.transformedBody, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
finishClosureCreation__lambdalifting_4637(s, d, (&(*c)), (*n).info, (*s)._kind_1.transformedBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA16_: ;
(*c).inContainer = oldInContainer;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA12_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
if (!((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9))) goto LA30_;
T32_ = NIM_NIL;
T32_ = symToClosure__lambdalifting_4986(n, owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_3460(&result, T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA30_: ;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym176_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA3_;
LA6_: ;
{
NIM_BOOL T36_;
eqcopy___ast_4063(&xX60gensym179_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T36_ = (NIM_BOOL)0;
T36_ = contains__astalgo_3655((&(*d).capturedVars), (NI)((NI)((NU64)(((NI) ((*xX60gensym179_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym179_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T36_) goto LA37_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T43_;
if (!!(((*s).owner == owner))) goto LA41_;
T43_ = NIM_NIL;
T43_ = accessViaEnvParam__lambdalifting_2506((*d).graph, n, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqsink___ast_3460(&result, T43_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA39_;
LA41_: ;
{
NIM_BOOL T45_;
NIM_BOOL T46_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T51_;
T45_ = (NIM_BOOL)0;
T46_ = (NIM_BOOL)0;
T46_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T46_)) goto LA47_;
T46_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA47_: ;
T45_ = T46_;
if (!(T45_)) goto LA48_;
T45_ = interestingIterVar__lambdalifting_239(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
LA48_: ;
if (!T45_) goto LA49_;
T51_ = NIM_NIL;
T51_ = accessViaEnvParam__lambdalifting_2506((*d).graph, n, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqsink___ast_3460(&result, T51_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA39_;
LA49_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T53_;
T53_ = NIM_NIL;
T53_ = accessViaEnvVar__lambdalifting_4866(n, owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqsink___ast_3460(&result, T53_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA39_: ;
}
goto LA3_;
LA37_: ;
LA3_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym179_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)24):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)80):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)82):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T63_;
if (!((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA60_;
x = NIM_NIL;
T63_ = NIM_NIL;
T63_ = liftCapturedVars__lambdalifting_4981((*n)._kind_6.sons.p->data[((NI)0)], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T63_);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
x = skipConv__types_3839((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
{
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155))) goto LA66_;
eqcopy___ast_3457(&(*n)._kind_6.sons.p->data[((NI)0)], (*x)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
eqcopy___ast_3457(&(*n)._kind_6.sons.p->data[((NI)1)], (*x)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
}
LA66_: ;
{
LA62_:;
}
{
oldNimErrFin62_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin62_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA60_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
{
{
NIM_BOOL T73_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
NI oldInContainer_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T78_;
T73_ = (NIM_BOOL)0;
T73_ = !(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T73_)) goto LA74_;
T73_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
LA74_: ;
if (!T73_) goto LA75_;
m = NIM_NIL;
oldInContainer_2 = (*c).inContainer;
(*c).inContainer = ((NI)0);
m = newSymNode__ast_4784((*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
eqcopy___ast_3546(&(*m).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
T78_ = NIM_NIL;
T78_ = liftCapturedVars__lambdalifting_4981(m, owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
eqsink___ast_3460(&result, T78_);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
(*c).inContainer = oldInContainer_2;
{
LA77_:;
}
{
oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin77_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA75_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
{
{
NI T84_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T87_;
T84_ = (NI)0;
T84_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T84_ == ((NI)2))) goto LA85_;
T87_ = NIM_NIL;
T87_ = liftCapturedVars__lambdalifting_4981((*n)._kind_6.sons.p->data[((NI)1)], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], T87_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155))) goto LA90_;
eqcopy___ast_3457(&result, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA90_: ;
}
LA85_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T97_;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149))) goto LA95_;
T97_ = NIM_NIL;
T97_ = liftCapturedVars__lambdalifting_4981((*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T97_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA93_;
LA95_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T99_;
T99_ = NIM_NIL;
T99_ = liftCapturedVars__lambdalifting_4981((*n)._kind_6.sons.p->data[((NI)0)], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T99_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA93_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132):
{
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NIM_BOOL inContainer;
{
NIM_BOOL T104_;
T104_ = (NIM_BOOL)0;
T104_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T104_)) goto LA105_;
T104_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA105_: ;
if (!T104_) goto LA106_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T112_;
if (!(((*n).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)8)))&31U)))!=0)) goto LA110_;
T112_ = NIM_NIL;
T112_ = liftCapturedVars__lambdalifting_4981((*n)._kind_6.sons.p->data[((NI)1)], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], T112_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA110_: ;
}
LA106_: ;
inContainer = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41));
{
if (!inContainer) goto LA115_;
(*c).inContainer += ((NI)1);
}
LA115_: ;
{
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) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T120_;
if (!(i_2 < colontmp_)) goto LA119 ;
i = i_2;
T120_ = NIM_NIL;
T120_ = liftCapturedVars__lambdalifting_4981((*n)._kind_6.sons.p->data[i], owner, d, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T120_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA119: ;
}
}
{
if (!inContainer) goto LA123_;
(*c).inContainer -= ((NI)1);
}
LA123_: ;
}
break;
}
}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, 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, eqdestroy___lambdalifting_5477)(tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).processed.head);
if (!T3_) goto LA4_;
eqdestroy___pureZcollectionsZintsets_36((*dest).processed.head);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).processed.head, ((NI)8));
}
LA4_: ;
eqdestroy___pureZcollectionsZintsets_56((&(*dest).processed.data));
eqdestroy___lambdalifting_2463((&(*dest).envVars.data));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___lambdalifting_2463((&(*dest).unownedEnvVars.data));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc) {
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_3143(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___lambdalifting_5439)(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).processed.head);
if (!T3_) goto LA4_;
eqdestroy___pureZcollectionsZintsets_36((*dest).processed.head);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).processed.head, ((NI)8));
}
LA4_: ;
eqdestroy___pureZcollectionsZintsets_56((&(*dest).processed.data));
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).capturedVars.head);
if (!T8_) goto LA9_;
eqdestroy___pureZcollectionsZintsets_36((*dest).capturedVars.head);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).capturedVars.head, ((NI)8));
}
LA9_: ;
eqdestroy___pureZcollectionsZintsets_56((&(*dest).capturedVars.data));
eqdestroy___lambdalifting_540((&(*dest).ownerToType.data));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).graph);
if (!T13_) goto LA14_;
eqdestroy___modulegraphs_11047((*dest).graph);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).graph, ((NI)8));
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T18_) goto LA19_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA19_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, liftLambdas__lambdalifting_5496)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, NIM_BOOL* tooEarly, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL isCompileTime;
NIM_BOOL T2_;
NIM_BOOL oldNimErrFin33_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
T2_ = (NIM_BOOL)0;
T2_ = (((*fn).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)28)))&63U)))!=0);
if (T2_) goto LA3_;
T2_ = ((*fn).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17));
LA3_: ;
isCompileTime = T2_;
{
NIM_BOOL T6_;
NIM_BOOL T7_;
NIM_BOOL T9_;
T6_ = (NIM_BOOL)0;
T7_ = (NIM_BOOL)0;
T7_ = ((*body).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (T7_) goto LA8_;
T9_ = (NIM_BOOL)0;
T9_ = ((*(*g).config).backend == ((tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w)3));
if (!(T9_)) goto LA10_;
T9_ = !(isCompileTime);
LA10_: ;
T7_ = T9_;
LA8_: ;
T6_ = T7_;
if (T6_) goto LA11_;
colontmpD_ = skipGenericOwner__ast_6087(fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T6_ = !(((*colontmpD_).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)));
LA11_: ;
if (!T6_) goto LA12_;
eqcopy___ast_3457(&result, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*tooEarly) = NIM_TRUE;
}
goto LA4_;
LA12_: ;
{
tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A d;
nimZeroMem((void*)(&d), sizeof(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A));
initDetectionPass__lambdalifting_406(g, fn, idgen, (&d));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
detectCapturedVars__lambdalifting_2154(body, fn, (&d));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
NIM_BOOL T18_;
NIM_BOOL T20_;
T18_ = (NIM_BOOL)0;
T18_ = !(d.somethingToDo);
if (!(T18_)) goto LA19_;
T20_ = (NIM_BOOL)0;
T20_ = ((*fn).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T20_)) goto LA21_;
T20_ = ((*(*fn).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA21_: ;
T18_ = T20_;
LA19_: ;
if (!T18_) goto LA22_;
addClosureParam__lambdalifting_2127((&d), fn, (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
d.somethingToDo = NIM_TRUE;
}
LA22_: ;
{
tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA c;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym224_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!d.somethingToDo) goto LA26_;
nimZeroMem((void*)(&c), sizeof(tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA));
xX60gensym224_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
initLiftingPass__lambdalifting_2317(fn, (&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
result = liftCapturedVars__lambdalifting_4981(body, fn, (&d), (&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T34_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T35_;
xX60gensym224_ = fn;
colontmpD__2 = getOrDefault__lambdalifting_2653(c.envVars, (NI)((NI)((NU64)(((NI) ((*xX60gensym224_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym224_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
if (!!((colontmpD__2 == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA31_;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)T34_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__3 = rawClosureCreation__lambdalifting_4226(fn, (&d), (&c), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
T34_[0] = colontmpD__3;
T34_[1] = result;
T35_ = NIM_NIL;
T35_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T34_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
eqsink___ast_3460(&result, T35_);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
finishClosureCreation__lambdalifting_4637(fn, (&d), (&c), (*body).info, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
{
LA33_:;
}
{
oldNimErrFin33_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
*nimErr_ = oldNimErrFin33_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
}
LA31_: ;
{
LA28_:;
}
{
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
eqdestroy___lambdalifting_5477((&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
*nimErr_ = oldNimErrFin28_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
goto LA24_;
LA26_: ;
{
eqcopy___ast_3457(&result, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA24_: ;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___lambdalifting_5439((&d));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, liftingHarmful__lambdalifting_252)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
NIM_BOOL result;
NIM_BOOL isCompileTime;
NIM_BOOL T1_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((*owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)28)))&63U)))!=0);
if (T1_) goto LA2_;
T1_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17));
LA2_: ;
isCompileTime = T1_;
T3_ = (NIM_BOOL)0;
T3_ = ((*conf).backend == ((tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w)3));
if (!(T3_)) goto LA4_;
T3_ = !(isCompileTime);
LA4_: ;
result = T3_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, liftIterSym__lambdalifting_307)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* hp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* env;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
iter = NIM_NIL;
hp = NIM_NIL;
env = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = liftingHarmful__lambdalifting_252((*g).config, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
eqcopy___ast_3457(&result, n);
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(&env);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&hp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&iter);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA5_: ;
eqcopy___ast_4063(&iter, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
hp = getHiddenParam__lambdalifting_107(g, iter);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T9_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* it;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
T9_ = (NIM_BOOL)0;
T9_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T9_)) goto LA10_;
T9_ = ((*(*owner).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA10_: ;
if (!T9_) goto LA11_;
it = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
it = getHiddenParam__lambdalifting_107(g, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
colontmpD__3 = skipTypes__ast_4803((*it).typ, TM__8JPgS7d2itnucsgTch9cDzA_67);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
colontmpD__4 = addUniqueField__lowerings_450((*colontmpD__3).sons.p->data[((NI)0)], hp, (*g).cache, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
colontmpD__5 = newSymNode__ast_4784(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
env = indirectAccess__lowerings_617(colontmpD__5, hp, (*hp).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin13_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA11_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* e;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T17_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T18_;
e = NIM_NIL;
v = NIM_NIL;
T17_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T18_ = 0;
e = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9), (*iter).name, T17_, owner, (*n).info, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*e).typ, (*hp).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*e).flags = (*hp).flags;
env = newSymNode__ast_4784(e);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addVar__lowerings_64(v, env);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&e);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA7_: ;
colontmpD_ = genCreateEnv__lambdalifting_294(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
createTypeBoundOpsLL__lambdalifting_269(g, (*env).typ, (*n).info, idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = makeClosure__lambdalifting_200(g, idgen, iter, env, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
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(&env);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&hp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&iter);
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*, liftForLoop__lambdalifting_5642)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* env;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* op;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* loopBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* whileLoop;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* vpart;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__2;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bs;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ibs;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elifBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* br;
NI T14_;
NIM_BOOL oldNimErrFin23_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T39_;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ T40_;
NIM_BOOL oldNimErrFin59_;
NI T63_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
call = NIM_NIL;
env = NIM_NIL;
op = NIM_NIL;
loopBody = NIM_NIL;
whileLoop = NIM_NIL;
colontmpD_ = NIM_NIL;
v2 = NIM_NIL;
vpart = NIM_NIL;
colontmpD__2 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__3 = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
colontmpD__4 = NIM_NIL;
bs = NIM_NIL;
ibs = NIM_NIL;
elifBranch = NIM_NIL;
br = NIM_NIL;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = liftingHarmful__lambdalifting_252((*g).config, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
eqcopy___ast_3457(&result, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&br);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ibs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vpart);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&v2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&loopBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&env);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA5_: ;
{
NIM_BOOL T9_;
NI T11_;
T9_ = (NIM_BOOL)0;
T9_ = ((*body).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)94));
if (!(T9_)) goto LA10_;
T11_ = (NI)0;
T11_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T9_ = ((*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*(*body)._kind_6.sons.p->data[(NI)(T11_ - ((NI)2))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32));
LA10_: ;
if (!!(T9_)) goto LA12_;
liMessage__msgs_1172((*g).config, (*body).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__8JPgS7d2itnucsgTch9cDzA_69, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__8JPgS7d2itnucsgTch9cDzA_70), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&result, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&br);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ibs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vpart);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&v2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&loopBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&env);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA12_: ;
T14_ = (NI)0;
T14_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&call, (*body)._kind_6.sons.p->data[(NI)(T14_ - ((NI)2))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&op, (*call)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T17_;
NIM_BOOL T19_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* hp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T24_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T25_;
T17_ = (NIM_BOOL)0;
T17_ = ((*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T17_)) goto LA18_;
T19_ = (NIM_BOOL)0;
T19_ = ((*(*op)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T19_)) goto LA20_;
T19_ = ((*(*(*op)._kind_4.sym).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA20_: ;
T17_ = T19_;
LA18_: ;
if (!T17_) goto LA21_;
iter = NIM_NIL;
hp = NIM_NIL;
v = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
eqcopy___ast_4063(&iter, (*op)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
hp = getHiddenParam__lambdalifting_107(g, iter);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
T24_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
T25_ = 0;
env = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9), (*iter).name, T24_, owner, (*body).info, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
eqcopy___ast_3546(&(*env).typ, (*hp).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
(*env).flags = (*hp).flags;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
colontmpD__5 = newSymNode__ast_4784(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
addVar__lowerings_64(v, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
add__ast_6233(result, v);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
colontmpD__6 = newSymNode__ast_4784(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
colontmpD__7 = genCreateEnv__lambdalifting_294(colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
createTypeBoundOpsLL__lambdalifting_269(g, (*env).typ, (*body).info, idgen, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
{
LA23_:;
}
{
oldNimErrFin23_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&hp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&iter);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin23_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA15_;
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* closure;
if (!((*op).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA29_;
closure = NIM_NIL;
closure = lastSon__ast_6268(op);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*closure).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155))) goto LA33_;
eqsink___ast_3460(&(*call)._kind_6.sons.p->data[((NI)0)], closure);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
closure = 0;
{
NI i;
NI colontmp_;
NI T36_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
T36_ = (NI)0;
T36_ = len__ast_3325(op);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmp_ = (NI)(T36_ - ((NI)1));
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA38 ;
i = i_2;
add__ast_6233(result, (*op)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 += ((NI)1);
} LA38: ;
}
}
}
LA33_: ;
eqdestroy___ast_3454(&closure);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA15_;
LA29_: ;
LA15_: ;
loopBody = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*body).info, ((NI)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
whileLoop = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96), (*body).info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = getSysType__magicsys_60(g, (*body).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T39_ = NIM_NIL;
T39_ = newIntTypeNode__ast_4848(IL64(1), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*whileLoop)._kind_6.sons.p->data[((NI)0)], T39_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*whileLoop)._kind_6.sons.p->data[((NI)1)], loopBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
v2 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T40_ = (tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0;
{
NI T43_;
T43_ = (NI)0;
T43_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T43_ == ((NI)3))) goto LA44_;
colontmpD__2 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35);
T40_ = colontmpD__2;
}
goto LA41_;
LA44_: ;
{
colontmpD__3 = ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36);
T40_ = colontmpD__3;
}
LA41_: ;
vpart = newNodeI__ast_3949(T40_, (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i_3;
NI colontmp__2;
NI T48_;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T48_ = (NI)0;
T48_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmp__2 = (NI)(T48_ - ((NI)2));
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA50 ;
i_3 = i_4;
{
if (!((*(*body)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA53_;
transitionToLet__ast_5831((*(*body)._kind_6.sons.p->data[i_3])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA53_: ;
add__ast_6233(vpart, (*body)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_4 += ((NI)1);
} LA50: ;
}
}
colontmpD__4 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(vpart, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T60_;
if (!!((env == 0))) goto LA57_;
colontmpD__8 = NIM_NIL;
colontmpD__8 = newSymNode__ast_4784(env);
if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
T60_ = NIM_NIL;
T60_ = makeClosure__lambdalifting_200(g, idgen, (*(*call)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, colontmpD__8, (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
eqsink___ast_3460(&(*call)._kind_6.sons.p->data[((NI)0)], T60_);
if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
{
LA59_:;
}
{
oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin59_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA57_: ;
add__ast_6233(vpart, call);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(v2, vpart);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*loopBody)._kind_6.sons.p->data[((NI)0)], v2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
v2 = 0;
bs = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)158), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(bs, (*call)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
ibs = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
elifBranch = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(elifBranch, bs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
br = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110), (*body).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(br, (*g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(elifBranch, br);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(ibs, elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*loopBody)._kind_6.sons.p->data[((NI)1)], ibs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
ibs = 0;
T63_ = (NI)0;
T63_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*loopBody)._kind_6.sons.p->data[((NI)2)], (*body)._kind_6.sons.p->data[(NI)(T63_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&br);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ibs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vpart);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&v2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&loopBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&env);
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*, freshVarForClosureIter__lambdalifting_351)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* envParam;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* access;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
envParam = NIM_NIL;
obj = NIM_NIL;
field = NIM_NIL;
access = NIM_NIL;
envParam = getHiddenParam__lambdalifting_107(g, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
obj = skipTypes__ast_4803((*envParam).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
field = addField__lowerings_421(obj, s, (*g).cache, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
access = newSymNode__ast_4784(envParam);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = rawIndirectAccess__lowerings_332(access, field, (*s).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&envParam);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getClosureIterResult__lambdalifting_63)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NI T3_;
T3_ = (NI)0;
T3_ = len__ast_3325((*iter).ast);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(((NI)7) < T3_)) goto LA4_;
eqcopy___ast_4063(&result, (*(*(*iter).ast)._kind_6.sons.p->data[((NI)7)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T7_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T8_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getIdent__idents_166((*g).cache, TM__8JPgS7d2itnucsgTch9cDzA_72);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T7_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T8_ = 0;
result = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11), colontmpD_, T7_, iter, (*iter).info, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*(*iter).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)0))) & 63);
colontmpD__2 = newSymNode__ast_4784(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233((*iter).ast, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getStateField__lambdalifting_4976)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getHiddenParam__lambdalifting_107(g, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = skipTypes__ast_4803((*colontmpD_).typ, TM__8JPgS7d2itnucsgTch9cDzA_15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_4063(&result, (*(*(*colontmpD__2).n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
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_4060(&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*, liftIterToProc__lambdalifting_5371)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ptrType, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A d;
tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA c;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym219_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ oldKind;
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw oldCC;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&d), sizeof(tyObject_DetectionPass__lV7PC7LTp2PLBdfrcZdl0A));
nimZeroMem((void*)(&c), sizeof(tyObject_LiftingPass__NqxhpG0tctMianbw3skXDA));
xX60gensym219_ = NIM_NIL;
colontmpD_ = NIM_NIL;
initDetectionPass__lambdalifting_406(g, fn, idgen, (&d));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
initLiftingPass__lambdalifting_2317(fn, (&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
oldKind = (*fn).kind;
oldCC = (*(*fn).typ).callConv;
transitionRoutineSymKind__ast_5815(fn, ((tyEnum_TSymKind__juhrSkBkkwbIs4iMq5Ga6Q)15));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*(*fn).typ).callConv = ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9);
eqcopy___ast_4063(&xX60gensym219_, fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = 0;
eqcopy___ast_3546(&colontmpD_, ptrType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
X5BX5Deq___lambdalifting_1046((&d.ownerToType), (NI)((NI)((NU64)(((NI) ((*xX60gensym219_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym219_).Sup.itemId.item))), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
detectCapturedVars__lambdalifting_2154(body, fn, (&d));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = liftCapturedVars__lambdalifting_4981(body, fn, (&d), (&c));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
transitionRoutineSymKind__ast_5815(fn, ((tyEnum_TSymKind__juhrSkBkkwbIs4iMq5Ga6Q) (oldKind)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*(*fn).typ).callConv = oldCC;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&xX60gensym219_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___lambdalifting_5477((&c));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___lambdalifting_5439((&d));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}