csources_v2/c_code/1_2/@mliftdestructors.nim.c
2022-12-16 10:54:01 +08:00

8545 lines
355 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_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg;
typedef struct tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag;
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 tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ;
typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ;
typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content;
typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA tySequence__9czS3pDdyAs7bxglDcl2YyA;
typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content tySequence__9czS3pDdyAs7bxglDcl2YyA_Content;
typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ tySequence__XHeQfi7ybWnv4ebLBB7afQ;
typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content;
typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw tySequence__gDGqa9bft4EIBGJXdPabojw;
typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content tySequence__gDGqa9bft4EIBGJXdPabojw_Content;
typedef struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A tyObject_Table__fjuGiTdj9aowj72av2a6U5A;
typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg tySequence__YLW4xuku9cRS9cLOfVzwUxqg;
typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content;
typedef struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg;
typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g tySequence__HL9bxOKBQaeJ5XQXd8t8m8g;
typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content;
typedef struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyObject_Table__ylj8DEu79cdmULczcIwXsIQ;
typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA tySequence__M1HR1j8fkzOLdhYymqd9cNA;
typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content;
typedef struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q;
typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q tySequence__ndtMxvII636Jz8NCVD9a9a0Q;
typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw;
typedef struct tyObject_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__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content;
typedef struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ tyObject_Table__fkVbis6Wl9armQNEPm21CLQ;
typedef struct tySequence__UQG43DVXYWx86AitV5pL8g tySequence__UQG43DVXYWx86AitV5pL8g;
typedef struct tySequence__UQG43DVXYWx86AitV5pL8g_Content tySequence__UQG43DVXYWx86AitV5pL8g_Content;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w;
typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA;
typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content;
typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA tySequence__6HN8Af9btfjdnDkSmkCapaA;
typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content tySequence__6HN8Af9btfjdnDkSmkCapaA_Content;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w;
typedef struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA tySequence__npXKLeClRo4ZDs6rPxQ9bRA;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw tySequence__o8paxaScVM7VHajE9a8rbyw;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content tySequence__o8paxaScVM7VHajE9a8rbyw_Content;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg tySequence__SE64IkxZVzsW0aLsNjnJHg;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content tySequence__SE64IkxZVzsW0aLsNjnJHg_Content;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
typedef struct tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
typedef struct tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA;
typedef struct tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw;
typedef struct tySequence__ayW1sBql6IlgnJXmG6YwBw tySequence__ayW1sBql6IlgnJXmG6YwBw;
typedef struct tySequence__ayW1sBql6IlgnJXmG6YwBw_Content tySequence__ayW1sBql6IlgnJXmG6YwBw_Content;
typedef struct tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w;
typedef struct tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw;
typedef struct tySequence__mkw3BsSwySE8kJ1iQVHi2g tySequence__mkw3BsSwySE8kJ1iQVHi2g;
typedef struct tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content;
typedef struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ;
typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw tySequence__oJNUGvppFP9c7bQcQ1vFDNw;
typedef struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content;
typedef struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw tySequence__P2jdSFF0rwb3d6yhCnf7Tw;
typedef struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content;
typedef struct tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg;
typedef struct tySequence__B9cdeRjiqZYBtgmMW4y69bow tySequence__B9cdeRjiqZYBtgmMW4y69bow;
typedef struct tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content;
typedef struct tySequence__zzmYOvMjuaDPGlm2gOxjfw tySequence__zzmYOvMjuaDPGlm2gOxjfw;
typedef struct tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content;
typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content;
typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content tySequence__E8pi9b5QNahsURYzXMjh3qw_Content;
typedef struct tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA;
typedef struct tySequence__2ysejK9bM8cCXleF05Ng9cHA tySequence__2ysejK9bM8cCXleF05Ng9cHA;
typedef struct tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg;
typedef struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw tyTuple__VM7m2WL59bxLeiTf9bI39aJNw;
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__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__hbzrBSDgTxYG04GZ0NRCew tyTuple__hbzrBSDgTxYG04GZ0NRCew;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA;
typedef struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ;
typedef struct tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA;
typedef struct tyTuple__GicXS2CKoWgwFlNKz2d15w tyTuple__GicXS2CKoWgwFlNKz2d15w;
typedef struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg;
typedef struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ;
typedef struct tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ;
typedef struct tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg;
typedef struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg;
typedef struct tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA;
typedef struct tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ;
typedef struct tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g;
typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyTuple__OseWehQ0HNC8Ns4uO1D8HA tyTuple__OseWehQ0HNC8Ns4uO1D8HA;
typedef struct tySequence__9csKSQ865Bdwb8TbX9cOogww tySequence__9csKSQ865Bdwb8TbX9cOogww;
typedef struct tySequence__9csKSQ865Bdwb8TbX9cOogww_Content tySequence__9csKSQ865Bdwb8TbX9cOogww_Content;
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 tyTuple__pDyHME2vky9bxBYZlE7PoZg tyTuple__pDyHME2vky9bxBYZlE7PoZg;
typedef struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w;
typedef struct tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA;
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_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ;
typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw;
typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ {
NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p;
};
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_TType__qs8ld9cHTjcxh7xYsvWduXA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
typedef NU8 tySet_tyEnum_ConsiderFlag__wu6oS9avkQSu9a9aogwyVVQew;
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ {
NI len; tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content* p;
};
struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ {
tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ data;
NI counter;
};
struct tySequence__9czS3pDdyAs7bxglDcl2YyA {
NI len; tySequence__9czS3pDdyAs7bxglDcl2YyA_Content* p;
};
struct tySequence__XHeQfi7ybWnv4ebLBB7afQ {
NI len; tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content* p;
};
struct tySequence__gDGqa9bft4EIBGJXdPabojw {
NI len; tySequence__gDGqa9bft4EIBGJXdPabojw_Content* p;
};
struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg {
NI len; tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content* p;
};
struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A {
tySequence__YLW4xuku9cRS9cLOfVzwUxqg data;
NI counter;
};
struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g {
NI len; tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content* p;
};
struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg {
tySequence__HL9bxOKBQaeJ5XQXd8t8m8g data;
NI counter;
};
struct tySequence__M1HR1j8fkzOLdhYymqd9cNA {
NI len; tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content* p;
};
struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ {
tySequence__M1HR1j8fkzOLdhYymqd9cNA data;
NI counter;
};
typedef tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyArray__RtDvnrEZJ39agpdQSeedS9bg[5];
struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q {
NI len; tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content* p;
};
struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q {
tySequence__ndtMxvII636Jz8NCVD9a9a0Q data;
NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw data;
NI counter;
};
typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w;
typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg;
typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g;
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
};
struct tySequence__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__fIB1rTQ55aFonoft9a9bmljQ {
NI len; tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content* p;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__vPrWBhD9cGsW9cbPZw2O089bQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__lJFXsCoW9bancuutiZwWl3g) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
struct tySequence__UQG43DVXYWx86AitV5pL8g {
NI len; tySequence__UQG43DVXYWx86AitV5pL8g_Content* p;
};
struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ {
tySequence__UQG43DVXYWx86AitV5pL8g data;
NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
NI counter;
};
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA {
NI len; tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content* p;
};
struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w {
tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA data;
NI counter;
};
struct tySequence__6HN8Af9btfjdnDkSmkCapaA {
NI len; tySequence__6HN8Af9btfjdnDkSmkCapaA_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__NoUxTS8DcbzCOvNOEi3ocQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__uM2x1UhfNk9babrtrGeM2gw) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__39c4YkMNuEKczAhajwhaZug) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* actual);
struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opNot;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opContains;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLe;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLt;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAnd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opOr;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opIsNil;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opEq;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAdd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opSub;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opMul;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opDiv;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg {
tySequence__9czS3pDdyAs7bxglDcl2YyA ifaces;
tySequence__XHeQfi7ybWnv4ebLBB7afQ packed_0;
tySequence__gDGqa9bft4EIBGJXdPabojw encoders;
tyObject_Table__fjuGiTdj9aowj72av2a6U5A typeInstCache;
tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg procInstCache;
tyArray__RtDvnrEZJ39agpdQSeedS9bg attachedOps;
tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q methodsPerType;
tyObject_Table__ylj8DEu79cdmULczcIwXsIQ enumToStringProcs;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw startupPackedConfig;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
RootObj* vm;
tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* usageSym;
tySequence__UfuHwINLHlFJGRcvFZqKQQ owners;
tyObject_Table__SogU5TxbKBYUMQw7zmdG3g suggestSymbols;
tyObject_Table__ijGervJNjyJafnomjvukiw suggestErrors;
tySequence__ANJm3Ou4QEh9abhA1XpChkw methods;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* systemModule;
tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ sysTypes;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg compilerprocs;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg exposed;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageTypes;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* emptyNode;
tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__vPrWBhD9cGsW9cbPZw2O089bQ importModuleCallback;
tyProc__lJFXsCoW9bancuutiZwWl3g includeFileCallback;
tyObject_Table__fkVbis6Wl9armQNEPm21CLQ cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w cacheTables;
tySequence__6HN8Af9btfjdnDkSmkCapaA passes;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinition;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinitionResolveForward;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onUsage;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ globalDestructors;
tyProc__uM2x1UhfNk9babrtrGeM2gw strongSemCheck;
tyProc__39c4YkMNuEKczAhajwhaZug compatibleProps;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w operators;
};
typedef NU8 tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow;
typedef NU8 tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg;
struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg {
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow targetCPU;
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow hostCPU;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg targetOS;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringV2 tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag;
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA {
NI len; tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content* p;
};
struct tySequence__o8paxaScVM7VHajE9a8rbyw {
NI len; tySequence__o8paxaScVM7VHajE9a8rbyw_Content* p;
};
struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag errorOutputs;
tySequence__npXKLeClRo4ZDs6rPxQ9bRA msgContext;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__o8paxaScVM7VHajE9a8rbyw fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ;
typedef NU8 tyEnum_Command__b145RBTl7bacomLHdBguHg;
typedef NU8 tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ;
typedef NU8 tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw data;
NI counter;
};
typedef 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;
};
typedef NIM_BOOL tyArray__MfsAeT5avx7SUbqVwNFpOA[4];
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
union{
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
} _kind_1;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
NI position;
NI offset;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
};
struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
typedef NimStringV2 tyArray__7Z9ajkJtFFtfJY8l7DfqyrA[5];
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringV2 strVal;
} _kind_3;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
} _kind_4;
struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
} _kind_5;
struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
struct tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA {
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* asgnForType;
NIM_BOOL recurse;
NIM_BOOL addMemReset;
NIM_BOOL canRaise;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* filterDiscriminator;
tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA {
RootObj Sup;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct tySequence__ayW1sBql6IlgnJXmG6YwBw {
NI len; tySequence__ayW1sBql6IlgnJXmG6YwBw_Content* p;
};
typedef tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tyArray__KVFQ9aaG2TvX85nFH9cK8pgA[38];
struct tySequence__mkw3BsSwySE8kJ1iQVHi2g {
NI len; tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content* p;
};
struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw {
NI len; tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content* p;
};
struct tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ {
NI counter;
tySequence__oJNUGvppFP9c7bQcQ1vFDNw data;
};
struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw {
NI len; tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content* p;
};
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__BcN7hdcTXNhFurWwndJbtA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* expectedType);
typedef NU32 tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw;
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__BKMLzOCUnskOBj9cQFWlQDg) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* expectedType);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__1tbGLFcNoKdU6yzwBHJs0w) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__jyUVm9cjKpkX8xEizEHTzRA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, void* ClE_0);
void* ClE_0;
} tyProc__3uTdqcW420OPmOVJGvTaZg;
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__Ntct9cf2liy0XMGfc9cIbU8w) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
typedef NU32 tySet_tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__1lfnnpeKNG6FV20X1Z36yA) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nOrig, tySet_tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ filter, tySet_tyEnum_TExprFlag__jKTT9ckw5GRVoNKW9bEspVXw flags);
typedef N_NIMCALL_PTR(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, tyProc__wkobAC4Q85JVV8ho2qVRRw) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* prev);
typedef struct {
N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, void* ClE_0);
void* ClE_0;
} tyProc__AxxFowutpTGFjFkvZOwI0A;
typedef struct {
N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, ClP_0) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ pt, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, void* ClE_0);
void* ClE_0;
} tyProc__k67h6NtyzLIZJvCNdfU5Pw;
struct tySequence__B9cdeRjiqZYBtgmMW4y69bow {
NI len; tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content* p;
};
typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__shO9bqCbvwwreLFolgYIp8A) (tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dc, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, NI col);
struct tySequence__zzmYOvMjuaDPGlm2gOxjfw {
NI len; tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content* p;
};
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
NI len; tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content* p;
};
struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
tySequence__Bis5AbpONWcIRrPyPJS8Yw data;
NI counter;
};
struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
NI len; tySequence__E8pi9b5QNahsURYzXMjh3qw_Content* p;
};
struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
tySequence__E8pi9b5QNahsURYzXMjh3qw data;
NI counter;
};
struct tySequence__2ysejK9bM8cCXleF05Ng9cHA {
NI len; tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content* p;
};
struct tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA {
tySequence__2ysejK9bM8cCXleF05Ng9cHA data;
NI counter;
};
struct tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg {
tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA Sup;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* enforceVoidContext;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* voidType;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module;
tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* currentScope;
tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* moduleScope;
tySequence__ayW1sBql6IlgnJXmG6YwBw imports;
tyObject_TScope__UGPjl9bmDNGJVWv0GAkg6Cw* topLevelScope;
tyObject_TProcCon__XrvIEKqkKB6U7VcgbkYq0w* p;
tyArray__KVFQ9aaG2TvX85nFH9cK8pgA intTypeCache;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* nilTypeCache;
tyObject_TMatchedConcept__h9bAHBfSxx9cpSPDxUatKVFw* matchedConcept;
tySequence__UfuHwINLHlFJGRcvFZqKQQ friendModules;
NI instCounter;
NI* templInstCounter;
NI inGenericContext;
NI inStaticContext;
NI inUnrolledContext;
NI compilesContextId;
NI compilesContextIdGenerator;
NI inGenericInst;
tySequence__UfuHwINLHlFJGRcvFZqKQQ converters;
tySequence__UfuHwINLHlFJGRcvFZqKQQ patterns;
tySequence__mkw3BsSwySE8kJ1iQVHi2g optionStack;
tyObject_TIdTable__zO1FPWiMqer9awSXDuPoIAQ symMapping;
tySequence__P2jdSFF0rwb3d6yhCnf7Tw libs;
tyProc__BcN7hdcTXNhFurWwndJbtA semConstExpr;
tyProc__BKMLzOCUnskOBj9cQFWlQDg semExpr;
tyProc__1tbGLFcNoKdU6yzwBHJs0w semTryExpr;
tyProc__BcN7hdcTXNhFurWwndJbtA semTryConstExpr;
tyProc__jyUVm9cjKpkX8xEizEHTzRA computeRequiresInit;
tyProc__3uTdqcW420OPmOVJGvTaZg hasUnresolvedArgs;
tyProc__1tbGLFcNoKdU6yzwBHJs0w semOperand;
tyProc__Ntct9cf2liy0XMGfc9cIbU8w semConstBoolExpr;
tyProc__1lfnnpeKNG6FV20X1Z36yA semOverloadedCall;
tyProc__wkobAC4Q85JVV8ho2qVRRw semTypeNode;
tyProc__AxxFowutpTGFjFkvZOwI0A semInferredLambda;
tyProc__k67h6NtyzLIZJvCNdfU5Pw semGenerateInstance;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg pureEnumFields;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg userPragmas;
tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* evalContext;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
tySequence__B9cdeRjiqZYBtgmMW4y69bow generics;
NI topStmts;
NI lastGenericIdx;
NI hloLoopDetector;
NI inParallelStmt;
tyProc__shO9bqCbvwwreLFolgYIp8A instTypeBoundOp;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg signatures;
NimStringV2 recursiveDep;
NIM_BOOL suggestionsMade;
NIM_BOOL isAmbiguous;
tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features;
NI inTypeContext;
NI inConceptDecl;
tySequence__zzmYOvMjuaDPGlm2gOxjfw unusedImports;
tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastTLineInfo;
tyObject_Table__LoQrFsQrEUUIXOvwfo6wXA sideEffects;
NI inUncheckedAssignSection;
};
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
typedef NU8 tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__wysJI6hInaI5ABj9aoPL4Dw[3];
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef NU8 tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__f0FB9cnkWctQL3L8oQv5MBg) (tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__FIZq7sI4PRP59aHmJ2Mmqwg[2];
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__ITlg8UhAbnS7vsiPAhcspQ[1];
typedef NU8 tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU8 tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w;
#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__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 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
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
#ifndef tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
#define tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__hbzrBSDgTxYG04GZ0NRCew {
NI Field0;
NimStringV2 Field1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2;
};
#ifndef tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
#define tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
struct tySequence__UQG43DVXYWx86AitV5pL8g_Content { NI cap; tyTuple__hbzrBSDgTxYG04GZ0NRCew data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringV2 Field1;
NI64 Field2;
};
#ifndef tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
#define tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ {
tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA* root;
NI entries;
};
struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA {
NI Field0;
NimStringV2 Field1;
tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ Field2;
};
#ifndef tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
#define tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content { NI cap; tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA data[SEQ_DECL_SIZE];};
#endif
typedef N_NIMCALL_PTR(tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA*, tyProc__VAKrl2wuKAJ7HPlD8a2YOQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__CgBBk61cGZM3ckyCzQXJtg) (tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__DJHfW17JAEBI2WHr9b1BaKg) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
struct tyTuple__GicXS2CKoWgwFlNKz2d15w {
tyProc__VAKrl2wuKAJ7HPlD8a2YOQ Field0;
tyProc__CgBBk61cGZM3ckyCzQXJtg Field1;
tyProc__DJHfW17JAEBI2WHr9b1BaKg Field2;
NIM_BOOL Field3;
};
#ifndef tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
#define tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content { NI cap; tyTuple__GicXS2CKoWgwFlNKz2d15w data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0;
NimStringV2 Field1;
};
#ifndef tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
#define tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content { NI cap; tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg {
NimStringV2 fullPath;
NimStringV2 projPath;
NimStringV2 shortName;
NimStringV2 quotedName;
NimStringV2 quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
NimStringV2 dirtyFile;
NimStringV2 hash;
NIM_BOOL dirty;
};
#ifndef tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
#define tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content { NI cap; tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringV2 Field1;
};
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og;
struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ {
NimStringV2 nimname;
NimStringV2 cname;
NimStringV2 obj;
tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og flags;
NimStringV2 customArgs;
};
#ifndef tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
#define tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content { NI cap; tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyEnum_ImportMode__LzfO42ojcBTf7f9ahbveBXw;
struct tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m;
tyEnum_ImportMode__LzfO42ojcBTf7f9ahbveBXw mode;
union{
struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
} _mode_2;
struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
} _mode_3;
};
};
#ifndef tySequence__ayW1sBql6IlgnJXmG6YwBw_Content_PP
#define tySequence__ayW1sBql6IlgnJXmG6YwBw_Content_PP
struct tySequence__ayW1sBql6IlgnJXmG6YwBw_Content { NI cap; tyObject_ImportedModule__Iz1DzOMV1rZCTSH8FVD9aSQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content_PP
#define tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content_PP
struct tySequence__mkw3BsSwySE8kJ1iQVHi2g_Content { NI cap; tyObject_TOptionEntry__zp29aBDkJVkD8RBug9cOgA9cg* data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ* key;
RootObj* val;
};
#ifndef tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP
#define tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content_PP
struct tySequence__oJNUGvppFP9c7bQcQ1vFDNw_Content { NI cap; tyObject_TIdPair__3AnhVnGQClv9alimKqsNrEg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content_PP
#define tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content_PP
struct tySequence__P2jdSFF0rwb3d6yhCnf7Tw_Content { NI cap; tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* genericSym;
tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ* inst;
};
#ifndef tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content_PP
#define tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content_PP
struct tySequence__B9cdeRjiqZYBtgmMW4y69bow_Content { NI cap; tyObject_TInstantiationPair__Q49cLaFKInl3t4ELh9cxBEnA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field1;
};
#ifndef tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP
#define tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content_PP
struct tySequence__zzmYOvMjuaDPGlm2gOxjfw_Content { NI cap; tyTuple__i9bSUkJ6C2tzwR9aU2ropx5g data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
NI Field0;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
};
#ifndef tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
#define tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content_PP
struct tySequence__Bis5AbpONWcIRrPyPJS8Yw_Content { NI cap; tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP
#define tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP
struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content { NI cap; tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__9csKSQ865Bdwb8TbX9cOogww {
NI len; tySequence__9csKSQ865Bdwb8TbX9cOogww_Content* p;
};
struct tyTuple__OseWehQ0HNC8Ns4uO1D8HA {
NI Field0;
NI Field1;
tySequence__9csKSQ865Bdwb8TbX9cOogww Field2;
};
#ifndef tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content_PP
#define tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content_PP
struct tySequence__2ysejK9bM8cCXleF05Ng9cHA_Content { NI cap; tyTuple__OseWehQ0HNC8Ns4uO1D8HA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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
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
struct tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field1;
};
#ifndef tySequence__9csKSQ865Bdwb8TbX9cOogww_Content_PP
#define tySequence__9csKSQ865Bdwb8TbX9cOogww_Content_PP
struct tySequence__9csKSQ865Bdwb8TbX9cOogww_Content { NI cap; tyTuple__9bJrRv70NyjWt9cNyf2B2CyQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
#define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
#define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP
#define tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP
struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content { NI cap; tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw data[SEQ_DECL_SIZE];};
#endif
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
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(NIM_BOOL, isEmptyContainer__types_3868)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, hashType__sighashes_461)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_ConsiderFlag__wu6oS9avkQSu9a9aogwyVVQew flags, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getOrDefault__liftdestructors_979)(tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ t, tyArray__qtqsWM5aXmcpMIVmvq3kAA key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___liftdestructors_2296)(tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ* t, tyArray__qtqsWM5aXmcpMIVmvq3kAA 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, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getAttachedOp__modulegraphs_4580)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op);
N_LIB_PRIVATE N_NIMCALL(void, setAttachedOp__modulegraphs_5170)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI module, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, symPrototype__liftdestructors_1878)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, getIdent__idents_166)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NimStringV2 identifier);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newSym__ast_4028)(tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ symKind, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options);
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makeVarType__semdata_2389)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind);
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_TType__qs8ld9cHTjcxh7xYsvWduXA*, newProcType__ast_6509)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, 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(void, addParam__ast_6518)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* procType, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* param);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1374)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle__types_766)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, lastSon__ast_4811)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3953)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI children);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, produceSym__liftdestructors_41)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, produceSymDistinctType__liftdestructors_1857)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___liftdestructors_2009)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* 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___modulegraphs_11047)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3141)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3232)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___modulegraphs_11315)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg** dest, tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___semdata_2058)(tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg** dest, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3247)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag** dest, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeref__lowerings_12)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
N_LIB_PRIVATE N_NIMCALL(void, setAttachedOpPartial__modulegraphs_6349)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI module, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, destructorOverriden__liftdestructors_61)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newOpCall__liftdestructors_519)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newAsgnStmt__liftdestructors_108)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri);
N_LIB_PRIVATE N_NIMCALL(void, fillSeqOp__liftdestructors_861)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setLenSeqCall__liftdestructors_818)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genBuiltin__liftdestructors_129)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic, NimStringV2 name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genBuiltin__liftdestructors_114)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic, NimStringV2 name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, createMagic__modulegraphs_8540)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, NimStringV2 name, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 name, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, instantiateGeneric__liftdestructors_573)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1159)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg, tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2, NIM_BOOL isRaw);
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, typeToString__types_51)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ prefer);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space);
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*, newSymNode__ast_4787)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, forallElements__liftdestructors_826)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, declareCounter__liftdestructors_755)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, NI64 first);
N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_76)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntLit__lowerings_702)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI64 value);
N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_77)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, firstOrd__types_1373)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genWhileLoop__liftdestructors_172)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genLen__lowerings_717)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, at__liftdestructors_54)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* elemType);
N_LIB_PRIVATE N_NIMCALL(void, fillBody__liftdestructors_35)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, defaultOp__liftdestructors_135)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, atomicRefOp__liftdestructors_1384)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
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_TNode__1pEudI6ZemBfsBxMjg4u5Q*, declareTempOf__liftdestructors_770)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_754)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, addDestructorCall__liftdestructors_664)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* orig, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x);
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, useNoGc__liftdestructors_549)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesBuiltinArc__liftdestructors_543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_471)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyProc__f0FB9cnkWctQL3L8oQv5MBg predicate);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__liftdestructors_546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
static N_INLINE(NIM_BOOL, isGCedMem__ast_5584)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
static N_INLINE(NIM_BOOL, requiresDestructor__liftdestructors_565)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_616)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, destructorCall__liftdestructors_234)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genAddr__liftdestructors_159)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x);
N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_2737)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI length, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1497)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDeref__lowerings_633)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ k);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, callCodegenProc__lowerings_642)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NimStringV2 name, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg1, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg2, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg3, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* optionalArgs);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genIf__liftdestructors_184)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* action);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getCycleParam__liftdestructors_438)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c);
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, boolLit__liftdestructors_430)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NIM_BOOL value);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genAddrOf__lowerings_627)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ typeKind);
N_LIB_PRIVATE N_NIMCALL(void, weakrefOp__liftdestructors_1548)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, insert__liftdestructors_1587)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* item, NI i);
N_LIB_PRIVATE N_NIMCALL(void, atomicClosureOp__liftdestructors_1472)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, closureOp__liftdestructors_1671)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, ownedRefOp__liftdestructors_1636)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, ownedClosureOp__liftdestructors_1738)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, useSeqOrStrOp__liftdestructors_897)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newHookCall__liftdestructors_464)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, elemType__types_264)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerUserDefinedOp__liftdestructors_713)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerAsgnOrSink__liftdestructors_589)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** field);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_2000)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b, tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeepCopyCall__liftdestructors_537)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSeqCall__liftdestructors_798)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjT__liftdestructors_378)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_165)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccgIntroducedPtr__ccgutils_157)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* retType);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTreeIT__ast_4014)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makePtrType__semdata_2351)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTreeI__ast_4003)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjTImpl__liftdestructors_363)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObj__liftdestructors_253)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y, NIM_BOOL enforceDefaultOp);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, dotField__liftdestructors_97)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* f);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, illFormedAstLocal__semdata_2734)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
N_LIB_PRIVATE N_NIMCALL(void, fillBodyTup__liftdestructors_74)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, addIncStmt__liftdestructors_785)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i);
N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_3741)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, fillStrOp__liftdestructors_1338)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
static N_INLINE(NIM_BOOL, lacksMTypeField__types_4415)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(void, genTypeFieldCopy__liftdestructors_1931)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y);
N_LIB_PRIVATE N_NIMCALL(void, completePartialOp__modulegraphs_6401)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI module, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* value);
N_LIB_PRIVATE N_NIMCALL(void, inst__liftdestructors_2111)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, patchBody__liftdestructors_2074)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
static N_INLINE(NIM_BOOL, isTrival__liftdestructors_2137)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genContainerOf__liftdestructors_189)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* objType, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x);
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_2 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_3 = { 4 | NIM_STRLIT_FLAG, "dest" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_4 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_3};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_5 = { 3 | NIM_STRLIT_FLAG, "env" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_6 = {3, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_5};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_7 = { 3 | NIM_STRLIT_FLAG, "src" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_8 = {3, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_7};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_9 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_10 = { 6 | NIM_STRLIT_FLAG, "cyclic" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_11 = {6, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_10};
extern TNimTypeV2 NTIv2__C1k2TcDRT9cU4DEatQIT09ag_;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_12 = {
0x10, 0x88, 0x10, 0x00, 0x00, 0x40, 0x80, 0x10,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_13 = { 3 | NIM_STRLIT_FLAG, "len" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_14 = {3, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_13};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_15 = { 6 | NIM_STRLIT_FLAG, "setLen" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_16 = {6, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_15};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_17 = { 45 | NIM_STRLIT_FLAG, "cannot generate destructor for generic type: " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_18 = {45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_17};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_20 = { 45 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/liftdestructors.nim" };
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_21 = { 4 | NIM_STRLIT_FLAG, ":tmp" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_22 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_21};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_23 = { 1 | NIM_STRLIT_FLAG, "<" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_24 = {1, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_23};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_25 = { 7 | NIM_STRLIT_FLAG, "default" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_26 = {7, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_25};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_27 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_21};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_28 = {
0x10, 0x89, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[40+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_29 = { 40 | NIM_STRLIT_FLAG, "liftdestructors.nim(398, 5) `op != nil` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_30 = {40, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_29};
static const struct {
NI cap; NIM_CHAR data[49+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_31 = { 49 | NIM_STRLIT_FLAG, "liftdestructors.nim(399, 5) `op == t.destructor` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_32 = {49, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_31};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_33 = { 8 | NIM_STRLIT_FLAG, "wasMoved" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_34 = {8, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_33};
static const struct {
NI cap; NIM_CHAR data[41+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_35 = { 41 | NIM_STRLIT_FLAG, "type-bound operator could not be resolved" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_36 = {41, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_35};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_38 = { 7 | NIM_STRLIT_FLAG, "alignof" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_39 = {7, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_38};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_40 = { 13 | NIM_STRLIT_FLAG, "nimRawDispose" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_41 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_40};
static const struct {
NI cap; NIM_CHAR data[20+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_42 = { 20 | NIM_STRLIT_FLAG, "nimDestroyAndDispose" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_43 = {20, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_42};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_44 = { 13 | NIM_STRLIT_FLAG, "getTypeInfoV2" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_45 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_44};
static const struct {
NI cap; NIM_CHAR data[27+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_46 = { 27 | NIM_STRLIT_FLAG, "nimDecRefIsLastCyclicStatic" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_47 = {27, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_46};
static const struct {
NI cap; NIM_CHAR data[24+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_48 = { 24 | NIM_STRLIT_FLAG, "nimDecRefIsLastCyclicDyn" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_49 = {24, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_48};
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_50 = { 15 | NIM_STRLIT_FLAG, "nimDecRefIsLast" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_51 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_50};
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_52 = { 15 | NIM_STRLIT_FLAG, "nimIncRefCyclic" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_53 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_52};
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_54 = { 9 | NIM_STRLIT_FLAG, "nimIncRef" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_55 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_54};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_56 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_44};
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_57 = { 11 | NIM_STRLIT_FLAG, "nimTraceRef" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_58 = {11, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_57};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_59 = { 14 | NIM_STRLIT_FLAG, "nimTraceRefDyn" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_60 = {14, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_59};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_61 = { 13 | NIM_STRLIT_FLAG, "nimDecWeakRef" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_62 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_63 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_54};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_64 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_65 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_66 = { 9 | NIM_STRLIT_FLAG, "accessEnv" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_67 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_66};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_68 = {20, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_42};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_69 = {24, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_48};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_70 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_50};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_71 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_66};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_72 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_52};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_73 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_54};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_74 = {14, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_59};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_75 = { 8 | NIM_STRLIT_FLAG, "deepCopy" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_76 = {8, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_75};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_77 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_66};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_78 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_79 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_66};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_80 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_54};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_81 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_82 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_61};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_83 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_84 = {7, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_38};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_85 = {13, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_40};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_86 = {20, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_42};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_87 = {9, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_66};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_88 = {20, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_42};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_89 = { 4 | NIM_STRLIT_FLAG, "move" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_90 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_89};
static const struct {
NI cap; NIM_CHAR data[50+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_91 = { 50 | NIM_STRLIT_FLAG, "liftdestructors.nim(548, 5) `t.destructor != nil` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_92 = {50, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_91};
static const struct {
NI cap; NIM_CHAR data[50+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_93 = { 50 | NIM_STRLIT_FLAG, "liftdestructors.nim(556, 5) `t.destructor != nil` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_94 = {50, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_93};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_95 = { 6 | NIM_STRLIT_FLAG, "newSeq" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_96 = {6, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_95};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_97 = {3, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_13};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_98 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_99 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_21};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_100 = { 2 | NIM_STRLIT_FLAG, "==" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_101 = {2, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_100};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_102 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_21};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_103 = {8, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_33};
static const struct {
NI cap; NIM_CHAR data[37+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_104 = { 37 | NIM_STRLIT_FLAG, "liftdestructors.nim(903, 29) `false` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_105 = {37, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_104};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_106 = { 3 | NIM_STRLIT_FLAG, "inc" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_107 = {3, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_106};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_108 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_89};
static const struct {
NI cap; NIM_CHAR data[50+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_109 = { 50 | NIM_STRLIT_FLAG, "liftdestructors.nim(516, 5) `t.destructor != nil` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_110 = {50, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_109};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_111 = { 7 | NIM_STRLIT_FLAG, "destroy" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_112 = {7, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_111};
static const struct {
NI cap; NIM_CHAR data[12+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_113 = { 12 | NIM_STRLIT_FLAG, "nimAsgnStrV2" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_114 = {12, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_113};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_115 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_89};
static const struct {
NI cap; NIM_CHAR data[50+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_116 = { 50 | NIM_STRLIT_FLAG, "liftdestructors.nim(572, 5) `t.destructor != nil` " };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_117 = {50, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_116};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_118 = {7, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_111};
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_119 = { 15 | NIM_STRLIT_FLAG, "accessTypeField" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_120 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_119};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_121 = {15, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_119};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__eUlWrG3KHljP9b52aqx5tLg_122 = {
0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[30+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_123 = { 30 | NIM_STRLIT_FLAG, "resolved destructor is generic" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_124 = {30, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_123};
static const struct {
NI cap; NIM_CHAR data[32+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_126 = { 32 | NIM_STRLIT_FLAG, "patching mDestroy with mDestroy\?" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_127 = {32, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_126};
static const struct {
NI cap; NIM_CHAR data[28+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_129 = { 28 | NIM_STRLIT_FLAG, "unresolved generic parameter" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_130 = {28, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_129};
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_132 = {4, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_3};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_133 = { 8 | NIM_STRLIT_FLAG, "offsetof" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_134 = {8, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_133};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__eUlWrG3KHljP9b52aqx5tLg_135 = { 1 | NIM_STRLIT_FLAG, "-" };
static const NimStringV2 TM__eUlWrG3KHljP9b52aqx5tLg_136 = {1, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_135};
extern NIM_CONST tyArray__7Z9ajkJtFFtfJY8l7DfqyrA AttachedOpToStr__ast_4931;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__eUlWrG3KHljP9b52aqx5tLg_19 = {{45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_20},
((NI)334),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__eUlWrG3KHljP9b52aqx5tLg_37 = {{45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_20},
((NI)406),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__eUlWrG3KHljP9b52aqx5tLg_125 = {{45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_20},
((NI)1039),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__eUlWrG3KHljP9b52aqx5tLg_128 = {{45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_20},
((NI)1041),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__eUlWrG3KHljP9b52aqx5tLg_131 = {{45, (NimStrPayload*)&TM__eUlWrG3KHljP9b52aqx5tLg_20},
((NI)1062),
((NI)16)}
;
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_350;
extern NIM_BOOL nimInErrorMode__system_3980;
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(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3980);
return result;
}
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(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).symId += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).symId;
result.item = colontmpD__2;
return result;
}
static N_INLINE(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;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1374)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
switch ((*t).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = lastSon__ast_4811(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
result = canFormAcycle__types_766(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25):
{
result = ((*t).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
}
break;
default:
{
result = NIM_FALSE;
}
break;
}
}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(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, symPrototype__liftdestructors_1878)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* procname;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dest;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src;
NimStringV2 colontmpD__2;
NimStringV2 colontmpD__3;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__4;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T3_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T4_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T5_;
NimStringV2 T6_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T12_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T13_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T14_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T21_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T22_;
NIM_BOOL oldNimErrFin35_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T45_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T46_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
procname = NIM_NIL;
dest = NIM_NIL;
colontmpD_ = NIM_NIL;
src = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
n = NIM_NIL;
procname = getIdent__idents_166((*g).cache, AttachedOpToStr__ast_4931[(kind)- 0]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = 0;
result = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12), procname, T2_, owner, info, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = getIdent__idents_166((*g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T5_ = 0;
dest = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3), colontmpD_, T4_, result, info, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T6_.len = 0; T6_.p = NIM_NIL;
{
if (!(kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3))) goto LA9_;
colontmpD__2 = TM__eUlWrG3KHljP9b52aqx5tLg_6;
T6_ = colontmpD__2;
}
goto LA7_;
LA9_: ;
{
colontmpD__3 = TM__eUlWrG3KHljP9b52aqx5tLg_8;
T6_ = colontmpD__3;
}
LA7_: ;
colontmpD__4 = getIdent__idents_166((*g).cache, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T12_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = 0;
src = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3), colontmpD__4, T12_, result, info, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T14_ = NIM_NIL;
T14_ = makeVarType__semdata_2389((*typ).owner, typ, idgen, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*dest).typ, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T19_;
if (!(kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3))) goto LA17_;
T19_ = NIM_NIL;
T19_ = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*src).typ, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA15_;
LA17_: ;
{
eqcopy___ast_3546(&(*src).typ, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA15_: ;
T21_ = nextTypeId__ast_3291(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T22_ = NIM_NIL;
T22_ = newProcType__ast_6509(info, T21_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*result).typ, T22_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addParam__ast_6518((*result).typ, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!((kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0)))) goto LA25_;
addParam__ast_6518((*result).typ, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA25_: ;
{
NIM_BOOL T29_;
NIM_BOOL T30_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* cycleParam;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__6;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T36_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T37_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T38_;
T29_ = (NIM_BOOL)0;
T30_ = (NIM_BOOL)0;
T30_ = (kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1));
if (!(T30_)) goto LA31_;
T30_ = ((*(*g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5));
LA31_: ;
T29_ = T30_;
if (!(T29_)) goto LA32_;
colontmpD__5 = skipTypes__ast_4803(typ, TM__eUlWrG3KHljP9b52aqx5tLg_9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T29_ = cyclicType__liftdestructors_1374(colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA32_: ;
if (!T29_) goto LA33_;
cycleParam = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__6 = getIdent__idents_166((*g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_11);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
T36_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
T37_ = 0;
cycleParam = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3), colontmpD__6, T36_, result, info, T37_);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
T38_ = NIM_NIL;
T38_ = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
eqsink___ast_3549(&(*cycleParam).typ, T38_);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
addParam__ast_6518((*result).typ, cycleParam);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
{
LA35_:;
}
{
oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___idents_133(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&cycleParam);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin35_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA33_: ;
n = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79), info, ((NI)7));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T44_;
if (!(i_2 < colontmp_)) goto LA43 ;
i = i_2;
T44_ = NIM_NIL;
T44_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T44_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 += ((NI)1);
} LA43: ;
}
}
T45_ = NIM_NIL;
T45_ = newSymNode__ast_4784(result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T45_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*n)._kind_6.sons.p->data[((NI)3)], (*(*result).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T46_ = NIM_NIL;
T46_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)6)], T46_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*result).ast, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
n = 0;
(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2))) & 63);
(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)39))) & 63);
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___ast_4060(&src);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&procname);
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*, produceSymDistinctType__liftdestructors_1857)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
baseType = NIM_NIL;
colontmpD_ = NIM_NIL;
eqcopy___ast_3546(&baseType, (*typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
colontmpD_ = getAttachedOp__modulegraphs_4580(g, baseType, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(colontmpD_ == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA4_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = produceSym__liftdestructors_41(g, c, baseType, kind, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
(void)(colontmpD__2);
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
result = getAttachedOp__modulegraphs_4580(g, baseType, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
setAttachedOp__modulegraphs_5170(g, ((NI) ((*idgen).module)), typ, kind, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&baseType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}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;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3141(result, cell, (*((TNimTypeV2**) (p))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
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_3141(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___liftdestructors_2009)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).g);
if (!T3_) goto LA4_;
eqdestroy___modulegraphs_11047((*dest).g);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).g, ((NI)8));
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).fn);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).fn);
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).asgnForType);
if (!T13_) goto LA14_;
nimDestroyAndDispose((*dest).asgnForType);
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLast((*dest).filterDiscriminator);
if (!T18_) goto LA19_;
nimDestroyAndDispose((*dest).filterDiscriminator);
}
LA19_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = nimDecRefIsLastCyclicDyn((*dest).c);
if (!T23_) goto LA24_;
nimDestroyAndDispose((*dest).c);
}
LA24_: ;
{
NIM_BOOL T28_;
T28_ = (NIM_BOOL)0;
T28_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T28_) goto LA29_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA29_: ;
}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeref__lowerings_12)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65), (*n).info, (*(*n).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, destructorOverriden__liftdestructors_61)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
NIM_BOOL T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
op = NIM_NIL;
op = getAttachedOp__modulegraphs_4580(g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (NIM_BOOL)0;
T2_ = !((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T2_)) goto LA3_;
T2_ = (((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
LA3_: ;
result = T2_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
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*, newOpCall__liftdestructors_519)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*x).info, (*(*op).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = newSymNode__ast_4784(op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!!((((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)43)))&63U)))!=0))) goto LA3_;
(*c).canRaise = NIM_TRUE;
}
LA3_: ;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newAsgnStmt__liftdestructors_108)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (*le).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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genBuiltin__liftdestructors_114)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic, NimStringV2 name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*i).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = createMagic__modulegraphs_8540(g, idgen, name, magic);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, i);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genBuiltin__liftdestructors_129)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic, NimStringV2 name, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = genBuiltin__liftdestructors_114((*c).g, (*c).idgen, magic, name, i);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
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*, instantiateGeneric__liftdestructors_573)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*c).c == ((tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = !((typeInst == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA4_: ;
if (!T3_) goto LA5_;
result = (*(*c).c).instTypeBoundOp((*c).c, op, typeInst, (*c).info, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1), ((NI)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T9_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T9_.len = 0; T9_.p = NIM_NIL;
colontmpD_ = typeToString__types_51(t, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T9_ = rawNewString(colontmpD_.len + 45);
appendString((&T9_), TM__eUlWrG3KHljP9b52aqx5tLg_18);
appendString((&T9_), colontmpD_);
colontmpD__2 = T9_;
liMessage__msgs_1159((*(*c).g).config, (*c).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__eUlWrG3KHljP9b52aqx5tLg_19), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
result = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL);
{
LA8_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, setLenSeqCall__liftdestructors_818)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lenCall;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T3_;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
lenCall = NIM_NIL;
op = NIM_NIL;
colontmpD_ = NIM_NIL;
lenCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)39), TM__eUlWrG3KHljP9b52aqx5tLg_14, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*lenCall).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
op = getSysMagic__magicsys_29((*c).g, (*x).info, TM__eUlWrG3KHljP9b52aqx5tLg_16, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)138));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = instantiateGeneric__liftdestructors_573(c, op, t, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&op, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T4_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD_ = newSymNode__ast_4787(op, (*x).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_[0] = colontmpD_;
T4_[1] = x;
T4_[2] = lenCall;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T4_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&lenCall);
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*, declareCounter__liftdestructors_755)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, NI64 first) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* temp;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T3_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
temp = NIM_NIL;
colontmpD_ = NIM_NIL;
v = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_22);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = 0;
temp = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5), colontmpD_, T2_, (*c).fn, (*c).info, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
T4_ = getSysType__magicsys_60((*c).g, (*body).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*temp).typ, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*temp).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2))) & 63);
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newSymNode__ast_4784(temp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newIntLit__lowerings_702((*c).g, (*body).info, first);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addVar__lowerings_76(v, result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, v);
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(&v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&temp);
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*, genWhileLoop__liftdestructors_172)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
cmp = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96), (*c).info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
cmp = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)72), TM__eUlWrG3KHljP9b52aqx5tLg_24, i);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = genLen__lowerings_717((*c).g, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(cmp, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*cmp).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], cmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
cmp = 0;
T3_ = NIM_NIL;
T3_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&cmp);
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*, at__liftdestructors_54)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* elemType) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42), (*a).info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)0)], a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)1)], i);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, defaultOp__liftdestructors_135)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2))) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD_ = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T6_ = (NIM_BOOL)0;
T6_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (!(T6_)) goto LA7_;
T6_ = (*c).addMemReset;
LA7_: ;
if (!T6_) goto LA8_;
call = NIM_NIL;
colontmpD__2 = NIM_NIL;
call = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)153), TM__eUlWrG3KHljP9b52aqx5tLg_26, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*call).typ, t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newAsgnStmt__liftdestructors_108(x, call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA8_: ;
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, declareTempOf__liftdestructors_770)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* temp;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
temp = NIM_NIL;
colontmpD_ = NIM_NIL;
v = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_27);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
temp = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5), colontmpD_, T1_, (*c).fn, (*c).info, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*temp).typ, (*value).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*temp).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2))) & 63);
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newSymNode__ast_4784(temp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
addVar__lowerings_76(v, result, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&temp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
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, 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, isGCedMem__ast_5584)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24));
if (T1_) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25));
if (!(T3_)) goto LA4_;
T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, wrap__liftdestructors_546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
result = isGCedMem__ast_5584(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, usesBuiltinArc__liftdestructors_543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
result = searchTypeFor__types_471(t, wrap__liftdestructors_546);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, useNoGc__liftdestructors_549)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q T4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0);
if (!(T1_)) goto LA2_;
T3_ = (NIM_BOOL)0;
T4_ = 0;
T3_ = !(((4194320 & (*t).flags) == T4_));
if (T3_) goto LA5_;
T3_ = usesBuiltinArc__liftdestructors_543(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA5_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, requiresDestructor__liftdestructors_565)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0);
if (!(T1_)) goto LA2_;
T1_ = containsGarbageCollectedRef__types_616(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genAddr__liftdestructors_159)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA3_;
checkSonsLen__semdata_2737(x, ((NI)1), (*(*c).g).config);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*x)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = makeVarType__semdata_2389((*(*x).typ).owner, (*x).typ, (*c).idgen, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64), (*x).info, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, destructorCall__liftdestructors_234)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* destroy;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
destroy = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
destroy = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*x).info, (*(*op).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newSymNode__ast_4784(op);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(destroy, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = genAddr__liftdestructors_159(c, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(destroy, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!((((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)43)))&63U)))!=0))) goto LA4_;
(*c).canRaise = NIM_TRUE;
}
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T10_;
if (!(*c).addMemReset) goto LA8_;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)T10_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T10_[0] = destroy;
colontmpD__3 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)150), TM__eUlWrG3KHljP9b52aqx5tLg_34, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T10_[1] = colontmpD__3;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T10_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA6_;
LA8_: ;
{
result = destroy;
destroy = 0;
}
LA6_: ;
{
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(&destroy);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addDestructorCall__liftdestructors_664)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* orig, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
op = NIM_NIL;
t = skipTypes__ast_4803(orig, TM__eUlWrG3KHljP9b52aqx5tLg_28);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
op = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = !((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T4_)) goto LA5_;
T4_ = (((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
LA5_: ;
if (!T4_) goto LA6_;
{
NIM_BOOL T10_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T13_;
T10_ = (NIM_BOOL)0;
T10_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T10_) goto LA11_;
T13_ = NIM_NIL;
T13_ = instantiateGeneric__liftdestructors_573(c, op, t, (*t).typeInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&op, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
setAttachedOp__modulegraphs_5170((*c).g, ((NI) ((*(*c).idgen).module)), t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), op);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
}
LA6_: ;
{
NIM_BOOL T16_;
NIM_BOOL T18_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T23_;
T16_ = (NIM_BOOL)0;
T16_ = (op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (!(T16_)) goto LA17_;
T18_ = (NIM_BOOL)0;
T18_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (T18_) goto LA19_;
T18_ = requiresDestructor__liftdestructors_565((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA19_: ;
T16_ = T18_;
LA17_: ;
if (!T16_) goto LA20_;
colontmpD_ = NIM_NIL;
T23_ = NIM_NIL;
T23_ = produceSym__liftdestructors_41((*c).g, (*c).c, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), (*c).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqsink___ast_4066(&op, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
if (!!(!((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))))) goto LA26_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_30);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
}
LA26_: ;
{
colontmpD_ = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
if (!!((op == colontmpD_))) goto LA30_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_32);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
}
LA30_: ;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA20_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!!((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA36_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = destructorCall__liftdestructors_234(c, op, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
{
LA38_:;
}
{
oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin38_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA34_;
LA36_: ;
{
NIM_BOOL T42_;
T42_ = (NIM_BOOL)0;
T42_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T42_) goto LA43_;
internalErrorImpl__msgs_1497((*(*c).g).config, (*c).info, TM__eUlWrG3KHljP9b52aqx5tLg_36, (&TM__eUlWrG3KHljP9b52aqx5tLg_37));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA34_;
LA43_: ;
LA34_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genIf__liftdestructors_184)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* action) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T1_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)T1_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T2_[0] = cond;
T2_[1] = action;
colontmpD_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_[0] = colontmpD_;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T1_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n).sons.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, boolLit__liftdestructors_430)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NIM_BOOL value) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newIntLit__lowerings_702(g, info, ((NI64) (value)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = NIM_NIL;
T1_ = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3549(&(*result).typ, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getCycleParam__liftdestructors_438)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NI T3_;
T3_ = (NI)0;
T3_ = len__ast_5071((*(*c).fn).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T3_ == ((NI)4))) goto LA4_;
result = lastSon__ast_6268((*(*(*c).fn).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
result = boolLit__liftdestructors_430((*c).g, (*c).info, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atomicRefOp__liftdestructors_1384)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actions;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* elemType;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
NIM_BOOL isCyclic;
NIM_BOOL T2_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin34_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T40_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL oldNimErrFin71_;
NIM_BOOL oldNimErrFin76_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
actions = NIM_NIL;
elemType = NIM_NIL;
tmp = NIM_NIL;
cond = NIM_NIL;
actions = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
elemType = lastSon__ast_4811(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
createTypeBoundOps__liftdestructors_48((*c).g, (*c).c, elemType, (*c).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (NIM_BOOL)0;
T2_ = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5));
if (!(T2_)) goto LA3_;
T2_ = canFormAcycle__types_766(elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA3_: ;
isCyclic = T2_;
T4_ = NIM_NIL;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = isCyclic;
if (!(T7_)) goto LA8_;
T7_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
LA8_: ;
if (!T7_) goto LA9_;
tmp = declareTempOf__liftdestructors_770(c, body, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA9_: ;
{
eqcopy___ast_3457(&tmp, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
{
NIM_BOOL T14_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* alignOf_1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T18_;
T14_ = (NIM_BOOL)0;
T14_ = isFinal__types_754(elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T14_) goto LA15_;
colontmpD_ = NIM_NIL;
alignOf_1 = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD_ = genDeref__lowerings_633(tmp, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47));
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
addDestructorCall__liftdestructors_664(c, elemType, actions, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
colontmpD__2 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*c).info, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
alignOf_1 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)11), TM__eUlWrG3KHljP9b52aqx5tLg_39, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
T18_ = NIM_NIL;
T18_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqsink___ast_3549(&(*alignOf_1).typ, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
colontmpD__3 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_41, (*c).info, tmp, alignOf_1, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(actions, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&alignOf_1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA12_;
LA15_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__4 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__5 = genDeref__lowerings_633(tmp, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
addDestructorCall__liftdestructors_664(c, elemType, colontmpD__4, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__6 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_43, (*c).info, tmp, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(actions, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
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(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA12_: ;
{
if (!isCyclic) goto LA27_;
{
NIM_BOOL T31_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* typInfo;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T35_;
T31_ = (NIM_BOOL)0;
T31_ = isFinal__types_754(elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T31_) goto LA32_;
typInfo = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__7 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*x).info, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
typInfo = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)263), TM__eUlWrG3KHljP9b52aqx5tLg_45, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
T35_ = NIM_NIL;
T35_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
eqsink___ast_3549(&(*typInfo).typ, T35_);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
cond = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_47, (*c).info, tmp, typInfo, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
{
LA34_:;
}
{
oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&typInfo);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin34_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA29_;
LA32_: ;
{
cond = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_49, (*c).info, tmp, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA29_: ;
}
goto LA25_;
LA27_: ;
{
cond = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_51, (*c).info, x, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA25_: ;
T40_ = NIM_NIL;
T40_ = getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*cond).typ, T40_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
if (!isCyclic) goto LA44_;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
colontmpD__8 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__9 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA42_;
LA44_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__10 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__11 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA42_: ;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
if (!isCyclic) goto LA50_;
colontmpD__12 = NIM_NIL;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__15 = NIM_NIL;
colontmpD__16 = NIM_NIL;
colontmpD__12 = getCycleParam__liftdestructors_438((&(*c)));
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
colontmpD__13 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_53, (*c).info, y, colontmpD__12, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
colontmpD__14 = genIf__liftdestructors_184(c, y, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
add__ast_6233(body, colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
colontmpD__15 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
add__ast_6233(body, colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
colontmpD__16 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
add__ast_6233(body, colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
{
LA52_:;
}
{
oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin52_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA48_;
LA50_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__17;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__18;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__19;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__20;
colontmpD__17 = NIM_NIL;
colontmpD__18 = NIM_NIL;
colontmpD__19 = NIM_NIL;
colontmpD__20 = NIM_NIL;
colontmpD__17 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_55, (*c).info, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
colontmpD__18 = genIf__liftdestructors_184(c, y, colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
add__ast_6233(body, colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
colontmpD__19 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
add__ast_6233(body, colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
colontmpD__20 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
add__ast_6233(body, colontmpD__20);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
{
LA56_:;
}
{
oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__20);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin56_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA48_: ;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__21;
colontmpD__21 = NIM_NIL;
colontmpD__21 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
{
if (!isCyclic) goto LA64_;
{
NIM_BOOL T68_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* typInfo_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__22;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__23;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__24;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T72_;
T68_ = (NIM_BOOL)0;
T68_ = isFinal__types_754(elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T68_) goto LA69_;
typInfo_2 = NIM_NIL;
colontmpD__22 = NIM_NIL;
colontmpD__23 = NIM_NIL;
colontmpD__24 = NIM_NIL;
colontmpD__22 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*x).info, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
typInfo_2 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)263), TM__eUlWrG3KHljP9b52aqx5tLg_56, colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
T72_ = NIM_NIL;
T72_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
eqsink___ast_3549(&(*typInfo_2).typ, T72_);
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
colontmpD__23 = genAddrOf__lowerings_627(x, (*c).idgen, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21));
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
colontmpD__24 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_58, (*c).info, colontmpD__23, typInfo_2, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
add__ast_6233(body, colontmpD__24);
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
{
LA71_:;
}
{
oldNimErrFin71_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__24);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__23);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&typInfo_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin71_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA66_;
LA69_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__25;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__26;
colontmpD__25 = NIM_NIL;
colontmpD__26 = NIM_NIL;
colontmpD__25 = genAddrOf__lowerings_627(x, (*c).idgen, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21));
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
colontmpD__26 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_60, (*c).info, colontmpD__25, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
add__ast_6233(body, colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
{
LA76_:;
}
{
oldNimErrFin76_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__25);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin76_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA66_: ;
}
LA64_: ;
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&elemType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&actions);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, weakrefOp__liftdestructors_1548)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD_ = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_62, (*c).info, x, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
colontmpD__2 = genIf__liftdestructors_184(c, x, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
colontmpD__3 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(body, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
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_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__4 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_63, (*c).info, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__5 = genIf__liftdestructors_184(c, y, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(body, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__6 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_64, (*c).info, x, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__7 = genIf__liftdestructors_184(c, x, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(body, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__8 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(body, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actions;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* des;
actions = NIM_NIL;
colontmpD__9 = NIM_NIL;
des = NIM_NIL;
actions = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
colontmpD__9 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_65, (*c).info, x, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233(actions, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
des = genIf__liftdestructors_184(c, x, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
NI T13_;
T13_ = (NI)0;
T13_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
if (!(T13_ == ((NI)0))) goto LA14_;
add__ast_6233(body, des);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
goto LA11_;
LA14_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp;
blitTmp = des;
des = 0;
insert__liftdestructors_1587((&(*body)._kind_6.sons), blitTmp, ((NI)0));
}
LA11_: ;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&des);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&actions);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, atomicClosureOp__liftdestructors_1472)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xenv;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actions;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NimStringV2 decRefProc;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
NIM_BOOL isCyclic;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
NimStringV2 T11_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T17_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin35_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
xenv = NIM_NIL;
tmp = NIM_NIL;
actions = NIM_NIL;
colontmpD_ = NIM_NIL;
decRefProc.len = 0; decRefProc.p = NIM_NIL;
cond = NIM_NIL;
xenv = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__eUlWrG3KHljP9b52aqx5tLg_67, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*xenv).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
isCyclic = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5));
T3_ = NIM_NIL;
{
NIM_BOOL T6_;
T6_ = (NIM_BOOL)0;
T6_ = isCyclic;
if (!(T6_)) goto LA7_;
T6_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
LA7_: ;
if (!T6_) goto LA8_;
tmp = declareTempOf__liftdestructors_770(c, body, xenv);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA4_;
LA8_: ;
{
eqcopy___ast_3457(&tmp, xenv);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
actions = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_68, (*c).info, tmp, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(actions, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_.len = 0; T11_.p = NIM_NIL;
{
if (!isCyclic) goto LA14_;
decRefProc = TM__eUlWrG3KHljP9b52aqx5tLg_69;
}
goto LA12_;
LA14_: ;
{
decRefProc = TM__eUlWrG3KHljP9b52aqx5tLg_70;
}
LA12_: ;
cond = callCodegenProc__lowerings_642((*c).g, decRefProc, (*c).info, tmp, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T17_ = NIM_NIL;
T17_ = getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*cond).typ, T17_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!isCyclic) goto LA21_;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__2 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA19_;
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__4 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__5 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA19_: ;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* yenv;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T26_;
yenv = NIM_NIL;
yenv = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__eUlWrG3KHljP9b52aqx5tLg_71, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
T26_ = NIM_NIL;
T26_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqsink___ast_3549(&(*yenv).typ, T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
if (!isCyclic) goto LA29_;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__6 = getCycleParam__liftdestructors_438((&(*c)));
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__7 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_72, (*c).info, yenv, colontmpD__6, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__8 = genIf__liftdestructors_184(c, yenv, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(body, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__9 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(body, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__10 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(body, colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
}
goto LA27_;
LA29_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__11 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_73, (*c).info, yenv, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
colontmpD__12 = genIf__liftdestructors_184(c, yenv, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
add__ast_6233(body, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
colontmpD__13 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
add__ast_6233(body, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
colontmpD__14 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
add__ast_6233(body, colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
{
LA35_:;
}
{
oldNimErrFin35_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
*nimErr_ = oldNimErrFin35_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
}
LA27_: ;
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&yenv);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
colontmpD__15 = NIM_NIL;
colontmpD__15 = genIf__liftdestructors_184(c, cond, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__17;
colontmpD__16 = NIM_NIL;
colontmpD__17 = NIM_NIL;
colontmpD__16 = genAddrOf__lowerings_627(xenv, (*c).idgen, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21));
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
colontmpD__17 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_74, (*c).info, colontmpD__16, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
add__ast_6233(body, colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
{
LA43_:;
}
{
oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin43_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&actions);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&xenv);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, closureOp__liftdestructors_1671)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin20_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4))) goto LA3_;
call = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
call = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*c).info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*call).typ, t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = createMagic__modulegraphs_8540((*c).g, (*c).idgen, TM__eUlWrG3KHljP9b52aqx5tLg_76, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)200));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T5_ = NIM_NIL;
T5_ = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*call)._kind_6.sons.p->data[((NI)0)], T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*call)._kind_6.sons.p->data[((NI)1)], y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newAsgnStmt__liftdestructors_108(x, call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T7_;
NIM_BOOL T8_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xx;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T14_;
T7_ = (NIM_BOOL)0;
T8_ = (NIM_BOOL)0;
T8_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0);
if (!(T8_)) goto LA9_;
T8_ = (((*(*(*c).g).config).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)6)))&31U)))!=0);
LA9_: ;
T7_ = T8_;
if (T7_) goto LA10_;
T7_ = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5));
LA10_: ;
if (!T7_) goto LA11_;
xx = NIM_NIL;
xx = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__eUlWrG3KHljP9b52aqx5tLg_77, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
T14_ = NIM_NIL;
T14_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqsink___ast_3549(&(*xx).typ, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__3 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_78, (*c).info, xx, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__4 = genIf__liftdestructors_184(c, xx, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__5 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* yy;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T21_;
yy = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
yy = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__eUlWrG3KHljP9b52aqx5tLg_79, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
T21_ = NIM_NIL;
T21_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
eqsink___ast_3549(&(*yy).typ, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__6 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_80, (*c).info, yy, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__7 = genIf__liftdestructors_184(c, yy, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(body, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__8 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_81, (*c).info, xx, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__9 = genIf__liftdestructors_184(c, xx, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(body, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__10 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
add__ast_6233(body, colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&yy);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
*nimErr_ = oldNimErrFin20_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* des;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
des = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__11 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_82, (*c).info, xx, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
des = genIf__liftdestructors_184(c, xx, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
NI T28_;
T28_ = (NI)0;
T28_ = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
if (!(T28_ == ((NI)0))) goto LA29_;
add__ast_6233(body, des);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
}
goto LA26_;
LA29_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp;
blitTmp = des;
des = 0;
insert__liftdestructors_1587((&(*body)._kind_6.sons), blitTmp, ((NI)0));
}
LA26_: ;
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
eqdestroy___ast_3454(&des);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
}
break;
}
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&xx);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin13_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA11_: ;
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, ownedRefOp__liftdestructors_1636)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actions;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* elemType;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
actions = NIM_NIL;
elemType = NIM_NIL;
actions = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
elemType = lastSon__ast_4811(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* alignOf_1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T8_;
T4_ = (NIM_BOOL)0;
T4_ = isFinal__types_754(elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
colontmpD_ = NIM_NIL;
alignOf_1 = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD_ = genDeref__lowerings_633(x, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
addDestructorCall__liftdestructors_664(c, elemType, actions, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD__2 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*c).info, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
alignOf_1 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)11), TM__eUlWrG3KHljP9b52aqx5tLg_84, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_ = NIM_NIL;
T8_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqsink___ast_3549(&(*alignOf_1).typ, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD__3 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_85, (*c).info, x, alignOf_1, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(actions, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&alignOf_1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA5_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__4 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__5 = genDeref__lowerings_633(x, ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
addDestructorCall__liftdestructors_664(c, elemType, colontmpD__4, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__6 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_86, (*c).info, x, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(actions, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
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(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__7 = genIf__liftdestructors_184(c, x, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__8 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
colontmpD__9 = NIM_NIL;
colontmpD__9 = genIf__liftdestructors_184(c, x, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&elemType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&actions);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, ownedClosureOp__liftdestructors_1738)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xx;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* actions;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
xx = NIM_NIL;
actions = NIM_NIL;
colontmpD_ = NIM_NIL;
xx = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__eUlWrG3KHljP9b52aqx5tLg_87, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*xx).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
actions = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_88, (*c).info, xx, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(actions, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__2 = genIf__liftdestructors_184(c, xx, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = genIf__liftdestructors_184(c, xx, actions);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&actions);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&xx);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newHookCall__liftdestructors_464)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*x).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newSymNode__ast_4784(op);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!((((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)43)))&63U)))!=0))) goto LA4_;
(*c).canRaise = NIM_TRUE;
}
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*(*(*op).typ).sons.p->data[((NI)1)]).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA8_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = genAddr__liftdestructors_159(c, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA6_;
LA8_: ;
{
add__ast_6233(result, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
{
if (!!((y == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA16_;
add__ast_6233(result, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA16_: ;
{
NI T20_;
T20_ = (NI)0;
T20_ = len__ast_5071((*op).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T20_ == ((NI)4))) goto LA21_;
{
NI T25_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
T25_ = (NI)0;
T25_ = len__ast_5071((*(*c).fn).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T25_ == ((NI)4))) goto LA26_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = getCycleParam__liftdestructors_438((&(*c)));
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
LA28_:;
}
{
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin28_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA23_;
LA26_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
colontmpD__4 = boolLit__liftdestructors_430((*c).g, (*y).info, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin32_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA23_: ;
}
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(void, useSeqOrStrOp__liftdestructors_897)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin40_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t_2 = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
createTypeBoundOps__liftdestructors_48((*c).g, (*c).c, t, (*body).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&t_2, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* canon;
tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
T4_ = (NIM_BOOL)0;
colontmpD_ = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = (colontmpD_ == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (T4_) goto LA5_;
colontmpD__2 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = (colontmpD__2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
LA5_: ;
if (!T4_) goto LA6_;
canon = NIM_NIL;
nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
hashType__sighashes_461(t_2, 50, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
canon = getOrDefault__liftdestructors_979((*(*c).g).canonTypes, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
if (!!((canon == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA11_;
eqsink___ast_3549(&t_2, canon);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
canon = 0;
}
LA11_: ;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&canon);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
{
colontmpD__3 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
if (!(colontmpD__3 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA19_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA19_: ;
colontmpD__4 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__5 = newHookCall__liftdestructors_464(c, colontmpD__4, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *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_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* moveCall;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__6;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
moveCall = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
moveCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)149), TM__eUlWrG3KHljP9b52aqx5tLg_90, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(moveCall, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
colontmpD__6 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
if (!!(!((colontmpD__6 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))))) goto LA27_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_92);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
}
LA27_: ;
colontmpD__7 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
colontmpD__8 = destructorCall__liftdestructors_234(c, colontmpD__7, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(moveCall, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(body, moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__9;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
{
colontmpD__9 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
if (!!(!((colontmpD__9 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))))) goto LA35_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_94);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
}
LA35_: ;
colontmpD__10 = getAttachedOp__modulegraphs_4580((*c).g, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
colontmpD__11 = destructorCall__liftdestructors_234(c, colontmpD__10, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
add__ast_6233(body, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin32_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__12;
colontmpD__12 = NIM_NIL;
{
NIM_BOOL T43_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
T43_ = (NIM_BOOL)0;
T43_ = !(((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28)));
if (!(T43_)) goto LA44_;
colontmpD__12 = elemType__types_264(t_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
T43_ = canFormAcycle__types_766(colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
LA44_: ;
if (!T43_) goto LA45_;
op = NIM_NIL;
colontmpD__13 = NIM_NIL;
op = getAttachedOp__modulegraphs_4580((*c).g, t_2, (*c).kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
{
if (!(op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA50_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
eqdestroy___ast_3543(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA50_: ;
colontmpD__13 = newHookCall__liftdestructors_464(c, op, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
add__ast_6233(body, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
{
LA47_:;
}
{
oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
*nimErr_ = oldNimErrFin47_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
}
LA45_: ;
{
LA40_:;
}
{
oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin40_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerAsgnOrSink__liftdestructors_589)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** field) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
NIM_BOOL destructorOverriden;
if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0)) goto LA3_;
op = NIM_NIL;
eqcopy___ast_4063(&op, (*field));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
destructorOverriden = destructorOverriden__liftdestructors_61((*c).g, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
NIM_BOOL T8_;
NIM_BOOL T9_;
NIM_BOOL T12_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T8_ = (NIM_BOOL)0;
T9_ = (NIM_BOOL)0;
T9_ = !((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T9_)) goto LA10_;
T9_ = !((op == (*c).fn));
LA10_: ;
T8_ = T9_;
if (!(T8_)) goto LA11_;
T12_ = (NIM_BOOL)0;
T12_ = (((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
if (T12_) goto LA13_;
T12_ = destructorOverriden;
LA13_: ;
T8_ = T12_;
LA11_: ;
if (!T8_) goto LA14_;
colontmpD_ = NIM_NIL;
{
if (!(((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24)))&63U)))!=0)) goto LA19_;
(*(*c).fn).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24))) & 63);
}
LA19_: ;
colontmpD_ = newHookCall__liftdestructors_464(c, op, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
result = NIM_TRUE;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
goto LA6_;
LA14_: ;
{
NIM_BOOL T24_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T29_;
T24_ = (NIM_BOOL)0;
T24_ = (op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (!(T24_)) goto LA25_;
T24_ = destructorOverriden;
LA25_: ;
if (!T24_) goto LA26_;
colontmpD__2 = NIM_NIL;
T29_ = NIM_NIL;
T29_ = produceSym__liftdestructors_41((*c).g, (*c).c, t, (*c).kind, (*c).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
eqsink___ast_4066(&op, T29_);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
colontmpD__2 = newHookCall__liftdestructors_464(c, op, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
result = NIM_TRUE;
{
LA28_:;
}
{
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
*nimErr_ = oldNimErrFin28_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
goto LA6_;
LA26_: ;
LA6_: ;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!(((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0)) goto LA35_;
op_2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
{
tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w T40_;
NIM_BOOL T41_;
T40_ = 0;
T41_ = (NIM_BOOL)0;
T41_ = sameType__types_2000(t, (*c).asgnForType, T40_);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
if (!T41_) goto LA42_;
{
if (!(*c).recurse) goto LA46_;
eqcopy___ast_4063(&op_2, (*c).fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
}
goto LA44_;
LA46_: ;
{
(*c).recurse = NIM_TRUE;
result = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&op_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA44_: ;
}
goto LA38_;
LA42_: ;
{
eqcopy___ast_4063(&op_2, (*field));
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T54_;
if (!(op_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA52_;
T54_ = NIM_NIL;
T54_ = produceSym__liftdestructors_41((*c).g, (*c).c, t, (*c).kind, (*c).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
eqsink___ast_4066(&op_2, T54_);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
}
LA52_: ;
}
LA38_: ;
{
if (!(((*op_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24)))&63U)))!=0)) goto LA57_;
(*(*c).fn).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24))) & 63);
}
LA57_: ;
{
NIM_BOOL T61_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T64_;
T61_ = (NIM_BOOL)0;
T61_ = isGenericRoutine__ast_6056((*op_2).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
if (!T61_) goto LA62_;
T64_ = NIM_NIL;
T64_ = instantiateGeneric__liftdestructors_573(c, op_2, t, (*t).typeInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
eqsink___ast_4066(&op_2, T64_);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
eqcopy___ast_4063(&(*field), op_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
}
LA62_: ;
colontmpD__3 = newHookCall__liftdestructors_464(c, op_2, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
add__ast_6233(body, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
result = NIM_TRUE;
{
LA37_:;
}
{
oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&op_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin37_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA35_: ;
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newDeepCopyCall__liftdestructors_537)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD_ = newOpCall__liftdestructors_519(c, op, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newAsgnStmt__liftdestructors_108(x, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, considerUserDefinedOp__liftdestructors_713)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
op = NIM_NIL;
op = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
NIM_BOOL T5_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
T5_ = (NIM_BOOL)0;
T5_ = !((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T5_)) goto LA6_;
T5_ = (((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
LA6_: ;
if (!T5_) goto LA7_;
colontmpD_ = NIM_NIL;
{
NIM_BOOL T12_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T15_;
T12_ = (NIM_BOOL)0;
T12_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
if (!T12_) goto LA13_;
T15_ = NIM_NIL;
T15_ = instantiateGeneric__liftdestructors_573(c, op, t, (*t).typeInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqsink___ast_4066(&op, T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
setAttachedOp__modulegraphs_5170((*c).g, ((NI) ((*(*c).idgen).module)), t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), op);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
}
LA13_: ;
colontmpD_ = destructorCall__liftdestructors_234(c, op, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
result = NIM_TRUE;
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA7_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op_2;
op_2 = NIM_NIL;
op_2 = getAttachedOp__modulegraphs_4580((*c).g, t, (*c).kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
NIM_BOOL T24_;
T24_ = (NIM_BOOL)0;
T24_ = !((op_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T24_)) goto LA25_;
T24_ = (((*op_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
LA25_: ;
if (!T24_) goto LA26_;
{
NIM_BOOL T30_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T33_;
T30_ = (NIM_BOOL)0;
T30_ = isGenericRoutine__ast_6056((*op_2).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
if (!T30_) goto LA31_;
T33_ = NIM_NIL;
T33_ = instantiateGeneric__liftdestructors_573(c, op_2, t, (*t).typeInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqsink___ast_4066(&op_2, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
setAttachedOp__modulegraphs_5170((*c).g, ((NI) ((*(*c).idgen).module)), t, (*c).kind, op_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA31_: ;
}
LA26_: ;
result = considerAsgnOrSink__liftdestructors_589(c, t, body, x, y, &op_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
if (!!((op_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA36_;
setAttachedOp__modulegraphs_5170((*c).g, ((NI) ((*(*c).idgen).module)), t, (*c).kind, op_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA36_: ;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op_3;
op_3 = NIM_NIL;
op_3 = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4));
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!!((op_3 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA44_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newDeepCopyCall__liftdestructors_537(c, op_3, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
result = NIM_TRUE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
}
LA44_: ;
{
LA41_:;
}
{
oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin41_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSeqCall__liftdestructors_798)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lenCall;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
lenCall = NIM_NIL;
result = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)34), TM__eUlWrG3KHljP9b52aqx5tLg_96, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
lenCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)39), TM__eUlWrG3KHljP9b52aqx5tLg_97, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*lenCall).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, lenCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&lenCall);
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*, dotField__liftdestructors_97)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* f) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45), (*x).info, ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
colontmpD_ = skipTypes__ast_4803((*x).typ, TM__eUlWrG3KHljP9b52aqx5tLg_9);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23))) goto LA3_;
T5_ = NIM_NIL;
T5_ = newDeref__lowerings_12(x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)0)], x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
T7_ = NIM_NIL;
T7_ = newSymNode__ast_4787(f, (*x).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T7_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*f).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA3_;
result = ((NI)0);
}
goto LA1_;
LA3_: ;
{
result = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObj__liftdestructors_253)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y, NIM_BOOL enforceDefaultOp) {
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin72_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* f;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T7_;
f = NIM_NIL;
b = NIM_NIL;
colontmpD_ = NIM_NIL;
{
if (!!(((*c).filterDiscriminator == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA5_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&f);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA5_: ;
eqcopy___ast_4063(&f, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T7_ = NIM_NIL;
{
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3))) goto LA10_;
eqcopy___ast_3457(&b, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA8_;
LA10_: ;
{
b = dotField__liftdestructors_97(y, f);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA8_: ;
{
NIM_BOOL T15_;
NIM_BOOL T16_;
NIM_BOOL T17_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T15_ = (NIM_BOOL)0;
T16_ = (NIM_BOOL)0;
T17_ = (NIM_BOOL)0;
T17_ = (((*f).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41)))&63U)))!=0);
if (!(T17_)) goto LA18_;
colontmpD_ = skipTypes__ast_4803((*f).typ, TM__eUlWrG3KHljP9b52aqx5tLg_9);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T17_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25));
LA18_: ;
T16_ = T17_;
if (!(T16_)) goto LA19_;
T16_ = ((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5) || (*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)7));
LA19_: ;
T15_ = T16_;
if (T15_) goto LA20_;
T15_ = enforceDefaultOp;
LA20_: ;
if (!T15_) goto LA21_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = dotField__liftdestructors_97(x, f);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
defaultOp__liftdestructors_135(c, (*f).typ, body, colontmpD__2, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA13_;
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
colontmpD__3 = NIM_NIL;
colontmpD__3 = dotField__liftdestructors_97(x, f);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
fillBody__liftdestructors_35(c, (*f).typ, body, colontmpD__3, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA13_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&f);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)139):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* oldfilterDiscriminator;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* caseStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* access;
NIM_BOOL localEnforceDefaultOp;
NI emptyBranches;
oldfilterDiscriminator = NIM_NIL;
caseStmt = NIM_NIL;
access = NIM_NIL;
localEnforceDefaultOp = enforceDefaultOp;
{
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA prevKind;
NIM_BOOL prevAddMemReset;
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2))) goto LA34_;
prevKind = (*c).kind;
prevAddMemReset = (*c).addMemReset;
(*c).kind = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0);
(*c).addMemReset = NIM_TRUE;
fillBodyObj__liftdestructors_253(c, n, body, x, y, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
(*c).kind = prevKind;
(*c).addMemReset = prevAddMemReset;
localEnforceDefaultOp = NIM_TRUE;
}
LA34_: ;
{
if (!!(((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0)))) goto LA38_;
fillBodyObj__liftdestructors_253(c, (*n)._kind_6.sons.p->data[((NI)0)], body, x, y, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
}
LA38_: ;
eqcopy___ast_4063(&oldfilterDiscriminator, (*c).filterDiscriminator);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
if (!((*c).filterDiscriminator == (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym)) goto LA42_;
eqsink___ast_4066(&(*c).filterDiscriminator, ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
}
LA42_: ;
caseStmt = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
access = dotField__liftdestructors_97(x, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(caseStmt, access);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
emptyBranches = ((NI)0);
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
NI T48_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T49_;
NI T50_;
if (!(i_2 < colontmp_)) goto LA46 ;
branch = NIM_NIL;
colontmpD__4 = NIM_NIL;
i = i_2;
branch = copyTree__ast_5856((*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
T48_ = (NI)0;
T48_ = len__ast_3325(branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
T49_ = NIM_NIL;
T49_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
eqsink___ast_3460(&(*branch)._kind_6.sons.p->data[(NI)(T48_ - ((NI)1))], T49_);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
colontmpD__4 = lastSon__ast_6268((*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
T50_ = (NI)0;
T50_ = len__ast_3325(branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
fillBodyObj__liftdestructors_253(c, colontmpD__4, (*branch)._kind_6.sons.p->data[(NI)(T50_ - ((NI)1))], x, y, localEnforceDefaultOp);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
{
NI T53_;
NI T54_;
T53_ = (NI)0;
T53_ = len__ast_3325(branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
T54_ = (NI)0;
T54_ = len__ast_3325((*branch)._kind_6.sons.p->data[(NI)(T53_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
if (!(T54_ == ((NI)0))) goto LA55_;
emptyBranches += ((NI)1);
}
LA55_: ;
add__ast_6233(caseStmt, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
i_2 += ((NI)1);
{
LA47_:;
}
{
oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
*nimErr_ = oldNimErrFin47_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
} LA46: ;
}
}
{
NI T61_;
T61_ = (NI)0;
T61_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
if (!!((emptyBranches == (NI)(T61_ - ((NI)1))))) goto LA62_;
add__ast_6233(body, caseStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
}
LA62_: ;
{
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0))) goto LA66_;
fillBodyObj__liftdestructors_253(c, (*n)._kind_6.sons.p->data[((NI)0)], body, x, y, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
}
LA66_: ;
eqsink___ast_4066(&(*c).filterDiscriminator, oldfilterDiscriminator);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
oldfilterDiscriminator = 0;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&access);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&caseStmt);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&oldfilterDiscriminator);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)138):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* t;
t = NIM_NIL;
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA75 ;
i_3 = i_4;
eqcopy___ast_3457(&t, (*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
fillBodyObj__liftdestructors_253(c, t, body, x, y, enforceDefaultOp);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
i_4 += ((NI)1);
} LA75: ;
}
}
{
LA72_:;
}
{
oldNimErrFin72_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin72_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
default:
{
illFormedAstLocal__semdata_2734(n, (*(*c).g).config);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjTImpl__liftdestructors_363)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NI T4_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
T3_ = (NIM_BOOL)0;
T4_ = (NI)0;
T4_ = len__ast_5071(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = (((NI)0) < T4_);
if (!(T3_)) goto LA5_;
T3_ = !(((*t).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA5_: ;
if (!T3_) goto LA6_;
colontmpD_ = NIM_NIL;
colontmpD_ = skipTypes__ast_4803((*t).sons.p->data[((NI)0)], TM__eUlWrG3KHljP9b52aqx5tLg_98);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
fillBody__liftdestructors_35(c, colontmpD_, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
fillBodyObj__liftdestructors_253(c, (*t).n, body, x, y, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBodyObjT__liftdestructors_378)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj;
NIM_BOOL hasCase;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
obj = NIM_NIL;
hasCase = isCaseObj__trees_165((*t).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&obj, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
while (1) {
NIM_BOOL T4_;
NI T5_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T7_;
NIM_BOOL T8_;
T4_ = (NIM_BOOL)0;
T5_ = (NI)0;
T5_ = len__ast_5071(obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = (((NI)0) < T5_);
if (!(T4_)) goto LA6_;
T4_ = !(((*obj).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA6_: ;
if (!T4_) goto LA3 ;
T7_ = NIM_NIL;
T7_ = skipTypes__ast_4803((*obj).sons.p->data[((NI)0)], TM__eUlWrG3KHljP9b52aqx5tLg_98);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&obj, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T8_ = (NIM_BOOL)0;
T8_ = hasCase;
if (T8_) goto LA9_;
T8_ = isCaseObj__trees_165((*obj).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA9_: ;
hasCase = T8_;
} LA3: ;
}
{
NIM_BOOL T12_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dummy;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* temp;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blob;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* wasMovedCall;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T17_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T18_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T32_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T33_;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA prevKind;
T12_ = (NIM_BOOL)0;
T12_ = hasCase;
if (!(T12_)) goto LA13_;
T12_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4));
LA13_: ;
if (!T12_) goto LA14_;
dummy = NIM_NIL;
colontmpD_ = NIM_NIL;
temp = NIM_NIL;
colontmpD__2 = NIM_NIL;
v = NIM_NIL;
blob = NIM_NIL;
wasMovedCall = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_99);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T17_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T18_ = 0;
dummy = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5), colontmpD_, T17_, (*c).fn, (*c).info, T18_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqcopy___ast_3546(&(*dummy).typ, (*y).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
NIM_BOOL T21_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T25_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T26_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T27_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T28_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T29_;
T21_ = (NIM_BOOL)0;
T21_ = ccgIntroducedPtr__ccgutils_157((*(*c).g).config, dummy, (*y).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
if (!T21_) goto LA22_;
cond = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
colontmpD__13 = NIM_NIL;
nimZeroMem((void*)T25_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__5 = getSysMagic__magicsys_29((*c).g, (*c).info, TM__eUlWrG3KHljP9b52aqx5tLg_101, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)87));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
colontmpD__6 = newSymNode__ast_4784(colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T25_[0] = colontmpD__6;
colontmpD__7 = makePtrType__semdata_2351((*c).fn, (*x).typ, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
nimZeroMem((void*)T26_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T26_[0] = x;
colontmpD__8 = newTreeIT__ast_4014(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63), (*c).info, colontmpD__7, T26_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T25_[1] = colontmpD__8;
colontmpD__9 = makePtrType__semdata_2351((*c).fn, (*y).typ, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
nimZeroMem((void*)T27_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T27_[0] = y;
colontmpD__10 = newTreeIT__ast_4014(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63), (*c).info, colontmpD__9, T27_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T25_[2] = colontmpD__10;
cond = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T25_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T28_ = NIM_NIL;
T28_ = getSysType__magicsys_60((*c).g, (*x).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
eqsink___ast_3549(&(*cond).typ, T28_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
nimZeroMem((void*)T29_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__11 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T29_[0] = colontmpD__11;
colontmpD__12 = newTreeI__ast_4003(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109), (*c).info, T29_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
colontmpD__13 = genIf__liftdestructors_184(c, cond, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
add__ast_6233(body, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3543(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3543(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_4060(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
LA22_: ;
colontmpD__2 = getIdent__idents_166((*(*c).g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_102);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T32_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T33_ = 0;
temp = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5), colontmpD__2, T32_, (*c).fn, (*c).info, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqcopy___ast_3546(&(*temp).typ, (*x).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
(*temp).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2))) & 63);
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
blob = newSymNode__ast_4784(temp);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
addVar__lowerings_76(v, blob, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, v);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
wasMovedCall = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__3 = createMagic__modulegraphs_8540((*c).g, (*c).idgen, TM__eUlWrG3KHljP9b52aqx5tLg_103, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)150));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__4 = newSymNode__ast_4784(colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(wasMovedCall, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(wasMovedCall, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(body, wasMovedCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
fillBodyObjTImpl__liftdestructors_363(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
prevKind = (*c).kind;
(*c).kind = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0);
fillBodyObjTImpl__liftdestructors_363(c, t, body, blob, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
(*c).kind = prevKind;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&wasMovedCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&blob);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&temp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&dummy);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA10_;
LA14_: ;
{
fillBodyObjTImpl__liftdestructors_363(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA10_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBodyTup__liftdestructors_74)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_5071(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
if (!(i_2 < colontmp_)) goto LA3 ;
lit = NIM_NIL;
b = NIM_NIL;
colontmpD_ = NIM_NIL;
i = i_2;
lit = newIntLit__lowerings_702((*c).g, (*x).info, ((NI64) (i)));
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
T5_ = NIM_NIL;
{
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3))) goto LA8_;
eqcopy___ast_3457(&b, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
}
goto LA6_;
LA8_: ;
{
b = at__liftdestructors_54(y, lit, (*t).sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
}
LA6_: ;
colontmpD_ = at__liftdestructors_54(x, lit, (*t).sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
fillBody__liftdestructors_35(c, (*t).sons.p->data[i], body, colontmpD_, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
i_2 += ((NI)1);
{
LA4_:;
}
{
oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&lit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin4_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA3: ;
}
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillBody__liftdestructors_35)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin65_;
NIM_BOOL oldNimErrFin114_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*t).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)3):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)63):
{
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)49):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47):
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22):
{
{
if (!((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA6_;
atomicRefOp__liftdestructors_1384(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA4_;
LA6_: ;
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = (((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0);
if (!(T9_)) goto LA10_;
T9_ = (((*(*(*c).g).config).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)6)))&31U)))!=0);
LA10_: ;
if (!T9_) goto LA11_;
weakrefOp__liftdestructors_1548(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA4_;
LA11_: ;
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA4_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25):
{
{
if (!((*t).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9))) goto LA17_;
{
if (!((*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA21_;
atomicClosureOp__liftdestructors_1472(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA19_;
LA21_: ;
{
closureOp__liftdestructors_1671(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA19_: ;
}
goto LA15_;
LA17_: ;
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA15_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* base;
base = NIM_NIL;
base = skipTypes__ast_4803(t, TM__eUlWrG3KHljP9b52aqx5tLg_83);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
{
if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA29_;
switch ((*base).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22):
{
ownedRefOp__liftdestructors_1636(c, base, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
eqdestroy___ast_3543(&base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25):
{
{
if (!((*base).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9))) goto LA35_;
ownedClosureOp__liftdestructors_1738(c, base, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
eqdestroy___ast_3543(&base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA35_: ;
}
break;
default:
{
}
break;
}
}
LA29_: ;
defaultOp__liftdestructors_135(c, base, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
{
LA26_:;
}
{
oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&base);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin26_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16):
{
{
NIM_BOOL T43_;
T43_ = (NIM_BOOL)0;
T43_ = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0);
if (T43_) goto LA44_;
T43_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA44_: ;
if (!T43_) goto LA45_;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA41_;
LA45_: ;
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA41_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24):
{
{
NIM_BOOL T51_;
T51_ = (NIM_BOOL)0;
T51_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T51_) goto LA52_;
useSeqOrStrOp__liftdestructors_897(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA49_;
LA52_: ;
{
NIM_BOOL T57_;
if (!(((*(*(*c).g).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)41)))&63U)))!=0)) goto LA55_;
T57_ = (NIM_BOOL)0;
T57_ = considerUserDefinedOp__liftdestructors_713(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T57_);
}
goto LA49_;
LA55_: ;
{
if (!(((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0)) goto LA59_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4))) goto LA63_;
colontmpD_ = NIM_NIL;
colontmpD_ = newSeqCall__liftdestructors_798(c, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
{
LA65_:;
}
{
oldNimErrFin65_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin65_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA63_: ;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA49_;
LA59_: ;
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA49_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
{
{
NIM_BOOL T72_;
T72_ = (NIM_BOOL)0;
T72_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T72_) goto LA73_;
useSeqOrStrOp__liftdestructors_897(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA70_;
LA73_: ;
{
NIM_BOOL T78_;
if (!(((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0)) goto LA76_;
T78_ = (NIM_BOOL)0;
T78_ = considerUserDefinedOp__liftdestructors_713(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T78_);
}
goto LA70_;
LA76_: ;
{
defaultOp__liftdestructors_135(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA70_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17):
{
{
NIM_BOOL T83_;
T83_ = (NIM_BOOL)0;
T83_ = considerUserDefinedOp__liftdestructors_713(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T83_)) goto LA84_;
{
NIM_BOOL T88_;
NIM_BOOL T89_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
T88_ = (NIM_BOOL)0;
T89_ = (NIM_BOOL)0;
T89_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || (*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
if (!(T89_)) goto LA90_;
T89_ = !(((*t).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
LA90_: ;
T88_ = T89_;
if (!(T88_)) goto LA91_;
T88_ = (((*(*t).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)6)))&63U)))!=0);
LA91_: ;
if (!T88_) goto LA92_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newAsgnStmt__liftdestructors_108(x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA86_;
LA92_: ;
{
fillBodyObjT__liftdestructors_378(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA86_: ;
}
LA84_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13):
{
{
NIM_BOOL T98_;
T98_ = (NIM_BOOL)0;
T98_ = considerUserDefinedOp__liftdestructors_713(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T98_)) goto LA99_;
fillBody__liftdestructors_35(c, (*t).sons.p->data[((NI)0)], body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA99_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18):
{
fillBodyTup__liftdestructors_74(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27):
{
{
NIM_BOOL T105_;
NIM_BOOL T107_;
T105_ = (NIM_BOOL)0;
T105_ = ((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (!(T105_)) goto LA106_;
T107_ = (NIM_BOOL)0;
T107_ = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31)))&63U)))!=0);
if (T107_) goto LA108_;
T107_ = useNoGc__liftdestructors_549((&(*c)), t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA108_: ;
T105_ = T107_;
LA106_: ;
if (!T105_) goto LA109_;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA103_;
LA109_: ;
{
}
LA103_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)61):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)50):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)51):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)52):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)53):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)54):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)56):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)57):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)58):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)59):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)12):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)10):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)9):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)30):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60):
{
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)15):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)55):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)11):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)4):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
colontmpD__3 = NIM_NIL;
colontmpD__3 = lastSon__ast_4811(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
fillBody__liftdestructors_35(c, colontmpD__3, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
{
LA114_:;
}
{
oldNimErrFin114_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin114_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)62):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)64):
{
{
if (!NIM_TRUE) goto LA120_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_105);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA120_: ;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addIncStmt__liftdestructors_785)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* incCall;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
incCall = NIM_NIL;
colontmpD_ = NIM_NIL;
incCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)29), TM__eUlWrG3KHljP9b52aqx5tLg_107, i);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newIntLit__lowerings_702((*c).g, (*c).info, IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(incCall, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, incCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&incCall);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, forallElements__liftdestructors_826)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* i;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* whileLoop;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* elemType;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI counterIdx;
tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T2_;
NI64 T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
i = NIM_NIL;
whileLoop = NIM_NIL;
elemType = NIM_NIL;
b = NIM_NIL;
colontmpD_ = NIM_NIL;
counterIdx = len__ast_3325(body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = firstOrd__types_1373((*(*c).g).config, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = (NI64)0;
T3_ = toInt64__int495056_77(T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i = declareCounter__liftdestructors_755(c, body, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
whileLoop = genWhileLoop__liftdestructors_172(c, i, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
elemType = lastSon__ast_4811(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
{
if (!((*c).kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3))) goto LA7_;
eqcopy___ast_3457(&b, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA7_: ;
{
b = at__liftdestructors_54(y, i, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
colontmpD_ = at__liftdestructors_54(x, i, elemType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
fillBody__liftdestructors_35(c, elemType, (*whileLoop)._kind_6.sons.p->data[((NI)1)], colontmpD_, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T12_;
T12_ = (NI)0;
T12_ = len__ast_3325((*whileLoop)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(((NI)0) < T12_)) goto LA13_;
addIncStmt__liftdestructors_785(c, (*whileLoop)._kind_6.sons.p->data[((NI)1)], i);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA10_;
LA13_: ;
{
setLen__ast_3741((&(*body)._kind_6.sons), ((NI) (counterIdx)));
}
LA10_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&elemType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&whileLoop);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&i);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillSeqOp__liftdestructors_861)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
colontmpD_ = NIM_NIL;
colontmpD_ = setLenSeqCall__liftdestructors_818(c, t, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* moveCall;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
moveCall = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
moveCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)149), TM__eUlWrG3KHljP9b52aqx5tLg_108, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(moveCall, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
colontmpD__2 = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!!(!((colontmpD__2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))))) goto LA9_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_110);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA9_: ;
colontmpD__3 = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__4 = destructorCall__liftdestructors_234(c, colontmpD__3, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(moveCall, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(body, moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
colontmpD__5 = NIM_NIL;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
colontmpD__5 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)151), TM__eUlWrG3KHljP9b52aqx5tLg_112, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
add__ast_6233(body, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__6;
colontmpD__6 = NIM_NIL;
{
NIM_BOOL T21_;
colontmpD__6 = elemType__types_264(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
T21_ = (NIM_BOOL)0;
T21_ = canFormAcycle__types_766(colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
if (!T21_) goto LA22_;
forallElements__liftdestructors_826(c, t, body, x, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
LA22_: ;
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, fillStrOp__liftdestructors_1338)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*c).kind) {
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1):
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = genAddr__liftdestructors_159(c, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
colontmpD__2 = callCodegenProc__lowerings_642((*c).g, TM__eUlWrG3KHljP9b52aqx5tLg_114, (*c).info, colontmpD_, y, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(body, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *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_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* moveCall;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
moveCall = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
moveCall = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)149), TM__eUlWrG3KHljP9b52aqx5tLg_115, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(moveCall, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
colontmpD__3 = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!!(!((colontmpD__3 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))))) goto LA9_;
failedAssertImpl__stdZassertions_224(TM__eUlWrG3KHljP9b52aqx5tLg_117);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA9_: ;
colontmpD__4 = getAttachedOp__modulegraphs_4580((*c).g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD__5 = destructorCall__liftdestructors_234(c, colontmpD__4, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(moveCall, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
add__ast_6233(body, moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&moveCall);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
colontmpD__6 = NIM_NIL;
colontmpD__6 = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)151), TM__eUlWrG3KHljP9b52aqx5tLg_118, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(body, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3):
{
}
break;
}
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, lacksMTypeField__types_4415)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = !(((*typ).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T2_)) goto LA3_;
T2_ = (((*(*typ).sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)11)))&63U)))!=0);
LA3_: ;
T1_ = T2_;
if (T1_) goto LA4_;
T1_ = (((*typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)2)))&63U)))!=0);
LA4_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeFieldCopy__liftdestructors_1931)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* y) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xx;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* yy;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
xx = NIM_NIL;
yy = NIM_NIL;
colontmpD_ = NIM_NIL;
xx = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)158), TM__eUlWrG3KHljP9b52aqx5tLg_120, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
yy = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)158), TM__eUlWrG3KHljP9b52aqx5tLg_121, y);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = NIM_NIL;
T2_ = getSysType__magicsys_60((*c).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*xx).typ, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*yy).typ, (*xx).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newAsgnStmt__liftdestructors_108(xx, yy);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(body, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&yy);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&xx);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, produceSym__liftdestructors_41)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA a;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* colontmpD__2;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA colontmpD__3;
tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* colontmpD__4;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* colontmpD__6;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__7;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dest;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* d;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA));
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD__2 = NIM_NIL;
colontmpD__3 = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
dest = NIM_NIL;
d = NIM_NIL;
colontmpD__8 = NIM_NIL;
src = NIM_NIL;
{
if (!((*typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)13))) goto LA4_;
result = produceSymDistinctType__liftdestructors_1857(g, c, typ, kind, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&src);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&d);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___liftdestructors_2009((&a));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
result = getAttachedOp__modulegraphs_4580(g, typ, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T10_;
if (!(result == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA8_;
T10_ = NIM_NIL;
T10_ = symPrototype__liftdestructors_1878(g, typ, (*typ).owner, kind, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&result, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA));
colontmpD_ = info;
a.info = colontmpD_;
colontmpD__2 = 0;
eqcopy___modulegraphs_11315(&colontmpD__2, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.g = colontmpD__2;
colontmpD__3 = kind;
a.kind = colontmpD__3;
colontmpD__4 = 0;
eqcopy___semdata_2058(&colontmpD__4, c, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.c = colontmpD__4;
colontmpD__5 = 0;
eqcopy___ast_3546(&colontmpD__5, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.asgnForType = colontmpD__5;
colontmpD__6 = 0;
eqcopy___ast_3247(&colontmpD__6, idgen, NIM_TRUE);
a.idgen = colontmpD__6;
colontmpD__7 = 0;
eqcopy___ast_4063(&colontmpD__7, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.fn = colontmpD__7;
eqcopy___ast_4063(&dest, (*(*(*(*result).typ).n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__8 = newSymNode__ast_4784(dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
d = newDeref__lowerings_12(colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_ = NIM_NIL;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__9;
if (!(kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0))) goto LA14_;
colontmpD__9 = NIM_NIL;
colontmpD__9 = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
src = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3), info, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA12_;
LA14_: ;
{
src = newSymNode__ast_4784((*(*(*(*result).typ).n)._kind_6.sons.p->data[((NI)2)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA12_: ;
setAttachedOpPartial__modulegraphs_6349(g, ((NI) ((*idgen).module)), typ, kind, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T22_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
T22_ = (NIM_BOOL)0;
T22_ = (kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
if (!(T22_)) goto LA23_;
T22_ = destructorOverriden__liftdestructors_61(g, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA23_: ;
if (!T22_) goto LA24_;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
(*dest).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41))) & 63);
colontmpD__10 = getAttachedOp__modulegraphs_4580(g, typ, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
colontmpD__11 = newOpCall__liftdestructors_519((&a), colontmpD__10, (*d)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
add__ast_6233((*(*result).ast)._kind_6.sons.p->data[((NI)6)], colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
colontmpD__12 = newAsgnStmt__liftdestructors_108(d, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
add__ast_6233((*(*result).ast)._kind_6.sons.p->data[((NI)6)], colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
{
LA26_:;
}
{
oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin26_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA20_;
LA24_: ;
{
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ tk;
tk = (tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__13;
if (!((*(*g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5) || (*(*g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)7))) goto LA32_;
colontmpD__13 = NIM_NIL;
colontmpD__13 = skipTypes__ast_4803(typ, TM__eUlWrG3KHljP9b52aqx5tLg_12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
tk = (*colontmpD__13).kind;
eqdestroy___ast_3543(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA30_;
LA32_: ;
{
tk = ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)0);
}
LA30_: ;
switch (tk) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24):
{
fillSeqOp__liftdestructors_861((&a), typ, (*(*result).ast)._kind_6.sons.p->data[((NI)6)], d, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
{
fillStrOp__liftdestructors_1338((&a), typ, (*(*result).ast)._kind_6.sons.p->data[((NI)6)], d, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
default:
{
fillBody__liftdestructors_35((&a), typ, (*(*result).ast)._kind_6.sons.p->data[((NI)6)], d, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T40_;
NIM_BOOL T41_;
NIM_BOOL T44_;
T40_ = (NIM_BOOL)0;
T41_ = (NIM_BOOL)0;
T41_ = (tk == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17));
if (!(T41_)) goto LA42_;
T41_ = (a.kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1) || a.kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2) || a.kind == ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)4));
LA42_: ;
T40_ = T41_;
if (!(T40_)) goto LA43_;
T44_ = (NIM_BOOL)0;
T44_ = lacksMTypeField__types_4415(typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T40_ = !(T44_);
LA43_: ;
if (!T40_) goto LA45_;
genTypeFieldCopy__liftdestructors_1931((&a), typ, (*(*result).ast)._kind_6.sons.p->data[((NI)6)], d, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA45_: ;
}
break;
}
}
LA20_: ;
{
if (!!(a.canRaise)) goto LA49_;
(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)43))) & 63);
}
LA49_: ;
completePartialOp__modulegraphs_6401(g, ((NI) ((*idgen).module)), typ, kind, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&src);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&d);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___liftdestructors_2009((&a));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, patchBody__liftdestructors_2074)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA3_;
{
NIM_BOOL T7_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
T7_ = (NIM_BOOL)0;
T7_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T7_)) goto LA8_;
T7_ = ((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)151));
LA8_: ;
if (!T7_) goto LA9_;
t = NIM_NIL;
colontmpD_ = NIM_NIL;
op = NIM_NIL;
t = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__eUlWrG3KHljP9b52aqx5tLg_122);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
colontmpD_ = getAttachedOp__modulegraphs_4580(g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
if (!(colontmpD_ == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA14_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = produceSym__liftdestructors_41(g, c, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
(void)(colontmpD__2);
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
LA14_: ;
op = getAttachedOp__modulegraphs_4580(g, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
if (!!((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA21_;
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
if (!T25_) goto LA26_;
internalErrorImpl__msgs_1497((*g).config, info, TM__eUlWrG3KHljP9b52aqx5tLg_124, (&TM__eUlWrG3KHljP9b52aqx5tLg_125));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
LA26_: ;
{
if (!((*op).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)151))) goto LA30_;
internalErrorImpl__msgs_1497((*g).config, info, TM__eUlWrG3KHljP9b52aqx5tLg_127, (&TM__eUlWrG3KHljP9b52aqx5tLg_128));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
LA30_: ;
T32_ = NIM_NIL;
T32_ = newSymNode__ast_4784(op);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
LA21_: ;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
}
LA3_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
x = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA39 ;
i = i_2;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
patchBody__liftdestructors_2074(g, c, x, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
i_2 += ((NI)1);
} LA39: ;
}
}
{
LA36_:;
}
{
oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin36_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, inst__liftdestructors_2111)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TContext__QUPFyDhhyyn3RQbxNbH7xg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
op = NIM_NIL;
op = getAttachedOp__modulegraphs_4580(g, t, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NIM_BOOL T5_;
T4_ = (NIM_BOOL)0;
T5_ = (NIM_BOOL)0;
T5_ = !((op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T5_)) goto LA6_;
T5_ = !(((*op).ast == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
LA6_: ;
T4_ = T5_;
if (!(T4_)) goto LA7_;
T4_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA7_: ;
if (!T4_) goto LA8_;
{
tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA a;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opInst;
if (!!(((*t).typeInst == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA12_;
nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA));
opInst = NIM_NIL;
a.info = info;
eqcopy___modulegraphs_11315(&a.g, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
a.kind = kind;
eqcopy___semdata_2058(&a.c, c, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
eqcopy___ast_3247(&a.idgen, idgen, NIM_TRUE);
opInst = instantiateGeneric__liftdestructors_573((&a), op, t, (*t).typeInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
if (!!(((*opInst).ast == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA17_;
patchBody__liftdestructors_2074(g, c, (*opInst).ast, info, a.idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA17_: ;
setAttachedOp__modulegraphs_5170(g, ((NI) ((*idgen).module)), t, kind, opInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&opInst);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___liftdestructors_2009((&a));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA10_;
LA12_: ;
{
liMessage__msgs_1159((*g).config, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__eUlWrG3KHljP9b52aqx5tLg_130, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__eUlWrG3KHljP9b52aqx5tLg_131), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA10_: ;
}
LA8_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isTrival__liftdestructors_2137)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
NI T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (s == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (T1_) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*s).ast == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T5_ = (NI)0;
T5_ = len__ast_3325((*(*s).ast)._kind_6.sons.p->data[((NI)6)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = (T5_ == ((NI)0));
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
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) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* skipped;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* canon;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA colontmpD_;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA lastAttached;
tyArray__MfsAeT5avx7SUbqVwNFpOA generics;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin52_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
skipped = NIM_NIL;
canon = NIM_NIL;
colontmpD_ = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
colontmpD__2 = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
colontmpD__3 = NIM_NIL;
{
NIM_BOOL T4_;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q T6_;
T4_ = (NIM_BOOL)0;
T4_ = (orig == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL));
if (T4_) goto LA5_;
T6_ = 0;
T4_ = !(((IL64(274880004096) & (*orig).flags) == T6_));
LA5_: ;
if (!T4_) goto LA7_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&canon);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&skipped);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA7_: ;
(*orig).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)38))) & 63);
skipped = skipTypes__ast_4803(orig, TM__eUlWrG3KHljP9b52aqx5tLg_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = isEmptyContainer__types_3868(skipped);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (T11_) goto LA12_;
T11_ = ((*skipped).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60));
LA12_: ;
if (!T11_) goto LA13_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&canon);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&skipped);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA13_: ;
nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
hashType__sighashes_461(skipped, 50, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
canon = getOrDefault__liftdestructors_979((*g).canonTypes, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4;
if (!(canon == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA17_;
colontmpD__4 = NIM_NIL;
colontmpD__4 = 0;
eqcopy___ast_3546(&colontmpD__4, skipped);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
X5BX5Deq___liftdestructors_2296((&(*g).canonTypes), h, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&canon, skipped);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
skipped = 0;
}
LA17_: ;
{
if (!((*(*g).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA21_;
colontmpD_ = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)3);
lastAttached = colontmpD_;
}
goto LA19_;
LA21_: ;
{
colontmpD__2 = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2);
lastAttached = colontmpD__2;
}
LA19_: ;
nimZeroMem((void*)generics, sizeof(tyArray__MfsAeT5avx7SUbqVwNFpOA));
{
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA k;
NI res;
k = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
res = ((NI)0);
{
while (1) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__5;
if (!(res <= ((NI) (lastAttached)))) goto LA26 ;
colontmpD__5 = NIM_NIL;
k = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA) (res));
colontmpD__5 = getAttachedOp__modulegraphs_4580(g, canon, k);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
generics[(k)- 0] = !((colontmpD__5 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__6;
if (!!(generics[(k)- 0])) goto LA30_;
colontmpD__6 = NIM_NIL;
colontmpD__6 = symPrototype__liftdestructors_1878(g, canon, (*canon).owner, k, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
setAttachedOp__modulegraphs_5170(g, ((NI) ((*idgen).module)), canon, k, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
*nimErr_ = oldNimErrFin32_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
}
LA30_: ;
res += ((NI)1);
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA26: ;
}
}
{
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA k_2;
NI res_2;
k_2 = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
res_2 = ((NI)0);
{
while (1) {
if (!(res_2 <= ((NI) (lastAttached)))) goto LA39 ;
k_2 = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA) (res_2));
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__7;
if (!!(generics[(k_2)- 0])) goto LA42_;
colontmpD__7 = NIM_NIL;
colontmpD__7 = produceSym__liftdestructors_41(g, c, canon, k_2, info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
(void)(colontmpD__7);
{
LA44_:;
}
{
oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin44_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA40_;
LA42_: ;
{
inst__liftdestructors_2111(g, c, canon, k_2, idgen, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA40_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__8;
if (!!((canon == orig))) goto LA50_;
colontmpD__8 = NIM_NIL;
colontmpD__8 = getAttachedOp__modulegraphs_4580(g, canon, k_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
setAttachedOp__modulegraphs_5170(g, ((NI) ((*idgen).module)), orig, k_2, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA52_;
{
LA52_:;
}
{
oldNimErrFin52_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin52_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA50_: ;
res_2 += ((NI)1);
} LA39: ;
}
}
{
NIM_BOOL T57_;
colontmpD__3 = getAttachedOp__modulegraphs_4580(g, orig, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T57_ = (NIM_BOOL)0;
T57_ = isTrival__liftdestructors_2137(colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T57_)) goto LA58_;
(*orig).flags |= ((NU64)1)<<(((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)31))) & 63);
}
LA58_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&canon);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&skipped);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genContainerOf__liftdestructors_189)(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* objType, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* intType;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* addrOf;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* castExpr1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dotExpr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* offsetOf;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* minusExpr;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* objPtr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
intType = NIM_NIL;
addrOf = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
castExpr1 = NIM_NIL;
colontmpD__4 = NIM_NIL;
dotExpr = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
offsetOf = NIM_NIL;
minusExpr = NIM_NIL;
objPtr = NIM_NIL;
colontmpD__7 = NIM_NIL;
intType = getSysType__magicsys_60((*c).g, unknownLineInfo__lineinfos_350, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = makePtrType__semdata_2351((*x).owner, (*x).typ, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addrOf = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63), (*c).info, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4784(x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = newDeref__lowerings_12(colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(addrOf, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
castExpr1 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61), (*c).info, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__4 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*c).info, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(castExpr1, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(castExpr1, addrOf);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
dotExpr = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45), (*c).info, (*x).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__5 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*c).info, objType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(dotExpr, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__6 = newSymNode__ast_4784(field);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(dotExpr, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
offsetOf = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)12), TM__eUlWrG3KHljP9b52aqx5tLg_134, dotExpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*offsetOf).typ, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
minusExpr = genBuiltin__liftdestructors_129(c, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)47), TM__eUlWrG3KHljP9b52aqx5tLg_136, castExpr1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*minusExpr).typ, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
intType = 0;
add__ast_6233(minusExpr, offsetOf);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
objPtr = makePtrType__semdata_2351((*objType).owner, objType, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61), (*c).info, objPtr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__7 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4), (*c).info, objPtr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, minusExpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&objPtr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&minusExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&offsetOf);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&dotExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&castExpr1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&addrOf);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&intType);
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*, produceDestructorForDiscriminator__liftdestructors_2038)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA a;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* colontmpD__4;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__5;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* discrimantDest;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* dst;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dstSym;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* d;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* placeHolder;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__8;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T3_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T4_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA));
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
discrimantDest = NIM_NIL;
dst = NIM_NIL;
colontmpD__6 = NIM_NIL;
dstSym = NIM_NIL;
d = NIM_NIL;
v = NIM_NIL;
colontmpD__7 = NIM_NIL;
placeHolder = NIM_NIL;
colontmpD__8 = NIM_NIL;
result = symPrototype__liftdestructors_1878(g, (*field).typ, (*typ).owner, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), info, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)(&a), sizeof(tyObject_TLiftCtx__9aCE1WMtDIS8nxwgBB9a3RIA));
colontmpD_ = info;
a.info = colontmpD_;
colontmpD__2 = 0;
eqcopy___modulegraphs_11315(&colontmpD__2, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.g = colontmpD__2;
a.kind = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0);
colontmpD__3 = 0;
eqcopy___ast_3546(&colontmpD__3, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.asgnForType = colontmpD__3;
colontmpD__4 = 0;
eqcopy___ast_3247(&colontmpD__4, idgen, NIM_TRUE);
a.idgen = colontmpD__4;
colontmpD__5 = 0;
eqcopy___ast_4063(&colontmpD__5, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.fn = colontmpD__5;
eqcopy___ast_3546(&a.asgnForType, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_4063(&a.filterDiscriminator, field);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
a.addMemReset = NIM_TRUE;
eqcopy___ast_4063(&discrimantDest, (*(*(*(*result).typ).n)._kind_6.sons.p->data[((NI)1)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__6 = getIdent__idents_166((*g).cache, TM__eUlWrG3KHljP9b52aqx5tLg_132);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = 0;
dst = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD__6, T2_, result, info, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
T4_ = makePtrType__semdata_2351((*typ).owner, typ, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*dst).typ, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
dstSym = newSymNode__ast_4784(dst);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
d = newDeref__lowerings_12(dstSym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__7 = genContainerOf__liftdestructors_189((&a), typ, field, discrimantDest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addVar__lowerings_76(v, dstSym, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233((*(*result).ast)._kind_6.sons.p->data[((NI)6)], v);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__8 = getSysType__magicsys_60(g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
placeHolder = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3), info, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
fillBody__liftdestructors_35((&a), typ, (*(*result).ast)._kind_6.sons.p->data[((NI)6)], d, placeHolder);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(a.canRaise)) goto LA7_;
(*result).flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)43))) & 63);
}
LA7_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&placeHolder);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&d);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&dstSym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&dst);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&discrimantDest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___liftdestructors_2009((&a));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}