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

15232 lines
607 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_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg;
typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag;
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g;
typedef struct tySequence__QhKW39aBdj2b0D43QtN2bjA tySequence__QhKW39aBdj2b0D43QtN2bjA;
typedef struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content tySequence__QhKW39aBdj2b0D43QtN2bjA_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_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ tySequence__UfuHwINLHlFJGRcvFZqKQQ;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
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 tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
typedef struct tyObject_Table__SogU5TxbKBYUMQw7zmdG3g tyObject_Table__SogU5TxbKBYUMQw7zmdG3g;
typedef struct tySequence__7C9bvULfaDaWykzhm3DspFQ tySequence__7C9bvULfaDaWykzhm3DspFQ;
typedef struct tySequence__7C9bvULfaDaWykzhm3DspFQ_Content tySequence__7C9bvULfaDaWykzhm3DspFQ_Content;
typedef struct tyObject_Table__ijGervJNjyJafnomjvukiw tyObject_Table__ijGervJNjyJafnomjvukiw;
typedef struct tySequence__kdxAxisTjDkmDgNFb13UQw tySequence__kdxAxisTjDkmDgNFb13UQw;
typedef struct tySequence__kdxAxisTjDkmDgNFb13UQw_Content tySequence__kdxAxisTjDkmDgNFb13UQw_Content;
typedef struct tySequence__ANJm3Ou4QEh9abhA1XpChkw tySequence__ANJm3Ou4QEh9abhA1XpChkw;
typedef struct tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content;
typedef struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ;
typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ;
typedef struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content;
typedef struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ tyObject_Table__fkVbis6Wl9armQNEPm21CLQ;
typedef struct tySequence__UQG43DVXYWx86AitV5pL8g tySequence__UQG43DVXYWx86AitV5pL8g;
typedef struct tySequence__UQG43DVXYWx86AitV5pL8g_Content tySequence__UQG43DVXYWx86AitV5pL8g_Content;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w;
typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA;
typedef struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content;
typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA tySequence__6HN8Af9btfjdnDkSmkCapaA;
typedef struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content tySequence__6HN8Af9btfjdnDkSmkCapaA_Content;
typedef struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w;
typedef struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA tySequence__npXKLeClRo4ZDs6rPxQ9bRA;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw tySequence__o8paxaScVM7VHajE9a8rbyw;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content tySequence__o8paxaScVM7VHajE9a8rbyw_Content;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg tySequence__SE64IkxZVzsW0aLsNjnJHg;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content tySequence__SE64IkxZVzsW0aLsNjnJHg_Content;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
typedef struct tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug tyObject_Iface__GILGqST9an4kYyzfE9aqumug;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA tySequence__khRnfByqYV6qzEm71s9aoMA;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content tySequence__khRnfByqYV6qzEm71s9aoMA_Content;
typedef struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA;
typedef struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content;
typedef struct tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw;
typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q;
typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content;
typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA tySequence__9a35SUiZaZnQQczCKMafPpA;
typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA_Content tySequence__9a35SUiZaZnQQczCKMafPpA_Content;
typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw tySequence__E0A6SaW1v3EKBAVAijH8Mw;
typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content;
typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ tySequence__ksIzANWGKlNIZxswx6UF9cQ;
typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content;
typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg tySequence__rg1JHBuFtw6jyGZxePBOTg;
typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg_Content tySequence__rg1JHBuFtw6jyGZxePBOTg_Content;
typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q tySequence__6xT3ssEcZuds56oxe6Hi1Q;
typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content;
typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA tySequence__0kQhEjYsrU0bQoX6VKnNbA;
typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content;
typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg tySequence__cNHcFk7EiJIuDgTjWY8U9bg;
typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content;
typedef struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg;
typedef struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content;
typedef struct tyObject_Table__wOXFN2eadVouctMpJwmcSA tyObject_Table__wOXFN2eadVouctMpJwmcSA;
typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg tySequence__9afGcb6vqUeksMMfijyiRIg;
typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg_Content tySequence__9afGcb6vqUeksMMfijyiRIg_Content;
typedef struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw;
typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA tyTuple__DlfALjW9a9aZbdaEgWjgJiDA;
typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA tySequence__rbrgPpeV9be6C3GwbBbkmpA;
typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content;
typedef struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ;
typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg tySequence__QuE9aHaZlhk7otugTn0uD9cg;
typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content;
typedef struct tyTuple__kjLAcEjcuUUb5HQQFd004Q tyTuple__kjLAcEjcuUUb5HQQFd004Q;
typedef struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw;
typedef struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw;
typedef struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA;
typedef struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg tyTuple__sr9ahxowKRwC2RZn4t1m9bTg;
typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA tySequence__KBDwsdF2UrZmqdc6bU9bHbA;
typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q;
typedef struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw tySequence__XpdAmI9cDNdhUBFb3iaYfkw;
typedef struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content;
typedef struct tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA;
typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA;
typedef struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content;
typedef struct tyTuple__iv4s4NUz12iOqq0NB9cYh3Q tyTuple__iv4s4NUz12iOqq0NB9cYh3Q;
typedef struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw tyTuple__VM7m2WL59bxLeiTf9bI39aJNw;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__hbzrBSDgTxYG04GZ0NRCew tyTuple__hbzrBSDgTxYG04GZ0NRCew;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA;
typedef struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ;
typedef struct tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA;
typedef struct tyTuple__GicXS2CKoWgwFlNKz2d15w tyTuple__GicXS2CKoWgwFlNKz2d15w;
typedef struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA;
typedef struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg;
typedef struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q;
typedef struct tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__4mROXJDLgq3TboX1QMTCWQ tyTuple__4mROXJDLgq3TboX1QMTCWQ;
typedef struct tyTuple__o7TpijPv9bOBH56jcsA2W3Q tyTuple__o7TpijPv9bOBH56jcsA2W3Q;
typedef struct tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw;
typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ tySequence__IWXeVgKgI4IltTBItDiIwQ;
typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content tySequence__IWXeVgKgI4IltTBItDiIwQ_Content;
typedef struct tyTuple__t08apXFlOi7QMiJ7EqOynA tyTuple__t08apXFlOi7QMiJ7EqOynA;
typedef struct tyTuple__mPT8UQTez4CkORDSYBMX5Q tyTuple__mPT8UQTez4CkORDSYBMX5Q;
typedef struct tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA;
typedef struct tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ;
typedef struct tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ;
typedef struct tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA;
typedef struct tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA;
typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg tySequence__29btfq9cDuCZmHsAEmuBeMOg;
typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content;
typedef struct tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ;
typedef struct tyTuple__pDyHME2vky9bxBYZlE7PoZg tyTuple__pDyHME2vky9bxBYZlE7PoZg;
typedef struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w;
struct tySequence__QhKW39aBdj2b0D43QtN2bjA {
NI len; tySequence__QhKW39aBdj2b0D43QtN2bjA_Content* p;
};
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
NI len; tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content* p;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
NI elems;
NI counter;
NI max;
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
tySequence__Bre9bNyuQOg1EJKitjSzn8w data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tySequence__QhKW39aBdj2b0D43QtN2bjA g;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph;
NI inLoop;
NI inSpawn;
NI inLoopCond;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA uninit;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg otherUsage;
};
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ {
NI len; tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content* p;
};
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
struct tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw {
tySequence__UfuHwINLHlFJGRcvFZqKQQ vars;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ wasMoved;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ final;
tySequence__UfuHwINLHlFJGRcvFZqKQQ locals;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
NIM_BOOL needsTry;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* parent;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ {
RootObj Sup;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId;
};
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA {
tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k;
tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage;
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode;
NimStringV2 r;
};
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
union{
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
} _kind_1;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
NI position;
NI offset;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
};
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU8 tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ;
typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw;
typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ {
NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p;
};
struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
struct tySequence__9czS3pDdyAs7bxglDcl2YyA {
NI len; tySequence__9czS3pDdyAs7bxglDcl2YyA_Content* p;
};
struct tySequence__XHeQfi7ybWnv4ebLBB7afQ {
NI len; tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content* p;
};
struct tySequence__gDGqa9bft4EIBGJXdPabojw {
NI len; tySequence__gDGqa9bft4EIBGJXdPabojw_Content* p;
};
struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg {
NI len; tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content* p;
};
struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A {
tySequence__YLW4xuku9cRS9cLOfVzwUxqg data;
NI counter;
};
struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g {
NI len; tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content* p;
};
struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg {
tySequence__HL9bxOKBQaeJ5XQXd8t8m8g data;
NI counter;
};
struct tySequence__M1HR1j8fkzOLdhYymqd9cNA {
NI len; tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content* p;
};
struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ {
tySequence__M1HR1j8fkzOLdhYymqd9cNA data;
NI counter;
};
typedef tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyArray__RtDvnrEZJ39agpdQSeedS9bg[5];
struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q {
NI len; tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content* p;
};
struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q {
tySequence__ndtMxvII636Jz8NCVD9a9a0Q data;
NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw data;
NI counter;
};
typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w;
typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg;
typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g;
typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
};
struct tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg {
NI counter;
tySequence__UfuHwINLHlFJGRcvFZqKQQ data;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg data;
NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg data;
NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__7C9bvULfaDaWykzhm3DspFQ {
NI len; tySequence__7C9bvULfaDaWykzhm3DspFQ_Content* p;
};
struct tyObject_Table__SogU5TxbKBYUMQw7zmdG3g {
tySequence__7C9bvULfaDaWykzhm3DspFQ data;
NI counter;
};
struct tySequence__kdxAxisTjDkmDgNFb13UQw {
NI len; tySequence__kdxAxisTjDkmDgNFb13UQw_Content* p;
};
struct tyObject_Table__ijGervJNjyJafnomjvukiw {
tySequence__kdxAxisTjDkmDgNFb13UQw data;
NI counter;
};
struct tySequence__ANJm3Ou4QEh9abhA1XpChkw {
NI len; tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content* p;
};
typedef tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ[65];
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ {
NI len; tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content* p;
};
struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ {
tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ data;
NI counter;
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
NI len; tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content* p;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__vPrWBhD9cGsW9cbPZw2O089bQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__lJFXsCoW9bancuutiZwWl3g) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
struct tySequence__UQG43DVXYWx86AitV5pL8g {
NI len; tySequence__UQG43DVXYWx86AitV5pL8g_Content* p;
};
struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ {
tySequence__UQG43DVXYWx86AitV5pL8g data;
NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
NI counter;
};
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA {
NI len; tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content* p;
};
struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w {
tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA data;
NI counter;
};
struct tySequence__6HN8Af9btfjdnDkSmkCapaA {
NI len; tySequence__6HN8Af9btfjdnDkSmkCapaA_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__NoUxTS8DcbzCOvNOEi3ocQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
typedef N_NIMCALL_PTR(void, tyProc__uM2x1UhfNk9babrtrGeM2gw) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__39c4YkMNuEKczAhajwhaZug) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* actual);
struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opNot;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opContains;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLe;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLt;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAnd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opOr;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opIsNil;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opEq;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAdd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opSub;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opMul;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opDiv;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg {
tySequence__9czS3pDdyAs7bxglDcl2YyA ifaces;
tySequence__XHeQfi7ybWnv4ebLBB7afQ packed_0;
tySequence__gDGqa9bft4EIBGJXdPabojw encoders;
tyObject_Table__fjuGiTdj9aowj72av2a6U5A typeInstCache;
tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg procInstCache;
tyArray__RtDvnrEZJ39agpdQSeedS9bg attachedOps;
tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q methodsPerType;
tyObject_Table__ylj8DEu79cdmULczcIwXsIQ enumToStringProcs;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw startupPackedConfig;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
RootObj* vm;
tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* usageSym;
tySequence__UfuHwINLHlFJGRcvFZqKQQ owners;
tyObject_Table__SogU5TxbKBYUMQw7zmdG3g suggestSymbols;
tyObject_Table__ijGervJNjyJafnomjvukiw suggestErrors;
tySequence__ANJm3Ou4QEh9abhA1XpChkw methods;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* systemModule;
tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ sysTypes;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg compilerprocs;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg exposed;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageTypes;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* emptyNode;
tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__vPrWBhD9cGsW9cbPZw2O089bQ importModuleCallback;
tyProc__lJFXsCoW9bancuutiZwWl3g includeFileCallback;
tyObject_Table__fkVbis6Wl9armQNEPm21CLQ cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w cacheTables;
tySequence__6HN8Af9btfjdnDkSmkCapaA passes;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinition;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinitionResolveForward;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onUsage;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ globalDestructors;
tyProc__uM2x1UhfNk9babrtrGeM2gw strongSemCheck;
tyProc__39c4YkMNuEKczAhajwhaZug compatibleProps;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w operators;
};
typedef NU8 tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow;
typedef NU8 tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg;
struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg {
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow targetCPU;
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow hostCPU;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg targetOS;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringV2 tnl;
};
typedef NU8 tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag;
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA {
NI len; tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content* p;
};
struct tySequence__o8paxaScVM7VHajE9a8rbyw {
NI len; tySequence__o8paxaScVM7VHajE9a8rbyw_Content* p;
};
struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag errorOutputs;
tySequence__npXKLeClRo4ZDs6rPxQ9bRA msgContext;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__o8paxaScVM7VHajE9a8rbyw fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ;
typedef NU8 tyEnum_Command__b145RBTl7bacomLHdBguHg;
typedef NU8 tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ;
typedef NU8 tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA;
typedef NU8 tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g;
typedef NU8 tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg;
typedef NU8 tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw[12];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA;
struct tySequence__SE64IkxZVzsW0aLsNjnJHg {
NI len; tySequence__SE64IkxZVzsW0aLsNjnJHg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result, void* ClE_0);
void* ClE_0;
} tyProc__UwsGaXGCDEc7Akhwij5HRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 msg, tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g severity, void* ClE_0);
void* ClE_0;
} tyProc__9a8L4QvXftisHTVzCsMCKUA;
struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg target;
NI linesCompiled;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag m;
tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ filenameOption;
NimStringV2 unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__b145RBTl7bacomLHdBguHg cmd;
NimStringV2 cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringV2 headerFile;
tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features;
tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g legacyFeatures;
NimStringV2 arguments;
tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw modifiedyNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw cmdlineNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw foreignPackageNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw notes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw warningAsErrors;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
NimStringV2 outFile;
NimStringV2 outDir;
NimStringV2 jsonBuildFile;
NimStringV2 prefixDir;
NimStringV2 libpath;
NimStringV2 nimcacheDir;
tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringV2 projectName;
NimStringV2 projectPath;
NimStringV2 projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringV2 command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
NimStringV2 commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
NimStringV2 docSeeSrcUrl;
NimStringV2 docRoot;
NimStringV2 docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
NimStringV2 linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
NimStringV2 linkOptions;
NimStringV2 compileOptions;
NimStringV2 cCompilerPath;
tySequence__SE64IkxZVzsW0aLsNjnJHg toCompile;
tyProc__UwsGaXGCDEc7Akhwij5HRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__9a8L4QvXftisHTVzCsMCKUA structuredErrorHook;
NimStringV2 cppCustomNamespace;
NimStringV2 nimMainPrefix;
tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ* vmProfileData;
};
typedef NU8 tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
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_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw;
typedef NU8 tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ[21];
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__wysJI6hInaI5ABj9aoPL4Dw[3];
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
typedef NU8 tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA;
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
typedef NU8 tySet_tyEnum_ConsiderFlag__wu6oS9avkQSu9a9aogwyVVQew;
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
typedef NimStringV2 tyArray__7Z9ajkJtFFtfJY8l7DfqyrA[5];
typedef NU8 tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
typedef NU16 tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA;
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__FIZq7sI4PRP59aHmJ2Mmqwg[2];
typedef NU8 tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw;
typedef NU8 tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw;
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg;
struct tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg {
tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg kind;
union{
NI dest;
struct {tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
} _kind_2;
};
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
typedef NU8 tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ;
typedef NU8 tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__ITlg8UhAbnS7vsiPAhcspQ[1];
typedef NimStringV2 tyArray__Re75IspeoxXy2oCZHwcRrA[2];
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__FZrRrN9ciC5J9cqH8fG9cyYVg[1];
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#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__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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
#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__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
#define tySequence__QhKW39aBdj2b0D43QtN2bjA_Content_PP
struct tySequence__QhKW39aBdj2b0D43QtN2bjA_Content { NI cap; tyObject_Instr__nuC9aRBnQRLXbUsE9b4QlhEg 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 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
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__VM7m2WL59bxLeiTf9bI39aJNw {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field2;
};
#ifndef tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
#define tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content { NI cap; tyTuple__VM7m2WL59bxLeiTf9bI39aJNw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
#ifndef tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
#define tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__hbzrBSDgTxYG04GZ0NRCew {
NI Field0;
NimStringV2 Field1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2;
};
#ifndef tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
#define tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
struct tySequence__UQG43DVXYWx86AitV5pL8g_Content { NI cap; tyTuple__hbzrBSDgTxYG04GZ0NRCew data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringV2 Field1;
NI64 Field2;
};
#ifndef tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
#define tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ {
tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA* root;
NI entries;
};
struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA {
NI Field0;
NimStringV2 Field1;
tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ Field2;
};
#ifndef tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
#define tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content { NI cap; tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA data[SEQ_DECL_SIZE];};
#endif
typedef N_NIMCALL_PTR(tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA*, tyProc__VAKrl2wuKAJ7HPlD8a2YOQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__CgBBk61cGZM3ckyCzQXJtg) (tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__DJHfW17JAEBI2WHr9b1BaKg) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
struct tyTuple__GicXS2CKoWgwFlNKz2d15w {
tyProc__VAKrl2wuKAJ7HPlD8a2YOQ Field0;
tyProc__CgBBk61cGZM3ckyCzQXJtg Field1;
tyProc__DJHfW17JAEBI2WHr9b1BaKg Field2;
NIM_BOOL Field3;
};
#ifndef tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
#define tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content { NI cap; tyTuple__GicXS2CKoWgwFlNKz2d15w data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0;
NimStringV2 Field1;
};
#ifndef tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
#define tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content { NI cap; tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg {
NimStringV2 fullPath;
NimStringV2 projPath;
NimStringV2 shortName;
NimStringV2 quotedName;
NimStringV2 quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
NimStringV2 dirtyFile;
NimStringV2 hash;
NIM_BOOL dirty;
};
#ifndef tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
#define tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content { NI cap; tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringV2 Field1;
};
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og;
struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ {
NimStringV2 nimname;
NimStringV2 cname;
NimStringV2 obj;
tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og flags;
NimStringV2 customArgs;
};
#ifndef tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
#define tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content { NI cap; tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI 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
#ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
#define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
#define tySequence__IWXeVgKgI4IltTBItDiIwQ_Content_PP
struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content { NI cap; tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP
#define tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content_PP
struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content { NI cap; tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw data[SEQ_DECL_SIZE];};
#endif
static N_INLINE(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);
static N_INLINE(NIM_BOOL, isInlineIterator__ast_6431)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
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___injectdestructors_109)(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4327)(tySequence__UfuHwINLHlFJGRcvFZqKQQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3723)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* 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___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_4165)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___dfa_1534)(tySequence__QhKW39aBdj2b0D43QtN2bjA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_11047)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_36)(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_56)(tySequence__Bre9bNyuQOg1EJKitjSzn8w* dest);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3141)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3232)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(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___ast_3247)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag** dest, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, computeCursors__varpartitions_2459)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, p__injectdestructors_129)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw mode, tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg tmpFlags);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__ast_5733)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
static N_INLINE(NIM_BOOL, isEmptyType__ast_6215)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, shallowCopy__ast_5838)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
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*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_77)(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* parent, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* Result);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, processScope__injectdestructors_1044)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ret);
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*, newTree__ast_3975)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTryFinally__lowerings_208)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* final);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeIT__ast_3970)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getTemp__injectdestructors_66)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newSym__ast_4028)(tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ symKind, tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA*, getIdent__idents_166)(tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* ic, NimStringV2 identifier);
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(void, add__renderer_74)(tySequence__UfuHwINLHlFJGRcvFZqKQQ* x, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* value);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_54)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4147)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDestroy__injectdestructors_535)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* 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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genOp__injectdestructors_438)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getAttachedOp__modulegraphs_4580)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA op);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
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(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_406)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NimStringV2 opname);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_50)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA renderFlags);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_1035)(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg a, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg b);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___msgs_663)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
static N_INLINE(NIM_BOOL, isSinkType__ast_6498)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genOp__injectdestructors_428)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makePtrType__injectdestructors_424)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, newType__ast_4969)(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextTypeId__ast_3291)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_137)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* father, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* son, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* id);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, moveOrCopy__injectdestructors_141)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_2540)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_2544)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_395)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genSink__injectdestructors_572)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__aliasanalysis_10)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_386)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipConvDfa__aliasanalysis_5)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_561)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_372)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastReadImpl__injectdestructors_147)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* scope);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, exprRoot__parampatterns_314)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL allowCalls);
static N_INLINE(NIM_BOOL, contains__injectdestructors_162)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** a, NI aLen_0, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item);
static N_INLINE(NI, find__injectdestructors_167)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** a, NI aLen_0, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___dfa_1540)(tySequence__QhKW39aBdj2b0D43QtN2bjA* dest, tySequence__QhKW39aBdj2b0D43QtN2bjA src);
N_LIB_PRIVATE N_NIMCALL(tySequence__QhKW39aBdj2b0D43QtN2bjA, constructCfg__dfa_1507)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root);
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_389)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
static N_INLINE(NI, pop__vm_523)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s);
N_LIB_PRIVATE N_NIMCALL(void, shrink__pureZosproc_309)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI newLen);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3655)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_1477)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI value);
N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ, aliases__aliasanalysis_65)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* obj, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZcollectionsZintsets_181)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_406)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_202)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
static N_INLINE(NIM_BOOL, isAtom__ast_6204)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genWasMoved__injectdestructors_763)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genFieldAccessSideEffects__injectdestructors_2580)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3953)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI children);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, destructiveMoveVar__injectdestructors_784)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipConv__types_3839)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genMarkCyclic__injectdestructors_625)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicType__liftdestructors_1374)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
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*, 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(void, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCopy__injectdestructors_661)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCopyNoCheck__injectdestructors_647)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA a);
N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_611)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, NIM_BOOL isFromSink);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, boolLit__liftdestructors_430)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NIM_BOOL value);
static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_604)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_871)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
static N_INLINE(NIM_BOOL, isSinkParam__ast_6483)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_540)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pRaiseStmt__injectdestructors_1156)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsConstSeq__injectdestructors_884)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, passCopyToSink__injectdestructors_829)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLValue__parampatterns_502)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_821)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getRoot__trees_397)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr, NimStringV2 a);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_2511)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, lookupFieldAgain__types_4363)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* ty, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, ensureDestruction__injectdestructors_909)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s);
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3767)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4356)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_6541)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fn);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lowerTupleUnpacking__lowerings_117)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipPragmaExpr__ast_3910)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, pVarTopLevel__injectdestructors_991)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDefaultCall__injectdestructors_775)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_932)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_63)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b, NIM_BOOL strictSymEquality);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_4643)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDiscriminantAsgn__injectdestructors_692)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getMagicEqSymForType__magicsys_172)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
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(NimStringV2, dollar___ast_192)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ e);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, optimize__optimizer_400)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringV2 key);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0);
extern TNimTypeV2 NTIv2__C1k2TcDRT9cU4DEatQIT09ag_;
static NIM_CONST tySet_tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ TM__qy9cjzsMcb87orRThTwa4gQ_2 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0xb0, 0x03, 0x04, 0x09, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00}
;
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_3 = { 5 | NIM_STRLIT_FLAG, ":tmpD" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_4 = {5, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_3};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__qy9cjzsMcb87orRThTwa4gQ_5 = {
0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[17+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_6 = { 17 | NIM_STRLIT_FLAG, "internal error: \'" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_7 = {17, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_6};
static const struct {
NI cap; NIM_CHAR data[30+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_8 = { 30 | NIM_STRLIT_FLAG, "\' operator not found for type " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_9 = {30, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_8};
static const struct {
NI cap; NIM_CHAR data[47+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_11 = { 47 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/injectdestructors.nim" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_12 = {17, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_6};
static const struct {
NI cap; NIM_CHAR data[21+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_13 = { 21 | NIM_STRLIT_FLAG, "\' operator is generic" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_14 = {21, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_13};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_16 = { 1 | NIM_STRLIT_FLAG, "\'" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_17 = {1, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_16};
static const struct {
NI cap; NIM_CHAR data[29+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_18 = { 29 | NIM_STRLIT_FLAG, "\' is not available for type <" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_19 = {29, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_18};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_20 = { 1 | NIM_STRLIT_FLAG, ">" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_21 = {1, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_20};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_22 = { 1 | NIM_STRLIT_FLAG, "=" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_23 = {1, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_22};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_24 = { 5 | NIM_STRLIT_FLAG, "=copy" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_25 = {5, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_24};
static const struct {
NI cap; NIM_CHAR data[53+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_26 = { 53 | NIM_STRLIT_FLAG, "; requires a copy because it\'s not the last read of \'" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_27 = {53, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_26};
static const struct {
NI cap; NIM_CHAR data[29+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_28 = { 29 | NIM_STRLIT_FLAG, "; another read is done here: " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_29 = {29, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_28};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_30 = { 14 | NIM_STRLIT_FLAG, "; try to make " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_31 = {14, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_30};
static const struct {
NI cap; NIM_CHAR data[19+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_32 = { 19 | NIM_STRLIT_FLAG, " a \'sink\' parameter" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_33 = {19, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_32};
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_34 = { 11 | NIM_STRLIT_FLAG, "; routine: " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_35 = {11, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_34};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_37 = { 8 | NIM_STRLIT_FLAG, "wasMoved" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_38 = {8, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_37};
static const struct {
NI cap; NIM_CHAR data[10+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_39 = { 10 | NIM_STRLIT_FLAG, "bracketTmp" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_40 = {10, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_39};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_41 = { 7 | NIM_STRLIT_FLAG, "blitTmp" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_42 = {7, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_41};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__qy9cjzsMcb87orRThTwa4gQ_43 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_44 = { 13 | NIM_STRLIT_FLAG, "nimMarkCyclic" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_45 = {13, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_44};
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_46 = { 9 | NIM_STRLIT_FLAG, "accessEnv" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_47 = {9, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_46};
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_48 = {13, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_44};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_49 = { 5 | NIM_STRLIT_FLAG, "=sink" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_50 = {5, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_49};
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_51 = {5, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_24};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__qy9cjzsMcb87orRThTwa4gQ_52 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[126+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_53 = { 126 | NIM_STRLIT_FLAG, "passing \'$1\' to a sink parameter introduces an implicit copy; if possible, rearrange your program\'s control flow to prevent it" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_54 = {126, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_53};
static const struct {
NI cap; NIM_CHAR data[73+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_56 = { 73 | NIM_STRLIT_FLAG, "cannot create an implicit openArray copy to be passed to a sink parameter" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_57 = {73, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_56};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__qy9cjzsMcb87orRThTwa4gQ_59 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_60 = { 7 | NIM_STRLIT_FLAG, "default" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_61 = {7, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_60};
static const struct {
NI cap; NIM_CHAR data[67+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_62 = { 67 | NIM_STRLIT_FLAG, "\'$#\' creates an uncollectable ref cycle; annotate \'$#\' with .cursor" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_63 = {67, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_62};
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_64 = { 39 | NIM_STRLIT_FLAG, "\'$#\' creates an uncollectable ref cycle" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_65 = {39, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_64};
static const struct {
NI cap; NIM_CHAR data[249+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_67 = { 249 | NIM_STRLIT_FLAG, "Assignment to discriminant for objects with user defined destructor is not supported, object must have default destructor.\012It is best to factor out piece of object that needs custom destructor into separate object or not use discriminator assignment" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_68 = {249, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_67};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_70 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_71 = {3, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_70};
static const struct {
NI cap; NIM_CHAR data[44+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_72 = { 44 | NIM_STRLIT_FLAG, "nkWhileStmt should have been handled earlier" };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_73 = {44, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_72};
static const struct {
NI cap; NIM_CHAR data[40+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_75 = { 40 | NIM_STRLIT_FLAG, "cannot inject destructors to node kind: " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_76 = {40, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_75};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__qy9cjzsMcb87orRThTwa4gQ_78 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_79 = { 13 | NIM_STRLIT_FLAG, "--expandArc: " };
static const NimStringV2 TM__qy9cjzsMcb87orRThTwa4gQ_80 = {13, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_79};
static const struct {
NI cap; NIM_CHAR data[44+1];
} TM__qy9cjzsMcb87orRThTwa4gQ_82 = { 44 | NIM_STRLIT_FLAG, "-- end of expandArc ------------------------" };
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_350;
extern NIM_CONST tyArray__7Z9ajkJtFFtfJY8l7DfqyrA AttachedOpToStr__ast_4931;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_10 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)226),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_15 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)229),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_36 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)205),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_55 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)408),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_58 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)415),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_66 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)481),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_69 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)339),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_74 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)864),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__qy9cjzsMcb87orRThTwa4gQ_77 = {{47, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_11},
((NI)951),
((NI)19)}
;
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__qy9cjzsMcb87orRThTwa4gQ_81 = {{44, (NimStrPayload*)&TM__qy9cjzsMcb87orRThTwa4gQ_82}}
;
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(NIM_BOOL, isInlineIterator__ast_6431)(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).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25));
if (!(T2_)) goto LA3_;
T2_ = (((*typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)15)))&63U)))!=0);
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9)));
LA4_: ;
result = T1_;
return result;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_109)(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqdestroy___ast_4327((&(*dest).vars));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3723((&(*dest).wasMoved));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3723((&(*dest).final));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4327((&(*dest).locals));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).body);
if (!T3_) goto LA4_;
eqdestroy___ast_3466((*dest).body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).body, ((NI)8));
}
LA4_: ;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3141(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___injectdestructors_4165)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).owner);
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest).owner);
}
LA4_: ;
eqdestroy___dfa_1534((&(*dest).g));
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).graph);
if (!T8_) goto LA9_;
eqdestroy___modulegraphs_11047((*dest).graph);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).graph, ((NI)8));
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).uninit.head);
if (!T13_) goto LA14_;
eqdestroy___pureZcollectionsZintsets_36((*dest).uninit.head);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).uninit.head, ((NI)8));
}
LA14_: ;
eqdestroy___pureZcollectionsZintsets_56((&(*dest).uninit.data));
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T18_) goto LA19_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA19_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = nimDecRefIsLast((*dest).body);
if (!T23_) goto LA24_;
eqdestroy___ast_3466((*dest).body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).body, ((NI)8));
}
LA24_: ;
}BeforeRet_: ;
}
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n)._kind_6.sons.len;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isEmptyType__ast_6215)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL));
if (T1_) goto LA2_;
T1_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)63) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7));
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, nestedScope__injectdestructors_77)(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* parent, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* Result) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD__2 = (tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*)0;
nimZeroMem((void*)Result, sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
(*Result).vars.len = 0; (*Result).vars.p = (tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content*) newSeqPayload(0, sizeof(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*), NIM_ALIGNOF(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*));
(*Result).locals.len = 0; (*Result).locals.p = (tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content*) newSeqPayload(0, sizeof(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*), NIM_ALIGNOF(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*));
(*Result).wasMoved.len = 0; (*Result).wasMoved.p = (tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content*) newSeqPayload(0, sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*), NIM_ALIGNOF(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*));
(*Result).final.len = 0; (*Result).final.p = (tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content*) newSeqPayload(0, sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*), NIM_ALIGNOF(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*));
colontmpD_ = 0;
eqcopy___ast_3457(&colontmpD_, body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*Result).body = colontmpD_;
(*Result).needsTry = NIM_FALSE;
colontmpD__2 = parent;
(*Result).parent = colontmpD__2;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, processScope__injectdestructors_1044)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ret) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*ret).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSection;
T3_ = (*s).vars.len;
if (!(((NI)0) < T3_)) goto LA4_;
varSection = NIM_NIL;
varSection = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*ret).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmp;
NI i;
NI L;
NI T7_;
tmp = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i = ((NI)0);
T7_ = (*s).vars.len;
L = T7_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T10_;
if (!(i < L)) goto LA9 ;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
tmp = &(*s).vars.p->data[i];
nimZeroMem((void*)T10_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD_ = newSymNode__ast_4784((*tmp));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T10_[0] = colontmpD_;
colontmpD__2 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*ret).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T10_[1] = colontmpD__2;
colontmpD__3 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*ret).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T10_[2] = colontmpD__3;
colontmpD__4 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T10_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(varSection, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
eqdestroy___ast_3454(&colontmpD__4);
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_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA9: ;
}
}
add__ast_6233(result, varSection);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&varSection);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA4_: ;
{
NIM_BOOL T13_;
NI T14_;
NI T16_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSection;
T13_ = (NIM_BOOL)0;
T14_ = (*s).wasMoved.len;
T13_ = (((NI)0) < T14_);
if (T13_) goto LA15_;
T16_ = (*s).final.len;
T13_ = (((NI)0) < T16_);
LA15_: ;
if (!T13_) goto LA17_;
finSection = NIM_NIL;
finSection = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*ret).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** m;
NI i_2;
NI L_2;
NI T20_;
m = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_2 = ((NI)0);
T20_ = (*s).wasMoved.len;
L_2 = T20_;
{
while (1) {
if (!(i_2 < L_2)) goto LA22 ;
m = &(*s).wasMoved.p->data[i_2];
add__ast_6233(finSection, (*m));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA22: ;
}
}
{
NI i_3;
NI colontmp_;
NI T24_;
NI res;
i_3 = (NI)0;
colontmp_ = (NI)0;
T24_ = ((*s).final.len-1);
colontmp_ = T24_;
res = colontmp_;
{
while (1) {
if (!(((NI)0) <= res)) goto LA26 ;
i_3 = res;
add__ast_6233(finSection, (*s).final.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res -= ((NI)1);
} LA26: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
if (!(*s).needsTry) goto LA29_;
colontmpD__5 = NIM_NIL;
colontmpD__5 = newTryFinally__lowerings_208(ret, finSection);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA27_;
LA29_: ;
{
add__ast_6233(result, ret);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, finSection);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA27_: ;
eqdestroy___ast_3454(&finSection);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA11_;
LA17_: ;
{
add__ast_6233(result, ret);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA11_: ;
{
NIM_BOOL T37_;
if (!!(((*s).parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA35_;
T37_ = (NIM_BOOL)0;
T37_ = (*(*s).parent).needsTry;
if (T37_) goto LA38_;
T37_ = (*s).needsTry;
LA38_: ;
(*(*s).parent).needsTry = T37_;
}
LA35_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).symId += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).symId;
result.item = colontmpD__2;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getTemp__injectdestructors_66)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
sym = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).graph).cache, TM__qy9cjzsMcb87orRThTwa4gQ_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
sym = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5), colontmpD_, T1_, (*c).owner, info, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*sym).typ, typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = 0;
eqcopy___ast_4063(&colontmpD__2, sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__renderer_74((&(*s).vars), colontmpD__2);
result = newSymNode__ast_4784(sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, hasDestructor__injectdestructors_54)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q T1_;
result = (NIM_BOOL)0;
T1_ = 0;
result = !(((IL64(2147483664) & (*t).flags) == T1_));
return result;
}
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = !((n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T1_)) goto LA2_;
T1_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)75));
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, 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(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
{
if (!(((NI)0) < src.len)) goto LA3_;
copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1)))));
(*dest).len += src.len;
}
LA3_: ;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
int result;
result = (int)0;
result = memcmp(a, b, ((size_t) (size)));
return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
NIM_BOOL result;
int T1_;
result = (NIM_BOOL)0;
T1_ = (int)0;
T1_ = nimCmpMem(a, b, size);
result = (T1_ == ((NI32)0));
return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
NIM_BOOL result;
NI alen;
NI blen;
{ result = (NIM_BOOL)0;
alen = a.len;
blen = b.len;
{
if (!(alen == blen)) goto LA3_;
{
if (!(alen == ((NI)0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) {
prepareAdd(s, ((NI)1));
(*(*s).p).data[(*s).len] = c;
(*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0;
(*s).len += ((NI)1);
}
static N_INLINE(NIM_BOOL, isSinkType__ast_6498)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46));
if (T1_) goto LA2_;
T1_ = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)4)))&63U)))!=0);
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkForErrorPragma__injectdestructors_406)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NimStringV2 opname) {
NimStringV2 m;
NimStringV2 colontmpD_;
NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
m.len = 0; m.p = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T2_.len = 0; T2_.p = NIM_NIL;
colontmpD_ = typeToString__types_51(t, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = rawNewString(opname.len + colontmpD_.len + 31);
appendString((&T2_), TM__qy9cjzsMcb87orRThTwa4gQ_17);
appendString((&T2_), opname);
appendString((&T2_), TM__qy9cjzsMcb87orRThTwa4gQ_19);
appendString((&T2_), colontmpD_);
appendString((&T2_), TM__qy9cjzsMcb87orRThTwa4gQ_21);
m = T2_;
{
NIM_BOOL T5_;
NIM_BOOL T6_;
NimStringV2 colontmpD__2;
tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA T12_;
T5_ = (NIM_BOOL)0;
T6_ = (NIM_BOOL)0;
T6_ = eqStrings(opname, TM__qy9cjzsMcb87orRThTwa4gQ_23);
if (T6_) goto LA7_;
T6_ = eqStrings(opname, TM__qy9cjzsMcb87orRThTwa4gQ_25);
LA7_: ;
T5_ = T6_;
if (!(T5_)) goto LA8_;
T5_ = !((ri == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
LA8_: ;
if (!T5_) goto LA9_;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
prepareAdd((&m), 53);
appendString((&m), TM__qy9cjzsMcb87orRThTwa4gQ_27);
T12_ = 0;
colontmpD__2 = renderTree__renderer_50(ri, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
prepareAdd((&m), colontmpD__2.len + 0);
appendString((&m), colontmpD__2);
nimAddCharV1((&m), 39);
{
NIM_BOOL T15_;
NimStringV2 colontmpD__3;
T15_ = (NIM_BOOL)0;
T15_ = eqeq___msgs_1035((*c).otherUsage, unknownLineInfo__lineinfos_350);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
if (!!(T15_)) goto LA16_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
prepareAdd((&m), 29);
appendString((&m), TM__qy9cjzsMcb87orRThTwa4gQ_29);
colontmpD__3 = dollar___msgs_663((*(*c).graph).config, (*c).otherUsage);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
prepareAdd((&m), colontmpD__3.len + 0);
appendString((&m), colontmpD__3);
{
LA18_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
goto LA13_;
LA16_: ;
{
NIM_BOOL T22_;
NIM_BOOL T23_;
NIM_BOOL T26_;
NimStringV2 colontmpD__4;
tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA T30_;
T22_ = (NIM_BOOL)0;
T23_ = (NIM_BOOL)0;
T23_ = ((*ri).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T23_)) goto LA24_;
T23_ = ((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
LA24_: ;
T22_ = T23_;
if (!(T22_)) goto LA25_;
T26_ = (NIM_BOOL)0;
T26_ = isSinkType__ast_6498((*(*ri)._kind_4.sym).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
T22_ = !(T26_);
LA25_: ;
if (!T22_) goto LA27_;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
prepareAdd((&m), 14);
appendString((&m), TM__qy9cjzsMcb87orRThTwa4gQ_31);
T30_ = 0;
colontmpD__4 = renderTree__renderer_50(ri, T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
prepareAdd((&m), colontmpD__4.len + 0);
appendString((&m), colontmpD__4);
prepareAdd((&m), 19);
appendString((&m), TM__qy9cjzsMcb87orRThTwa4gQ_33);
{
LA29_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__4));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
goto LA13_;
LA27_: ;
LA13_: ;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA9_: ;
prepareAdd((&m), 11);
appendString((&m), TM__qy9cjzsMcb87orRThTwa4gQ_35);
prepareAdd((&m), (*(*(*c).owner).name).s.len + 0);
appendString((&m), (*(*(*c).owner).name).s);
liMessage__msgs_1159((*(*c).graph).config, (*ri).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), m, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__qy9cjzsMcb87orRThTwa4gQ_36), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___stdZassertions_13((&m));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextTypeId__ast_3291)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).typeId_0 += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).typeId_0;
result.item = colontmpD__2;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, makePtrType__injectdestructors_424)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* baseType) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
T1_ = nextTypeId__ast_3291((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21), T1_, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
addSonSkipIntLit__magicsys_137(result, baseType, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genOp__injectdestructors_428)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* addrExp;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
addrExp = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = makePtrType__injectdestructors_424(c, (*dest).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
addrExp = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64), (*dest).info, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(addrExp, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimZeroMem((void*)T1_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__2 = newSymNode__ast_4784(op);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_[0] = colontmpD__2;
T1_[1] = addrExp;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T1_, 2);
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(&addrExp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genOp__injectdestructors_438)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA kind, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* op;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
op = NIM_NIL;
op = getAttachedOp__modulegraphs_4580((*c).graph, t, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* canon;
tyArray__qtqsWM5aXmcpMIVmvq3kAA h;
T4_ = (NIM_BOOL)0;
T4_ = (op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (T4_) goto LA5_;
T4_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
if (!T4_) goto LA6_;
canon = NIM_NIL;
nimZeroMem((void*)h, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
hashType__sighashes_461(t, 50, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
canon = getOrDefault__liftdestructors_979((*(*c).graph).canonTypes, h);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T13_;
if (!!((canon == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA11_;
T13_ = NIM_NIL;
T13_ = getAttachedOp__modulegraphs_4580((*c).graph, canon, kind);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_4066(&op, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
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_: ;
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T21_;
if (!(op == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA18_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T21_.len = 0; T21_.p = NIM_NIL;
colontmpD_ = typeToString__types_51(t, ((tyEnum_TPreferedDesc__bf5goTo3KJxvaEQ7KVg4rQ)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
T21_ = rawNewString(AttachedOpToStr__ast_4931[(kind)- 0].len + colontmpD_.len + 47);
appendString((&T21_), TM__qy9cjzsMcb87orRThTwa4gQ_7);
appendString((&T21_), AttachedOpToStr__ast_4931[(kind)- 0]);
appendString((&T21_), TM__qy9cjzsMcb87orRThTwa4gQ_9);
appendString((&T21_), colontmpD_);
colontmpD__2 = T21_;
liMessage__msgs_1159((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__qy9cjzsMcb87orRThTwa4gQ_10), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA16_;
LA18_: ;
{
NIM_BOOL T25_;
NimStringV2 colontmpD__3;
NimStringV2 T29_;
T25_ = (NIM_BOOL)0;
T25_ = isGenericRoutine__ast_6056((*op).ast);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T25_) goto LA26_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
T29_.len = 0; T29_.p = NIM_NIL;
T29_ = rawNewString(AttachedOpToStr__ast_4931[(kind)- 0].len + 38);
appendString((&T29_), TM__qy9cjzsMcb87orRThTwa4gQ_12);
appendString((&T29_), AttachedOpToStr__ast_4931[(kind)- 0]);
appendString((&T29_), TM__qy9cjzsMcb87orRThTwa4gQ_14);
colontmpD__3 = T29_;
liMessage__msgs_1159((*(*c).graph).config, (*dest).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__qy9cjzsMcb87orRThTwa4gQ_15), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
LA28_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA16_;
LA26_: ;
LA16_: ;
{
if (!(((*op).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)24)))&63U)))!=0)) goto LA34_;
checkForErrorPragma__injectdestructors_406((&(*c)), t, ri, AttachedOpToStr__ast_4931[(kind)- 0]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA34_: ;
result = genOp__injectdestructors_428(c, op, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
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*, genDestroy__injectdestructors_535)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
t = NIM_NIL;
t = skipTypes__ast_4803((*dest).typ, TM__qy9cjzsMcb87orRThTwa4gQ_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = genOp__injectdestructors_438(c, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0), dest, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__injectdestructors_2544)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*a).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*a).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22));
if (!(T1_)) goto LA2_;
T1_ = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameLocation__injectdestructors_2540)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b) {
NIM_BOOL result;
NIM_BOOL colontmpD_;
NIM_BOOL colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
colontmpD_ = (NIM_BOOL)0;
colontmpD__2 = (NIM_BOOL)0;
{
NIM_BOOL T3_;
NIM_BOOL colontmpD__3;
NIM_BOOL colontmpD__4;
T3_ = (NIM_BOOL)0;
T3_ = ((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46) || (*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42));
if (!(T3_)) goto LA4_;
T3_ = ((*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3) || (*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) || (*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46) || (*b).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42));
LA4_: ;
if (!T3_) goto LA5_;
colontmpD__3 = (NIM_BOOL)0;
colontmpD__4 = (NIM_BOOL)0;
{
NIM_BOOL colontmpD__5;
NIM_BOOL colontmpD__6;
NIM_BOOL colontmpD__7;
NIM_BOOL colontmpD__8;
if (!((*a).kind == (*b).kind)) goto LA9_;
colontmpD__5 = (NIM_BOOL)0;
colontmpD__6 = (NIM_BOOL)0;
colontmpD__7 = (NIM_BOOL)0;
colontmpD__8 = (NIM_BOOL)0;
switch ((*a).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
colontmpD__5 = ((*a)._kind_4.sym == (*b)._kind_4.sym);
colontmpD__3 = colontmpD__5;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)0)], (*b)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T13_)) goto LA14_;
T13_ = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)1)], (*b)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA14_: ;
colontmpD__6 = T13_;
colontmpD__3 = colontmpD__6;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)0)], (*b)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T16_)) goto LA17_;
T16_ = sameConstant__injectdestructors_2544((*a)._kind_6.sons.p->data[((NI)1)], (*b)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA17_: ;
colontmpD__7 = T16_;
colontmpD__3 = colontmpD__7;
}
break;
default:
{
colontmpD__8 = NIM_FALSE;
colontmpD__3 = colontmpD__8;
}
break;
}
colontmpD_ = colontmpD__3;
}
goto LA7_;
LA9_: ;
{
colontmpD__4 = NIM_FALSE;
colontmpD_ = colontmpD__4;
}
LA7_: ;
result = colontmpD_;
}
goto LA1_;
LA5_: ;
{
NIM_BOOL colontmpD__9;
NIM_BOOL colontmpD__10;
NIM_BOOL colontmpD__11;
NIM_BOOL colontmpD__12;
NIM_BOOL colontmpD__13;
colontmpD__9 = (NIM_BOOL)0;
colontmpD__10 = (NIM_BOOL)0;
colontmpD__11 = (NIM_BOOL)0;
colontmpD__12 = (NIM_BOOL)0;
colontmpD__13 = (NIM_BOOL)0;
switch ((*a).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
colontmpD__9 = sameLocation__injectdestructors_2540(b, a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = colontmpD__9;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
colontmpD__10 = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)0)], b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = colontmpD__10;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
{
colontmpD__11 = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)0)], b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = colontmpD__11;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
{
colontmpD__12 = sameLocation__injectdestructors_2540((*a)._kind_6.sons.p->data[((NI)1)], b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = colontmpD__12;
}
break;
default:
{
colontmpD__13 = NIM_FALSE;
colontmpD__2 = colontmpD__13;
}
break;
}
result = colontmpD__2;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCursor__injectdestructors_395)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL colontmpD_;
NIM_BOOL colontmpD__2;
NIM_BOOL colontmpD__3;
NIM_BOOL colontmpD__4;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
colontmpD_ = (NIM_BOOL)0;
colontmpD__2 = (NIM_BOOL)0;
colontmpD__3 = (NIM_BOOL)0;
colontmpD__4 = (NIM_BOOL)0;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
colontmpD_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41)))&63U)))!=0);
result = colontmpD_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
{
colontmpD__2 = isCursor__injectdestructors_395((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = colontmpD__2;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
colontmpD__3 = isCursor__injectdestructors_395((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = colontmpD__3;
}
break;
default:
{
colontmpD__4 = NIM_FALSE;
result = colontmpD__4;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFirstWrite__injectdestructors_386)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c) {
NIM_BOOL result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
m = NIM_NIL;
m = skipConvDfa__aliasanalysis_5(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = (((*m).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)22)))&31U)))!=0);
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isNoInit__injectdestructors_561)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*dest).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T1_)) goto LA2_;
T1_ = (((*(*dest)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)14)))&63U)))!=0);
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genSink__injectdestructors_572)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NIM_BOOL T6_;
NIM_BOOL T7_;
NIM_BOOL T8_;
NIM_BOOL T9_;
NIM_BOOL T14_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T19_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = ((*c).inLoopCond == ((NI)0));
if (!(T4_)) goto LA5_;
T6_ = (NIM_BOOL)0;
T7_ = (NIM_BOOL)0;
T8_ = (NIM_BOOL)0;
T9_ = (NIM_BOOL)0;
T9_ = ((*dest).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T9_)) goto LA10_;
T9_ = ((*(*dest)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
LA10_: ;
T8_ = T9_;
if (!(T8_)) goto LA11_;
T8_ = ((*(*(*dest)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18));
LA11_: ;
T7_ = T8_;
if (T7_) goto LA12_;
T7_ = ((flags &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw)0)))&7U)))!=0);
LA12_: ;
T6_ = T7_;
if (T6_) goto LA13_;
T14_ = (NIM_BOOL)0;
T14_ = isAnalysableFieldAccess__aliasanalysis_10(dest, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T14_)) goto LA15_;
T14_ = isFirstWrite__injectdestructors_386(dest, c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA15_: ;
T6_ = T14_;
LA13_: ;
T4_ = T6_;
LA5_: ;
T3_ = T4_;
if (T3_) goto LA16_;
T3_ = isNoInit__injectdestructors_561(dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA16_: ;
if (!T3_) goto LA17_;
nimZeroMem((void*)T19_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T19_[0] = dest;
T19_[1] = ri;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T19_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA17_: ;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
t = NIM_NIL;
colontmpD_ = NIM_NIL;
t = skipTypes__ast_4803((*dest).typ, TM__qy9cjzsMcb87orRThTwa4gQ_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
colontmpD_ = getAttachedOp__modulegraphs_4580((*c).graph, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
if (!!((colontmpD_ == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA24_;
result = genOp__injectdestructors_438(c, t, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2), dest, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
add__ast_6233(result, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
goto LA22_;
LA24_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T28_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T29_;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)T28_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__2 = genDestroy__injectdestructors_535(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
T28_[0] = colontmpD__2;
nimZeroMem((void*)T29_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T29_[0] = dest;
T29_[1] = ri;
colontmpD__3 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T29_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
T28_[1] = colontmpD__3;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T28_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA22_: ;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, find__injectdestructors_167)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** a, NI aLen_0, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item) {
NI result;
{ result = (NI)0;
result = ((NI)0);
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** i;
NI i_2;
i = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < aLen_0)) goto LA3 ;
i = &a[i_2];
{
if (!((*i) == item)) goto LA6_;
goto BeforeRet_;
}
LA6_: ;
result += ((NI)1);
i_2 += ((NI)1);
} LA3: ;
}
}
result = ((NI)-1);
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, contains__injectdestructors_162)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** a, NI aLen_0, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* item) {
NIM_BOOL result;
NI T1_;
{ result = (NIM_BOOL)0;
T1_ = (NI)0;
T1_ = find__injectdestructors_167(a, aLen_0, item);
result = (((NI)0) <= T1_);
goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, initIntSet__pureZcollectionsZintsets_389)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
initPackedSet__pureZcollectionsZintsets_16(Result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NI, pop__vm_523)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s) {
NI result;
NI L;
NI T1_;
result = (NI)0;
T1_ = (*s).len;
L = (NI)(T1_ - ((NI)1));
result = (*s).p->data[L];
(*s).p->data[L] = 0;
shrink__pureZosproc_309(s, ((NI) (L)));
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastReadImpl__injectdestructors_147)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* scope) {
NIM_BOOL result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
tySequence__QhKW39aBdj2b0D43QtN2bjA T19_;
NI j;
NIM_BOOL oldNimErrFin34_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
root = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
root = exprRoot__parampatterns_314(n, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!(root == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA4_;
result = 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_4060(&root);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
s = scope;
{
while (1) {
if (!!((s == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA7 ;
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = contains__injectdestructors_162((((*s).locals).p) ? ((*s).locals.p->data) : NIM_NIL, (*s).locals.len, root);
if (!T10_) goto LA11_;
goto LA6;
}
LA11_: ;
s = (*s).parent;
} LA7: ;
} LA6: ;
T13_ = NIM_NIL;
{
if (!!((s == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA16_;
eqcopy___ast_3457(&colontmpD_, (*s).body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = colontmpD_;
}
goto LA14_;
LA16_: ;
{
eqcopy___ast_3457(&colontmpD__2, (*c).body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = colontmpD__2;
}
LA14_: ;
T19_.len = 0; T19_.p = NIM_NIL;
T19_ = constructCfg__dfa_1507((*c).owner, T13_, root);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___dfa_1540((&(*c).g), T19_);
j = ((NI)0);
{
while (1) {
NI T22_;
T22_ = (*c).g.len;
if (!(j < T22_)) goto LA21 ;
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = ((*c).g.p->data[j].kind == ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4));
if (!(T25_)) goto LA26_;
T25_ = ((*c).g.p->data[j]._kind_2.n == n);
LA26_: ;
if (!T25_) goto LA27_;
goto LA20;
}
LA27_: ;
j += ((NI)1);
} LA21: ;
} LA20: ;
(*c).otherUsage = unknownLineInfo__lineinfos_350;
{
NI T31_;
tySequence__qwqHTkRvwhrRyENtudHQ7g pcs;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marked;
T31_ = (*c).g.len;
if (!(j < T31_)) goto LA32_;
pcs.len = 0; pcs.p = NIM_NIL;
nimZeroMem((void*)(&marked), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
pcs.len = 1; pcs.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(1, sizeof(NI), NIM_ALIGNOF(NI));
pcs.p->data[0] = (NI)(j + ((NI)1));
initIntSet__pureZcollectionsZintsets_389((&marked));
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
result = NIM_TRUE;
{
while (1) {
NI T37_;
NI pc;
T37_ = pcs.len;
if (!(((NI)0) < T37_)) goto LA36 ;
pc = pop__vm_523((&pcs));
{
NIM_BOOL T40_;
NI oldPc;
T40_ = (NIM_BOOL)0;
T40_ = contains__astalgo_3655((&marked), pc);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
if (!!(T40_)) goto LA41_;
oldPc = pc;
{
while (1) {
NI T45_;
T45_ = (*c).g.len;
if (!(pc < T45_)) goto LA44 ;
switch ((*c).g.p->data[pc].kind) {
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)1):
{
NI back;
back = (NI)(pc + (*c).g.p->data[pc].dest);
{
NIM_BOOL T49_;
T49_ = (NIM_BOOL)0;
T49_ = containsOrIncl__astalgo_402((&marked), back);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
if (!!(T49_)) goto LA50_;
pc = back;
}
goto LA47_;
LA50_: ;
{
goto LA43;
}
LA47_: ;
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)0):
{
pc = (NI)(pc + (*c).g.p->data[pc].dest);
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)2):
{
{
NIM_BOOL T57_;
T57_ = (NIM_BOOL)0;
T57_ = contains__astalgo_3655((&marked), (NI)(pc + ((NI)1)));
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
if (!!(T57_)) goto LA58_;
add__varpartitions_1477((&pcs), (NI)(pc + ((NI)1)));
}
LA58_: ;
pc = (NI)(pc + (*c).g.p->data[pc].dest);
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)4):
{
{
NIM_BOOL T63_;
tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ T64_;
tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ T66_;
T63_ = (NIM_BOOL)0;
T64_ = (tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0;
T64_ = aliases__aliasanalysis_65((*c).g.p->data[pc]._kind_2.n, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
T63_ = !((T64_ == ((tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)1)));
if (T63_) goto LA65_;
T66_ = (tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0;
T66_ = aliases__aliasanalysis_65(n, (*c).g.p->data[pc]._kind_2.n);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
T63_ = !((T66_ == ((tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)1)));
LA65_: ;
if (!T63_) goto LA67_;
(*c).otherUsage = (*(*c).g.p->data[pc]._kind_2.n).info;
result = NIM_FALSE;
eqdestroy___pureZcollectionsZintsets_181((&marked));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___pureZosproc_406((&pcs));
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&root);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA67_: ;
pc += ((NI)1);
}
break;
case ((tyEnum_InstrKind__c0CCU2cqmkdGj75Q9aHtYeg)3):
{
{
tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ T72_;
T72_ = (tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0;
T72_ = aliases__aliasanalysis_65((*c).g.p->data[pc]._kind_2.n, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
if (!(T72_ == ((tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0))) goto LA73_;
goto LA43;
}
goto LA70_;
LA73_: ;
{
tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ T76_;
T76_ = (tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0;
T76_ = aliases__aliasanalysis_65(n, (*c).g.p->data[pc]._kind_2.n);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
if (!!((T76_ == ((tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)1)))) goto LA77_;
(*c).otherUsage = (*(*c).g.p->data[pc]._kind_2.n).info;
result = NIM_FALSE;
eqdestroy___pureZcollectionsZintsets_181((&marked));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___pureZosproc_406((&pcs));
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&root);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
goto LA70_;
LA77_: ;
LA70_: ;
pc += ((NI)1);
}
break;
}
} LA44: ;
} LA43: ;
incl__pureZcollectionsZintsets_202((&marked), oldPc);
if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
}
LA41_: ;
} LA36: ;
}
{
LA34_:;
}
{
oldNimErrFin34_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___pureZcollectionsZintsets_181((&marked));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___pureZosproc_406((&pcs));
*nimErr_ = oldNimErrFin34_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA29_;
LA32_: ;
{
result = NIM_FALSE;
}
LA29_: ;
{
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_4060(&root);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLastRead__injectdestructors_372)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s) {
NIM_BOOL result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
NIM_BOOL T7_;
NIM_BOOL T8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
m = NIM_NIL;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T4_)) goto LA5_;
result = NIM_TRUE;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA5_: ;
m = skipConvDfa__aliasanalysis_5(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T7_ = (NIM_BOOL)0;
T8_ = (NIM_BOOL)0;
T8_ = ((*m).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T8_)) goto LA9_;
T8_ = (((*(*m)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)46)))&63U)))!=0);
LA9_: ;
T7_ = T8_;
if (T7_) goto LA10_;
T7_ = isLastReadImpl__injectdestructors_147(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA10_: ;
result = T7_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isAtom__ast_6204)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) <= (*n).kind);
if (!(T1_)) goto LA2_;
T1_ = ((*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genWasMoved__injectdestructors_763)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = createMagic__modulegraphs_8540((*c).graph, (*c).idgen, TM__qy9cjzsMcb87orRThTwa4gQ_38, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)150));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *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_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genFieldAccessSideEffects__injectdestructors_2580)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* temp;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tempAsNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* vpart;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newAccess;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* snk;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
temp = NIM_NIL;
colontmpD_ = NIM_NIL;
v = NIM_NIL;
tempAsNode = NIM_NIL;
vpart = NIM_NIL;
newAccess = NIM_NIL;
snk = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*c).graph).cache, TM__qy9cjzsMcb87orRThTwa4gQ_40);
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)9), colontmpD_, T2_, (*c).owner, (*(*ri)._kind_6.sons.p->data[((NI)1)]).info, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*temp).typ, (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
tempAsNode = newSymNode__ast_4784(temp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
vpart = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), (*tempAsNode).info, ((NI)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*vpart)._kind_6.sons.p->data[((NI)0)], tempAsNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
T4_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*tempAsNode).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*vpart)._kind_6.sons.p->data[((NI)1)], T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*vpart)._kind_6.sons.p->data[((NI)2)], (*ri)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(v, vpart);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
newAccess = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(newAccess, (*ri)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(newAccess, tempAsNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
snk = genSink__injectdestructors_572(c, dest, newAccess, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T5_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
T5_[0] = v;
T5_[1] = snk;
colontmpD__2 = genWasMoved__injectdestructors_763(c, newAccess);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T5_[2] = colontmpD__2;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T5_, 3);
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(&snk);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&newAccess);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vpart);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tempAsNode);
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(void, genMarkCyclic__injectdestructors_625)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA3_;
t = NIM_NIL;
t = skipTypes__ast_4803((*dest).typ, TM__qy9cjzsMcb87orRThTwa4gQ_43);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = cyclicType__liftdestructors_1374(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
if (!T8_) goto LA9_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22))) goto LA13_;
colontmpD_ = NIM_NIL;
colontmpD_ = callCodegenProc__lowerings_642((*c).graph, TM__qy9cjzsMcb87orRThTwa4gQ_45, (*dest).info, dest, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
goto LA11_;
LA13_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* xenv;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T20_;
xenv = NIM_NIL;
colontmpD__2 = NIM_NIL;
xenv = genBuiltin__liftdestructors_114((*c).graph, (*c).idgen, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)157), TM__qy9cjzsMcb87orRThTwa4gQ_47, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
T20_ = NIM_NIL;
T20_ = getSysType__magicsys_60((*c).graph, (*dest).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
eqsink___ast_3549(&(*xenv).typ, T20_);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
colontmpD__2 = callCodegenProc__lowerings_642((*c).graph, TM__qy9cjzsMcb87orRThTwa4gQ_48, (*dest).info, xenv, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
LA19_:;
}
{
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqdestroy___ast_3454(&xenv);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
*nimErr_ = oldNimErrFin19_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
LA11_: ;
}
LA9_: ;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, destructiveMoveVar__injectdestructors_784)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T3_)) goto LA4_;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* temp;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tempAsNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* vpart;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nn;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* wasMovedCall;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T8_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T9_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T10_;
temp = NIM_NIL;
colontmpD_ = NIM_NIL;
v = NIM_NIL;
tempAsNode = NIM_NIL;
vpart = NIM_NIL;
nn = NIM_NIL;
wasMovedCall = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD_ = getIdent__idents_166((*(*c).graph).cache, TM__qy9cjzsMcb87orRThTwa4gQ_42);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T9_ = 0;
temp = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9), colontmpD_, T8_, (*c).owner, (*n).info, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqcopy___ast_3546(&(*temp).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
v = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
tempAsNode = newSymNode__ast_4784(temp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
vpart = newNodeI__ast_3953(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), (*tempAsNode).info, ((NI)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqcopy___ast_3457(&(*vpart)._kind_6.sons.p->data[((NI)0)], tempAsNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T10_ = NIM_NIL;
T10_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*tempAsNode).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqsink___ast_3460(&(*vpart)._kind_6.sons.p->data[((NI)1)], T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqcopy___ast_3457(&(*vpart)._kind_6.sons.p->data[((NI)2)], n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(v, vpart);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, v);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
nn = skipConv__types_3839(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
genMarkCyclic__injectdestructors_625(c, result, nn);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
wasMovedCall = genWasMoved__injectdestructors_763(c, nn);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, wasMovedCall);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, tempAsNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&wasMovedCall);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&nn);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&vpart);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tempAsNode);
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_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCopyNoCheck__injectdestructors_647)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA a) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
t = NIM_NIL;
t = skipTypes__ast_4803((*dest).typ, TM__qy9cjzsMcb87orRThTwa4gQ_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = genOp__injectdestructors_438(c, t, a, dest, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genCopy__injectdestructors_661)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA colontmpD_;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA colontmpD__2;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA a;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
t = NIM_NIL;
colontmpD_ = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
colontmpD__2 = (tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0;
eqcopy___ast_3546(&t, (*dest).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = (((*t).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)4)))&63U)))!=0);
if (!(T4_)) goto LA5_;
T4_ = !(((*ri).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23)));
LA5_: ;
if (!T4_) goto LA6_;
{
if (!((flags &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw)1)))&7U)))!=0)) goto LA10_;
checkForErrorPragma__injectdestructors_406((&(*c)), t, ri, TM__qy9cjzsMcb87orRThTwa4gQ_50);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA8_;
LA10_: ;
{
checkForErrorPragma__injectdestructors_406((&(*c)), t, ri, TM__qy9cjzsMcb87orRThTwa4gQ_51);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
}
LA6_: ;
{
if (!((flags &((NU8)1<<((NU)((((tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw)1)))&7U)))!=0)) goto LA15_;
colontmpD_ = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2);
a = colontmpD_;
}
goto LA13_;
LA15_: ;
{
colontmpD__2 = ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1);
a = colontmpD__2;
}
LA13_: ;
result = genCopyNoCheck__injectdestructors_647(c, dest, ri, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isCriticalLink__injectdestructors_604)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = !(((*dest).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)));
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, finishCopy__injectdestructors_611)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, NIM_BOOL isFromSink) {
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA3_;
t = NIM_NIL;
t = skipTypes__ast_4803((*dest).typ, TM__qy9cjzsMcb87orRThTwa4gQ_43);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
NIM_BOOL T8_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NIM_BOOL T12_;
T8_ = (NIM_BOOL)0;
T8_ = cyclicType__liftdestructors_1374(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
if (!T8_) goto LA9_;
colontmpD_ = NIM_NIL;
T12_ = (NIM_BOOL)0;
T12_ = isFromSink;
if (T12_) goto LA13_;
T12_ = isCriticalLink__injectdestructors_604(dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
LA13_: ;
colontmpD_ = boolLit__liftdestructors_430((*c).graph, (*result).info, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
}
LA9_: ;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isDangerousSeq__injectdestructors_871)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2;
NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
t_2 = NIM_NIL;
t_2 = skipTypes__ast_4803(t, TM__qy9cjzsMcb87orRThTwa4gQ_52);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (NIM_BOOL)0;
T1_ = ((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24));
if (!(T1_)) goto LA2_;
T1_ = !((((*(*t_2).sons.p->data[((NI)0)]).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)4)))&63U)))!=0));
LA2_: ;
result = T1_;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isSinkParam__ast_6483)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
if (!(T1_)) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)46));
if (T3_) goto LA4_;
T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)4)))&63U)))!=0);
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, canBeMoved__injectdestructors_540)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
t_2 = NIM_NIL;
t_2 = skipTypes__ast_4803(t, TM__qy9cjzsMcb87orRThTwa4gQ_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL T7_;
if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0)) goto LA4_;
colontmpD_ = NIM_NIL;
T7_ = (NIM_BOOL)0;
T7_ = !(((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22)));
if (!(T7_)) goto LA8_;
colontmpD_ = getAttachedOp__modulegraphs_4580((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T7_ = !((colontmpD_ == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
LA8_: ;
result = T7_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA4_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = getAttachedOp__modulegraphs_4580((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)2));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
result = !((colontmpD__2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pRaiseStmt__injectdestructors_1156)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin28_;
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL oldNimErrFin43_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw)43)))&63U)))!=0);
if (!(T3_)) goto LA4_;
T3_ = !(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)));
LA4_: ;
if (!T3_) goto LA5_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* call;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA9_;
call = NIM_NIL;
call = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(result, call);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&call);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA7_;
LA9_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* toDisarm;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T16_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T31_;
tmp = NIM_NIL;
m = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
toDisarm = NIM_NIL;
colontmpD__3 = NIM_NIL;
tmp = getTemp__injectdestructors_66(c, s, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
m = genCopyNoCheck__injectdestructors_647(c, tmp, (*n)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(m, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
finishCopy__injectdestructors_611(c, m, (*n)._kind_6.sons.p->data[((NI)0)], NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
nimZeroMem((void*)T16_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__2 = genWasMoved__injectdestructors_763(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T16_[0] = colontmpD__2;
T16_[1] = m;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T16_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
eqcopy___ast_3457(&toDisarm, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T21_;
if (!((*toDisarm).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA19_;
T21_ = NIM_NIL;
T21_ = lastSon__ast_6268(toDisarm);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
eqsink___ast_3460(&toDisarm, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA19_: ;
{
NIM_BOOL T24_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
T24_ = (NIM_BOOL)0;
T24_ = ((*toDisarm).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T24_)) goto LA25_;
T24_ = ((*(*toDisarm)._kind_4.sym).owner == (*c).owner);
LA25_: ;
if (!T24_) goto LA26_;
colontmpD__4 = NIM_NIL;
colontmpD__4 = genWasMoved__injectdestructors_763(c, toDisarm);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
{
LA28_:;
}
{
oldNimErrFin28_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
*nimErr_ = oldNimErrFin28_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA26_: ;
nimZeroMem((void*)T31_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T31_[0] = tmp;
colontmpD__3 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108), T31_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&toDisarm);
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_;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}
goto LA1_;
LA5_: ;
{
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA37_;
colontmpD__5 = NIM_NIL;
colontmpD__5 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
{
LA39_:;
}
{
oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin39_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA35_;
LA37_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
colontmpD__6 = NIM_NIL;
colontmpD__6 = copyNode__ast_5733((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
{
LA43_:;
}
{
oldNimErrFin43_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin43_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA35_: ;
}
LA1_: ;
(*s).needsTry = NIM_TRUE;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, moveOrCopy__injectdestructors_141)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin62_;
NIM_BOOL oldNimErrFin99_;
NIM_BOOL oldNimErrFin130_;
NIM_BOOL oldNimErrFin135_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin152_;
NIM_BOOL oldNimErrFin156_;
NIM_BOOL oldNimErrFin174_;
NIM_BOOL oldNimErrFin187_;
NIM_BOOL oldNimErrFin213_;
NIM_BOOL oldNimErrFin218_;
NIM_BOOL oldNimErrFin178_;
NIM_BOOL oldNimErrFin166_;
NIM_BOOL oldNimErrFin249_;
NIM_BOOL oldNimErrFin286_;
NIM_BOOL oldNimErrFin317_;
NIM_BOOL oldNimErrFin322_;
NIM_BOOL oldNimErrFin271_;
NIM_BOOL oldNimErrFin235_;
NIM_BOOL oldNimErrFin345_;
NIM_BOOL oldNimErrFin371_;
NIM_BOOL oldNimErrFin397_;
NIM_BOOL oldNimErrFin414_;
NIM_BOOL oldNimErrFin362_;
NIM_BOOL oldNimErrFin453_;
NIM_BOOL oldNimErrFin497_;
NIM_BOOL oldNimErrFin528_;
NIM_BOOL oldNimErrFin533_;
NIM_BOOL oldNimErrFin482_;
NIM_BOOL oldNimErrFin441_;
NIM_BOOL oldNimErrFin337_;
NIM_BOOL oldNimErrFin553_;
NIM_BOOL oldNimErrFin559_;
NIM_BOOL oldNimErrFin571_;
NIM_BOOL oldNimErrFin589_;
NIM_BOOL oldNimErrFin595_;
NIM_BOOL oldNimErrFin599_;
NIM_BOOL oldNimErrFin610_;
NIM_BOOL oldNimErrFin614_;
NIM_BOOL oldNimErrFin618_;
NIM_BOOL oldNimErrFin628_;
NIM_BOOL oldNimErrFin644_;
NIM_BOOL oldNimErrFin649_;
NIM_BOOL oldNimErrFin653_;
NIM_BOOL oldNimErrFin668_;
NIM_BOOL oldNimErrFin658_;
NIM_BOOL oldNimErrFin708_;
NIM_BOOL oldNimErrFin745_;
NIM_BOOL oldNimErrFin776_;
NIM_BOOL oldNimErrFin781_;
NIM_BOOL oldNimErrFin730_;
NIM_BOOL oldNimErrFin694_;
NIM_BOOL oldNimErrFin690_;
NIM_BOOL oldNimErrFin798_;
NIM_BOOL oldNimErrFin802_;
NIM_BOOL oldNimErrFin820_;
NIM_BOOL oldNimErrFin833_;
NIM_BOOL oldNimErrFin859_;
NIM_BOOL oldNimErrFin864_;
NIM_BOOL oldNimErrFin824_;
NIM_BOOL oldNimErrFin812_;
NIM_BOOL oldNimErrFin895_;
NIM_BOOL oldNimErrFin932_;
NIM_BOOL oldNimErrFin963_;
NIM_BOOL oldNimErrFin968_;
NIM_BOOL oldNimErrFin917_;
NIM_BOOL oldNimErrFin881_;
NIM_BOOL oldNimErrFin991_;
NIM_BOOL oldNimErrFin1017_;
NIM_BOOL oldNimErrFin1043_;
NIM_BOOL oldNimErrFin1060_;
NIM_BOOL oldNimErrFin1008_;
NIM_BOOL oldNimErrFin1099_;
NIM_BOOL oldNimErrFin1143_;
NIM_BOOL oldNimErrFin1174_;
NIM_BOOL oldNimErrFin1179_;
NIM_BOOL oldNimErrFin1128_;
NIM_BOOL oldNimErrFin1087_;
NIM_BOOL oldNimErrFin983_;
NIM_BOOL oldNimErrFin1208_;
NIM_BOOL oldNimErrFin1213_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = sameLocation__injectdestructors_2540(dest, ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*dest).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = isCursor__injectdestructors_395(dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T7_) goto LA8_;
switch ((*ri).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
switch ((*ri).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
{
NI T15_;
T15_ = (NI)0;
T15_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
if (!(T15_ == ((NI)0))) goto LA16_;
eqcopy___ast_3457(&result, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA16_: ;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
NI iX60gensym448_;
NI colontmp_;
NI T19_;
NI i;
iX60gensym448_ = (NI)0;
colontmp_ = (NI)0;
T19_ = (NI)0;
T19_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmp_ = (NI)(T19_ - ((NI)1));
i = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!(i < colontmp_)) goto LA21 ;
colontmpD__3 = NIM_NIL;
iX60gensym448_ = i;
colontmpD__3 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[iX60gensym448_], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
i += ((NI)1);
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
} LA21: ;
}
}
T25_ = NIM_NIL;
{
NI T28_;
NIM_BOOL T29_;
NI T33_;
T28_ = (NI)0;
T28_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T29_ = (NIM_BOOL)0;
T29_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[(NI)(T28_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
if (!T29_) goto LA30_;
T33_ = (NI)0;
T33_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
colontmpD_ = p__injectdestructors_129((*ri)._kind_6.sons.p->data[(NI)(T33_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
T25_ = colontmpD_;
{
LA32_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
goto LA26_;
LA30_: ;
{
NI T38_;
T38_ = (NI)0;
T38_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
colontmpD__2 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[(NI)(T38_ - ((NI)1))], c, s, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
T25_ = colontmpD__2;
{
LA37_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
LA26_: ;
add__ast_6233(result, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *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_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
colontmpD__4 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
{
NI iX60gensym448__2;
NI colontmp__2;
NI i_2;
iX60gensym448__2 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym448_;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw ofScopeX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T54_;
if (!(i_2 < colontmp__2)) goto LA47 ;
itX60gensym448_ = NIM_NIL;
branchX60gensym448_ = NIM_NIL;
nimZeroMem((void*)(&ofScopeX60gensym448_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__5 = NIM_NIL;
iX60gensym448__2 = i_2;
eqcopy___ast_3457(&itX60gensym448_, (*ri)._kind_6.sons.p->data[iX60gensym448__2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
branchX60gensym448_ = shallowCopy__ast_5838(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
{
NI jX60gensym448_;
NI colontmp__3;
NI T50_;
NI i_3;
jX60gensym448_ = (NI)0;
colontmp__3 = (NI)0;
T50_ = (NI)0;
T50_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
colontmp__3 = (NI)(T50_ - ((NI)1));
i_3 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T53_;
if (!(i_3 < colontmp__3)) goto LA52 ;
jX60gensym448_ = i_3;
T53_ = NIM_NIL;
T53_ = copyTree__ast_5856((*itX60gensym448_)._kind_6.sons.p->data[jX60gensym448_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqsink___ast_3460(&(*branchX60gensym448_)._kind_6.sons.p->data[jX60gensym448_], T53_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
i_3 += ((NI)1);
} LA52: ;
}
}
colontmpD__5 = lastSon__ast_6268(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
nestedScope__injectdestructors_77(s, colontmpD__5, (&ofScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
T54_ = NIM_NIL;
{
NIM_BOOL T57_;
NI T58_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
NI T63_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T64_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T80_;
T57_ = (NIM_BOOL)0;
T58_ = (NI)0;
T58_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
T57_ = isEmptyType__ast_6215((*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T58_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
if (T57_) goto LA59_;
T57_ = NIM_TRUE;
LA59_: ;
if (!T57_) goto LA60_;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
T63_ = (NI)0;
T63_ = len__ast_3325(branchX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
T64_ = NIM_NIL;
{
NI T67_;
NIM_BOOL T68_;
NI T72_;
T67_ = (NI)0;
T67_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
T68_ = (NIM_BOOL)0;
T68_ = isEmptyType__ast_6215((*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T67_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
if (!T68_) goto LA69_;
T72_ = (NI)0;
T72_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
colontmpD__6 = p__injectdestructors_129((*itX60gensym448_)._kind_6.sons.p->data[(NI)(T72_ - ((NI)1))], c, (&ofScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA71_;
T64_ = colontmpD__6;
{
LA71_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
}
goto LA65_;
LA69_: ;
{
NI T77_;
T77_ = (NI)0;
T77_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
colontmpD__7 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym448_)._kind_6.sons.p->data[(NI)(T77_ - ((NI)1))], c, (&ofScopeX60gensym448_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
T64_ = colontmpD__7;
{
LA76_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
}
LA65_: ;
T80_ = NIM_NIL;
T80_ = processScope__injectdestructors_1044(c, (&ofScopeX60gensym448_), T64_);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
eqsink___ast_3460(&(*branchX60gensym448_)._kind_6.sons.p->data[(NI)(T63_ - ((NI)1))], T80_);
if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
{
LA62_:;
}
{
oldNimErrFin62_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
*nimErr_ = oldNimErrFin62_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
goto LA55_;
LA60_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym486_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym486_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym486_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym486_;
NI T85_;
NI T86_;
NI T87_;
NI T88_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T89_;
NI T117_;
NI T144_;
resultX60gensym486_ = NIM_NIL;
tmpX60gensym486_ = NIM_NIL;
cpyX60gensym486_ = NIM_NIL;
finSectionX60gensym486_ = NIM_NIL;
T85_ = (NI)0;
T85_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T86_ = (NI)0;
T86_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
resultX60gensym486_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T85_ - ((NI)1))]).info, (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T86_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T87_ = (NI)0;
T87_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T88_ = (NI)0;
T88_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
tmpX60gensym486_ = getTemp__injectdestructors_66(c, ofScopeX60gensym448_.parent, (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T87_ - ((NI)1))]).typ, (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T88_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
(*(*tmpX60gensym486_)._kind_4.sym).flags = IL64(70368744177664);
T89_ = NIM_NIL;
{
NI T92_;
NIM_BOOL T93_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T96_;
NI T97_;
T92_ = (NI)0;
T92_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T93_ = (NIM_BOOL)0;
T93_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T92_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
if (!T93_) goto LA94_;
T96_ = NIM_NIL;
T96_ = genDestroy__injectdestructors_535(c, tmpX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
add__ast_4147((&(*ofScopeX60gensym448_.parent).final), T96_);
T97_ = (NI)0;
T97_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
cpyX60gensym486_ = moveOrCopy__injectdestructors_141(tmpX60gensym486_, (*itX60gensym448_)._kind_6.sons.p->data[(NI)(T97_ - ((NI)1))], c, (&ofScopeX60gensym448_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
}
goto LA90_;
LA94_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T100_;
NI T101_;
colontmpD__8 = NIM_NIL;
nimZeroMem((void*)T100_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T100_[0] = tmpX60gensym486_;
T101_ = (NI)0;
T101_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
colontmpD__8 = p__injectdestructors_129((*itX60gensym448_)._kind_6.sons.p->data[(NI)(T101_ - ((NI)1))], c, (&ofScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
T100_[1] = colontmpD__8;
cpyX60gensym486_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T100_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
{
LA99_:;
}
{
oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
*nimErr_ = oldNimErrFin99_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
}
LA90_: ;
{
NI T106_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym486_;
NI T109_;
T106_ = ofScopeX60gensym448_.vars.len;
if (!(((NI)0) < T106_)) goto LA107_;
varSectionX60gensym486_ = NIM_NIL;
T109_ = (NI)0;
T109_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
varSectionX60gensym486_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T109_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym486__2;
NI i_4;
NI L;
NI T111_;
tmpX60gensym486__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_4 = ((NI)0);
T111_ = ofScopeX60gensym448_.vars.len;
L = T111_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T114_;
NI T115_;
NI T116_;
if (!(i_4 < L)) goto LA113 ;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
tmpX60gensym486__2 = &ofScopeX60gensym448_.vars.p->data[i_4];
nimZeroMem((void*)T114_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__9 = newSymNode__ast_4784((*tmpX60gensym486__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T114_[0] = colontmpD__9;
T115_ = (NI)0;
T115_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
colontmpD__10 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T115_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T114_[1] = colontmpD__10;
T116_ = (NI)0;
T116_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
colontmpD__11 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T116_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
T114_[2] = colontmpD__11;
colontmpD__12 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T114_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
add__ast_6233(varSectionX60gensym486_, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
i_4 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
} LA113: ;
}
}
add__ast_6233(resultX60gensym486_, varSectionX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&varSectionX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
}
LA107_: ;
T117_ = (NI)0;
T117_ = len__ast_3325(itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
finSectionX60gensym486_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym448_)._kind_6.sons.p->data[(NI)(T117_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym486_;
NI i_5;
NI L_2;
NI T119_;
mX60gensym486_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_5 = ((NI)0);
T119_ = ofScopeX60gensym448_.wasMoved.len;
L_2 = T119_;
{
while (1) {
if (!(i_5 < L_2)) goto LA121 ;
mX60gensym486_ = &ofScopeX60gensym448_.wasMoved.p->data[i_5];
add__ast_6233(finSectionX60gensym486_, (*mX60gensym486_));
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
i_5 += ((NI)1);
} LA121: ;
}
}
{
NI iX60gensym486_;
NI colontmp__4;
NI T123_;
NI res;
iX60gensym486_ = (NI)0;
colontmp__4 = (NI)0;
T123_ = (ofScopeX60gensym448_.final.len-1);
colontmp__4 = T123_;
res = colontmp__4;
{
while (1) {
if (!(((NI)0) <= res)) goto LA125 ;
iX60gensym486_ = res;
add__ast_6233(finSectionX60gensym486_, ofScopeX60gensym448_.final.p->data[iX60gensym486_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
res -= ((NI)1);
} LA125: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T131_;
if (!ofScopeX60gensym448_.needsTry) goto LA128_;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__15 = NIM_NIL;
nimZeroMem((void*)T131_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T131_[0] = cpyX60gensym486_;
colontmpD__13 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym486_, c, ofScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
T131_[1] = colontmpD__13;
colontmpD__14 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T131_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
colontmpD__15 = newTryFinally__lowerings_208(colontmpD__14, finSectionX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
add__ast_6233(resultX60gensym486_, colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
{
LA130_:;
}
{
oldNimErrFin130_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
*nimErr_ = oldNimErrFin130_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
}
goto LA126_;
LA128_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
colontmpD__16 = NIM_NIL;
add__ast_6233(resultX60gensym486_, cpyX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
add__ast_6233(resultX60gensym486_, finSectionX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
colontmpD__16 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym486_, c, ofScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
add__ast_6233(resultX60gensym486_, colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA135_;
{
LA135_:;
}
{
oldNimErrFin135_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
*nimErr_ = oldNimErrFin135_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
}
LA126_: ;
{
NIM_BOOL T142_;
if (!!((ofScopeX60gensym448_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA140_;
T142_ = (NIM_BOOL)0;
T142_ = (*ofScopeX60gensym448_.parent).needsTry;
if (T142_) goto LA143_;
T142_ = ofScopeX60gensym448_.needsTry;
LA143_: ;
(*ofScopeX60gensym448_.parent).needsTry = T142_;
}
LA140_: ;
T144_ = (NI)0;
T144_ = len__ast_3325(branchX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
eqsink___ast_3460(&(*branchX60gensym448_)._kind_6.sons.p->data[(NI)(T144_ - ((NI)1))], resultX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
resultX60gensym486_ = 0;
{
LA84_:;
}
{
oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqdestroy___ast_3454(&cpyX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqdestroy___ast_3454(&tmpX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqdestroy___ast_3454(&resultX60gensym486_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
*nimErr_ = oldNimErrFin84_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
}
LA55_: ;
add__ast_6233(result, branchX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
i_2 += ((NI)1);
{
LA48_:;
}
{
oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
eqdestroy___injectdestructors_109((&ofScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
eqdestroy___ast_3454(&branchX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
eqdestroy___ast_3454(&itX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
*nimErr_ = oldNimErrFin48_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
} LA47: ;
}
}
{
LA44_:;
}
{
oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin44_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__17;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__18;
colontmpD__17 = NIM_NIL;
nimZeroMem((void*)(&bodyScopeX60gensym448_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym448_ = NIM_NIL;
colontmpD__18 = NIM_NIL;
(*c).inLoop += ((NI)1);
(*c).inLoopCond += ((NI)1);
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
colontmpD__17 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
add__ast_6233(result, colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
(*c).inLoopCond -= ((NI)1);
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
bodyResultX60gensym448_ = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
colontmpD__18 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym448_), bodyResultX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
add__ast_6233(result, colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA152_;
(*c).inLoop -= ((NI)1);
{
LA152_:;
}
{
oldNimErrFin152_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bodyResultX60gensym448_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin152_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)95):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym448__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym448__2;
NI lastX60gensym448_;
NI T157_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T161_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T162_;
nimZeroMem((void*)(&bodyScopeX60gensym448__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym448__2 = NIM_NIL;
(*c).inLoop += ((NI)1);
result = shallowCopy__ast_5838(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
T157_ = (NI)0;
T157_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
lastX60gensym448_ = (NI)(T157_ - ((NI)1));
{
NI iX60gensym448__3;
NI colontmp__5;
NI i_6;
iX60gensym448__3 = (NI)0;
colontmp__5 = (NI)0;
colontmp__5 = (NI)(lastX60gensym448_ - ((NI)1));
i_6 = ((NI)0);
{
while (1) {
if (!(i_6 < colontmp__5)) goto LA160 ;
iX60gensym448__3 = i_6;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[iX60gensym448__3], (*ri)._kind_6.sons.p->data[iX60gensym448__3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
i_6 += ((NI)1);
} LA160: ;
}
}
T161_ = NIM_NIL;
T161_ = p__injectdestructors_129((*ri)._kind_6.sons.p->data[(NI)(lastX60gensym448_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym448_ - ((NI)1))], T161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym448__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
bodyResultX60gensym448__2 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[lastX60gensym448_], c, (&bodyScopeX60gensym448__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
T162_ = NIM_NIL;
T162_ = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym448__2), bodyResultX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[lastX60gensym448_], T162_);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
(*c).inLoop -= ((NI)1);
{
LA156_:;
}
{
oldNimErrFin156_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&bodyResultX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym448__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin156_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym448__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__19;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__20;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T167_;
nimZeroMem((void*)(&bodyScopeX60gensym448__3), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__19 = NIM_NIL;
colontmpD__20 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
add__ast_6233(result, (*ri)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym448__3));
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
T167_ = NIM_NIL;
{
NIM_BOOL T170_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__21;
T170_ = (NIM_BOOL)0;
T170_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
if (T170_) goto LA171_;
T170_ = NIM_TRUE;
LA171_: ;
if (!T170_) goto LA172_;
colontmpD__21 = NIM_NIL;
colontmpD__21 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym448__3), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA174_;
colontmpD__19 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym448__3), colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA174_;
T167_ = colontmpD__19;
{
LA174_:;
}
{
oldNimErrFin174_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
*nimErr_ = oldNimErrFin174_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
}
goto LA168_;
LA172_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym511_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym511_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym511_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym511_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T179_;
resultX60gensym511_ = NIM_NIL;
tmpX60gensym511_ = NIM_NIL;
cpyX60gensym511_ = NIM_NIL;
finSectionX60gensym511_ = NIM_NIL;
resultX60gensym511_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info, (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
tmpX60gensym511_ = getTemp__injectdestructors_66(c, bodyScopeX60gensym448__3.parent, (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ, (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
(*(*tmpX60gensym511_)._kind_4.sym).flags = IL64(70368744177664);
T179_ = NIM_NIL;
{
NIM_BOOL T182_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T185_;
T182_ = (NIM_BOOL)0;
T182_ = hasDestructor__injectdestructors_54((&(*c)), (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
if (!T182_) goto LA183_;
T185_ = NIM_NIL;
T185_ = genDestroy__injectdestructors_535(c, tmpX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
add__ast_4147((&(*bodyScopeX60gensym448__3.parent).final), T185_);
cpyX60gensym511_ = moveOrCopy__injectdestructors_141(tmpX60gensym511_, (*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym448__3), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
}
goto LA180_;
LA183_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__22;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T188_;
colontmpD__22 = NIM_NIL;
nimZeroMem((void*)T188_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T188_[0] = tmpX60gensym511_;
colontmpD__22 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym448__3), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
T188_[1] = colontmpD__22;
cpyX60gensym511_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T188_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
{
LA187_:;
}
{
oldNimErrFin187_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
*nimErr_ = oldNimErrFin187_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
}
LA180_: ;
{
NI T193_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym511_;
T193_ = bodyScopeX60gensym448__3.vars.len;
if (!(((NI)0) < T193_)) goto LA194_;
varSectionX60gensym511_ = NIM_NIL;
varSectionX60gensym511_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym511__2;
NI i_7;
NI L_3;
NI T197_;
tmpX60gensym511__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_7 = ((NI)0);
T197_ = bodyScopeX60gensym448__3.vars.len;
L_3 = T197_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__23;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__24;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__25;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__26;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T200_;
if (!(i_7 < L_3)) goto LA199 ;
colontmpD__23 = NIM_NIL;
colontmpD__24 = NIM_NIL;
colontmpD__25 = NIM_NIL;
colontmpD__26 = NIM_NIL;
tmpX60gensym511__2 = &bodyScopeX60gensym448__3.vars.p->data[i_7];
nimZeroMem((void*)T200_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__23 = newSymNode__ast_4784((*tmpX60gensym511__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
T200_[0] = colontmpD__23;
colontmpD__24 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
T200_[1] = colontmpD__24;
colontmpD__25 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
T200_[2] = colontmpD__25;
colontmpD__26 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T200_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
add__ast_6233(varSectionX60gensym511_, colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
i_7 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&colontmpD__25);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&colontmpD__24);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&colontmpD__23);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
} LA199: ;
}
}
add__ast_6233(resultX60gensym511_, varSectionX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&varSectionX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
}
LA194_: ;
finSectionX60gensym511_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym511_;
NI i_8;
NI L_4;
NI T202_;
mX60gensym511_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_8 = ((NI)0);
T202_ = bodyScopeX60gensym448__3.wasMoved.len;
L_4 = T202_;
{
while (1) {
if (!(i_8 < L_4)) goto LA204 ;
mX60gensym511_ = &bodyScopeX60gensym448__3.wasMoved.p->data[i_8];
add__ast_6233(finSectionX60gensym511_, (*mX60gensym511_));
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
i_8 += ((NI)1);
} LA204: ;
}
}
{
NI iX60gensym511_;
NI colontmp__6;
NI T206_;
NI res_2;
iX60gensym511_ = (NI)0;
colontmp__6 = (NI)0;
T206_ = (bodyScopeX60gensym448__3.final.len-1);
colontmp__6 = T206_;
res_2 = colontmp__6;
{
while (1) {
if (!(((NI)0) <= res_2)) goto LA208 ;
iX60gensym511_ = res_2;
add__ast_6233(finSectionX60gensym511_, bodyScopeX60gensym448__3.final.p->data[iX60gensym511_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
res_2 -= ((NI)1);
} LA208: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__27;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__28;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__29;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T214_;
if (!bodyScopeX60gensym448__3.needsTry) goto LA211_;
colontmpD__27 = NIM_NIL;
colontmpD__28 = NIM_NIL;
colontmpD__29 = NIM_NIL;
nimZeroMem((void*)T214_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T214_[0] = cpyX60gensym511_;
colontmpD__27 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym511_, c, bodyScopeX60gensym448__3.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA213_;
T214_[1] = colontmpD__27;
colontmpD__28 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T214_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA213_;
colontmpD__29 = newTryFinally__lowerings_208(colontmpD__28, finSectionX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA213_;
add__ast_6233(resultX60gensym511_, colontmpD__29);
if (NIM_UNLIKELY(*nimErr_)) goto LA213_;
{
LA213_:;
}
{
oldNimErrFin213_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__29);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&colontmpD__28);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
eqdestroy___ast_3454(&colontmpD__27);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
*nimErr_ = oldNimErrFin213_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
}
goto LA209_;
LA211_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__30;
colontmpD__30 = NIM_NIL;
add__ast_6233(resultX60gensym511_, cpyX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
add__ast_6233(resultX60gensym511_, finSectionX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
colontmpD__30 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym511_, c, bodyScopeX60gensym448__3.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
add__ast_6233(resultX60gensym511_, colontmpD__30);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
{
LA218_:;
}
{
oldNimErrFin218_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__30);
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
*nimErr_ = oldNimErrFin218_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA178_;
}
LA209_: ;
{
NIM_BOOL T225_;
if (!!((bodyScopeX60gensym448__3.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA223_;
T225_ = (NIM_BOOL)0;
T225_ = (*bodyScopeX60gensym448__3.parent).needsTry;
if (T225_) goto LA226_;
T225_ = bodyScopeX60gensym448__3.needsTry;
LA226_: ;
(*bodyScopeX60gensym448__3.parent).needsTry = T225_;
}
LA223_: ;
colontmpD__20 = resultX60gensym511_;
resultX60gensym511_ = 0;
T167_ = colontmpD__20;
{
LA178_:;
}
{
oldNimErrFin178_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
eqdestroy___ast_3454(&cpyX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
eqdestroy___ast_3454(&tmpX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
eqdestroy___ast_3454(&resultX60gensym511_);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
*nimErr_ = oldNimErrFin178_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
}
LA168_: ;
add__ast_6233(result, T167_);
if (NIM_UNLIKELY(*nimErr_)) goto LA166_;
{
LA166_:;
}
{
oldNimErrFin166_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__20);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym448__3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin166_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI iX60gensym448__4;
NI colontmp__7;
NI i_9;
iX60gensym448__4 = (NI)0;
colontmp__7 = (NI)0;
colontmp__7 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_9 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym448__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym448__2;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__31;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T241_;
if (!(i_9 < colontmp__7)) goto LA234 ;
itX60gensym448__2 = NIM_NIL;
branchX60gensym448__2 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym448_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__31 = NIM_NIL;
iX60gensym448__4 = i_9;
eqcopy___ast_3457(&itX60gensym448__2, (*ri)._kind_6.sons.p->data[iX60gensym448__4]);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
branchX60gensym448__2 = shallowCopy__ast_5838(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
colontmpD__31 = lastSon__ast_6268(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
nestedScope__injectdestructors_77(s, colontmpD__31, (&branchScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T240_;
if (!((*itX60gensym448__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86) || (*itX60gensym448__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49))) goto LA238_;
T240_ = NIM_NIL;
T240_ = p__injectdestructors_129((*itX60gensym448__2)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
eqsink___ast_3460(&(*branchX60gensym448__2)._kind_6.sons.p->data[((NI)0)], T240_);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
}
LA238_: ;
T241_ = NIM_NIL;
{
NIM_BOOL T244_;
NI T245_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__32;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__33;
NI T250_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T251_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T267_;
T244_ = (NIM_BOOL)0;
T245_ = (NI)0;
T245_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
T244_ = isEmptyType__ast_6215((*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T245_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
if (T244_) goto LA246_;
T244_ = NIM_TRUE;
LA246_: ;
if (!T244_) goto LA247_;
colontmpD__32 = NIM_NIL;
colontmpD__33 = NIM_NIL;
T250_ = (NI)0;
T250_ = len__ast_3325(branchX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
T251_ = NIM_NIL;
{
NI T254_;
NIM_BOOL T255_;
NI T259_;
T254_ = (NI)0;
T254_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
T255_ = (NIM_BOOL)0;
T255_ = isEmptyType__ast_6215((*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T254_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
if (!T255_) goto LA256_;
T259_ = (NI)0;
T259_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA258_;
colontmpD__32 = p__injectdestructors_129((*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T259_ - ((NI)1))], c, (&branchScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA258_;
T251_ = colontmpD__32;
{
LA258_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
}
goto LA252_;
LA256_: ;
{
NI T264_;
T264_ = (NI)0;
T264_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
colontmpD__33 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T264_ - ((NI)1))], c, (&branchScopeX60gensym448_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA263_;
T251_ = colontmpD__33;
{
LA263_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
}
LA252_: ;
T267_ = NIM_NIL;
T267_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym448_), T251_);
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
eqsink___ast_3460(&(*branchX60gensym448__2)._kind_6.sons.p->data[(NI)(T250_ - ((NI)1))], T267_);
if (NIM_UNLIKELY(*nimErr_)) goto LA249_;
{
LA249_:;
}
{
oldNimErrFin249_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__33);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
eqdestroy___ast_3454(&colontmpD__32);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
*nimErr_ = oldNimErrFin249_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
}
goto LA242_;
LA247_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym540_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym540_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym540_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym540_;
NI T272_;
NI T273_;
NI T274_;
NI T275_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T276_;
NI T304_;
NI T331_;
resultX60gensym540_ = NIM_NIL;
tmpX60gensym540_ = NIM_NIL;
cpyX60gensym540_ = NIM_NIL;
finSectionX60gensym540_ = NIM_NIL;
T272_ = (NI)0;
T272_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T273_ = (NI)0;
T273_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
resultX60gensym540_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T272_ - ((NI)1))]).info, (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T273_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T274_ = (NI)0;
T274_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T275_ = (NI)0;
T275_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
tmpX60gensym540_ = getTemp__injectdestructors_66(c, branchScopeX60gensym448_.parent, (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T274_ - ((NI)1))]).typ, (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T275_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
(*(*tmpX60gensym540_)._kind_4.sym).flags = IL64(70368744177664);
T276_ = NIM_NIL;
{
NI T279_;
NIM_BOOL T280_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T283_;
NI T284_;
T279_ = (NI)0;
T279_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T280_ = (NIM_BOOL)0;
T280_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T279_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
if (!T280_) goto LA281_;
T283_ = NIM_NIL;
T283_ = genDestroy__injectdestructors_535(c, tmpX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
add__ast_4147((&(*branchScopeX60gensym448_.parent).final), T283_);
T284_ = (NI)0;
T284_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
cpyX60gensym540_ = moveOrCopy__injectdestructors_141(tmpX60gensym540_, (*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T284_ - ((NI)1))], c, (&branchScopeX60gensym448_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
}
goto LA277_;
LA281_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__34;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T287_;
NI T288_;
colontmpD__34 = NIM_NIL;
nimZeroMem((void*)T287_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T287_[0] = tmpX60gensym540_;
T288_ = (NI)0;
T288_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
colontmpD__34 = p__injectdestructors_129((*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T288_ - ((NI)1))], c, (&branchScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
T287_[1] = colontmpD__34;
cpyX60gensym540_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T287_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA286_;
{
LA286_:;
}
{
oldNimErrFin286_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__34);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
*nimErr_ = oldNimErrFin286_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
}
LA277_: ;
{
NI T293_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym540_;
NI T296_;
T293_ = branchScopeX60gensym448_.vars.len;
if (!(((NI)0) < T293_)) goto LA294_;
varSectionX60gensym540_ = NIM_NIL;
T296_ = (NI)0;
T296_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
varSectionX60gensym540_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T296_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym540__2;
NI i_10;
NI L_5;
NI T298_;
tmpX60gensym540__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_10 = ((NI)0);
T298_ = branchScopeX60gensym448_.vars.len;
L_5 = T298_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__35;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__36;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__37;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__38;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T301_;
NI T302_;
NI T303_;
if (!(i_10 < L_5)) goto LA300 ;
colontmpD__35 = NIM_NIL;
colontmpD__36 = NIM_NIL;
colontmpD__37 = NIM_NIL;
colontmpD__38 = NIM_NIL;
tmpX60gensym540__2 = &branchScopeX60gensym448_.vars.p->data[i_10];
nimZeroMem((void*)T301_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__35 = newSymNode__ast_4784((*tmpX60gensym540__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T301_[0] = colontmpD__35;
T302_ = (NI)0;
T302_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
colontmpD__36 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T302_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T301_[1] = colontmpD__36;
T303_ = (NI)0;
T303_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
colontmpD__37 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T303_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
T301_[2] = colontmpD__37;
colontmpD__38 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T301_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
add__ast_6233(varSectionX60gensym540_, colontmpD__38);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
i_10 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__38);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&colontmpD__37);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&colontmpD__36);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&colontmpD__35);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
} LA300: ;
}
}
add__ast_6233(resultX60gensym540_, varSectionX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&varSectionX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
}
LA294_: ;
T304_ = (NI)0;
T304_ = len__ast_3325(itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
finSectionX60gensym540_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym448__2)._kind_6.sons.p->data[(NI)(T304_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym540_;
NI i_11;
NI L_6;
NI T306_;
mX60gensym540_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_11 = ((NI)0);
T306_ = branchScopeX60gensym448_.wasMoved.len;
L_6 = T306_;
{
while (1) {
if (!(i_11 < L_6)) goto LA308 ;
mX60gensym540_ = &branchScopeX60gensym448_.wasMoved.p->data[i_11];
add__ast_6233(finSectionX60gensym540_, (*mX60gensym540_));
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
i_11 += ((NI)1);
} LA308: ;
}
}
{
NI iX60gensym540_;
NI colontmp__8;
NI T310_;
NI res_3;
iX60gensym540_ = (NI)0;
colontmp__8 = (NI)0;
T310_ = (branchScopeX60gensym448_.final.len-1);
colontmp__8 = T310_;
res_3 = colontmp__8;
{
while (1) {
if (!(((NI)0) <= res_3)) goto LA312 ;
iX60gensym540_ = res_3;
add__ast_6233(finSectionX60gensym540_, branchScopeX60gensym448_.final.p->data[iX60gensym540_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
res_3 -= ((NI)1);
} LA312: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__39;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__40;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__41;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T318_;
if (!branchScopeX60gensym448_.needsTry) goto LA315_;
colontmpD__39 = NIM_NIL;
colontmpD__40 = NIM_NIL;
colontmpD__41 = NIM_NIL;
nimZeroMem((void*)T318_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T318_[0] = cpyX60gensym540_;
colontmpD__39 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym540_, c, branchScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
T318_[1] = colontmpD__39;
colontmpD__40 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T318_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
colontmpD__41 = newTryFinally__lowerings_208(colontmpD__40, finSectionX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
add__ast_6233(resultX60gensym540_, colontmpD__41);
if (NIM_UNLIKELY(*nimErr_)) goto LA317_;
{
LA317_:;
}
{
oldNimErrFin317_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__41);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&colontmpD__40);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqdestroy___ast_3454(&colontmpD__39);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
*nimErr_ = oldNimErrFin317_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
}
goto LA313_;
LA315_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__42;
colontmpD__42 = NIM_NIL;
add__ast_6233(resultX60gensym540_, cpyX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA322_;
add__ast_6233(resultX60gensym540_, finSectionX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA322_;
colontmpD__42 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym540_, c, branchScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA322_;
add__ast_6233(resultX60gensym540_, colontmpD__42);
if (NIM_UNLIKELY(*nimErr_)) goto LA322_;
{
LA322_:;
}
{
oldNimErrFin322_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__42);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
*nimErr_ = oldNimErrFin322_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
}
LA313_: ;
{
NIM_BOOL T329_;
if (!!((branchScopeX60gensym448_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA327_;
T329_ = (NIM_BOOL)0;
T329_ = (*branchScopeX60gensym448_.parent).needsTry;
if (T329_) goto LA330_;
T329_ = branchScopeX60gensym448_.needsTry;
LA330_: ;
(*branchScopeX60gensym448_.parent).needsTry = T329_;
}
LA327_: ;
T331_ = (NI)0;
T331_ = len__ast_3325(branchX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
eqsink___ast_3460(&(*branchX60gensym448__2)._kind_6.sons.p->data[(NI)(T331_ - ((NI)1))], resultX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA271_;
resultX60gensym540_ = 0;
{
LA271_:;
}
{
oldNimErrFin271_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
eqdestroy___ast_3454(&cpyX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
eqdestroy___ast_3454(&tmpX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
eqdestroy___ast_3454(&resultX60gensym540_);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
*nimErr_ = oldNimErrFin271_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
}
LA242_: ;
add__ast_6233(result, branchX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA235_;
i_9 += ((NI)1);
{
LA235_:;
}
{
oldNimErrFin235_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__31);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&branchScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branchX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&itX60gensym448__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin235_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA234: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw tryScopeX60gensym448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__43;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__44;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T338_;
nimZeroMem((void*)(&tryScopeX60gensym448_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__43 = NIM_NIL;
colontmpD__44 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
T338_ = NIM_NIL;
{
NIM_BOOL T341_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__45;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__46;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T346_;
T341_ = (NIM_BOOL)0;
T341_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
if (T341_) goto LA342_;
T341_ = NIM_TRUE;
LA342_: ;
if (!T341_) goto LA343_;
colontmpD__45 = NIM_NIL;
colontmpD__46 = NIM_NIL;
T346_ = NIM_NIL;
{
NIM_BOOL T349_;
T349_ = (NIM_BOOL)0;
T349_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA345_;
if (!T349_) goto LA350_;
colontmpD__45 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA352_;
T346_ = colontmpD__45;
{
LA352_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA345_;
}
goto LA347_;
LA350_: ;
{
colontmpD__46 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym448_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
T346_ = colontmpD__46;
{
LA356_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA345_;
}
LA347_: ;
colontmpD__43 = processScope__injectdestructors_1044(c, (&tryScopeX60gensym448_), T346_);
if (NIM_UNLIKELY(*nimErr_)) goto LA345_;
T338_ = colontmpD__43;
{
LA345_:;
}
{
oldNimErrFin345_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__46);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&colontmpD__45);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
*nimErr_ = oldNimErrFin345_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
}
goto LA339_;
LA343_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym557_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym557_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym557_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym557_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T363_;
resultX60gensym557_ = NIM_NIL;
tmpX60gensym557_ = NIM_NIL;
cpyX60gensym557_ = NIM_NIL;
finSectionX60gensym557_ = NIM_NIL;
resultX60gensym557_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info, (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
tmpX60gensym557_ = getTemp__injectdestructors_66(c, tryScopeX60gensym448_.parent, (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ, (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
(*(*tmpX60gensym557_)._kind_4.sym).flags = IL64(70368744177664);
T363_ = NIM_NIL;
{
NIM_BOOL T366_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T369_;
T366_ = (NIM_BOOL)0;
T366_ = hasDestructor__injectdestructors_54((&(*c)), (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
if (!T366_) goto LA367_;
T369_ = NIM_NIL;
T369_ = genDestroy__injectdestructors_535(c, tmpX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
add__ast_4147((&(*tryScopeX60gensym448_.parent).final), T369_);
cpyX60gensym557_ = moveOrCopy__injectdestructors_141(tmpX60gensym557_, (*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym448_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
}
goto LA364_;
LA367_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__47;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T372_;
colontmpD__47 = NIM_NIL;
nimZeroMem((void*)T372_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T372_[0] = tmpX60gensym557_;
colontmpD__47 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym448_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA371_;
T372_[1] = colontmpD__47;
cpyX60gensym557_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T372_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA371_;
{
LA371_:;
}
{
oldNimErrFin371_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__47);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
*nimErr_ = oldNimErrFin371_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
}
LA364_: ;
{
NI T377_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym557_;
T377_ = tryScopeX60gensym448_.vars.len;
if (!(((NI)0) < T377_)) goto LA378_;
varSectionX60gensym557_ = NIM_NIL;
varSectionX60gensym557_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym557__2;
NI i_12;
NI L_7;
NI T381_;
tmpX60gensym557__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_12 = ((NI)0);
T381_ = tryScopeX60gensym448_.vars.len;
L_7 = T381_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__48;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__49;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__50;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__51;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T384_;
if (!(i_12 < L_7)) goto LA383 ;
colontmpD__48 = NIM_NIL;
colontmpD__49 = NIM_NIL;
colontmpD__50 = NIM_NIL;
colontmpD__51 = NIM_NIL;
tmpX60gensym557__2 = &tryScopeX60gensym448_.vars.p->data[i_12];
nimZeroMem((void*)T384_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__48 = newSymNode__ast_4784((*tmpX60gensym557__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
T384_[0] = colontmpD__48;
colontmpD__49 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
T384_[1] = colontmpD__49;
colontmpD__50 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
T384_[2] = colontmpD__50;
colontmpD__51 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T384_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
add__ast_6233(varSectionX60gensym557_, colontmpD__51);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
i_12 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__51);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__50);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__49);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__48);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
} LA383: ;
}
}
add__ast_6233(resultX60gensym557_, varSectionX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&varSectionX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
}
LA378_: ;
finSectionX60gensym557_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym557_;
NI i_13;
NI L_8;
NI T386_;
mX60gensym557_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_13 = ((NI)0);
T386_ = tryScopeX60gensym448_.wasMoved.len;
L_8 = T386_;
{
while (1) {
if (!(i_13 < L_8)) goto LA388 ;
mX60gensym557_ = &tryScopeX60gensym448_.wasMoved.p->data[i_13];
add__ast_6233(finSectionX60gensym557_, (*mX60gensym557_));
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
i_13 += ((NI)1);
} LA388: ;
}
}
{
NI iX60gensym557_;
NI colontmp__9;
NI T390_;
NI res_4;
iX60gensym557_ = (NI)0;
colontmp__9 = (NI)0;
T390_ = (tryScopeX60gensym448_.final.len-1);
colontmp__9 = T390_;
res_4 = colontmp__9;
{
while (1) {
if (!(((NI)0) <= res_4)) goto LA392 ;
iX60gensym557_ = res_4;
add__ast_6233(finSectionX60gensym557_, tryScopeX60gensym448_.final.p->data[iX60gensym557_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
res_4 -= ((NI)1);
} LA392: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__52;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__53;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__54;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__55;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T398_;
if (!tryScopeX60gensym448_.needsTry) goto LA395_;
colontmpD__52 = NIM_NIL;
colontmpD__53 = NIM_NIL;
colontmpD__54 = NIM_NIL;
colontmpD__55 = NIM_NIL;
nimZeroMem((void*)T398_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T398_[0] = cpyX60gensym557_;
{
NIM_BOOL T401_;
T401_ = (NIM_BOOL)0;
T401_ = isEmptyType__ast_6215((*tmpX60gensym557_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
if (!T401_) goto LA402_;
colontmpD__52 = p__injectdestructors_129(tmpX60gensym557_, c, tryScopeX60gensym448_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA404_;
T398_[1] = colontmpD__52;
{
LA404_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
}
goto LA399_;
LA402_: ;
{
colontmpD__53 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym557_, c, tryScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
T398_[1] = colontmpD__53;
{
LA408_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
}
LA399_: ;
colontmpD__54 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T398_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
colontmpD__55 = newTryFinally__lowerings_208(colontmpD__54, finSectionX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
add__ast_6233(resultX60gensym557_, colontmpD__55);
if (NIM_UNLIKELY(*nimErr_)) goto LA397_;
{
LA397_:;
}
{
oldNimErrFin397_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__55);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__54);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__53);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__52);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
*nimErr_ = oldNimErrFin397_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
}
goto LA393_;
LA395_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__56;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__57;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T415_;
colontmpD__56 = NIM_NIL;
colontmpD__57 = NIM_NIL;
add__ast_6233(resultX60gensym557_, cpyX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
add__ast_6233(resultX60gensym557_, finSectionX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
T415_ = NIM_NIL;
{
NIM_BOOL T418_;
T418_ = (NIM_BOOL)0;
T418_ = isEmptyType__ast_6215((*tmpX60gensym557_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
if (!T418_) goto LA419_;
colontmpD__56 = p__injectdestructors_129(tmpX60gensym557_, c, tryScopeX60gensym448_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
T415_ = colontmpD__56;
{
LA421_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
}
goto LA416_;
LA419_: ;
{
colontmpD__57 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym557_, c, tryScopeX60gensym448_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA425_;
T415_ = colontmpD__57;
{
LA425_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
}
LA416_: ;
add__ast_6233(resultX60gensym557_, T415_);
if (NIM_UNLIKELY(*nimErr_)) goto LA414_;
{
LA414_:;
}
{
oldNimErrFin414_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__57);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
eqdestroy___ast_3454(&colontmpD__56);
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
*nimErr_ = oldNimErrFin414_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA362_;
}
LA393_: ;
{
NIM_BOOL T434_;
if (!!((tryScopeX60gensym448_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA432_;
T434_ = (NIM_BOOL)0;
T434_ = (*tryScopeX60gensym448_.parent).needsTry;
if (T434_) goto LA435_;
T434_ = tryScopeX60gensym448_.needsTry;
LA435_: ;
(*tryScopeX60gensym448_.parent).needsTry = T434_;
}
LA432_: ;
colontmpD__44 = resultX60gensym557_;
resultX60gensym557_ = 0;
T338_ = colontmpD__44;
{
LA362_:;
}
{
oldNimErrFin362_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&cpyX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&tmpX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&resultX60gensym557_);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
*nimErr_ = oldNimErrFin362_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
}
LA339_: ;
add__ast_6233(result, T338_);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
{
NI iX60gensym448__5;
NI colontmp__10;
NI i_14;
iX60gensym448__5 = (NI)0;
colontmp__10 = (NI)0;
colontmp__10 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
i_14 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym448__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym448__3;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym448__2;
NI T442_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T443_;
if (!(i_14 < colontmp__10)) goto LA440 ;
itX60gensym448__3 = NIM_NIL;
branchX60gensym448__3 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym448__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
iX60gensym448__5 = i_14;
eqcopy___ast_3457(&itX60gensym448__3, (*ri)._kind_6.sons.p->data[iX60gensym448__5]);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
branchX60gensym448__3 = copyTree__ast_5856(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
T442_ = (NI)0;
T442_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
nestedScope__injectdestructors_77(s, (*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T442_ - ((NI)1))], (&branchScopeX60gensym448__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
T443_ = NIM_NIL;
{
NIM_BOOL T446_;
NIM_BOOL T447_;
NI T448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__58;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__59;
NI T454_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T455_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T478_;
T446_ = (NIM_BOOL)0;
T447_ = (NIM_BOOL)0;
T448_ = (NI)0;
T448_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
T447_ = isEmptyType__ast_6215((*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T448_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
if (T447_) goto LA449_;
T447_ = NIM_TRUE;
LA449_: ;
T446_ = T447_;
if (T446_) goto LA450_;
T446_ = ((*itX60gensym448__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107));
LA450_: ;
if (!T446_) goto LA451_;
colontmpD__58 = NIM_NIL;
colontmpD__59 = NIM_NIL;
T454_ = (NI)0;
T454_ = len__ast_3325(branchX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA453_;
T455_ = NIM_NIL;
{
NI T461_;
if (!((*itX60gensym448__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA458_;
T461_ = (NI)0;
T461_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA460_;
colontmpD__58 = p__injectdestructors_129((*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T461_ - ((NI)1))], c, (&branchScopeX60gensym448__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA460_;
T455_ = colontmpD__58;
{
LA460_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA453_;
}
goto LA456_;
LA458_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T466_;
T466_ = NIM_NIL;
{
NI T469_;
NIM_BOOL T470_;
NI T473_;
T469_ = (NI)0;
T469_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
T470_ = (NIM_BOOL)0;
T470_ = isEmptyType__ast_6215((*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T469_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
if (!T470_) goto LA471_;
T473_ = (NI)0;
T473_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
colontmpD__59 = p__injectdestructors_129((*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T473_ - ((NI)1))], c, (&branchScopeX60gensym448__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
}
goto LA467_;
LA471_: ;
{
NI T475_;
T475_ = (NI)0;
T475_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
colontmpD__59 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T475_ - ((NI)1))], c, (&branchScopeX60gensym448__2), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA465_;
}
LA467_: ;
T455_ = colontmpD__59;
{
LA465_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA453_;
}
LA456_: ;
T478_ = NIM_NIL;
T478_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym448__2), T455_);
if (NIM_UNLIKELY(*nimErr_)) goto LA453_;
eqsink___ast_3460(&(*branchX60gensym448__3)._kind_6.sons.p->data[(NI)(T454_ - ((NI)1))], T478_);
if (NIM_UNLIKELY(*nimErr_)) goto LA453_;
{
LA453_:;
}
{
oldNimErrFin453_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__59);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
eqdestroy___ast_3454(&colontmpD__58);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
*nimErr_ = oldNimErrFin453_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
}
goto LA444_;
LA451_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym591_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym591_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym591_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym591_;
NI T483_;
NI T484_;
NI T485_;
NI T486_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T487_;
NI T515_;
NI T542_;
resultX60gensym591_ = NIM_NIL;
tmpX60gensym591_ = NIM_NIL;
cpyX60gensym591_ = NIM_NIL;
finSectionX60gensym591_ = NIM_NIL;
T483_ = (NI)0;
T483_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T484_ = (NI)0;
T484_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
resultX60gensym591_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T483_ - ((NI)1))]).info, (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T484_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T485_ = (NI)0;
T485_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T486_ = (NI)0;
T486_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
tmpX60gensym591_ = getTemp__injectdestructors_66(c, branchScopeX60gensym448__2.parent, (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T485_ - ((NI)1))]).typ, (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T486_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
(*(*tmpX60gensym591_)._kind_4.sym).flags = IL64(70368744177664);
T487_ = NIM_NIL;
{
NI T490_;
NIM_BOOL T491_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T494_;
NI T495_;
T490_ = (NI)0;
T490_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T491_ = (NIM_BOOL)0;
T491_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T490_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
if (!T491_) goto LA492_;
T494_ = NIM_NIL;
T494_ = genDestroy__injectdestructors_535(c, tmpX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
add__ast_4147((&(*branchScopeX60gensym448__2.parent).final), T494_);
T495_ = (NI)0;
T495_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
cpyX60gensym591_ = moveOrCopy__injectdestructors_141(tmpX60gensym591_, (*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T495_ - ((NI)1))], c, (&branchScopeX60gensym448__2), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
}
goto LA488_;
LA492_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__60;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T498_;
NI T499_;
colontmpD__60 = NIM_NIL;
nimZeroMem((void*)T498_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T498_[0] = tmpX60gensym591_;
T499_ = (NI)0;
T499_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA497_;
colontmpD__60 = p__injectdestructors_129((*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T499_ - ((NI)1))], c, (&branchScopeX60gensym448__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA497_;
T498_[1] = colontmpD__60;
cpyX60gensym591_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T498_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA497_;
{
LA497_:;
}
{
oldNimErrFin497_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__60);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
*nimErr_ = oldNimErrFin497_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
}
LA488_: ;
{
NI T504_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym591_;
NI T507_;
T504_ = branchScopeX60gensym448__2.vars.len;
if (!(((NI)0) < T504_)) goto LA505_;
varSectionX60gensym591_ = NIM_NIL;
T507_ = (NI)0;
T507_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
varSectionX60gensym591_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T507_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym591__2;
NI i_15;
NI L_9;
NI T509_;
tmpX60gensym591__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_15 = ((NI)0);
T509_ = branchScopeX60gensym448__2.vars.len;
L_9 = T509_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__61;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__62;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__63;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__64;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T512_;
NI T513_;
NI T514_;
if (!(i_15 < L_9)) goto LA511 ;
colontmpD__61 = NIM_NIL;
colontmpD__62 = NIM_NIL;
colontmpD__63 = NIM_NIL;
colontmpD__64 = NIM_NIL;
tmpX60gensym591__2 = &branchScopeX60gensym448__2.vars.p->data[i_15];
nimZeroMem((void*)T512_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__61 = newSymNode__ast_4784((*tmpX60gensym591__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T512_[0] = colontmpD__61;
T513_ = (NI)0;
T513_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
colontmpD__62 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T513_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T512_[1] = colontmpD__62;
T514_ = (NI)0;
T514_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
colontmpD__63 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T514_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
T512_[2] = colontmpD__63;
colontmpD__64 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T512_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
add__ast_6233(varSectionX60gensym591_, colontmpD__64);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
i_15 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__64);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&colontmpD__63);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&colontmpD__62);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&colontmpD__61);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
} LA511: ;
}
}
add__ast_6233(resultX60gensym591_, varSectionX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&varSectionX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
}
LA505_: ;
T515_ = (NI)0;
T515_ = len__ast_3325(itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
finSectionX60gensym591_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym448__3)._kind_6.sons.p->data[(NI)(T515_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym591_;
NI i_16;
NI L_10;
NI T517_;
mX60gensym591_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_16 = ((NI)0);
T517_ = branchScopeX60gensym448__2.wasMoved.len;
L_10 = T517_;
{
while (1) {
if (!(i_16 < L_10)) goto LA519 ;
mX60gensym591_ = &branchScopeX60gensym448__2.wasMoved.p->data[i_16];
add__ast_6233(finSectionX60gensym591_, (*mX60gensym591_));
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
i_16 += ((NI)1);
} LA519: ;
}
}
{
NI iX60gensym591_;
NI colontmp__11;
NI T521_;
NI res_5;
iX60gensym591_ = (NI)0;
colontmp__11 = (NI)0;
T521_ = (branchScopeX60gensym448__2.final.len-1);
colontmp__11 = T521_;
res_5 = colontmp__11;
{
while (1) {
if (!(((NI)0) <= res_5)) goto LA523 ;
iX60gensym591_ = res_5;
add__ast_6233(finSectionX60gensym591_, branchScopeX60gensym448__2.final.p->data[iX60gensym591_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
res_5 -= ((NI)1);
} LA523: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__65;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__66;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__67;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T529_;
if (!branchScopeX60gensym448__2.needsTry) goto LA526_;
colontmpD__65 = NIM_NIL;
colontmpD__66 = NIM_NIL;
colontmpD__67 = NIM_NIL;
nimZeroMem((void*)T529_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T529_[0] = cpyX60gensym591_;
colontmpD__65 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym591_, c, branchScopeX60gensym448__2.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA528_;
T529_[1] = colontmpD__65;
colontmpD__66 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T529_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA528_;
colontmpD__67 = newTryFinally__lowerings_208(colontmpD__66, finSectionX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA528_;
add__ast_6233(resultX60gensym591_, colontmpD__67);
if (NIM_UNLIKELY(*nimErr_)) goto LA528_;
{
LA528_:;
}
{
oldNimErrFin528_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__67);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&colontmpD__66);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqdestroy___ast_3454(&colontmpD__65);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
*nimErr_ = oldNimErrFin528_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
}
goto LA524_;
LA526_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__68;
colontmpD__68 = NIM_NIL;
add__ast_6233(resultX60gensym591_, cpyX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA533_;
add__ast_6233(resultX60gensym591_, finSectionX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA533_;
colontmpD__68 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym591_, c, branchScopeX60gensym448__2.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA533_;
add__ast_6233(resultX60gensym591_, colontmpD__68);
if (NIM_UNLIKELY(*nimErr_)) goto LA533_;
{
LA533_:;
}
{
oldNimErrFin533_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__68);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
*nimErr_ = oldNimErrFin533_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
}
LA524_: ;
{
NIM_BOOL T540_;
if (!!((branchScopeX60gensym448__2.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA538_;
T540_ = (NIM_BOOL)0;
T540_ = (*branchScopeX60gensym448__2.parent).needsTry;
if (T540_) goto LA541_;
T540_ = branchScopeX60gensym448__2.needsTry;
LA541_: ;
(*branchScopeX60gensym448__2.parent).needsTry = T540_;
}
LA538_: ;
T542_ = (NI)0;
T542_ = len__ast_3325(branchX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
eqsink___ast_3460(&(*branchX60gensym448__3)._kind_6.sons.p->data[(NI)(T542_ - ((NI)1))], resultX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA482_;
resultX60gensym591_ = 0;
{
LA482_:;
}
{
oldNimErrFin482_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
eqdestroy___ast_3454(&cpyX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
eqdestroy___ast_3454(&tmpX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
eqdestroy___ast_3454(&resultX60gensym591_);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
*nimErr_ = oldNimErrFin482_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
}
LA444_: ;
add__ast_6233(result, branchX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA441_;
i_14 += ((NI)1);
{
LA441_:;
}
{
oldNimErrFin441_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___injectdestructors_109((&branchScopeX60gensym448__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&branchX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
eqdestroy___ast_3454(&itX60gensym448__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
*nimErr_ = oldNimErrFin441_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA337_;
} LA440: ;
}
}
{
LA337_:;
}
{
oldNimErrFin337_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__44);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__43);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&tryScopeX60gensym448_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin337_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T550_;
result = copyTree__ast_5856(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T550_ = NIM_NIL;
T550_ = moveOrCopy__injectdestructors_141(dest, (*(*ri)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c, s, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T550_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
}
break;
}
}
break;
default:
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__69;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T554_;
colontmpD__69 = NIM_NIL;
nimZeroMem((void*)T554_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T554_[0] = dest;
colontmpD__69 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA553_;
T554_[1] = colontmpD__69;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T554_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA553_;
{
LA553_:;
}
{
oldNimErrFin553_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__69);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin553_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}
goto LA1_;
LA8_: ;
{
switch ((*ri).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__70;
colontmpD__70 = NIM_NIL;
colontmpD__70 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA559_;
result = genSink__injectdestructors_572(c, dest, colontmpD__70, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA559_;
{
LA559_:;
}
{
oldNimErrFin559_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__70);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin559_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
{
NIM_BOOL T565_;
NIM_BOOL T566_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__71;
T565_ = (NIM_BOOL)0;
T566_ = (NIM_BOOL)0;
T566_ = ((*(*ri)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T566_)) goto LA567_;
T566_ = ((*(*(*ri)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
LA567_: ;
T565_ = T566_;
if (!(T565_)) goto LA568_;
T565_ = ((*(*(*(*ri)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18));
LA568_: ;
if (!T565_) goto LA569_;
colontmpD__71 = NIM_NIL;
colontmpD__71 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA571_;
result = genSink__injectdestructors_572(c, dest, colontmpD__71, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA571_;
{
LA571_:;
}
{
oldNimErrFin571_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__71);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin571_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA563_;
LA569_: ;
{
NIM_BOOL T575_;
T575_ = (NIM_BOOL)0;
T575_ = isAnalysableFieldAccess__aliasanalysis_10(ri, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T575_)) goto LA576_;
T575_ = isLastRead__injectdestructors_372(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA576_: ;
if (!T575_) goto LA577_;
{
tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ T581_;
T581_ = (tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)0;
T581_ = aliases__aliasanalysis_65(dest, ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T581_ == ((tyEnum_AliasKind__s72DW1Oj62bYXnkonKNptQ)1))) goto LA582_;
{
NIM_BOOL T586_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* snk;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__72;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T590_;
T586_ = (NIM_BOOL)0;
T586_ = isAtom__ast_6204((*ri)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T586_) goto LA587_;
snk = NIM_NIL;
colontmpD__72 = NIM_NIL;
snk = genSink__injectdestructors_572(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA589_;
nimZeroMem((void*)T590_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T590_[0] = snk;
colontmpD__72 = genWasMoved__injectdestructors_763(c, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA589_;
T590_[1] = colontmpD__72;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T590_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA589_;
{
LA589_:;
}
{
oldNimErrFin589_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__72);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&snk);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin589_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA584_;
LA587_: ;
{
result = genFieldAccessSideEffects__injectdestructors_2580(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA584_: ;
}
goto LA579_;
LA582_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__73;
colontmpD__73 = NIM_NIL;
colontmpD__73 = destructiveMoveVar__injectdestructors_784(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA595_;
result = genSink__injectdestructors_572(c, dest, colontmpD__73, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA595_;
{
LA595_:;
}
{
oldNimErrFin595_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__73);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin595_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA579_: ;
}
goto LA563_;
LA577_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__74;
colontmpD__74 = NIM_NIL;
result = genCopy__injectdestructors_661(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA599_;
colontmpD__74 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA599_;
add__ast_6233(result, colontmpD__74);
if (NIM_UNLIKELY(*nimErr_)) goto LA599_;
finishCopy__injectdestructors_611(c, result, dest, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA599_;
{
LA599_:;
}
{
oldNimErrFin599_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__74);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin599_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA563_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
{
{
NIM_BOOL T605_;
NI T606_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__75;
T605_ = (NIM_BOOL)0;
T606_ = (NI)0;
T606_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T605_ = (((NI)0) < T606_);
if (!(T605_)) goto LA607_;
T605_ = isDangerousSeq__injectdestructors_871((*ri).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA607_: ;
if (!T605_) goto LA608_;
colontmpD__75 = NIM_NIL;
result = genCopy__injectdestructors_661(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA610_;
colontmpD__75 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA610_;
add__ast_6233(result, colontmpD__75);
if (NIM_UNLIKELY(*nimErr_)) goto LA610_;
finishCopy__injectdestructors_611(c, result, dest, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA610_;
{
LA610_:;
}
{
oldNimErrFin610_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__75);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin610_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA603_;
LA608_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__76;
colontmpD__76 = NIM_NIL;
colontmpD__76 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA614_;
result = genSink__injectdestructors_572(c, dest, colontmpD__76, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA614_;
{
LA614_:;
}
{
oldNimErrFin614_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__76);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin614_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA603_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__77;
colontmpD__77 = NIM_NIL;
colontmpD__77 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA618_;
result = genSink__injectdestructors_572(c, dest, colontmpD__77, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA618_;
{
LA618_:;
}
{
oldNimErrFin618_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__77);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin618_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
{
NIM_BOOL T624_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* snk_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__78;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T629_;
T624_ = (NIM_BOOL)0;
T624_ = isSinkParam__ast_6483((*ri)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T624_)) goto LA625_;
T624_ = isLastRead__injectdestructors_372(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA625_: ;
if (!T624_) goto LA626_;
snk_2 = NIM_NIL;
colontmpD__78 = NIM_NIL;
snk_2 = genSink__injectdestructors_572(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA628_;
nimZeroMem((void*)T629_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T629_[0] = snk_2;
colontmpD__78 = genWasMoved__injectdestructors_763(c, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA628_;
T629_[1] = colontmpD__78;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T629_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA628_;
{
LA628_:;
}
{
oldNimErrFin628_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__78);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&snk_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin628_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA622_;
LA626_: ;
{
NIM_BOOL T633_;
NIM_BOOL T634_;
NIM_BOOL T635_;
NIM_BOOL T636_;
NIM_BOOL T641_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* snk_3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__79;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T645_;
T633_ = (NIM_BOOL)0;
T634_ = (NIM_BOOL)0;
T635_ = (NIM_BOOL)0;
T636_ = (NIM_BOOL)0;
T636_ = !(((*(*ri)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3)));
if (!(T636_)) goto LA637_;
T636_ = ((*(*ri)._kind_4.sym).owner == (*c).owner);
LA637_: ;
T635_ = T636_;
if (!(T635_)) goto LA638_;
T635_ = isLastRead__injectdestructors_372(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA638_: ;
T634_ = T635_;
if (!(T634_)) goto LA639_;
T634_ = canBeMoved__injectdestructors_540((&(*c)), (*dest).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA639_: ;
T633_ = T634_;
if (!(T633_)) goto LA640_;
T641_ = (NIM_BOOL)0;
T641_ = isCursor__injectdestructors_395(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T633_ = !(T641_);
LA640_: ;
if (!T633_) goto LA642_;
snk_3 = NIM_NIL;
colontmpD__79 = NIM_NIL;
snk_3 = genSink__injectdestructors_572(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA644_;
nimZeroMem((void*)T645_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T645_[0] = snk_3;
colontmpD__79 = genWasMoved__injectdestructors_763(c, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA644_;
T645_[1] = colontmpD__79;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T645_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA644_;
{
LA644_:;
}
{
oldNimErrFin644_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__79);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&snk_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin644_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA622_;
LA642_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__80;
colontmpD__80 = NIM_NIL;
result = genCopy__injectdestructors_661(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA649_;
colontmpD__80 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA649_;
add__ast_6233(result, colontmpD__80);
if (NIM_UNLIKELY(*nimErr_)) goto LA649_;
finishCopy__injectdestructors_611(c, result, dest, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA649_;
{
LA649_:;
}
{
oldNimErrFin649_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__80);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin649_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA622_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__81;
colontmpD__81 = NIM_NIL;
colontmpD__81 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA653_;
result = genSink__injectdestructors_572(c, dest, colontmpD__81, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA653_;
{
LA653_:;
}
{
oldNimErrFin653_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__81);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin653_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
switch ((*ri).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__82;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__83;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T671_;
colontmpD__82 = NIM_NIL;
colontmpD__83 = NIM_NIL;
{
NI T661_;
T661_ = (NI)0;
T661_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
if (!(T661_ == ((NI)0))) goto LA662_;
eqcopy___ast_3457(&result, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
eqdestroy___ast_3454(&colontmpD__83);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__82);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA662_: ;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
{
NI iX60gensym612_;
NI colontmp__12;
NI T665_;
NI i_17;
iX60gensym612_ = (NI)0;
colontmp__12 = (NI)0;
T665_ = (NI)0;
T665_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
colontmp__12 = (NI)(T665_ - ((NI)1));
i_17 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__84;
if (!(i_17 < colontmp__12)) goto LA667 ;
colontmpD__84 = NIM_NIL;
iX60gensym612_ = i_17;
colontmpD__84 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[iX60gensym612_], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA668_;
add__ast_6233(result, colontmpD__84);
if (NIM_UNLIKELY(*nimErr_)) goto LA668_;
i_17 += ((NI)1);
{
LA668_:;
}
{
oldNimErrFin668_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__84);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
*nimErr_ = oldNimErrFin668_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
} LA667: ;
}
}
T671_ = NIM_NIL;
{
NI T674_;
NIM_BOOL T675_;
NI T679_;
T674_ = (NI)0;
T674_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
T675_ = (NIM_BOOL)0;
T675_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[(NI)(T674_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
if (!T675_) goto LA676_;
T679_ = (NI)0;
T679_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA678_;
colontmpD__82 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[(NI)(T679_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA678_;
T671_ = colontmpD__82;
{
LA678_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
}
goto LA672_;
LA676_: ;
{
NI T684_;
T684_ = (NI)0;
T684_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA683_;
colontmpD__83 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[(NI)(T684_ - ((NI)1))], c, s, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA683_;
T671_ = colontmpD__83;
{
LA683_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
}
LA672_: ;
add__ast_6233(result, T671_);
if (NIM_UNLIKELY(*nimErr_)) goto LA658_;
{
LA658_:;
}
{
oldNimErrFin658_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__83);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__82);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin658_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__85;
colontmpD__85 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
colontmpD__85 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
add__ast_6233(result, colontmpD__85);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
{
NI iX60gensym612__2;
NI colontmp__13;
NI i_18;
iX60gensym612__2 = (NI)0;
colontmp__13 = (NI)0;
colontmp__13 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
i_18 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym612_;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw ofScopeX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__86;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T700_;
if (!(i_18 < colontmp__13)) goto LA693 ;
itX60gensym612_ = NIM_NIL;
branchX60gensym612_ = NIM_NIL;
nimZeroMem((void*)(&ofScopeX60gensym612_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__86 = NIM_NIL;
iX60gensym612__2 = i_18;
eqcopy___ast_3457(&itX60gensym612_, (*ri)._kind_6.sons.p->data[iX60gensym612__2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
branchX60gensym612_ = shallowCopy__ast_5838(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
{
NI jX60gensym612_;
NI colontmp__14;
NI T696_;
NI i_19;
jX60gensym612_ = (NI)0;
colontmp__14 = (NI)0;
T696_ = (NI)0;
T696_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
colontmp__14 = (NI)(T696_ - ((NI)1));
i_19 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T699_;
if (!(i_19 < colontmp__14)) goto LA698 ;
jX60gensym612_ = i_19;
T699_ = NIM_NIL;
T699_ = copyTree__ast_5856((*itX60gensym612_)._kind_6.sons.p->data[jX60gensym612_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
eqsink___ast_3460(&(*branchX60gensym612_)._kind_6.sons.p->data[jX60gensym612_], T699_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
i_19 += ((NI)1);
} LA698: ;
}
}
colontmpD__86 = lastSon__ast_6268(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
nestedScope__injectdestructors_77(s, colontmpD__86, (&ofScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
T700_ = NIM_NIL;
{
NIM_BOOL T703_;
NI T704_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__87;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__88;
NI T709_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T710_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T726_;
T703_ = (NIM_BOOL)0;
T704_ = (NI)0;
T704_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
T703_ = isEmptyType__ast_6215((*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T704_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
if (T703_) goto LA705_;
T703_ = NIM_TRUE;
LA705_: ;
if (!T703_) goto LA706_;
colontmpD__87 = NIM_NIL;
colontmpD__88 = NIM_NIL;
T709_ = (NI)0;
T709_ = len__ast_3325(branchX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
T710_ = NIM_NIL;
{
NI T713_;
NIM_BOOL T714_;
NI T718_;
T713_ = (NI)0;
T713_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
T714_ = (NIM_BOOL)0;
T714_ = isEmptyType__ast_6215((*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T713_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
if (!T714_) goto LA715_;
T718_ = (NI)0;
T718_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
colontmpD__87 = p__injectdestructors_129((*itX60gensym612_)._kind_6.sons.p->data[(NI)(T718_ - ((NI)1))], c, (&ofScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA717_;
T710_ = colontmpD__87;
{
LA717_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
}
goto LA711_;
LA715_: ;
{
NI T723_;
T723_ = (NI)0;
T723_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA722_;
colontmpD__88 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym612_)._kind_6.sons.p->data[(NI)(T723_ - ((NI)1))], c, (&ofScopeX60gensym612_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA722_;
T710_ = colontmpD__88;
{
LA722_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
}
LA711_: ;
T726_ = NIM_NIL;
T726_ = processScope__injectdestructors_1044(c, (&ofScopeX60gensym612_), T710_);
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
eqsink___ast_3460(&(*branchX60gensym612_)._kind_6.sons.p->data[(NI)(T709_ - ((NI)1))], T726_);
if (NIM_UNLIKELY(*nimErr_)) goto LA708_;
{
LA708_:;
}
{
oldNimErrFin708_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__88);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
eqdestroy___ast_3454(&colontmpD__87);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
*nimErr_ = oldNimErrFin708_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
}
goto LA701_;
LA706_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym650_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym650_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym650_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym650_;
NI T731_;
NI T732_;
NI T733_;
NI T734_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T735_;
NI T763_;
NI T790_;
resultX60gensym650_ = NIM_NIL;
tmpX60gensym650_ = NIM_NIL;
cpyX60gensym650_ = NIM_NIL;
finSectionX60gensym650_ = NIM_NIL;
T731_ = (NI)0;
T731_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T732_ = (NI)0;
T732_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
resultX60gensym650_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T731_ - ((NI)1))]).info, (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T732_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T733_ = (NI)0;
T733_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T734_ = (NI)0;
T734_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
tmpX60gensym650_ = getTemp__injectdestructors_66(c, ofScopeX60gensym612_.parent, (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T733_ - ((NI)1))]).typ, (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T734_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
(*(*tmpX60gensym650_)._kind_4.sym).flags = IL64(70368744177664);
T735_ = NIM_NIL;
{
NI T738_;
NIM_BOOL T739_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T742_;
NI T743_;
T738_ = (NI)0;
T738_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T739_ = (NIM_BOOL)0;
T739_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T738_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
if (!T739_) goto LA740_;
T742_ = NIM_NIL;
T742_ = genDestroy__injectdestructors_535(c, tmpX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
add__ast_4147((&(*ofScopeX60gensym612_.parent).final), T742_);
T743_ = (NI)0;
T743_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
cpyX60gensym650_ = moveOrCopy__injectdestructors_141(tmpX60gensym650_, (*itX60gensym612_)._kind_6.sons.p->data[(NI)(T743_ - ((NI)1))], c, (&ofScopeX60gensym612_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
}
goto LA736_;
LA740_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__89;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T746_;
NI T747_;
colontmpD__89 = NIM_NIL;
nimZeroMem((void*)T746_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T746_[0] = tmpX60gensym650_;
T747_ = (NI)0;
T747_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
colontmpD__89 = p__injectdestructors_129((*itX60gensym612_)._kind_6.sons.p->data[(NI)(T747_ - ((NI)1))], c, (&ofScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
T746_[1] = colontmpD__89;
cpyX60gensym650_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T746_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
{
LA745_:;
}
{
oldNimErrFin745_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__89);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
*nimErr_ = oldNimErrFin745_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
}
LA736_: ;
{
NI T752_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym650_;
NI T755_;
T752_ = ofScopeX60gensym612_.vars.len;
if (!(((NI)0) < T752_)) goto LA753_;
varSectionX60gensym650_ = NIM_NIL;
T755_ = (NI)0;
T755_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
varSectionX60gensym650_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T755_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym650__2;
NI i_20;
NI L_11;
NI T757_;
tmpX60gensym650__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_20 = ((NI)0);
T757_ = ofScopeX60gensym612_.vars.len;
L_11 = T757_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__90;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__91;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__92;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__93;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T760_;
NI T761_;
NI T762_;
if (!(i_20 < L_11)) goto LA759 ;
colontmpD__90 = NIM_NIL;
colontmpD__91 = NIM_NIL;
colontmpD__92 = NIM_NIL;
colontmpD__93 = NIM_NIL;
tmpX60gensym650__2 = &ofScopeX60gensym612_.vars.p->data[i_20];
nimZeroMem((void*)T760_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__90 = newSymNode__ast_4784((*tmpX60gensym650__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T760_[0] = colontmpD__90;
T761_ = (NI)0;
T761_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
colontmpD__91 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T761_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T760_[1] = colontmpD__91;
T762_ = (NI)0;
T762_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
colontmpD__92 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T762_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
T760_[2] = colontmpD__92;
colontmpD__93 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T760_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
add__ast_6233(varSectionX60gensym650_, colontmpD__93);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
i_20 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__93);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&colontmpD__92);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&colontmpD__91);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&colontmpD__90);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
} LA759: ;
}
}
add__ast_6233(resultX60gensym650_, varSectionX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&varSectionX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
}
LA753_: ;
T763_ = (NI)0;
T763_ = len__ast_3325(itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
finSectionX60gensym650_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym612_)._kind_6.sons.p->data[(NI)(T763_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym650_;
NI i_21;
NI L_12;
NI T765_;
mX60gensym650_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_21 = ((NI)0);
T765_ = ofScopeX60gensym612_.wasMoved.len;
L_12 = T765_;
{
while (1) {
if (!(i_21 < L_12)) goto LA767 ;
mX60gensym650_ = &ofScopeX60gensym612_.wasMoved.p->data[i_21];
add__ast_6233(finSectionX60gensym650_, (*mX60gensym650_));
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
i_21 += ((NI)1);
} LA767: ;
}
}
{
NI iX60gensym650_;
NI colontmp__15;
NI T769_;
NI res_6;
iX60gensym650_ = (NI)0;
colontmp__15 = (NI)0;
T769_ = (ofScopeX60gensym612_.final.len-1);
colontmp__15 = T769_;
res_6 = colontmp__15;
{
while (1) {
if (!(((NI)0) <= res_6)) goto LA771 ;
iX60gensym650_ = res_6;
add__ast_6233(finSectionX60gensym650_, ofScopeX60gensym612_.final.p->data[iX60gensym650_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
res_6 -= ((NI)1);
} LA771: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__94;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__95;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__96;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T777_;
if (!ofScopeX60gensym612_.needsTry) goto LA774_;
colontmpD__94 = NIM_NIL;
colontmpD__95 = NIM_NIL;
colontmpD__96 = NIM_NIL;
nimZeroMem((void*)T777_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T777_[0] = cpyX60gensym650_;
colontmpD__94 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym650_, c, ofScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA776_;
T777_[1] = colontmpD__94;
colontmpD__95 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T777_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA776_;
colontmpD__96 = newTryFinally__lowerings_208(colontmpD__95, finSectionX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA776_;
add__ast_6233(resultX60gensym650_, colontmpD__96);
if (NIM_UNLIKELY(*nimErr_)) goto LA776_;
{
LA776_:;
}
{
oldNimErrFin776_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__96);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&colontmpD__95);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqdestroy___ast_3454(&colontmpD__94);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
*nimErr_ = oldNimErrFin776_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
}
goto LA772_;
LA774_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__97;
colontmpD__97 = NIM_NIL;
add__ast_6233(resultX60gensym650_, cpyX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA781_;
add__ast_6233(resultX60gensym650_, finSectionX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA781_;
colontmpD__97 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym650_, c, ofScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA781_;
add__ast_6233(resultX60gensym650_, colontmpD__97);
if (NIM_UNLIKELY(*nimErr_)) goto LA781_;
{
LA781_:;
}
{
oldNimErrFin781_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__97);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
*nimErr_ = oldNimErrFin781_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
}
LA772_: ;
{
NIM_BOOL T788_;
if (!!((ofScopeX60gensym612_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA786_;
T788_ = (NIM_BOOL)0;
T788_ = (*ofScopeX60gensym612_.parent).needsTry;
if (T788_) goto LA789_;
T788_ = ofScopeX60gensym612_.needsTry;
LA789_: ;
(*ofScopeX60gensym612_.parent).needsTry = T788_;
}
LA786_: ;
T790_ = (NI)0;
T790_ = len__ast_3325(branchX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
eqsink___ast_3460(&(*branchX60gensym612_)._kind_6.sons.p->data[(NI)(T790_ - ((NI)1))], resultX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA730_;
resultX60gensym650_ = 0;
{
LA730_:;
}
{
oldNimErrFin730_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
eqdestroy___ast_3454(&cpyX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
eqdestroy___ast_3454(&tmpX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
eqdestroy___ast_3454(&resultX60gensym650_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
*nimErr_ = oldNimErrFin730_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
}
LA701_: ;
add__ast_6233(result, branchX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA694_;
i_18 += ((NI)1);
{
LA694_:;
}
{
oldNimErrFin694_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__86);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
eqdestroy___injectdestructors_109((&ofScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
eqdestroy___ast_3454(&branchX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
eqdestroy___ast_3454(&itX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
*nimErr_ = oldNimErrFin694_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA690_;
} LA693: ;
}
}
{
LA690_:;
}
{
oldNimErrFin690_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__85);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin690_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__98;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__99;
colontmpD__98 = NIM_NIL;
nimZeroMem((void*)(&bodyScopeX60gensym612_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym612_ = NIM_NIL;
colontmpD__99 = NIM_NIL;
(*c).inLoop += ((NI)1);
(*c).inLoopCond += ((NI)1);
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
colontmpD__98 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
add__ast_6233(result, colontmpD__98);
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
(*c).inLoopCond -= ((NI)1);
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
bodyResultX60gensym612_ = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
colontmpD__99 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym612_), bodyResultX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
add__ast_6233(result, colontmpD__99);
if (NIM_UNLIKELY(*nimErr_)) goto LA798_;
(*c).inLoop -= ((NI)1);
{
LA798_:;
}
{
oldNimErrFin798_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__99);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bodyResultX60gensym612_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__98);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin798_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)95):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym612__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym612__2;
NI lastX60gensym612_;
NI T803_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T807_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T808_;
nimZeroMem((void*)(&bodyScopeX60gensym612__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym612__2 = NIM_NIL;
(*c).inLoop += ((NI)1);
result = shallowCopy__ast_5838(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
T803_ = (NI)0;
T803_ = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
lastX60gensym612_ = (NI)(T803_ - ((NI)1));
{
NI iX60gensym612__3;
NI colontmp__16;
NI i_22;
iX60gensym612__3 = (NI)0;
colontmp__16 = (NI)0;
colontmp__16 = (NI)(lastX60gensym612_ - ((NI)1));
i_22 = ((NI)0);
{
while (1) {
if (!(i_22 < colontmp__16)) goto LA806 ;
iX60gensym612__3 = i_22;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[iX60gensym612__3], (*ri)._kind_6.sons.p->data[iX60gensym612__3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
i_22 += ((NI)1);
} LA806: ;
}
}
T807_ = NIM_NIL;
T807_ = p__injectdestructors_129((*ri)._kind_6.sons.p->data[(NI)(lastX60gensym612_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym612_ - ((NI)1))], T807_);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym612__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
bodyResultX60gensym612__2 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[lastX60gensym612_], c, (&bodyScopeX60gensym612__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
T808_ = NIM_NIL;
T808_ = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym612__2), bodyResultX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[lastX60gensym612_], T808_);
if (NIM_UNLIKELY(*nimErr_)) goto LA802_;
(*c).inLoop -= ((NI)1);
{
LA802_:;
}
{
oldNimErrFin802_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&bodyResultX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym612__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin802_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym612__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__100;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__101;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T813_;
nimZeroMem((void*)(&bodyScopeX60gensym612__3), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__100 = NIM_NIL;
colontmpD__101 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
add__ast_6233(result, (*ri)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym612__3));
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
T813_ = NIM_NIL;
{
NIM_BOOL T816_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__102;
T816_ = (NIM_BOOL)0;
T816_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
if (T816_) goto LA817_;
T816_ = NIM_TRUE;
LA817_: ;
if (!T816_) goto LA818_;
colontmpD__102 = NIM_NIL;
colontmpD__102 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym612__3), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA820_;
colontmpD__100 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym612__3), colontmpD__102);
if (NIM_UNLIKELY(*nimErr_)) goto LA820_;
T813_ = colontmpD__100;
{
LA820_:;
}
{
oldNimErrFin820_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__102);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
*nimErr_ = oldNimErrFin820_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
}
goto LA814_;
LA818_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym675_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym675_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym675_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym675_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T825_;
resultX60gensym675_ = NIM_NIL;
tmpX60gensym675_ = NIM_NIL;
cpyX60gensym675_ = NIM_NIL;
finSectionX60gensym675_ = NIM_NIL;
resultX60gensym675_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info, (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
tmpX60gensym675_ = getTemp__injectdestructors_66(c, bodyScopeX60gensym612__3.parent, (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ, (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
(*(*tmpX60gensym675_)._kind_4.sym).flags = IL64(70368744177664);
T825_ = NIM_NIL;
{
NIM_BOOL T828_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T831_;
T828_ = (NIM_BOOL)0;
T828_ = hasDestructor__injectdestructors_54((&(*c)), (*(*ri)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
if (!T828_) goto LA829_;
T831_ = NIM_NIL;
T831_ = genDestroy__injectdestructors_535(c, tmpX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
add__ast_4147((&(*bodyScopeX60gensym612__3.parent).final), T831_);
cpyX60gensym675_ = moveOrCopy__injectdestructors_141(tmpX60gensym675_, (*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym612__3), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
}
goto LA826_;
LA829_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__103;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T834_;
colontmpD__103 = NIM_NIL;
nimZeroMem((void*)T834_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T834_[0] = tmpX60gensym675_;
colontmpD__103 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym612__3), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA833_;
T834_[1] = colontmpD__103;
cpyX60gensym675_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T834_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA833_;
{
LA833_:;
}
{
oldNimErrFin833_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__103);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
*nimErr_ = oldNimErrFin833_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
}
LA826_: ;
{
NI T839_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym675_;
T839_ = bodyScopeX60gensym612__3.vars.len;
if (!(((NI)0) < T839_)) goto LA840_;
varSectionX60gensym675_ = NIM_NIL;
varSectionX60gensym675_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym675__2;
NI i_23;
NI L_13;
NI T843_;
tmpX60gensym675__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_23 = ((NI)0);
T843_ = bodyScopeX60gensym612__3.vars.len;
L_13 = T843_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__104;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__105;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__106;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__107;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T846_;
if (!(i_23 < L_13)) goto LA845 ;
colontmpD__104 = NIM_NIL;
colontmpD__105 = NIM_NIL;
colontmpD__106 = NIM_NIL;
colontmpD__107 = NIM_NIL;
tmpX60gensym675__2 = &bodyScopeX60gensym612__3.vars.p->data[i_23];
nimZeroMem((void*)T846_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__104 = newSymNode__ast_4784((*tmpX60gensym675__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
T846_[0] = colontmpD__104;
colontmpD__105 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
T846_[1] = colontmpD__105;
colontmpD__106 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
T846_[2] = colontmpD__106;
colontmpD__107 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T846_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
add__ast_6233(varSectionX60gensym675_, colontmpD__107);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
i_23 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__107);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&colontmpD__106);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&colontmpD__105);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&colontmpD__104);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
} LA845: ;
}
}
add__ast_6233(resultX60gensym675_, varSectionX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&varSectionX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
}
LA840_: ;
finSectionX60gensym675_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*ri)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym675_;
NI i_24;
NI L_14;
NI T848_;
mX60gensym675_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_24 = ((NI)0);
T848_ = bodyScopeX60gensym612__3.wasMoved.len;
L_14 = T848_;
{
while (1) {
if (!(i_24 < L_14)) goto LA850 ;
mX60gensym675_ = &bodyScopeX60gensym612__3.wasMoved.p->data[i_24];
add__ast_6233(finSectionX60gensym675_, (*mX60gensym675_));
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
i_24 += ((NI)1);
} LA850: ;
}
}
{
NI iX60gensym675_;
NI colontmp__17;
NI T852_;
NI res_7;
iX60gensym675_ = (NI)0;
colontmp__17 = (NI)0;
T852_ = (bodyScopeX60gensym612__3.final.len-1);
colontmp__17 = T852_;
res_7 = colontmp__17;
{
while (1) {
if (!(((NI)0) <= res_7)) goto LA854 ;
iX60gensym675_ = res_7;
add__ast_6233(finSectionX60gensym675_, bodyScopeX60gensym612__3.final.p->data[iX60gensym675_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
res_7 -= ((NI)1);
} LA854: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__108;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__109;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__110;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T860_;
if (!bodyScopeX60gensym612__3.needsTry) goto LA857_;
colontmpD__108 = NIM_NIL;
colontmpD__109 = NIM_NIL;
colontmpD__110 = NIM_NIL;
nimZeroMem((void*)T860_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T860_[0] = cpyX60gensym675_;
colontmpD__108 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym675_, c, bodyScopeX60gensym612__3.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA859_;
T860_[1] = colontmpD__108;
colontmpD__109 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T860_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA859_;
colontmpD__110 = newTryFinally__lowerings_208(colontmpD__109, finSectionX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA859_;
add__ast_6233(resultX60gensym675_, colontmpD__110);
if (NIM_UNLIKELY(*nimErr_)) goto LA859_;
{
LA859_:;
}
{
oldNimErrFin859_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__110);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&colontmpD__109);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
eqdestroy___ast_3454(&colontmpD__108);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
*nimErr_ = oldNimErrFin859_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
}
goto LA855_;
LA857_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__111;
colontmpD__111 = NIM_NIL;
add__ast_6233(resultX60gensym675_, cpyX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA864_;
add__ast_6233(resultX60gensym675_, finSectionX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA864_;
colontmpD__111 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym675_, c, bodyScopeX60gensym612__3.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA864_;
add__ast_6233(resultX60gensym675_, colontmpD__111);
if (NIM_UNLIKELY(*nimErr_)) goto LA864_;
{
LA864_:;
}
{
oldNimErrFin864_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__111);
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
*nimErr_ = oldNimErrFin864_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA824_;
}
LA855_: ;
{
NIM_BOOL T871_;
if (!!((bodyScopeX60gensym612__3.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA869_;
T871_ = (NIM_BOOL)0;
T871_ = (*bodyScopeX60gensym612__3.parent).needsTry;
if (T871_) goto LA872_;
T871_ = bodyScopeX60gensym612__3.needsTry;
LA872_: ;
(*bodyScopeX60gensym612__3.parent).needsTry = T871_;
}
LA869_: ;
colontmpD__101 = resultX60gensym675_;
resultX60gensym675_ = 0;
T813_ = colontmpD__101;
{
LA824_:;
}
{
oldNimErrFin824_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
eqdestroy___ast_3454(&cpyX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
eqdestroy___ast_3454(&tmpX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
eqdestroy___ast_3454(&resultX60gensym675_);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
*nimErr_ = oldNimErrFin824_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
}
LA814_: ;
add__ast_6233(result, T813_);
if (NIM_UNLIKELY(*nimErr_)) goto LA812_;
{
LA812_:;
}
{
oldNimErrFin812_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__101);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__100);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym612__3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin812_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI iX60gensym612__4;
NI colontmp__18;
NI i_25;
iX60gensym612__4 = (NI)0;
colontmp__18 = (NI)0;
colontmp__18 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_25 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym612__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym612__2;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__112;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T887_;
if (!(i_25 < colontmp__18)) goto LA880 ;
itX60gensym612__2 = NIM_NIL;
branchX60gensym612__2 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym612_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__112 = NIM_NIL;
iX60gensym612__4 = i_25;
eqcopy___ast_3457(&itX60gensym612__2, (*ri)._kind_6.sons.p->data[iX60gensym612__4]);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
branchX60gensym612__2 = shallowCopy__ast_5838(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
colontmpD__112 = lastSon__ast_6268(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
nestedScope__injectdestructors_77(s, colontmpD__112, (&branchScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T886_;
if (!((*itX60gensym612__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86) || (*itX60gensym612__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49))) goto LA884_;
T886_ = NIM_NIL;
T886_ = p__injectdestructors_129((*itX60gensym612__2)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqsink___ast_3460(&(*branchX60gensym612__2)._kind_6.sons.p->data[((NI)0)], T886_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
}
LA884_: ;
T887_ = NIM_NIL;
{
NIM_BOOL T890_;
NI T891_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__113;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__114;
NI T896_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T897_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T913_;
T890_ = (NIM_BOOL)0;
T891_ = (NI)0;
T891_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
T890_ = isEmptyType__ast_6215((*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T891_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
if (T890_) goto LA892_;
T890_ = NIM_TRUE;
LA892_: ;
if (!T890_) goto LA893_;
colontmpD__113 = NIM_NIL;
colontmpD__114 = NIM_NIL;
T896_ = (NI)0;
T896_ = len__ast_3325(branchX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
T897_ = NIM_NIL;
{
NI T900_;
NIM_BOOL T901_;
NI T905_;
T900_ = (NI)0;
T900_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
T901_ = (NIM_BOOL)0;
T901_ = isEmptyType__ast_6215((*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T900_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
if (!T901_) goto LA902_;
T905_ = (NI)0;
T905_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA904_;
colontmpD__113 = p__injectdestructors_129((*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T905_ - ((NI)1))], c, (&branchScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA904_;
T897_ = colontmpD__113;
{
LA904_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
}
goto LA898_;
LA902_: ;
{
NI T910_;
T910_ = (NI)0;
T910_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA909_;
colontmpD__114 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T910_ - ((NI)1))], c, (&branchScopeX60gensym612_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA909_;
T897_ = colontmpD__114;
{
LA909_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
}
LA898_: ;
T913_ = NIM_NIL;
T913_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym612_), T897_);
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
eqsink___ast_3460(&(*branchX60gensym612__2)._kind_6.sons.p->data[(NI)(T896_ - ((NI)1))], T913_);
if (NIM_UNLIKELY(*nimErr_)) goto LA895_;
{
LA895_:;
}
{
oldNimErrFin895_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__114);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqdestroy___ast_3454(&colontmpD__113);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
*nimErr_ = oldNimErrFin895_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
}
goto LA888_;
LA893_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym704_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym704_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym704_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym704_;
NI T918_;
NI T919_;
NI T920_;
NI T921_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T922_;
NI T950_;
NI T977_;
resultX60gensym704_ = NIM_NIL;
tmpX60gensym704_ = NIM_NIL;
cpyX60gensym704_ = NIM_NIL;
finSectionX60gensym704_ = NIM_NIL;
T918_ = (NI)0;
T918_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T919_ = (NI)0;
T919_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
resultX60gensym704_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T918_ - ((NI)1))]).info, (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T919_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T920_ = (NI)0;
T920_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T921_ = (NI)0;
T921_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
tmpX60gensym704_ = getTemp__injectdestructors_66(c, branchScopeX60gensym612_.parent, (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T920_ - ((NI)1))]).typ, (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T921_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
(*(*tmpX60gensym704_)._kind_4.sym).flags = IL64(70368744177664);
T922_ = NIM_NIL;
{
NI T925_;
NIM_BOOL T926_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T929_;
NI T930_;
T925_ = (NI)0;
T925_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T926_ = (NIM_BOOL)0;
T926_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T925_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
if (!T926_) goto LA927_;
T929_ = NIM_NIL;
T929_ = genDestroy__injectdestructors_535(c, tmpX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
add__ast_4147((&(*branchScopeX60gensym612_.parent).final), T929_);
T930_ = (NI)0;
T930_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
cpyX60gensym704_ = moveOrCopy__injectdestructors_141(tmpX60gensym704_, (*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T930_ - ((NI)1))], c, (&branchScopeX60gensym612_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
}
goto LA923_;
LA927_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__115;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T933_;
NI T934_;
colontmpD__115 = NIM_NIL;
nimZeroMem((void*)T933_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T933_[0] = tmpX60gensym704_;
T934_ = (NI)0;
T934_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA932_;
colontmpD__115 = p__injectdestructors_129((*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T934_ - ((NI)1))], c, (&branchScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA932_;
T933_[1] = colontmpD__115;
cpyX60gensym704_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T933_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA932_;
{
LA932_:;
}
{
oldNimErrFin932_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__115);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
*nimErr_ = oldNimErrFin932_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
}
LA923_: ;
{
NI T939_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym704_;
NI T942_;
T939_ = branchScopeX60gensym612_.vars.len;
if (!(((NI)0) < T939_)) goto LA940_;
varSectionX60gensym704_ = NIM_NIL;
T942_ = (NI)0;
T942_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
varSectionX60gensym704_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T942_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym704__2;
NI i_26;
NI L_15;
NI T944_;
tmpX60gensym704__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_26 = ((NI)0);
T944_ = branchScopeX60gensym612_.vars.len;
L_15 = T944_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__116;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__117;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__118;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__119;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T947_;
NI T948_;
NI T949_;
if (!(i_26 < L_15)) goto LA946 ;
colontmpD__116 = NIM_NIL;
colontmpD__117 = NIM_NIL;
colontmpD__118 = NIM_NIL;
colontmpD__119 = NIM_NIL;
tmpX60gensym704__2 = &branchScopeX60gensym612_.vars.p->data[i_26];
nimZeroMem((void*)T947_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__116 = newSymNode__ast_4784((*tmpX60gensym704__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T947_[0] = colontmpD__116;
T948_ = (NI)0;
T948_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
colontmpD__117 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T948_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T947_[1] = colontmpD__117;
T949_ = (NI)0;
T949_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
colontmpD__118 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T949_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
T947_[2] = colontmpD__118;
colontmpD__119 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T947_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
add__ast_6233(varSectionX60gensym704_, colontmpD__119);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
i_26 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__119);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&colontmpD__118);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&colontmpD__117);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&colontmpD__116);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
} LA946: ;
}
}
add__ast_6233(resultX60gensym704_, varSectionX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&varSectionX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
}
LA940_: ;
T950_ = (NI)0;
T950_ = len__ast_3325(itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
finSectionX60gensym704_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym612__2)._kind_6.sons.p->data[(NI)(T950_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym704_;
NI i_27;
NI L_16;
NI T952_;
mX60gensym704_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_27 = ((NI)0);
T952_ = branchScopeX60gensym612_.wasMoved.len;
L_16 = T952_;
{
while (1) {
if (!(i_27 < L_16)) goto LA954 ;
mX60gensym704_ = &branchScopeX60gensym612_.wasMoved.p->data[i_27];
add__ast_6233(finSectionX60gensym704_, (*mX60gensym704_));
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
i_27 += ((NI)1);
} LA954: ;
}
}
{
NI iX60gensym704_;
NI colontmp__19;
NI T956_;
NI res_8;
iX60gensym704_ = (NI)0;
colontmp__19 = (NI)0;
T956_ = (branchScopeX60gensym612_.final.len-1);
colontmp__19 = T956_;
res_8 = colontmp__19;
{
while (1) {
if (!(((NI)0) <= res_8)) goto LA958 ;
iX60gensym704_ = res_8;
add__ast_6233(finSectionX60gensym704_, branchScopeX60gensym612_.final.p->data[iX60gensym704_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
res_8 -= ((NI)1);
} LA958: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__120;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__121;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__122;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T964_;
if (!branchScopeX60gensym612_.needsTry) goto LA961_;
colontmpD__120 = NIM_NIL;
colontmpD__121 = NIM_NIL;
colontmpD__122 = NIM_NIL;
nimZeroMem((void*)T964_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T964_[0] = cpyX60gensym704_;
colontmpD__120 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym704_, c, branchScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA963_;
T964_[1] = colontmpD__120;
colontmpD__121 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T964_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA963_;
colontmpD__122 = newTryFinally__lowerings_208(colontmpD__121, finSectionX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA963_;
add__ast_6233(resultX60gensym704_, colontmpD__122);
if (NIM_UNLIKELY(*nimErr_)) goto LA963_;
{
LA963_:;
}
{
oldNimErrFin963_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__122);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&colontmpD__121);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqdestroy___ast_3454(&colontmpD__120);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
*nimErr_ = oldNimErrFin963_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
}
goto LA959_;
LA961_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__123;
colontmpD__123 = NIM_NIL;
add__ast_6233(resultX60gensym704_, cpyX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA968_;
add__ast_6233(resultX60gensym704_, finSectionX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA968_;
colontmpD__123 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym704_, c, branchScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA968_;
add__ast_6233(resultX60gensym704_, colontmpD__123);
if (NIM_UNLIKELY(*nimErr_)) goto LA968_;
{
LA968_:;
}
{
oldNimErrFin968_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__123);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
*nimErr_ = oldNimErrFin968_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
}
LA959_: ;
{
NIM_BOOL T975_;
if (!!((branchScopeX60gensym612_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA973_;
T975_ = (NIM_BOOL)0;
T975_ = (*branchScopeX60gensym612_.parent).needsTry;
if (T975_) goto LA976_;
T975_ = branchScopeX60gensym612_.needsTry;
LA976_: ;
(*branchScopeX60gensym612_.parent).needsTry = T975_;
}
LA973_: ;
T977_ = (NI)0;
T977_ = len__ast_3325(branchX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
eqsink___ast_3460(&(*branchX60gensym612__2)._kind_6.sons.p->data[(NI)(T977_ - ((NI)1))], resultX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA917_;
resultX60gensym704_ = 0;
{
LA917_:;
}
{
oldNimErrFin917_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqdestroy___ast_3454(&cpyX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqdestroy___ast_3454(&tmpX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqdestroy___ast_3454(&resultX60gensym704_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
*nimErr_ = oldNimErrFin917_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
}
LA888_: ;
add__ast_6233(result, branchX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
i_25 += ((NI)1);
{
LA881_:;
}
{
oldNimErrFin881_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__112);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&branchScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branchX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&itX60gensym612__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin881_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA880: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw tryScopeX60gensym612_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__124;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__125;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T984_;
nimZeroMem((void*)(&tryScopeX60gensym612_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__124 = NIM_NIL;
colontmpD__125 = NIM_NIL;
result = copyNode__ast_5733(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
nestedScope__injectdestructors_77(s, (*ri)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
T984_ = NIM_NIL;
{
NIM_BOOL T987_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__126;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__127;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T992_;
T987_ = (NIM_BOOL)0;
T987_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
if (T987_) goto LA988_;
T987_ = NIM_TRUE;
LA988_: ;
if (!T987_) goto LA989_;
colontmpD__126 = NIM_NIL;
colontmpD__127 = NIM_NIL;
T992_ = NIM_NIL;
{
NIM_BOOL T995_;
T995_ = (NIM_BOOL)0;
T995_ = isEmptyType__ast_6215((*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA991_;
if (!T995_) goto LA996_;
colontmpD__126 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA998_;
T992_ = colontmpD__126;
{
LA998_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA991_;
}
goto LA993_;
LA996_: ;
{
colontmpD__127 = moveOrCopy__injectdestructors_141(dest, (*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym612_), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1002_;
T992_ = colontmpD__127;
{
LA1002_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA991_;
}
LA993_: ;
colontmpD__124 = processScope__injectdestructors_1044(c, (&tryScopeX60gensym612_), T992_);
if (NIM_UNLIKELY(*nimErr_)) goto LA991_;
T984_ = colontmpD__124;
{
LA991_:;
}
{
oldNimErrFin991_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__127);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&colontmpD__126);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
*nimErr_ = oldNimErrFin991_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
}
goto LA985_;
LA989_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym721_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym721_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym721_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym721_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1009_;
resultX60gensym721_ = NIM_NIL;
tmpX60gensym721_ = NIM_NIL;
cpyX60gensym721_ = NIM_NIL;
finSectionX60gensym721_ = NIM_NIL;
resultX60gensym721_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info, (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
tmpX60gensym721_ = getTemp__injectdestructors_66(c, tryScopeX60gensym612_.parent, (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ, (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
(*(*tmpX60gensym721_)._kind_4.sym).flags = IL64(70368744177664);
T1009_ = NIM_NIL;
{
NIM_BOOL T1012_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1015_;
T1012_ = (NIM_BOOL)0;
T1012_ = hasDestructor__injectdestructors_54((&(*c)), (*(*ri)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
if (!T1012_) goto LA1013_;
T1015_ = NIM_NIL;
T1015_ = genDestroy__injectdestructors_535(c, tmpX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
add__ast_4147((&(*tryScopeX60gensym612_.parent).final), T1015_);
cpyX60gensym721_ = moveOrCopy__injectdestructors_141(tmpX60gensym721_, (*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym612_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
}
goto LA1010_;
LA1013_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__128;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1018_;
colontmpD__128 = NIM_NIL;
nimZeroMem((void*)T1018_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T1018_[0] = tmpX60gensym721_;
colontmpD__128 = p__injectdestructors_129((*ri)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym612_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1017_;
T1018_[1] = colontmpD__128;
cpyX60gensym721_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T1018_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1017_;
{
LA1017_:;
}
{
oldNimErrFin1017_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__128);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
*nimErr_ = oldNimErrFin1017_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
}
LA1010_: ;
{
NI T1023_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym721_;
T1023_ = tryScopeX60gensym612_.vars.len;
if (!(((NI)0) < T1023_)) goto LA1024_;
varSectionX60gensym721_ = NIM_NIL;
varSectionX60gensym721_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym721__2;
NI i_28;
NI L_17;
NI T1027_;
tmpX60gensym721__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_28 = ((NI)0);
T1027_ = tryScopeX60gensym612_.vars.len;
L_17 = T1027_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__129;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__130;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__131;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__132;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T1030_;
if (!(i_28 < L_17)) goto LA1029 ;
colontmpD__129 = NIM_NIL;
colontmpD__130 = NIM_NIL;
colontmpD__131 = NIM_NIL;
colontmpD__132 = NIM_NIL;
tmpX60gensym721__2 = &tryScopeX60gensym612_.vars.p->data[i_28];
nimZeroMem((void*)T1030_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__129 = newSymNode__ast_4784((*tmpX60gensym721__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
T1030_[0] = colontmpD__129;
colontmpD__130 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
T1030_[1] = colontmpD__130;
colontmpD__131 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
T1030_[2] = colontmpD__131;
colontmpD__132 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T1030_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
add__ast_6233(varSectionX60gensym721_, colontmpD__132);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
i_28 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__132);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__131);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__130);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__129);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
} LA1029: ;
}
}
add__ast_6233(resultX60gensym721_, varSectionX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&varSectionX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
}
LA1024_: ;
finSectionX60gensym721_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*ri)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym721_;
NI i_29;
NI L_18;
NI T1032_;
mX60gensym721_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_29 = ((NI)0);
T1032_ = tryScopeX60gensym612_.wasMoved.len;
L_18 = T1032_;
{
while (1) {
if (!(i_29 < L_18)) goto LA1034 ;
mX60gensym721_ = &tryScopeX60gensym612_.wasMoved.p->data[i_29];
add__ast_6233(finSectionX60gensym721_, (*mX60gensym721_));
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
i_29 += ((NI)1);
} LA1034: ;
}
}
{
NI iX60gensym721_;
NI colontmp__20;
NI T1036_;
NI res_9;
iX60gensym721_ = (NI)0;
colontmp__20 = (NI)0;
T1036_ = (tryScopeX60gensym612_.final.len-1);
colontmp__20 = T1036_;
res_9 = colontmp__20;
{
while (1) {
if (!(((NI)0) <= res_9)) goto LA1038 ;
iX60gensym721_ = res_9;
add__ast_6233(finSectionX60gensym721_, tryScopeX60gensym612_.final.p->data[iX60gensym721_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
res_9 -= ((NI)1);
} LA1038: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__133;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__134;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__135;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__136;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1044_;
if (!tryScopeX60gensym612_.needsTry) goto LA1041_;
colontmpD__133 = NIM_NIL;
colontmpD__134 = NIM_NIL;
colontmpD__135 = NIM_NIL;
colontmpD__136 = NIM_NIL;
nimZeroMem((void*)T1044_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T1044_[0] = cpyX60gensym721_;
{
NIM_BOOL T1047_;
T1047_ = (NIM_BOOL)0;
T1047_ = isEmptyType__ast_6215((*tmpX60gensym721_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
if (!T1047_) goto LA1048_;
colontmpD__133 = p__injectdestructors_129(tmpX60gensym721_, c, tryScopeX60gensym612_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1050_;
T1044_[1] = colontmpD__133;
{
LA1050_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
}
goto LA1045_;
LA1048_: ;
{
colontmpD__134 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym721_, c, tryScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1054_;
T1044_[1] = colontmpD__134;
{
LA1054_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
}
LA1045_: ;
colontmpD__135 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T1044_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
colontmpD__136 = newTryFinally__lowerings_208(colontmpD__135, finSectionX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
add__ast_6233(resultX60gensym721_, colontmpD__136);
if (NIM_UNLIKELY(*nimErr_)) goto LA1043_;
{
LA1043_:;
}
{
oldNimErrFin1043_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__136);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__135);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__134);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__133);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
*nimErr_ = oldNimErrFin1043_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
}
goto LA1039_;
LA1041_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__137;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__138;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1061_;
colontmpD__137 = NIM_NIL;
colontmpD__138 = NIM_NIL;
add__ast_6233(resultX60gensym721_, cpyX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
add__ast_6233(resultX60gensym721_, finSectionX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
T1061_ = NIM_NIL;
{
NIM_BOOL T1064_;
T1064_ = (NIM_BOOL)0;
T1064_ = isEmptyType__ast_6215((*tmpX60gensym721_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
if (!T1064_) goto LA1065_;
colontmpD__137 = p__injectdestructors_129(tmpX60gensym721_, c, tryScopeX60gensym612_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1067_;
T1061_ = colontmpD__137;
{
LA1067_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
}
goto LA1062_;
LA1065_: ;
{
colontmpD__138 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym721_, c, tryScopeX60gensym612_.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1071_;
T1061_ = colontmpD__138;
{
LA1071_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
}
LA1062_: ;
add__ast_6233(resultX60gensym721_, T1061_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1060_;
{
LA1060_:;
}
{
oldNimErrFin1060_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__138);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
eqdestroy___ast_3454(&colontmpD__137);
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
*nimErr_ = oldNimErrFin1060_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1008_;
}
LA1039_: ;
{
NIM_BOOL T1080_;
if (!!((tryScopeX60gensym612_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA1078_;
T1080_ = (NIM_BOOL)0;
T1080_ = (*tryScopeX60gensym612_.parent).needsTry;
if (T1080_) goto LA1081_;
T1080_ = tryScopeX60gensym612_.needsTry;
LA1081_: ;
(*tryScopeX60gensym612_.parent).needsTry = T1080_;
}
LA1078_: ;
colontmpD__125 = resultX60gensym721_;
resultX60gensym721_ = 0;
T984_ = colontmpD__125;
{
LA1008_:;
}
{
oldNimErrFin1008_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&cpyX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&tmpX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&resultX60gensym721_);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
*nimErr_ = oldNimErrFin1008_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
}
LA985_: ;
add__ast_6233(result, T984_);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
{
NI iX60gensym612__5;
NI colontmp__21;
NI i_30;
iX60gensym612__5 = (NI)0;
colontmp__21 = (NI)0;
colontmp__21 = len__ast_3325(ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
i_30 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym612__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym612__3;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym612__2;
NI T1088_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1089_;
if (!(i_30 < colontmp__21)) goto LA1086 ;
itX60gensym612__3 = NIM_NIL;
branchX60gensym612__3 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym612__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
iX60gensym612__5 = i_30;
eqcopy___ast_3457(&itX60gensym612__3, (*ri)._kind_6.sons.p->data[iX60gensym612__5]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
branchX60gensym612__3 = copyTree__ast_5856(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
T1088_ = (NI)0;
T1088_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
nestedScope__injectdestructors_77(s, (*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1088_ - ((NI)1))], (&branchScopeX60gensym612__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
T1089_ = NIM_NIL;
{
NIM_BOOL T1092_;
NIM_BOOL T1093_;
NI T1094_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__139;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__140;
NI T1100_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1101_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1124_;
T1092_ = (NIM_BOOL)0;
T1093_ = (NIM_BOOL)0;
T1094_ = (NI)0;
T1094_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
T1093_ = isEmptyType__ast_6215((*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1094_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
if (T1093_) goto LA1095_;
T1093_ = NIM_TRUE;
LA1095_: ;
T1092_ = T1093_;
if (T1092_) goto LA1096_;
T1092_ = ((*itX60gensym612__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107));
LA1096_: ;
if (!T1092_) goto LA1097_;
colontmpD__139 = NIM_NIL;
colontmpD__140 = NIM_NIL;
T1100_ = (NI)0;
T1100_ = len__ast_3325(branchX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1099_;
T1101_ = NIM_NIL;
{
NI T1107_;
if (!((*itX60gensym612__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA1104_;
T1107_ = (NI)0;
T1107_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1106_;
colontmpD__139 = p__injectdestructors_129((*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1107_ - ((NI)1))], c, (&branchScopeX60gensym612__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1106_;
T1101_ = colontmpD__139;
{
LA1106_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1099_;
}
goto LA1102_;
LA1104_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1112_;
T1112_ = NIM_NIL;
{
NI T1115_;
NIM_BOOL T1116_;
NI T1119_;
T1115_ = (NI)0;
T1115_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
T1116_ = (NIM_BOOL)0;
T1116_ = isEmptyType__ast_6215((*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1115_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
if (!T1116_) goto LA1117_;
T1119_ = (NI)0;
T1119_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
colontmpD__140 = p__injectdestructors_129((*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1119_ - ((NI)1))], c, (&branchScopeX60gensym612__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
}
goto LA1113_;
LA1117_: ;
{
NI T1121_;
T1121_ = (NI)0;
T1121_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
colontmpD__140 = moveOrCopy__injectdestructors_141(dest, (*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1121_ - ((NI)1))], c, (&branchScopeX60gensym612__2), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1111_;
}
LA1113_: ;
T1101_ = colontmpD__140;
{
LA1111_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1099_;
}
LA1102_: ;
T1124_ = NIM_NIL;
T1124_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym612__2), T1101_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1099_;
eqsink___ast_3460(&(*branchX60gensym612__3)._kind_6.sons.p->data[(NI)(T1100_ - ((NI)1))], T1124_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1099_;
{
LA1099_:;
}
{
oldNimErrFin1099_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__140);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
eqdestroy___ast_3454(&colontmpD__139);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
*nimErr_ = oldNimErrFin1099_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
}
goto LA1090_;
LA1097_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym755_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym755_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym755_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym755_;
NI T1129_;
NI T1130_;
NI T1131_;
NI T1132_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1133_;
NI T1161_;
NI T1188_;
resultX60gensym755_ = NIM_NIL;
tmpX60gensym755_ = NIM_NIL;
cpyX60gensym755_ = NIM_NIL;
finSectionX60gensym755_ = NIM_NIL;
T1129_ = (NI)0;
T1129_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1130_ = (NI)0;
T1130_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
resultX60gensym755_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1129_ - ((NI)1))]).info, (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1130_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1131_ = (NI)0;
T1131_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1132_ = (NI)0;
T1132_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
tmpX60gensym755_ = getTemp__injectdestructors_66(c, branchScopeX60gensym612__2.parent, (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1131_ - ((NI)1))]).typ, (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1132_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
(*(*tmpX60gensym755_)._kind_4.sym).flags = IL64(70368744177664);
T1133_ = NIM_NIL;
{
NI T1136_;
NIM_BOOL T1137_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1140_;
NI T1141_;
T1136_ = (NI)0;
T1136_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1137_ = (NIM_BOOL)0;
T1137_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1136_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
if (!T1137_) goto LA1138_;
T1140_ = NIM_NIL;
T1140_ = genDestroy__injectdestructors_535(c, tmpX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
add__ast_4147((&(*branchScopeX60gensym612__2.parent).final), T1140_);
T1141_ = (NI)0;
T1141_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
cpyX60gensym755_ = moveOrCopy__injectdestructors_141(tmpX60gensym755_, (*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1141_ - ((NI)1))], c, (&branchScopeX60gensym612__2), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
}
goto LA1134_;
LA1138_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__141;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1144_;
NI T1145_;
colontmpD__141 = NIM_NIL;
nimZeroMem((void*)T1144_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T1144_[0] = tmpX60gensym755_;
T1145_ = (NI)0;
T1145_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1143_;
colontmpD__141 = p__injectdestructors_129((*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1145_ - ((NI)1))], c, (&branchScopeX60gensym612__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1143_;
T1144_[1] = colontmpD__141;
cpyX60gensym755_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T1144_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1143_;
{
LA1143_:;
}
{
oldNimErrFin1143_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__141);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
*nimErr_ = oldNimErrFin1143_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
}
LA1134_: ;
{
NI T1150_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym755_;
NI T1153_;
T1150_ = branchScopeX60gensym612__2.vars.len;
if (!(((NI)0) < T1150_)) goto LA1151_;
varSectionX60gensym755_ = NIM_NIL;
T1153_ = (NI)0;
T1153_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
varSectionX60gensym755_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1153_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym755__2;
NI i_31;
NI L_19;
NI T1155_;
tmpX60gensym755__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_31 = ((NI)0);
T1155_ = branchScopeX60gensym612__2.vars.len;
L_19 = T1155_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__142;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__143;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__144;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__145;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T1158_;
NI T1159_;
NI T1160_;
if (!(i_31 < L_19)) goto LA1157 ;
colontmpD__142 = NIM_NIL;
colontmpD__143 = NIM_NIL;
colontmpD__144 = NIM_NIL;
colontmpD__145 = NIM_NIL;
tmpX60gensym755__2 = &branchScopeX60gensym612__2.vars.p->data[i_31];
nimZeroMem((void*)T1158_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__142 = newSymNode__ast_4784((*tmpX60gensym755__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1158_[0] = colontmpD__142;
T1159_ = (NI)0;
T1159_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
colontmpD__143 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1159_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1158_[1] = colontmpD__143;
T1160_ = (NI)0;
T1160_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
colontmpD__144 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1160_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
T1158_[2] = colontmpD__144;
colontmpD__145 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T1158_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
add__ast_6233(varSectionX60gensym755_, colontmpD__145);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
i_31 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__145);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&colontmpD__144);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&colontmpD__143);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&colontmpD__142);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
} LA1157: ;
}
}
add__ast_6233(resultX60gensym755_, varSectionX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&varSectionX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
}
LA1151_: ;
T1161_ = (NI)0;
T1161_ = len__ast_3325(itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
finSectionX60gensym755_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym612__3)._kind_6.sons.p->data[(NI)(T1161_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym755_;
NI i_32;
NI L_20;
NI T1163_;
mX60gensym755_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_32 = ((NI)0);
T1163_ = branchScopeX60gensym612__2.wasMoved.len;
L_20 = T1163_;
{
while (1) {
if (!(i_32 < L_20)) goto LA1165 ;
mX60gensym755_ = &branchScopeX60gensym612__2.wasMoved.p->data[i_32];
add__ast_6233(finSectionX60gensym755_, (*mX60gensym755_));
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
i_32 += ((NI)1);
} LA1165: ;
}
}
{
NI iX60gensym755_;
NI colontmp__22;
NI T1167_;
NI res_10;
iX60gensym755_ = (NI)0;
colontmp__22 = (NI)0;
T1167_ = (branchScopeX60gensym612__2.final.len-1);
colontmp__22 = T1167_;
res_10 = colontmp__22;
{
while (1) {
if (!(((NI)0) <= res_10)) goto LA1169 ;
iX60gensym755_ = res_10;
add__ast_6233(finSectionX60gensym755_, branchScopeX60gensym612__2.final.p->data[iX60gensym755_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
res_10 -= ((NI)1);
} LA1169: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__146;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__147;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__148;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1175_;
if (!branchScopeX60gensym612__2.needsTry) goto LA1172_;
colontmpD__146 = NIM_NIL;
colontmpD__147 = NIM_NIL;
colontmpD__148 = NIM_NIL;
nimZeroMem((void*)T1175_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T1175_[0] = cpyX60gensym755_;
colontmpD__146 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym755_, c, branchScopeX60gensym612__2.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1174_;
T1175_[1] = colontmpD__146;
colontmpD__147 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T1175_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1174_;
colontmpD__148 = newTryFinally__lowerings_208(colontmpD__147, finSectionX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1174_;
add__ast_6233(resultX60gensym755_, colontmpD__148);
if (NIM_UNLIKELY(*nimErr_)) goto LA1174_;
{
LA1174_:;
}
{
oldNimErrFin1174_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__148);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&colontmpD__147);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqdestroy___ast_3454(&colontmpD__146);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
*nimErr_ = oldNimErrFin1174_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
}
goto LA1170_;
LA1172_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__149;
colontmpD__149 = NIM_NIL;
add__ast_6233(resultX60gensym755_, cpyX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1179_;
add__ast_6233(resultX60gensym755_, finSectionX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1179_;
colontmpD__149 = moveOrCopy__injectdestructors_141(dest, tmpX60gensym755_, c, branchScopeX60gensym612__2.parent, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1179_;
add__ast_6233(resultX60gensym755_, colontmpD__149);
if (NIM_UNLIKELY(*nimErr_)) goto LA1179_;
{
LA1179_:;
}
{
oldNimErrFin1179_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__149);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
*nimErr_ = oldNimErrFin1179_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
}
LA1170_: ;
{
NIM_BOOL T1186_;
if (!!((branchScopeX60gensym612__2.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA1184_;
T1186_ = (NIM_BOOL)0;
T1186_ = (*branchScopeX60gensym612__2.parent).needsTry;
if (T1186_) goto LA1187_;
T1186_ = branchScopeX60gensym612__2.needsTry;
LA1187_: ;
(*branchScopeX60gensym612__2.parent).needsTry = T1186_;
}
LA1184_: ;
T1188_ = (NI)0;
T1188_ = len__ast_3325(branchX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
eqsink___ast_3460(&(*branchX60gensym612__3)._kind_6.sons.p->data[(NI)(T1188_ - ((NI)1))], resultX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1128_;
resultX60gensym755_ = 0;
{
LA1128_:;
}
{
oldNimErrFin1128_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
eqdestroy___ast_3454(&cpyX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
eqdestroy___ast_3454(&tmpX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
eqdestroy___ast_3454(&resultX60gensym755_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
*nimErr_ = oldNimErrFin1128_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
}
LA1090_: ;
add__ast_6233(result, branchX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1087_;
i_30 += ((NI)1);
{
LA1087_:;
}
{
oldNimErrFin1087_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___injectdestructors_109((&branchScopeX60gensym612__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&branchX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
eqdestroy___ast_3454(&itX60gensym612__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
*nimErr_ = oldNimErrFin1087_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA983_;
} LA1086: ;
}
}
{
LA983_:;
}
{
oldNimErrFin983_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__125);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__124);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&tryScopeX60gensym612_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin983_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1196_;
result = copyTree__ast_5856(ri);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1196_ = NIM_NIL;
T1196_ = moveOrCopy__injectdestructors_141(dest, (*(*ri)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c, s, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T1196_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
}
break;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
result = pRaiseStmt__injectdestructors_1156(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
NIM_BOOL T1202_;
NIM_BOOL T1203_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* snk_4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__150;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T1209_;
T1202_ = (NIM_BOOL)0;
T1203_ = (NIM_BOOL)0;
T1203_ = isAnalysableFieldAccess__aliasanalysis_10(ri, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T1203_)) goto LA1204_;
T1203_ = isLastRead__injectdestructors_372(ri, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1204_: ;
T1202_ = T1203_;
if (!(T1202_)) goto LA1205_;
T1202_ = canBeMoved__injectdestructors_540((&(*c)), (*dest).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA1205_: ;
if (!T1202_) goto LA1206_;
snk_4 = NIM_NIL;
colontmpD__150 = NIM_NIL;
snk_4 = genSink__injectdestructors_572(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1208_;
nimZeroMem((void*)T1209_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T1209_[0] = snk_4;
colontmpD__150 = genWasMoved__injectdestructors_763(c, ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA1208_;
T1209_[1] = colontmpD__150;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T1209_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1208_;
{
LA1208_:;
}
{
oldNimErrFin1208_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__150);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&snk_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1208_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1200_;
LA1206_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__151;
colontmpD__151 = NIM_NIL;
result = genCopy__injectdestructors_661(c, dest, ri, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1213_;
colontmpD__151 = p__injectdestructors_129(ri, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1213_;
add__ast_6233(result, colontmpD__151);
if (NIM_UNLIKELY(*nimErr_)) goto LA1213_;
finishCopy__injectdestructors_611(c, result, dest, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1213_;
{
LA1213_:;
}
{
oldNimErrFin1213_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__151);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1213_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1200_: ;
}
break;
}
}
LA1_: ;
}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(NIM_BOOL, containsConstSeq__injectdestructors_884)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NIM_BOOL T5_;
NI T7_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T5_ = (NIM_BOOL)0;
T5_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41));
if (!(T5_)) goto LA6_;
T7_ = (NI)0;
T7_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T5_ = (((NI)0) < T7_);
LA6_: ;
T4_ = T5_;
if (!(T4_)) goto LA8_;
T4_ = !(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA8_: ;
T3_ = T4_;
if (!(T3_)) goto LA9_;
T3_ = isDangerousSeq__injectdestructors_871((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA9_: ;
if (!T3_) goto LA10_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA10_: ;
result = NIM_FALSE;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)33):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
{
result = containsConstSeq__injectdestructors_884((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)1);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA16 ;
i = i_2;
{
NIM_BOOL T19_;
T19_ = (NIM_BOOL)0;
T19_ = containsConstSeq__injectdestructors_884((*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T19_) goto LA20_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA20_: ;
i_2 += ((NI)1);
} LA16: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son;
son = 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 LA24_;
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA27 ;
i_3 = i_4;
eqcopy___ast_3457(&son, (*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
NIM_BOOL T30_;
T30_ = (NIM_BOOL)0;
T30_ = containsConstSeq__injectdestructors_884(son);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
if (!T30_) goto LA31_;
result = NIM_TRUE;
eqdestroy___ast_3454(&son);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA31_: ;
i_4 += ((NI)1);
} LA27: ;
}
}
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&son);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
default:
{
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCapturedVar__injectdestructors_821)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* root;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
root = NIM_NIL;
root = getRoot__trees_397(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!!((root == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)))) goto LA3_;
result = ((NU8)((*(*root).name).s.p->data[((NI)0)]) == (NU8)(58));
}
LA3_: ;
eqdestroy___ast_4060(&root);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, passCopyToSink__injectdestructors_829)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin27_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
tmp = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
tmp = getTemp__injectdestructors_66(c, s, (*n).typ, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw T8_;
T4_ = (NIM_BOOL)0;
T4_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
colontmpD_ = NIM_NIL;
m = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD_ = genWasMoved__injectdestructors_763(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_ = 0;
m = genCopy__injectdestructors_661(c, tmp, n, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD__2 = p__injectdestructors_129(n, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(m, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
finishCopy__injectdestructors_611(c, m, n, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, m);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
NIM_BOOL T11_;
NIM_BOOL T12_;
NIM_BOOL T13_;
NIM_BOOL T15_;
NimStringV2 colontmpD__4;
NimStringV2 T21_;
T11_ = (NIM_BOOL)0;
T12_ = (NIM_BOOL)0;
T13_ = (NIM_BOOL)0;
T13_ = isLValue__parampatterns_502(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
if (!(T13_)) goto LA14_;
T15_ = (NIM_BOOL)0;
T15_ = isCapturedVar__injectdestructors_821(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T13_ = !(T15_);
LA14_: ;
T12_ = T13_;
if (!(T12_)) goto LA16_;
colontmpD__3 = skipTypes__ast_4803((*n).typ, TM__qy9cjzsMcb87orRThTwa4gQ_52);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T12_ = !(((*colontmpD__3).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22)));
LA16_: ;
T11_ = T12_;
if (!(T11_)) goto LA17_;
T11_ = ((*c).inSpawn == ((NI)0));
LA17_: ;
if (!T11_) goto LA18_;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
T21_.len = 0; T21_.p = NIM_NIL;
T21_ = dollar___renderer_2511(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
colontmpD__4 = nsuFormatSingleElem(TM__qy9cjzsMcb87orRThTwa4gQ_54, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
liMessage__msgs_1159((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)103), colontmpD__4, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__qy9cjzsMcb87orRThTwa4gQ_55), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
{
LA20_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__4));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA18_: ;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&m);
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_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T36_;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
{
if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA30_;
}
LA30_: ;
{
colontmpD__5 = skipTypes__ast_4803((*n).typ, TM__qy9cjzsMcb87orRThTwa4gQ_52);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
if (!((*colontmpD__5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27) || (*colontmpD__5).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)48))) goto LA34_;
liMessage__msgs_1159((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__qy9cjzsMcb87orRThTwa4gQ_57, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__qy9cjzsMcb87orRThTwa4gQ_58), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
}
LA34_: ;
nimZeroMem((void*)T36_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T36_[0] = tmp;
colontmpD__6 = p__injectdestructors_129(n, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
T36_[1] = colontmpD__6;
colontmpD__7 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T36_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA27_;
{
LA27_:;
}
{
oldNimErrFin27_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin27_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
add__ast_6233(result, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&tmp);
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*, ensureDestruction__injectdestructors_909)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* orig, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T8_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*arg).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = hasDestructor__injectdestructors_54((&(*c)), (*arg).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
if (!T3_) goto LA5_;
tmp = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*arg).info, (*arg).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
tmp = getTemp__injectdestructors_66(c, s, (*arg).typ, (*arg).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
colontmpD_ = genSink__injectdestructors_572(c, tmp, arg, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(result, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_ = NIM_NIL;
T8_ = genDestroy__injectdestructors_535(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_4147((&(*s).final), T8_);
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
eqcopy___ast_3457(&result, arg);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}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;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3767)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60));
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDefaultCall__injectdestructors_775)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
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), info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = createMagic__modulegraphs_8540((*c).graph, (*c).idgen, TM__qy9cjzsMcb87orRThTwa4gQ_61, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)153));
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_;
eqcopy___ast_3546(&(*result).typ, t);
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(void, pVarTopLevel__injectdestructors_991)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, (*v)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__renderer_74((&(*s).vars), colontmpD_);
{
NIM_BOOL T3_;
NIM_BOOL T4_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = ((*v).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T4_)) goto LA5_;
T4_ = ((*(*v)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5));
LA5_: ;
T3_ = T4_;
if (!(T3_)) goto LA6_;
T3_ = ((*(*(*v)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18));
LA6_: ;
if (!T3_) goto LA7_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T13_;
if (!(((NI)0) < (*c).inLoop)) goto LA11_;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)T13_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T13_[0] = v;
colontmpD__2 = genDefaultCall__injectdestructors_775((*v).typ, (&(*c)), (*v).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T13_[1] = colontmpD__2;
colontmpD__3 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T13_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(res, colontmpD__3);
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_;
}
LA11_: ;
}
goto LA1_;
LA7_: ;
{
NIM_BOOL T15_;
T15_ = (NIM_BOOL)0;
T15_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)26)))&63U)))!=0));
if (!(T15_)) goto LA16_;
T15_ = !((((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41)))&63U)))!=0));
LA16_: ;
if (!T15_) goto LA17_;
{
NIM_BOOL T21_;
NIM_BOOL T23_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T27_;
T21_ = (NIM_BOOL)0;
T21_ = ((2056 & ~ (*(*v)._kind_4.sym).flags)==0);
if (T21_) goto LA22_;
T23_ = (NIM_BOOL)0;
T23_ = (((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T23_)) goto LA24_;
T23_ = ((*s).parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL));
LA24_: ;
T21_ = T23_;
LA22_: ;
if (!T21_) goto LA25_;
T27_ = NIM_NIL;
T27_ = genDestroy__injectdestructors_535(c, v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_4147((&(*(*c).graph).globalDestructors), T27_);
}
goto LA19_;
LA25_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_;
T29_ = NIM_NIL;
T29_ = genDestroy__injectdestructors_535(c, v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_4147((&(*s).final), T29_);
}
LA19_: ;
}
goto LA1_;
LA17_: ;
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, cycleCheck__injectdestructors_932)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* destTyp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
value = NIM_NIL;
destTyp = NIM_NIL;
x = NIM_NIL;
field = NIM_NIL;
{
if (!!(((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4)))) goto LA4_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&destTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
eqcopy___ast_3457(&value, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((*value).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155))) goto LA8_;
eqcopy___ast_3457(&value, (*value)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
{
if (!((*value).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23))) goto LA12_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&destTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA12_: ;
destTyp = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__qy9cjzsMcb87orRThTwa4gQ_52);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T16_;
NIM_BOOL T18_;
T16_ = (NIM_BOOL)0;
T16_ = !(((*destTyp).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22)));
if (!(T16_)) goto LA17_;
T18_ = (NIM_BOOL)0;
T18_ = ((*destTyp).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25));
if (!(T18_)) goto LA19_;
T18_ = ((*destTyp).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA19_: ;
T16_ = !(T18_);
LA17_: ;
if (!T16_) goto LA20_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&destTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA20_: ;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
field = ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL);
{
while (1) {
{
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45))) goto LA26_;
eqcopy___ast_3457(&field, (*x)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T30_;
T30_ = (NIM_BOOL)0;
T30_ = ((*field).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T30_)) goto LA31_;
T30_ = (((*(*field)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41)))&63U)))!=0);
LA31_: ;
if (!T30_) goto LA32_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&destTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA32_: ;
eqcopy___ast_3457(&x, (*x)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA24_;
LA26_: ;
{
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42) || (*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46) || (*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47) || (*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA35_;
eqcopy___ast_3457(&x, (*x)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA24_;
LA35_: ;
{
goto LA22;
}
LA24_: ;
{
NIM_BOOL T40_;
NimStringV2 msg;
NimStringV2 T44_;
T40_ = (NIM_BOOL)0;
T40_ = exprStructuralEquivalent__trees_63(x, value, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T40_) goto LA41_;
msg.len = 0; msg.p = NIM_NIL;
T44_.len = 0; T44_.p = NIM_NIL;
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
tyArray__Re75IspeoxXy2oCZHwcRrA T50_;
if (!!((field == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA47_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD_ = dollar___renderer_2511(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
T50_[0] = colontmpD_;
colontmpD__2 = dollar___renderer_2511(field);
if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
T50_[1] = colontmpD__2;
msg = nsuFormatOpenArray(TM__qy9cjzsMcb87orRThTwa4gQ_63, T50_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA49_;
{
LA49_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
}
goto LA45_;
LA47_: ;
{
NimStringV2 colontmpD__3;
tyArray__nHXaesL0DJZHyVS07ARPRA T55_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__3 = dollar___renderer_2511(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
T55_[0] = colontmpD__3;
msg = nsuFormatOpenArray(TM__qy9cjzsMcb87orRThTwa4gQ_65, T55_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
{
LA54_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
}
LA45_: ;
liMessage__msgs_1159((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)60), msg, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__qy9cjzsMcb87orRThTwa4gQ_66), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA43_;
eqdestroy___stdZassertions_13((&msg));
goto LA22;
{
LA43_:;
}
{
eqdestroy___stdZassertions_13((&msg));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA41_: ;
}
} LA22: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&destTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, genDiscriminantAsgn__injectdestructors_692)(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* leDotExpr;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* objType;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyArray__FZrRrN9ciC5J9cqH8fG9cyYVg T2_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin15_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T30_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
tmp = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
le = NIM_NIL;
leDotExpr = NIM_NIL;
objType = NIM_NIL;
colontmpD__4 = NIM_NIL;
tmp = getTemp__injectdestructors_66(c, s, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T2_, sizeof(tyArray__FZrRrN9ciC5J9cqH8fG9cyYVg));
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T2_, 0);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T3_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T3_[0] = tmp;
colontmpD_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_[1] = colontmpD_;
colontmpD__2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T3_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
le = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
{
if (!((*le).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46))) goto LA7_;
eqcopy___ast_3457(&leDotExpr, (*le)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA7_: ;
{
eqcopy___ast_3457(&leDotExpr, le);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
eqcopy___ast_3546(&objType, (*(*leDotExpr)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T12_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__5;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__6;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* branchDestructor;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__7;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* notExpr;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__10;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T26_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T27_;
T12_ = (NIM_BOOL)0;
T12_ = hasDestructor__injectdestructors_54((&(*c)), objType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T12_) goto LA13_;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
branchDestructor = NIM_NIL;
cond = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
notExpr = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__15 = NIM_NIL;
{
NIM_BOOL T18_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T23_;
T18_ = (NIM_BOOL)0;
colontmpD__5 = getAttachedOp__modulegraphs_4580((*c).graph, objType, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T18_ = !((colontmpD__5 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T18_)) goto LA19_;
colontmpD__6 = getAttachedOp__modulegraphs_4580((*c).graph, objType, ((tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T18_ = (((*colontmpD__6).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)35)))&63U)))!=0);
LA19_: ;
if (!T18_) goto LA20_;
colontmpD__16 = NIM_NIL;
liMessage__msgs_1159((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__qy9cjzsMcb87orRThTwa4gQ_68, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__qy9cjzsMcb87orRThTwa4gQ_69), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
nimZeroMem((void*)T23_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T23_[0] = le;
T23_[1] = tmp;
colontmpD__16 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T23_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(result, colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
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_;
eqdestroy___ast_4060(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&notExpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&branchDestructor);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&objType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&leDotExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&le);
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_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA20_: ;
branchDestructor = produceDestructorForDiscriminator__liftdestructors_2038((*c).graph, objType, (*(*leDotExpr)._kind_6.sons.p->data[((NI)1)])._kind_4.sym, (*n).info, (*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__7 = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_350, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
cond = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29), (*n).info, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__8 = getMagicEqSymForType__magicsys_172((*c).graph, (*le).typ, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__9 = newSymNode__ast_4784(colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(cond, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(cond, le);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(cond, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__10 = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_350, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
notExpr = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30), (*n).info, colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__11 = createMagic__modulegraphs_8540((*c).graph, (*c).idgen, TM__qy9cjzsMcb87orRThTwa4gQ_71, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)96));
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__12 = newSymNode__ast_4784(colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(notExpr, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(notExpr, cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
nimZeroMem((void*)T26_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
nimZeroMem((void*)T27_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T27_[0] = notExpr;
colontmpD__13 = genOp__injectdestructors_428(c, branchDestructor, le);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T27_[1] = colontmpD__13;
colontmpD__14 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T27_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T26_[0] = colontmpD__14;
colontmpD__15 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T26_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
add__ast_6233(result, colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
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_;
eqdestroy___ast_4060(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&notExpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&branchDestructor);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA13_: ;
nimZeroMem((void*)T30_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T30_[0] = le;
T30_[1] = tmp;
colontmpD__4 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T30_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&objType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&leDotExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&le);
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_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tmp);
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*, p__injectdestructors_129)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g* c, tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw* s, tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw mode, tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg tmpFlags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL oldNimErrFin93_;
NIM_BOOL oldNimErrFin124_;
NIM_BOOL oldNimErrFin129_;
NIM_BOOL oldNimErrFin78_;
NIM_BOOL oldNimErrFin42_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin146_;
NIM_BOOL oldNimErrFin150_;
NIM_BOOL oldNimErrFin168_;
NIM_BOOL oldNimErrFin181_;
NIM_BOOL oldNimErrFin207_;
NIM_BOOL oldNimErrFin212_;
NIM_BOOL oldNimErrFin172_;
NIM_BOOL oldNimErrFin160_;
NIM_BOOL oldNimErrFin243_;
NIM_BOOL oldNimErrFin280_;
NIM_BOOL oldNimErrFin311_;
NIM_BOOL oldNimErrFin316_;
NIM_BOOL oldNimErrFin265_;
NIM_BOOL oldNimErrFin229_;
NIM_BOOL oldNimErrFin339_;
NIM_BOOL oldNimErrFin365_;
NIM_BOOL oldNimErrFin391_;
NIM_BOOL oldNimErrFin408_;
NIM_BOOL oldNimErrFin356_;
NIM_BOOL oldNimErrFin447_;
NIM_BOOL oldNimErrFin491_;
NIM_BOOL oldNimErrFin522_;
NIM_BOOL oldNimErrFin527_;
NIM_BOOL oldNimErrFin476_;
NIM_BOOL oldNimErrFin435_;
NIM_BOOL oldNimErrFin331_;
NIM_BOOL oldNimErrFin580_;
NIM_BOOL oldNimErrFin573_;
NIM_BOOL oldNimErrFin635_;
NIM_BOOL oldNimErrFin619_;
NIM_BOOL oldNimErrFin704_;
NIM_BOOL oldNimErrFin659_;
NIM_BOOL oldNimErrFin745_;
NIM_BOOL oldNimErrFin779_;
NIM_BOOL oldNimErrFin799_;
NIM_BOOL oldNimErrFin766_;
NIM_BOOL oldNimErrFin811_;
NIM_BOOL oldNimErrFin737_;
NIM_BOOL oldNimErrFin733_;
NIM_BOOL oldNimErrFin841_;
NIM_BOOL oldNimErrFin858_;
NIM_BOOL oldNimErrFin888_;
NIM_BOOL oldNimErrFin881_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!((TM__qy9cjzsMcb87orRThTwa4gQ_2[(NU)(((*n).kind))>>3] &(1U<<((NU)(((*n).kind))&7U)))!=0)) goto LA3_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T19_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
{
NI T9_;
T9_ = (NI)0;
T9_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!(T9_ == ((NI)0))) goto LA10_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA10_: ;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
NI iX60gensym123_;
NI colontmp_;
NI T13_;
NI i;
iX60gensym123_ = (NI)0;
colontmp_ = (NI)0;
T13_ = (NI)0;
T13_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmp_ = (NI)(T13_ - ((NI)1));
i = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!(i < colontmp_)) goto LA15 ;
colontmpD__3 = NIM_NIL;
iX60gensym123_ = i;
colontmpD__3 = p__injectdestructors_129((*n)._kind_6.sons.p->data[iX60gensym123_], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
i += ((NI)1);
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
} LA15: ;
}
}
T19_ = NIM_NIL;
{
NI T22_;
NIM_BOOL T23_;
NI T27_;
T22_ = (NI)0;
T22_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T23_ = (NIM_BOOL)0;
T23_ = isEmptyType__ast_6215((*(*n)._kind_6.sons.p->data[(NI)(T22_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!T23_) goto LA24_;
T27_ = (NI)0;
T27_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
colontmpD_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[(NI)(T27_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
T19_ = colontmpD_;
{
LA26_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
goto LA20_;
LA24_: ;
{
NI T32_;
T32_ = (NI)0;
T32_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__2 = p__injectdestructors_129((*n)._kind_6.sons.p->data[(NI)(T32_ - ((NI)1))], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
T19_ = colontmpD__2;
{
LA31_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA20_: ;
add__ast_6233(result, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *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_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
colontmpD__4 = NIM_NIL;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
colontmpD__4 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
{
NI iX60gensym123__2;
NI colontmp__2;
NI i_2;
iX60gensym123__2 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym123_;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw ofScopeX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T48_;
if (!(i_2 < colontmp__2)) goto LA41 ;
itX60gensym123_ = NIM_NIL;
branchX60gensym123_ = NIM_NIL;
nimZeroMem((void*)(&ofScopeX60gensym123_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__5 = NIM_NIL;
iX60gensym123__2 = i_2;
eqcopy___ast_3457(&itX60gensym123_, (*n)._kind_6.sons.p->data[iX60gensym123__2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
branchX60gensym123_ = shallowCopy__ast_5838(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
{
NI jX60gensym123_;
NI colontmp__3;
NI T44_;
NI i_3;
jX60gensym123_ = (NI)0;
colontmp__3 = (NI)0;
T44_ = (NI)0;
T44_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
colontmp__3 = (NI)(T44_ - ((NI)1));
i_3 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T47_;
if (!(i_3 < colontmp__3)) goto LA46 ;
jX60gensym123_ = i_3;
T47_ = NIM_NIL;
T47_ = copyTree__ast_5856((*itX60gensym123_)._kind_6.sons.p->data[jX60gensym123_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqsink___ast_3460(&(*branchX60gensym123_)._kind_6.sons.p->data[jX60gensym123_], T47_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
i_3 += ((NI)1);
} LA46: ;
}
}
colontmpD__5 = lastSon__ast_6268(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
nestedScope__injectdestructors_77(s, colontmpD__5, (&ofScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
T48_ = NIM_NIL;
{
NIM_BOOL T51_;
NI T52_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
NI T57_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T58_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T74_;
T51_ = (NIM_BOOL)0;
T52_ = (NI)0;
T52_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
T51_ = isEmptyType__ast_6215((*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T52_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
if (T51_) goto LA53_;
T51_ = NIM_FALSE;
LA53_: ;
if (!T51_) goto LA54_;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
T57_ = (NI)0;
T57_ = len__ast_3325(branchX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
T58_ = NIM_NIL;
{
NI T61_;
NIM_BOOL T62_;
NI T66_;
T61_ = (NI)0;
T61_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
T62_ = (NIM_BOOL)0;
T62_ = isEmptyType__ast_6215((*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T61_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
if (!T62_) goto LA63_;
T66_ = (NI)0;
T66_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
colontmpD__6 = p__injectdestructors_129((*itX60gensym123_)._kind_6.sons.p->data[(NI)(T66_ - ((NI)1))], c, (&ofScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
T58_ = colontmpD__6;
{
LA65_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
}
goto LA59_;
LA63_: ;
{
NI T71_;
T71_ = (NI)0;
T71_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
colontmpD__7 = p__injectdestructors_129((*itX60gensym123_)._kind_6.sons.p->data[(NI)(T71_ - ((NI)1))], c, (&ofScopeX60gensym123_), mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
T58_ = colontmpD__7;
{
LA70_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
}
LA59_: ;
T74_ = NIM_NIL;
T74_ = processScope__injectdestructors_1044(c, (&ofScopeX60gensym123_), T58_);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
eqsink___ast_3460(&(*branchX60gensym123_)._kind_6.sons.p->data[(NI)(T57_ - ((NI)1))], T74_);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
{
LA56_:;
}
{
oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
*nimErr_ = oldNimErrFin56_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
}
goto LA49_;
LA54_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym161_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym161_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym161_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym161_;
NI T79_;
NI T80_;
NI T81_;
NI T82_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T83_;
NI T111_;
NI T138_;
resultX60gensym161_ = NIM_NIL;
tmpX60gensym161_ = NIM_NIL;
cpyX60gensym161_ = NIM_NIL;
finSectionX60gensym161_ = NIM_NIL;
T79_ = (NI)0;
T79_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T80_ = (NI)0;
T80_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
resultX60gensym161_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T79_ - ((NI)1))]).info, (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T80_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T81_ = (NI)0;
T81_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T82_ = (NI)0;
T82_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
tmpX60gensym161_ = getTemp__injectdestructors_66(c, ofScopeX60gensym123_.parent, (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T81_ - ((NI)1))]).typ, (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T82_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
(*(*tmpX60gensym161_)._kind_4.sym).flags = tmpFlags;
T83_ = NIM_NIL;
{
NI T86_;
NIM_BOOL T87_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T90_;
NI T91_;
T86_ = (NI)0;
T86_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T87_ = (NIM_BOOL)0;
T87_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T86_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
if (!T87_) goto LA88_;
T90_ = NIM_NIL;
T90_ = genDestroy__injectdestructors_535(c, tmpX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
add__ast_4147((&(*ofScopeX60gensym123_.parent).final), T90_);
T91_ = (NI)0;
T91_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
cpyX60gensym161_ = moveOrCopy__injectdestructors_141(tmpX60gensym161_, (*itX60gensym123_)._kind_6.sons.p->data[(NI)(T91_ - ((NI)1))], c, (&ofScopeX60gensym123_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
}
goto LA84_;
LA88_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T94_;
NI T95_;
colontmpD__8 = NIM_NIL;
nimZeroMem((void*)T94_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T94_[0] = tmpX60gensym161_;
T95_ = (NI)0;
T95_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
colontmpD__8 = p__injectdestructors_129((*itX60gensym123_)._kind_6.sons.p->data[(NI)(T95_ - ((NI)1))], c, (&ofScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
T94_[1] = colontmpD__8;
cpyX60gensym161_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T94_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
{
LA93_:;
}
{
oldNimErrFin93_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
*nimErr_ = oldNimErrFin93_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
}
LA84_: ;
{
NI T100_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym161_;
NI T103_;
T100_ = ofScopeX60gensym123_.vars.len;
if (!(((NI)0) < T100_)) goto LA101_;
varSectionX60gensym161_ = NIM_NIL;
T103_ = (NI)0;
T103_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
varSectionX60gensym161_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T103_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym161__2;
NI i_4;
NI L;
NI T105_;
tmpX60gensym161__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_4 = ((NI)0);
T105_ = ofScopeX60gensym123_.vars.len;
L = T105_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T108_;
NI T109_;
NI T110_;
if (!(i_4 < L)) goto LA107 ;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
colontmpD__12 = NIM_NIL;
tmpX60gensym161__2 = &ofScopeX60gensym123_.vars.p->data[i_4];
nimZeroMem((void*)T108_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__9 = newSymNode__ast_4784((*tmpX60gensym161__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T108_[0] = colontmpD__9;
T109_ = (NI)0;
T109_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
colontmpD__10 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T109_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T108_[1] = colontmpD__10;
T110_ = (NI)0;
T110_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
colontmpD__11 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T110_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
T108_[2] = colontmpD__11;
colontmpD__12 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T108_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
add__ast_6233(varSectionX60gensym161_, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
i_4 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
} LA107: ;
}
}
add__ast_6233(resultX60gensym161_, varSectionX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&varSectionX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
}
LA101_: ;
T111_ = (NI)0;
T111_ = len__ast_3325(itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
finSectionX60gensym161_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym123_)._kind_6.sons.p->data[(NI)(T111_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym161_;
NI i_5;
NI L_2;
NI T113_;
mX60gensym161_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_5 = ((NI)0);
T113_ = ofScopeX60gensym123_.wasMoved.len;
L_2 = T113_;
{
while (1) {
if (!(i_5 < L_2)) goto LA115 ;
mX60gensym161_ = &ofScopeX60gensym123_.wasMoved.p->data[i_5];
add__ast_6233(finSectionX60gensym161_, (*mX60gensym161_));
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
i_5 += ((NI)1);
} LA115: ;
}
}
{
NI iX60gensym161_;
NI colontmp__4;
NI T117_;
NI res;
iX60gensym161_ = (NI)0;
colontmp__4 = (NI)0;
T117_ = (ofScopeX60gensym123_.final.len-1);
colontmp__4 = T117_;
res = colontmp__4;
{
while (1) {
if (!(((NI)0) <= res)) goto LA119 ;
iX60gensym161_ = res;
add__ast_6233(finSectionX60gensym161_, ofScopeX60gensym123_.final.p->data[iX60gensym161_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
res -= ((NI)1);
} LA119: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T125_;
if (!ofScopeX60gensym123_.needsTry) goto LA122_;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__15 = NIM_NIL;
nimZeroMem((void*)T125_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T125_[0] = cpyX60gensym161_;
colontmpD__13 = p__injectdestructors_129(tmpX60gensym161_, c, ofScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
T125_[1] = colontmpD__13;
colontmpD__14 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T125_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
colontmpD__15 = newTryFinally__lowerings_208(colontmpD__14, finSectionX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
add__ast_6233(resultX60gensym161_, colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA124_;
{
LA124_:;
}
{
oldNimErrFin124_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
*nimErr_ = oldNimErrFin124_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
}
goto LA120_;
LA122_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
colontmpD__16 = NIM_NIL;
add__ast_6233(resultX60gensym161_, cpyX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
add__ast_6233(resultX60gensym161_, finSectionX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
colontmpD__16 = p__injectdestructors_129(tmpX60gensym161_, c, ofScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
add__ast_6233(resultX60gensym161_, colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
{
LA129_:;
}
{
oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
*nimErr_ = oldNimErrFin129_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
}
LA120_: ;
{
NIM_BOOL T136_;
if (!!((ofScopeX60gensym123_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA134_;
T136_ = (NIM_BOOL)0;
T136_ = (*ofScopeX60gensym123_.parent).needsTry;
if (T136_) goto LA137_;
T136_ = ofScopeX60gensym123_.needsTry;
LA137_: ;
(*ofScopeX60gensym123_.parent).needsTry = T136_;
}
LA134_: ;
T138_ = (NI)0;
T138_ = len__ast_3325(branchX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
eqsink___ast_3460(&(*branchX60gensym123_)._kind_6.sons.p->data[(NI)(T138_ - ((NI)1))], resultX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
resultX60gensym161_ = 0;
{
LA78_:;
}
{
oldNimErrFin78_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqdestroy___ast_3454(&cpyX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqdestroy___ast_3454(&tmpX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
eqdestroy___ast_3454(&resultX60gensym161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
*nimErr_ = oldNimErrFin78_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
}
LA49_: ;
add__ast_6233(result, branchX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
i_2 += ((NI)1);
{
LA42_:;
}
{
oldNimErrFin42_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
eqdestroy___injectdestructors_109((&ofScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
eqdestroy___ast_3454(&branchX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
eqdestroy___ast_3454(&itX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
*nimErr_ = oldNimErrFin42_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
} LA41: ;
}
}
{
LA38_:;
}
{
oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin38_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__17;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__18;
colontmpD__17 = NIM_NIL;
nimZeroMem((void*)(&bodyScopeX60gensym123_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym123_ = NIM_NIL;
colontmpD__18 = NIM_NIL;
(*c).inLoop += ((NI)1);
(*c).inLoopCond += ((NI)1);
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
colontmpD__17 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
add__ast_6233(result, colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
(*c).inLoopCond -= ((NI)1);
nestedScope__injectdestructors_77(s, (*n)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
bodyResultX60gensym123_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
colontmpD__18 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym123_), bodyResultX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
add__ast_6233(result, colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA146_;
(*c).inLoop -= ((NI)1);
{
LA146_:;
}
{
oldNimErrFin146_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&bodyResultX60gensym123_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin146_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)95):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym123__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* bodyResultX60gensym123__2;
NI lastX60gensym123_;
NI T151_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T155_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T156_;
nimZeroMem((void*)(&bodyScopeX60gensym123__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
bodyResultX60gensym123__2 = NIM_NIL;
(*c).inLoop += ((NI)1);
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
T151_ = (NI)0;
T151_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
lastX60gensym123_ = (NI)(T151_ - ((NI)1));
{
NI iX60gensym123__3;
NI colontmp__5;
NI i_6;
iX60gensym123__3 = (NI)0;
colontmp__5 = (NI)0;
colontmp__5 = (NI)(lastX60gensym123_ - ((NI)1));
i_6 = ((NI)0);
{
while (1) {
if (!(i_6 < colontmp__5)) goto LA154 ;
iX60gensym123__3 = i_6;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[iX60gensym123__3], (*n)._kind_6.sons.p->data[iX60gensym123__3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
i_6 += ((NI)1);
} LA154: ;
}
}
T155_ = NIM_NIL;
T155_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[(NI)(lastX60gensym123_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(lastX60gensym123_ - ((NI)1))], T155_);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
nestedScope__injectdestructors_77(s, (*n)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym123__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
bodyResultX60gensym123__2 = p__injectdestructors_129((*n)._kind_6.sons.p->data[lastX60gensym123_], c, (&bodyScopeX60gensym123__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
T156_ = NIM_NIL;
T156_ = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym123__2), bodyResultX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[lastX60gensym123_], T156_);
if (NIM_UNLIKELY(*nimErr_)) goto LA150_;
(*c).inLoop -= ((NI)1);
{
LA150_:;
}
{
oldNimErrFin150_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&bodyResultX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym123__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin150_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw bodyScopeX60gensym123__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__19;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__20;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T161_;
nimZeroMem((void*)(&bodyScopeX60gensym123__3), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__19 = NIM_NIL;
colontmpD__20 = NIM_NIL;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
add__ast_6233(result, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
nestedScope__injectdestructors_77(s, (*n)._kind_6.sons.p->data[((NI)1)], (&bodyScopeX60gensym123__3));
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
T161_ = NIM_NIL;
{
NIM_BOOL T164_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__21;
T164_ = (NIM_BOOL)0;
T164_ = isEmptyType__ast_6215((*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
if (T164_) goto LA165_;
T164_ = NIM_FALSE;
LA165_: ;
if (!T164_) goto LA166_;
colontmpD__21 = NIM_NIL;
colontmpD__21 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym123__3), mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA168_;
colontmpD__19 = processScope__injectdestructors_1044(c, (&bodyScopeX60gensym123__3), colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA168_;
T161_ = colontmpD__19;
{
LA168_:;
}
{
oldNimErrFin168_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
*nimErr_ = oldNimErrFin168_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
}
goto LA162_;
LA166_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym186_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym186_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym186_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym186_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T173_;
resultX60gensym186_ = NIM_NIL;
tmpX60gensym186_ = NIM_NIL;
cpyX60gensym186_ = NIM_NIL;
finSectionX60gensym186_ = NIM_NIL;
resultX60gensym186_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*n)._kind_6.sons.p->data[((NI)1)]).info, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
tmpX60gensym186_ = getTemp__injectdestructors_66(c, bodyScopeX60gensym123__3.parent, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ, (*(*n)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
(*(*tmpX60gensym186_)._kind_4.sym).flags = tmpFlags;
T173_ = NIM_NIL;
{
NIM_BOOL T176_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T179_;
T176_ = (NIM_BOOL)0;
T176_ = hasDestructor__injectdestructors_54((&(*c)), (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
if (!T176_) goto LA177_;
T179_ = NIM_NIL;
T179_ = genDestroy__injectdestructors_535(c, tmpX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
add__ast_4147((&(*bodyScopeX60gensym123__3.parent).final), T179_);
cpyX60gensym186_ = moveOrCopy__injectdestructors_141(tmpX60gensym186_, (*n)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym123__3), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
}
goto LA174_;
LA177_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__22;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T182_;
colontmpD__22 = NIM_NIL;
nimZeroMem((void*)T182_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T182_[0] = tmpX60gensym186_;
colontmpD__22 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, (&bodyScopeX60gensym123__3), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
T182_[1] = colontmpD__22;
cpyX60gensym186_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T182_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA181_;
{
LA181_:;
}
{
oldNimErrFin181_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
*nimErr_ = oldNimErrFin181_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
}
LA174_: ;
{
NI T187_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym186_;
T187_ = bodyScopeX60gensym123__3.vars.len;
if (!(((NI)0) < T187_)) goto LA188_;
varSectionX60gensym186_ = NIM_NIL;
varSectionX60gensym186_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*n)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym186__2;
NI i_7;
NI L_3;
NI T191_;
tmpX60gensym186__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_7 = ((NI)0);
T191_ = bodyScopeX60gensym123__3.vars.len;
L_3 = T191_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__23;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__24;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__25;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__26;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T194_;
if (!(i_7 < L_3)) goto LA193 ;
colontmpD__23 = NIM_NIL;
colontmpD__24 = NIM_NIL;
colontmpD__25 = NIM_NIL;
colontmpD__26 = NIM_NIL;
tmpX60gensym186__2 = &bodyScopeX60gensym123__3.vars.p->data[i_7];
nimZeroMem((void*)T194_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__23 = newSymNode__ast_4784((*tmpX60gensym186__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
T194_[0] = colontmpD__23;
colontmpD__24 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*n)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
T194_[1] = colontmpD__24;
colontmpD__25 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*n)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
T194_[2] = colontmpD__25;
colontmpD__26 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T194_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
add__ast_6233(varSectionX60gensym186_, colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
i_7 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__26);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&colontmpD__25);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&colontmpD__24);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&colontmpD__23);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
} LA193: ;
}
}
add__ast_6233(resultX60gensym186_, varSectionX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&varSectionX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
}
LA188_: ;
finSectionX60gensym186_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*n)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym186_;
NI i_8;
NI L_4;
NI T196_;
mX60gensym186_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_8 = ((NI)0);
T196_ = bodyScopeX60gensym123__3.wasMoved.len;
L_4 = T196_;
{
while (1) {
if (!(i_8 < L_4)) goto LA198 ;
mX60gensym186_ = &bodyScopeX60gensym123__3.wasMoved.p->data[i_8];
add__ast_6233(finSectionX60gensym186_, (*mX60gensym186_));
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
i_8 += ((NI)1);
} LA198: ;
}
}
{
NI iX60gensym186_;
NI colontmp__6;
NI T200_;
NI res_2;
iX60gensym186_ = (NI)0;
colontmp__6 = (NI)0;
T200_ = (bodyScopeX60gensym123__3.final.len-1);
colontmp__6 = T200_;
res_2 = colontmp__6;
{
while (1) {
if (!(((NI)0) <= res_2)) goto LA202 ;
iX60gensym186_ = res_2;
add__ast_6233(finSectionX60gensym186_, bodyScopeX60gensym123__3.final.p->data[iX60gensym186_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
res_2 -= ((NI)1);
} LA202: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__27;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__28;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__29;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T208_;
if (!bodyScopeX60gensym123__3.needsTry) goto LA205_;
colontmpD__27 = NIM_NIL;
colontmpD__28 = NIM_NIL;
colontmpD__29 = NIM_NIL;
nimZeroMem((void*)T208_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T208_[0] = cpyX60gensym186_;
colontmpD__27 = p__injectdestructors_129(tmpX60gensym186_, c, bodyScopeX60gensym123__3.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
T208_[1] = colontmpD__27;
colontmpD__28 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T208_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
colontmpD__29 = newTryFinally__lowerings_208(colontmpD__28, finSectionX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
add__ast_6233(resultX60gensym186_, colontmpD__29);
if (NIM_UNLIKELY(*nimErr_)) goto LA207_;
{
LA207_:;
}
{
oldNimErrFin207_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__29);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&colontmpD__28);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
eqdestroy___ast_3454(&colontmpD__27);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
*nimErr_ = oldNimErrFin207_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
}
goto LA203_;
LA205_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__30;
colontmpD__30 = NIM_NIL;
add__ast_6233(resultX60gensym186_, cpyX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
add__ast_6233(resultX60gensym186_, finSectionX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
colontmpD__30 = p__injectdestructors_129(tmpX60gensym186_, c, bodyScopeX60gensym123__3.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
add__ast_6233(resultX60gensym186_, colontmpD__30);
if (NIM_UNLIKELY(*nimErr_)) goto LA212_;
{
LA212_:;
}
{
oldNimErrFin212_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__30);
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
*nimErr_ = oldNimErrFin212_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA172_;
}
LA203_: ;
{
NIM_BOOL T219_;
if (!!((bodyScopeX60gensym123__3.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA217_;
T219_ = (NIM_BOOL)0;
T219_ = (*bodyScopeX60gensym123__3.parent).needsTry;
if (T219_) goto LA220_;
T219_ = bodyScopeX60gensym123__3.needsTry;
LA220_: ;
(*bodyScopeX60gensym123__3.parent).needsTry = T219_;
}
LA217_: ;
colontmpD__20 = resultX60gensym186_;
resultX60gensym186_ = 0;
T161_ = colontmpD__20;
{
LA172_:;
}
{
oldNimErrFin172_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
eqdestroy___ast_3454(&cpyX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
eqdestroy___ast_3454(&tmpX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
eqdestroy___ast_3454(&resultX60gensym186_);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
*nimErr_ = oldNimErrFin172_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
}
LA162_: ;
add__ast_6233(result, T161_);
if (NIM_UNLIKELY(*nimErr_)) goto LA160_;
{
LA160_:;
}
{
oldNimErrFin160_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__20);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&bodyScopeX60gensym123__3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin160_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI iX60gensym123__4;
NI colontmp__7;
NI i_9;
iX60gensym123__4 = (NI)0;
colontmp__7 = (NI)0;
colontmp__7 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_9 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym123__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym123__2;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__31;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T235_;
if (!(i_9 < colontmp__7)) goto LA228 ;
itX60gensym123__2 = NIM_NIL;
branchX60gensym123__2 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym123_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__31 = NIM_NIL;
iX60gensym123__4 = i_9;
eqcopy___ast_3457(&itX60gensym123__2, (*n)._kind_6.sons.p->data[iX60gensym123__4]);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
branchX60gensym123__2 = shallowCopy__ast_5838(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
colontmpD__31 = lastSon__ast_6268(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
nestedScope__injectdestructors_77(s, colontmpD__31, (&branchScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T234_;
if (!((*itX60gensym123__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86) || (*itX60gensym123__2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49))) goto LA232_;
T234_ = NIM_NIL;
T234_ = p__injectdestructors_129((*itX60gensym123__2)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
eqsink___ast_3460(&(*branchX60gensym123__2)._kind_6.sons.p->data[((NI)0)], T234_);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
}
LA232_: ;
T235_ = NIM_NIL;
{
NIM_BOOL T238_;
NI T239_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__32;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__33;
NI T244_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T245_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T261_;
T238_ = (NIM_BOOL)0;
T239_ = (NI)0;
T239_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
T238_ = isEmptyType__ast_6215((*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T239_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
if (T238_) goto LA240_;
T238_ = NIM_FALSE;
LA240_: ;
if (!T238_) goto LA241_;
colontmpD__32 = NIM_NIL;
colontmpD__33 = NIM_NIL;
T244_ = (NI)0;
T244_ = len__ast_3325(branchX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
T245_ = NIM_NIL;
{
NI T248_;
NIM_BOOL T249_;
NI T253_;
T248_ = (NI)0;
T248_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
T249_ = (NIM_BOOL)0;
T249_ = isEmptyType__ast_6215((*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T248_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
if (!T249_) goto LA250_;
T253_ = (NI)0;
T253_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
colontmpD__32 = p__injectdestructors_129((*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T253_ - ((NI)1))], c, (&branchScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA252_;
T245_ = colontmpD__32;
{
LA252_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
}
goto LA246_;
LA250_: ;
{
NI T258_;
T258_ = (NI)0;
T258_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
colontmpD__33 = p__injectdestructors_129((*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T258_ - ((NI)1))], c, (&branchScopeX60gensym123_), mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA257_;
T245_ = colontmpD__33;
{
LA257_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
}
LA246_: ;
T261_ = NIM_NIL;
T261_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym123_), T245_);
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
eqsink___ast_3460(&(*branchX60gensym123__2)._kind_6.sons.p->data[(NI)(T244_ - ((NI)1))], T261_);
if (NIM_UNLIKELY(*nimErr_)) goto LA243_;
{
LA243_:;
}
{
oldNimErrFin243_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__33);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
eqdestroy___ast_3454(&colontmpD__32);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
*nimErr_ = oldNimErrFin243_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
}
goto LA236_;
LA241_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym215_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym215_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym215_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym215_;
NI T266_;
NI T267_;
NI T268_;
NI T269_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T270_;
NI T298_;
NI T325_;
resultX60gensym215_ = NIM_NIL;
tmpX60gensym215_ = NIM_NIL;
cpyX60gensym215_ = NIM_NIL;
finSectionX60gensym215_ = NIM_NIL;
T266_ = (NI)0;
T266_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T267_ = (NI)0;
T267_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
resultX60gensym215_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T266_ - ((NI)1))]).info, (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T267_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T268_ = (NI)0;
T268_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T269_ = (NI)0;
T269_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
tmpX60gensym215_ = getTemp__injectdestructors_66(c, branchScopeX60gensym123_.parent, (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T268_ - ((NI)1))]).typ, (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T269_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
(*(*tmpX60gensym215_)._kind_4.sym).flags = tmpFlags;
T270_ = NIM_NIL;
{
NI T273_;
NIM_BOOL T274_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T277_;
NI T278_;
T273_ = (NI)0;
T273_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T274_ = (NIM_BOOL)0;
T274_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T273_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
if (!T274_) goto LA275_;
T277_ = NIM_NIL;
T277_ = genDestroy__injectdestructors_535(c, tmpX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
add__ast_4147((&(*branchScopeX60gensym123_.parent).final), T277_);
T278_ = (NI)0;
T278_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
cpyX60gensym215_ = moveOrCopy__injectdestructors_141(tmpX60gensym215_, (*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T278_ - ((NI)1))], c, (&branchScopeX60gensym123_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
}
goto LA271_;
LA275_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__34;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T281_;
NI T282_;
colontmpD__34 = NIM_NIL;
nimZeroMem((void*)T281_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T281_[0] = tmpX60gensym215_;
T282_ = (NI)0;
T282_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
colontmpD__34 = p__injectdestructors_129((*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T282_ - ((NI)1))], c, (&branchScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
T281_[1] = colontmpD__34;
cpyX60gensym215_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T281_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA280_;
{
LA280_:;
}
{
oldNimErrFin280_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__34);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
*nimErr_ = oldNimErrFin280_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
}
LA271_: ;
{
NI T287_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym215_;
NI T290_;
T287_ = branchScopeX60gensym123_.vars.len;
if (!(((NI)0) < T287_)) goto LA288_;
varSectionX60gensym215_ = NIM_NIL;
T290_ = (NI)0;
T290_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
varSectionX60gensym215_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T290_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym215__2;
NI i_10;
NI L_5;
NI T292_;
tmpX60gensym215__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_10 = ((NI)0);
T292_ = branchScopeX60gensym123_.vars.len;
L_5 = T292_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__35;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__36;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__37;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__38;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T295_;
NI T296_;
NI T297_;
if (!(i_10 < L_5)) goto LA294 ;
colontmpD__35 = NIM_NIL;
colontmpD__36 = NIM_NIL;
colontmpD__37 = NIM_NIL;
colontmpD__38 = NIM_NIL;
tmpX60gensym215__2 = &branchScopeX60gensym123_.vars.p->data[i_10];
nimZeroMem((void*)T295_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__35 = newSymNode__ast_4784((*tmpX60gensym215__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T295_[0] = colontmpD__35;
T296_ = (NI)0;
T296_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
colontmpD__36 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T296_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T295_[1] = colontmpD__36;
T297_ = (NI)0;
T297_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
colontmpD__37 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T297_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
T295_[2] = colontmpD__37;
colontmpD__38 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T295_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
add__ast_6233(varSectionX60gensym215_, colontmpD__38);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
i_10 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__38);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&colontmpD__37);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&colontmpD__36);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&colontmpD__35);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
} LA294: ;
}
}
add__ast_6233(resultX60gensym215_, varSectionX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&varSectionX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
}
LA288_: ;
T298_ = (NI)0;
T298_ = len__ast_3325(itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
finSectionX60gensym215_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym123__2)._kind_6.sons.p->data[(NI)(T298_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym215_;
NI i_11;
NI L_6;
NI T300_;
mX60gensym215_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_11 = ((NI)0);
T300_ = branchScopeX60gensym123_.wasMoved.len;
L_6 = T300_;
{
while (1) {
if (!(i_11 < L_6)) goto LA302 ;
mX60gensym215_ = &branchScopeX60gensym123_.wasMoved.p->data[i_11];
add__ast_6233(finSectionX60gensym215_, (*mX60gensym215_));
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
i_11 += ((NI)1);
} LA302: ;
}
}
{
NI iX60gensym215_;
NI colontmp__8;
NI T304_;
NI res_3;
iX60gensym215_ = (NI)0;
colontmp__8 = (NI)0;
T304_ = (branchScopeX60gensym123_.final.len-1);
colontmp__8 = T304_;
res_3 = colontmp__8;
{
while (1) {
if (!(((NI)0) <= res_3)) goto LA306 ;
iX60gensym215_ = res_3;
add__ast_6233(finSectionX60gensym215_, branchScopeX60gensym123_.final.p->data[iX60gensym215_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
res_3 -= ((NI)1);
} LA306: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__39;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__40;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__41;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T312_;
if (!branchScopeX60gensym123_.needsTry) goto LA309_;
colontmpD__39 = NIM_NIL;
colontmpD__40 = NIM_NIL;
colontmpD__41 = NIM_NIL;
nimZeroMem((void*)T312_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T312_[0] = cpyX60gensym215_;
colontmpD__39 = p__injectdestructors_129(tmpX60gensym215_, c, branchScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
T312_[1] = colontmpD__39;
colontmpD__40 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T312_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
colontmpD__41 = newTryFinally__lowerings_208(colontmpD__40, finSectionX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
add__ast_6233(resultX60gensym215_, colontmpD__41);
if (NIM_UNLIKELY(*nimErr_)) goto LA311_;
{
LA311_:;
}
{
oldNimErrFin311_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__41);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&colontmpD__40);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqdestroy___ast_3454(&colontmpD__39);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
*nimErr_ = oldNimErrFin311_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
}
goto LA307_;
LA309_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__42;
colontmpD__42 = NIM_NIL;
add__ast_6233(resultX60gensym215_, cpyX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA316_;
add__ast_6233(resultX60gensym215_, finSectionX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA316_;
colontmpD__42 = p__injectdestructors_129(tmpX60gensym215_, c, branchScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA316_;
add__ast_6233(resultX60gensym215_, colontmpD__42);
if (NIM_UNLIKELY(*nimErr_)) goto LA316_;
{
LA316_:;
}
{
oldNimErrFin316_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__42);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
*nimErr_ = oldNimErrFin316_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
}
LA307_: ;
{
NIM_BOOL T323_;
if (!!((branchScopeX60gensym123_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA321_;
T323_ = (NIM_BOOL)0;
T323_ = (*branchScopeX60gensym123_.parent).needsTry;
if (T323_) goto LA324_;
T323_ = branchScopeX60gensym123_.needsTry;
LA324_: ;
(*branchScopeX60gensym123_.parent).needsTry = T323_;
}
LA321_: ;
T325_ = (NI)0;
T325_ = len__ast_3325(branchX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
eqsink___ast_3460(&(*branchX60gensym123__2)._kind_6.sons.p->data[(NI)(T325_ - ((NI)1))], resultX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA265_;
resultX60gensym215_ = 0;
{
LA265_:;
}
{
oldNimErrFin265_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
eqdestroy___ast_3454(&cpyX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
eqdestroy___ast_3454(&tmpX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
eqdestroy___ast_3454(&resultX60gensym215_);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
*nimErr_ = oldNimErrFin265_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
}
LA236_: ;
add__ast_6233(result, branchX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA229_;
i_9 += ((NI)1);
{
LA229_:;
}
{
oldNimErrFin229_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__31);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&branchScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branchX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&itX60gensym123__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin229_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA228: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw tryScopeX60gensym123_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__43;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__44;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T332_;
nimZeroMem((void*)(&tryScopeX60gensym123_), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__43 = NIM_NIL;
colontmpD__44 = NIM_NIL;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
nestedScope__injectdestructors_77(s, (*n)._kind_6.sons.p->data[((NI)0)], (&tryScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
T332_ = NIM_NIL;
{
NIM_BOOL T335_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__45;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__46;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T340_;
T335_ = (NIM_BOOL)0;
T335_ = isEmptyType__ast_6215((*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
if (T335_) goto LA336_;
T335_ = NIM_FALSE;
LA336_: ;
if (!T335_) goto LA337_;
colontmpD__45 = NIM_NIL;
colontmpD__46 = NIM_NIL;
T340_ = NIM_NIL;
{
NIM_BOOL T343_;
T343_ = (NIM_BOOL)0;
T343_ = isEmptyType__ast_6215((*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
if (!T343_) goto LA344_;
colontmpD__45 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA346_;
T340_ = colontmpD__45;
{
LA346_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
}
goto LA341_;
LA344_: ;
{
colontmpD__46 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym123_), mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA350_;
T340_ = colontmpD__46;
{
LA350_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
}
LA341_: ;
colontmpD__43 = processScope__injectdestructors_1044(c, (&tryScopeX60gensym123_), T340_);
if (NIM_UNLIKELY(*nimErr_)) goto LA339_;
T332_ = colontmpD__43;
{
LA339_:;
}
{
oldNimErrFin339_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__46);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&colontmpD__45);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
*nimErr_ = oldNimErrFin339_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
}
goto LA333_;
LA337_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym232_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym232_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym232_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym232_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T357_;
resultX60gensym232_ = NIM_NIL;
tmpX60gensym232_ = NIM_NIL;
cpyX60gensym232_ = NIM_NIL;
finSectionX60gensym232_ = NIM_NIL;
resultX60gensym232_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*n)._kind_6.sons.p->data[((NI)0)]).info, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
tmpX60gensym232_ = getTemp__injectdestructors_66(c, tryScopeX60gensym123_.parent, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ, (*(*n)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
(*(*tmpX60gensym232_)._kind_4.sym).flags = tmpFlags;
T357_ = NIM_NIL;
{
NIM_BOOL T360_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T363_;
T360_ = (NIM_BOOL)0;
T360_ = hasDestructor__injectdestructors_54((&(*c)), (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
if (!T360_) goto LA361_;
T363_ = NIM_NIL;
T363_ = genDestroy__injectdestructors_535(c, tmpX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
add__ast_4147((&(*tryScopeX60gensym123_.parent).final), T363_);
cpyX60gensym232_ = moveOrCopy__injectdestructors_141(tmpX60gensym232_, (*n)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym123_), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
}
goto LA358_;
LA361_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__47;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T366_;
colontmpD__47 = NIM_NIL;
nimZeroMem((void*)T366_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T366_[0] = tmpX60gensym232_;
colontmpD__47 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, (&tryScopeX60gensym123_), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA365_;
T366_[1] = colontmpD__47;
cpyX60gensym232_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T366_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA365_;
{
LA365_:;
}
{
oldNimErrFin365_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__47);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
*nimErr_ = oldNimErrFin365_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
}
LA358_: ;
{
NI T371_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym232_;
T371_ = tryScopeX60gensym123_.vars.len;
if (!(((NI)0) < T371_)) goto LA372_;
varSectionX60gensym232_ = NIM_NIL;
varSectionX60gensym232_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*n)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym232__2;
NI i_12;
NI L_7;
NI T375_;
tmpX60gensym232__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_12 = ((NI)0);
T375_ = tryScopeX60gensym123_.vars.len;
L_7 = T375_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__48;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__49;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__50;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__51;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T378_;
if (!(i_12 < L_7)) goto LA377 ;
colontmpD__48 = NIM_NIL;
colontmpD__49 = NIM_NIL;
colontmpD__50 = NIM_NIL;
colontmpD__51 = NIM_NIL;
tmpX60gensym232__2 = &tryScopeX60gensym123_.vars.p->data[i_12];
nimZeroMem((void*)T378_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__48 = newSymNode__ast_4784((*tmpX60gensym232__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
T378_[0] = colontmpD__48;
colontmpD__49 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*n)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
T378_[1] = colontmpD__49;
colontmpD__50 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*n)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
T378_[2] = colontmpD__50;
colontmpD__51 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T378_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
add__ast_6233(varSectionX60gensym232_, colontmpD__51);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
i_12 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__51);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__50);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__49);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__48);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
} LA377: ;
}
}
add__ast_6233(resultX60gensym232_, varSectionX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&varSectionX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
}
LA372_: ;
finSectionX60gensym232_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*n)._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym232_;
NI i_13;
NI L_8;
NI T380_;
mX60gensym232_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_13 = ((NI)0);
T380_ = tryScopeX60gensym123_.wasMoved.len;
L_8 = T380_;
{
while (1) {
if (!(i_13 < L_8)) goto LA382 ;
mX60gensym232_ = &tryScopeX60gensym123_.wasMoved.p->data[i_13];
add__ast_6233(finSectionX60gensym232_, (*mX60gensym232_));
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
i_13 += ((NI)1);
} LA382: ;
}
}
{
NI iX60gensym232_;
NI colontmp__9;
NI T384_;
NI res_4;
iX60gensym232_ = (NI)0;
colontmp__9 = (NI)0;
T384_ = (tryScopeX60gensym123_.final.len-1);
colontmp__9 = T384_;
res_4 = colontmp__9;
{
while (1) {
if (!(((NI)0) <= res_4)) goto LA386 ;
iX60gensym232_ = res_4;
add__ast_6233(finSectionX60gensym232_, tryScopeX60gensym123_.final.p->data[iX60gensym232_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
res_4 -= ((NI)1);
} LA386: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__52;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__53;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__54;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__55;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T392_;
if (!tryScopeX60gensym123_.needsTry) goto LA389_;
colontmpD__52 = NIM_NIL;
colontmpD__53 = NIM_NIL;
colontmpD__54 = NIM_NIL;
colontmpD__55 = NIM_NIL;
nimZeroMem((void*)T392_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T392_[0] = cpyX60gensym232_;
{
NIM_BOOL T395_;
T395_ = (NIM_BOOL)0;
T395_ = isEmptyType__ast_6215((*tmpX60gensym232_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
if (!T395_) goto LA396_;
colontmpD__52 = p__injectdestructors_129(tmpX60gensym232_, c, tryScopeX60gensym123_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA398_;
T392_[1] = colontmpD__52;
{
LA398_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
}
goto LA393_;
LA396_: ;
{
colontmpD__53 = p__injectdestructors_129(tmpX60gensym232_, c, tryScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA402_;
T392_[1] = colontmpD__53;
{
LA402_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
}
LA393_: ;
colontmpD__54 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T392_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
colontmpD__55 = newTryFinally__lowerings_208(colontmpD__54, finSectionX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
add__ast_6233(resultX60gensym232_, colontmpD__55);
if (NIM_UNLIKELY(*nimErr_)) goto LA391_;
{
LA391_:;
}
{
oldNimErrFin391_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__55);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__54);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__53);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__52);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
*nimErr_ = oldNimErrFin391_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
}
goto LA387_;
LA389_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__56;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__57;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T409_;
colontmpD__56 = NIM_NIL;
colontmpD__57 = NIM_NIL;
add__ast_6233(resultX60gensym232_, cpyX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
add__ast_6233(resultX60gensym232_, finSectionX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
T409_ = NIM_NIL;
{
NIM_BOOL T412_;
T412_ = (NIM_BOOL)0;
T412_ = isEmptyType__ast_6215((*tmpX60gensym232_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
if (!T412_) goto LA413_;
colontmpD__56 = p__injectdestructors_129(tmpX60gensym232_, c, tryScopeX60gensym123_.parent, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA415_;
T409_ = colontmpD__56;
{
LA415_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
}
goto LA410_;
LA413_: ;
{
colontmpD__57 = p__injectdestructors_129(tmpX60gensym232_, c, tryScopeX60gensym123_.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA419_;
T409_ = colontmpD__57;
{
LA419_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
}
LA410_: ;
add__ast_6233(resultX60gensym232_, T409_);
if (NIM_UNLIKELY(*nimErr_)) goto LA408_;
{
LA408_:;
}
{
oldNimErrFin408_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__57);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
eqdestroy___ast_3454(&colontmpD__56);
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
*nimErr_ = oldNimErrFin408_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA356_;
}
LA387_: ;
{
NIM_BOOL T428_;
if (!!((tryScopeX60gensym123_.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA426_;
T428_ = (NIM_BOOL)0;
T428_ = (*tryScopeX60gensym123_.parent).needsTry;
if (T428_) goto LA429_;
T428_ = tryScopeX60gensym123_.needsTry;
LA429_: ;
(*tryScopeX60gensym123_.parent).needsTry = T428_;
}
LA426_: ;
colontmpD__44 = resultX60gensym232_;
resultX60gensym232_ = 0;
T332_ = colontmpD__44;
{
LA356_:;
}
{
oldNimErrFin356_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&cpyX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&tmpX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&resultX60gensym232_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
*nimErr_ = oldNimErrFin356_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
}
LA333_: ;
add__ast_6233(result, T332_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
{
NI iX60gensym123__5;
NI colontmp__10;
NI i_14;
iX60gensym123__5 = (NI)0;
colontmp__10 = (NI)0;
colontmp__10 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
i_14 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itX60gensym123__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchX60gensym123__3;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw branchScopeX60gensym123__2;
NI T436_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T437_;
if (!(i_14 < colontmp__10)) goto LA434 ;
itX60gensym123__3 = NIM_NIL;
branchX60gensym123__3 = NIM_NIL;
nimZeroMem((void*)(&branchScopeX60gensym123__2), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
iX60gensym123__5 = i_14;
eqcopy___ast_3457(&itX60gensym123__3, (*n)._kind_6.sons.p->data[iX60gensym123__5]);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
branchX60gensym123__3 = copyTree__ast_5856(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
T436_ = (NI)0;
T436_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
nestedScope__injectdestructors_77(s, (*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T436_ - ((NI)1))], (&branchScopeX60gensym123__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
T437_ = NIM_NIL;
{
NIM_BOOL T440_;
NIM_BOOL T441_;
NI T442_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__58;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__59;
NI T448_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T449_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T472_;
T440_ = (NIM_BOOL)0;
T441_ = (NIM_BOOL)0;
T442_ = (NI)0;
T442_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
T441_ = isEmptyType__ast_6215((*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T442_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
if (T441_) goto LA443_;
T441_ = NIM_FALSE;
LA443_: ;
T440_ = T441_;
if (T440_) goto LA444_;
T440_ = ((*itX60gensym123__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107));
LA444_: ;
if (!T440_) goto LA445_;
colontmpD__58 = NIM_NIL;
colontmpD__59 = NIM_NIL;
T448_ = (NI)0;
T448_ = len__ast_3325(branchX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA447_;
T449_ = NIM_NIL;
{
NI T455_;
if (!((*itX60gensym123__3).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA452_;
T455_ = (NI)0;
T455_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA454_;
colontmpD__58 = p__injectdestructors_129((*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T455_ - ((NI)1))], c, (&branchScopeX60gensym123__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA454_;
T449_ = colontmpD__58;
{
LA454_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA447_;
}
goto LA450_;
LA452_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T460_;
T460_ = NIM_NIL;
{
NI T463_;
NIM_BOOL T464_;
NI T467_;
T463_ = (NI)0;
T463_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
T464_ = (NIM_BOOL)0;
T464_ = isEmptyType__ast_6215((*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T463_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
if (!T464_) goto LA465_;
T467_ = (NI)0;
T467_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
colontmpD__59 = p__injectdestructors_129((*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T467_ - ((NI)1))], c, (&branchScopeX60gensym123__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
}
goto LA461_;
LA465_: ;
{
NI T469_;
T469_ = (NI)0;
T469_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
colontmpD__59 = p__injectdestructors_129((*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T469_ - ((NI)1))], c, (&branchScopeX60gensym123__2), mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA459_;
}
LA461_: ;
T449_ = colontmpD__59;
{
LA459_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA447_;
}
LA450_: ;
T472_ = NIM_NIL;
T472_ = processScope__injectdestructors_1044(c, (&branchScopeX60gensym123__2), T449_);
if (NIM_UNLIKELY(*nimErr_)) goto LA447_;
eqsink___ast_3460(&(*branchX60gensym123__3)._kind_6.sons.p->data[(NI)(T448_ - ((NI)1))], T472_);
if (NIM_UNLIKELY(*nimErr_)) goto LA447_;
{
LA447_:;
}
{
oldNimErrFin447_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__59);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
eqdestroy___ast_3454(&colontmpD__58);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
*nimErr_ = oldNimErrFin447_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
}
goto LA438_;
LA445_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resultX60gensym266_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tmpX60gensym266_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cpyX60gensym266_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finSectionX60gensym266_;
NI T477_;
NI T478_;
NI T479_;
NI T480_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T481_;
NI T509_;
NI T536_;
resultX60gensym266_ = NIM_NIL;
tmpX60gensym266_ = NIM_NIL;
cpyX60gensym266_ = NIM_NIL;
finSectionX60gensym266_ = NIM_NIL;
T477_ = (NI)0;
T477_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T478_ = (NI)0;
T478_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
resultX60gensym266_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T477_ - ((NI)1))]).info, (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T478_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T479_ = (NI)0;
T479_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T480_ = (NI)0;
T480_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
tmpX60gensym266_ = getTemp__injectdestructors_66(c, branchScopeX60gensym123__2.parent, (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T479_ - ((NI)1))]).typ, (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T480_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
(*(*tmpX60gensym266_)._kind_4.sym).flags = tmpFlags;
T481_ = NIM_NIL;
{
NI T484_;
NIM_BOOL T485_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T488_;
NI T489_;
T484_ = (NI)0;
T484_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T485_ = (NIM_BOOL)0;
T485_ = hasDestructor__injectdestructors_54((&(*c)), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T484_ - ((NI)1))]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
if (!T485_) goto LA486_;
T488_ = NIM_NIL;
T488_ = genDestroy__injectdestructors_535(c, tmpX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
add__ast_4147((&(*branchScopeX60gensym123__2.parent).final), T488_);
T489_ = (NI)0;
T489_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
cpyX60gensym266_ = moveOrCopy__injectdestructors_141(tmpX60gensym266_, (*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T489_ - ((NI)1))], c, (&branchScopeX60gensym123__2), 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
}
goto LA482_;
LA486_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__60;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T492_;
NI T493_;
colontmpD__60 = NIM_NIL;
nimZeroMem((void*)T492_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T492_[0] = tmpX60gensym266_;
T493_ = (NI)0;
T493_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
colontmpD__60 = p__injectdestructors_129((*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T493_ - ((NI)1))], c, (&branchScopeX60gensym123__2), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
T492_[1] = colontmpD__60;
cpyX60gensym266_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T492_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA491_;
{
LA491_:;
}
{
oldNimErrFin491_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__60);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
*nimErr_ = oldNimErrFin491_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
}
LA482_: ;
{
NI T498_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSectionX60gensym266_;
NI T501_;
T498_ = branchScopeX60gensym123__2.vars.len;
if (!(((NI)0) < T498_)) goto LA499_;
varSectionX60gensym266_ = NIM_NIL;
T501_ = (NI)0;
T501_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
varSectionX60gensym266_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T501_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** tmpX60gensym266__2;
NI i_15;
NI L_9;
NI T503_;
tmpX60gensym266__2 = (tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA**)0;
i_15 = ((NI)0);
T503_ = branchScopeX60gensym123__2.vars.len;
L_9 = T503_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__61;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__62;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__63;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__64;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T506_;
NI T507_;
NI T508_;
if (!(i_15 < L_9)) goto LA505 ;
colontmpD__61 = NIM_NIL;
colontmpD__62 = NIM_NIL;
colontmpD__63 = NIM_NIL;
colontmpD__64 = NIM_NIL;
tmpX60gensym266__2 = &branchScopeX60gensym123__2.vars.p->data[i_15];
nimZeroMem((void*)T506_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__61 = newSymNode__ast_4784((*tmpX60gensym266__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T506_[0] = colontmpD__61;
T507_ = (NI)0;
T507_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
colontmpD__62 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T507_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T506_[1] = colontmpD__62;
T508_ = (NI)0;
T508_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
colontmpD__63 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T508_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
T506_[2] = colontmpD__63;
colontmpD__64 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35), T506_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
add__ast_6233(varSectionX60gensym266_, colontmpD__64);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
i_15 += ((NI)1);
eqdestroy___ast_3454(&colontmpD__64);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&colontmpD__63);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&colontmpD__62);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&colontmpD__61);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
} LA505: ;
}
}
add__ast_6233(resultX60gensym266_, varSectionX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&varSectionX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
}
LA499_: ;
T509_ = (NI)0;
T509_ = len__ast_3325(itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
finSectionX60gensym266_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*itX60gensym123__3)._kind_6.sons.p->data[(NI)(T509_ - ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** mX60gensym266_;
NI i_16;
NI L_10;
NI T511_;
mX60gensym266_ = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i_16 = ((NI)0);
T511_ = branchScopeX60gensym123__2.wasMoved.len;
L_10 = T511_;
{
while (1) {
if (!(i_16 < L_10)) goto LA513 ;
mX60gensym266_ = &branchScopeX60gensym123__2.wasMoved.p->data[i_16];
add__ast_6233(finSectionX60gensym266_, (*mX60gensym266_));
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
i_16 += ((NI)1);
} LA513: ;
}
}
{
NI iX60gensym266_;
NI colontmp__11;
NI T515_;
NI res_5;
iX60gensym266_ = (NI)0;
colontmp__11 = (NI)0;
T515_ = (branchScopeX60gensym123__2.final.len-1);
colontmp__11 = T515_;
res_5 = colontmp__11;
{
while (1) {
if (!(((NI)0) <= res_5)) goto LA517 ;
iX60gensym266_ = res_5;
add__ast_6233(finSectionX60gensym266_, branchScopeX60gensym123__2.final.p->data[iX60gensym266_]);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
res_5 -= ((NI)1);
} LA517: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__65;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__66;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__67;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T523_;
if (!branchScopeX60gensym123__2.needsTry) goto LA520_;
colontmpD__65 = NIM_NIL;
colontmpD__66 = NIM_NIL;
colontmpD__67 = NIM_NIL;
nimZeroMem((void*)T523_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T523_[0] = cpyX60gensym266_;
colontmpD__65 = p__injectdestructors_129(tmpX60gensym266_, c, branchScopeX60gensym123__2.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA522_;
T523_[1] = colontmpD__65;
colontmpD__66 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), T523_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA522_;
colontmpD__67 = newTryFinally__lowerings_208(colontmpD__66, finSectionX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA522_;
add__ast_6233(resultX60gensym266_, colontmpD__67);
if (NIM_UNLIKELY(*nimErr_)) goto LA522_;
{
LA522_:;
}
{
oldNimErrFin522_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__67);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&colontmpD__66);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqdestroy___ast_3454(&colontmpD__65);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
*nimErr_ = oldNimErrFin522_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
}
goto LA518_;
LA520_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__68;
colontmpD__68 = NIM_NIL;
add__ast_6233(resultX60gensym266_, cpyX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA527_;
add__ast_6233(resultX60gensym266_, finSectionX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA527_;
colontmpD__68 = p__injectdestructors_129(tmpX60gensym266_, c, branchScopeX60gensym123__2.parent, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA527_;
add__ast_6233(resultX60gensym266_, colontmpD__68);
if (NIM_UNLIKELY(*nimErr_)) goto LA527_;
{
LA527_:;
}
{
oldNimErrFin527_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__68);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
*nimErr_ = oldNimErrFin527_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
}
LA518_: ;
{
NIM_BOOL T534_;
if (!!((branchScopeX60gensym123__2.parent == ((tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw*) NIM_NIL)))) goto LA532_;
T534_ = (NIM_BOOL)0;
T534_ = (*branchScopeX60gensym123__2.parent).needsTry;
if (T534_) goto LA535_;
T534_ = branchScopeX60gensym123__2.needsTry;
LA535_: ;
(*branchScopeX60gensym123__2.parent).needsTry = T534_;
}
LA532_: ;
T536_ = (NI)0;
T536_ = len__ast_3325(branchX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
eqsink___ast_3460(&(*branchX60gensym123__3)._kind_6.sons.p->data[(NI)(T536_ - ((NI)1))], resultX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA476_;
resultX60gensym266_ = 0;
{
LA476_:;
}
{
oldNimErrFin476_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&finSectionX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
eqdestroy___ast_3454(&cpyX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
eqdestroy___ast_3454(&tmpX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
eqdestroy___ast_3454(&resultX60gensym266_);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
*nimErr_ = oldNimErrFin476_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
}
LA438_: ;
add__ast_6233(result, branchX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA435_;
i_14 += ((NI)1);
{
LA435_:;
}
{
oldNimErrFin435_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___injectdestructors_109((&branchScopeX60gensym123__2));
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&branchX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqdestroy___ast_3454(&itX60gensym123__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
*nimErr_ = oldNimErrFin435_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
} LA434: ;
}
}
{
LA331_:;
}
{
oldNimErrFin331_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__44);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__43);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&tryScopeX60gensym123_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin331_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T544_;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T544_ = NIM_NIL;
T544_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)0)], T544_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
}
break;
}
}
goto LA1_;
LA3_: ;
{
if (!(mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2))) goto LA547_;
{
NIM_BOOL T551_;
T551_ = (NIM_BOOL)0;
T551_ = containsConstSeq__injectdestructors_884(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T551_) goto LA552_;
result = passCopyToSink__injectdestructors_829(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA552_: ;
{
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23) || (*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160))) goto LA555_;
result = p__injectdestructors_129(n, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA555_: ;
{
NIM_BOOL T558_;
NIM_BOOL T559_;
NIM_BOOL T560_;
NIM_BOOL T561_;
NIM_BOOL T566_;
T558_ = (NIM_BOOL)0;
T559_ = (NIM_BOOL)0;
T560_ = (NIM_BOOL)0;
T561_ = (NIM_BOOL)0;
T561_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T561_)) goto LA562_;
T561_ = isSinkParam__ast_6483((*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA562_: ;
T560_ = T561_;
if (T560_) goto LA563_;
T560_ = isAnalysableFieldAccess__aliasanalysis_10(n, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA563_: ;
T559_ = T560_;
if (!(T559_)) goto LA564_;
T559_ = isLastRead__injectdestructors_372(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA564_: ;
T558_ = T559_;
if (!(T558_)) goto LA565_;
T566_ = (NIM_BOOL)0;
T566_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T566_)) goto LA567_;
T566_ = isCursor__injectdestructors_395(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA567_: ;
T558_ = !(T566_);
LA565_: ;
if (!T558_) goto LA568_;
result = destructiveMoveVar__injectdestructors_784(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA568_: ;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__69;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__70;
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60))) goto LA571_;
colontmpD__69 = NIM_NIL;
colontmpD__70 = NIM_NIL;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
{
NIM_BOOL T576_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* nTyp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T581_;
T576_ = (NIM_BOOL)0;
colontmpD__69 = skipTypes__ast_4803((*n).typ, TM__qy9cjzsMcb87orRThTwa4gQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
T576_ = !(((*colontmpD__69).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)));
if (!(T576_)) goto LA577_;
colontmpD__70 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__qy9cjzsMcb87orRThTwa4gQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
T576_ = ((*colontmpD__70).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45));
LA577_: ;
if (!T576_) goto LA578_;
nTyp = NIM_NIL;
eqcopy___ast_3546(&nTyp, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA580_;
eqcopy___ast_3546(&(*(*n)._kind_6.sons.p->data[((NI)1)]).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA580_;
T581_ = NIM_NIL;
T581_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA580_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T581_);
if (NIM_UNLIKELY(*nimErr_)) goto LA580_;
eqsink___ast_3549(&(*(*result)._kind_6.sons.p->data[((NI)1)]).typ, nTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA580_;
nTyp = 0;
{
LA580_:;
}
{
oldNimErrFin580_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&nTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
*nimErr_ = oldNimErrFin580_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
}
goto LA574_;
LA578_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T585_;
T585_ = NIM_NIL;
T585_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T585_);
if (NIM_UNLIKELY(*nimErr_)) goto LA573_;
}
LA574_: ;
{
LA573_:;
}
{
oldNimErrFin573_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__70);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__69);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin573_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA571_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T591_;
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67))) goto LA589_;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T591_ = NIM_NIL;
T591_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T591_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA589_: ;
{
if (!((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL))) goto LA593_;
result = p__injectdestructors_129(n, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA549_;
LA593_: ;
{
result = passCopyToSink__injectdestructors_829(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA549_: ;
}
goto LA1_;
LA547_: ;
{
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
{
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw colontmpD__71;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw colontmpD__72;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw m;
colontmpD__71 = (tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0;
colontmpD__72 = (tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0;
{
if (!(mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0))) goto LA600_;
colontmpD__71 = ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0);
m = colontmpD__71;
}
goto LA598_;
LA600_: ;
{
colontmpD__72 = ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2);
m = colontmpD__72;
}
LA598_: ;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_17;
NI colontmp__12;
NI colontmp__13;
NI i_18;
i_17 = (NI)0;
colontmp__12 = (NI)0;
colontmp__13 = (NI)0;
colontmp__12 = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155));
colontmp__13 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_18 = colontmp__12;
{
while (1) {
if (!(i_18 < colontmp__13)) goto LA605 ;
i_17 = i_18;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T610_;
if (!((*(*n)._kind_6.sons.p->data[i_17]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34))) goto LA608_;
T610_ = NIM_NIL;
T610_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)1)], c, s, m, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)1)], T610_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA606_;
LA608_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T614_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T615_;
if (!((*(*n)._kind_6.sons.p->data[i_17]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44))) goto LA612_;
T614_ = NIM_NIL;
T614_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)0)], c, s, m, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)0)], T614_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T615_ = NIM_NIL;
T615_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)1)], c, s, m, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[i_17])._kind_6.sons.p->data[((NI)1)], T615_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA606_;
LA612_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T617_;
T617_ = NIM_NIL;
T617_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_17], c, s, m, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_17], T617_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA606_: ;
i_18 += ((NI)1);
} LA605: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw colontmpD__73;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw colontmpD__74;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw colontmpD__75;
NIM_BOOL isRefConstr;
tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw m_2;
t = NIM_NIL;
colontmpD__73 = (tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0;
colontmpD__74 = (tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0;
colontmpD__75 = (tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0;
t = skipTypes__ast_4803((*n).typ, TM__qy9cjzsMcb87orRThTwa4gQ_52);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
isRefConstr = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22));
{
if (!isRefConstr) goto LA622_;
colontmpD__73 = ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2);
m_2 = colontmpD__73;
}
goto LA620_;
LA622_: ;
{
if (!(mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0))) goto LA625_;
colontmpD__74 = ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0);
m_2 = colontmpD__74;
}
goto LA620_;
LA625_: ;
{
colontmpD__75 = ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2);
m_2 = colontmpD__75;
}
LA620_: ;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
{
NI i_19;
NI colontmp__14;
NI i_20;
i_19 = (NI)0;
colontmp__14 = (NI)0;
colontmp__14 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
i_20 = ((NI)1);
{
while (1) {
if (!(i_20 < colontmp__14)) goto LA630 ;
i_19 = i_20;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field;
if (!((*(*n)._kind_6.sons.p->data[i_19]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34))) goto LA633_;
field = NIM_NIL;
field = lookupFieldAgain__types_4363(t, (*(*(*n)._kind_6.sons.p->data[i_19])._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA635_;
{
NIM_BOOL T638_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T642_;
T638_ = (NIM_BOOL)0;
T638_ = !((field == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T638_)) goto LA639_;
T638_ = (((*field).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)41)))&63U)))!=0);
LA639_: ;
if (!T638_) goto LA640_;
T642_ = NIM_NIL;
T642_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[i_19])._kind_6.sons.p->data[((NI)1)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA635_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[i_19])._kind_6.sons.p->data[((NI)1)], T642_);
if (NIM_UNLIKELY(*nimErr_)) goto LA635_;
}
goto LA636_;
LA640_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T644_;
T644_ = NIM_NIL;
T644_ = p__injectdestructors_129((*(*n)._kind_6.sons.p->data[i_19])._kind_6.sons.p->data[((NI)1)], c, s, m_2, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA635_;
eqsink___ast_3460(&(*(*result)._kind_6.sons.p->data[i_19])._kind_6.sons.p->data[((NI)1)], T644_);
if (NIM_UNLIKELY(*nimErr_)) goto LA635_;
}
LA636_: ;
{
LA635_:;
}
{
oldNimErrFin635_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&field);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
*nimErr_ = oldNimErrFin635_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
}
goto LA631_;
LA633_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T648_;
T648_ = NIM_NIL;
T648_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_19], c, s, m_2, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_19], T648_);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
}
LA631_: ;
i_20 += ((NI)1);
} LA630: ;
}
}
{
NIM_BOOL T651_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T655_;
T651_ = (NIM_BOOL)0;
T651_ = (mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0));
if (!(T651_)) goto LA652_;
T651_ = isRefConstr;
LA652_: ;
if (!T651_) goto LA653_;
T655_ = NIM_NIL;
T655_ = ensureDestruction__injectdestructors_909(result, n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
eqsink___ast_3460(&result, T655_);
if (NIM_UNLIKELY(*nimErr_)) goto LA619_;
}
LA653_: ;
{
LA619_:;
}
{
oldNimErrFin619_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin619_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* parameters;
NI colontmpD__76;
NI colontmpD__77;
NI inSpawn;
NI L_11;
parameters = NIM_NIL;
colontmpD__76 = (NI)0;
colontmpD__77 = (NI)0;
inSpawn = (*c).inSpawn;
{
NIM_BOOL T662_;
T662_ = (NIM_BOOL)0;
T662_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T662_)) goto LA663_;
T662_ = ((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)199));
LA663_: ;
if (!T662_) goto LA664_;
(*c).inSpawn += ((NI)1);
}
goto LA660_;
LA664_: ;
{
if (!(((NI)0) < (*c).inSpawn)) goto LA667_;
(*c).inSpawn -= ((NI)1);
}
goto LA660_;
LA667_: ;
LA660_: ;
eqcopy___ast_3546(&parameters, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
{
if (!!((parameters == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)))) goto LA671_;
colontmpD__76 = len__ast_5071(parameters);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
L_11 = colontmpD__76;
}
goto LA669_;
LA671_: ;
{
colontmpD__77 = ((NI)0);
L_11 = colontmpD__77;
}
LA669_: ;
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
{
NI i_21;
NI colontmp__15;
NI i_22;
i_21 = (NI)0;
colontmp__15 = (NI)0;
colontmp__15 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
i_22 = ((NI)1);
{
while (1) {
if (!(i_22 < colontmp__15)) goto LA676 ;
i_21 = i_22;
{
NIM_BOOL T679_;
T679_ = (NIM_BOOL)0;
T679_ = (i_21 < L_11);
if (!(T679_)) goto LA680_;
T679_ = isCompileTimeOnly__types_3767((*parameters).sons.p->data[i_21]);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
LA680_: ;
if (!T679_) goto LA681_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[i_21], (*n)._kind_6.sons.p->data[i_21]);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
goto LA677_;
LA681_: ;
{
NIM_BOOL T684_;
NIM_BOOL T686_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T690_;
T684_ = (NIM_BOOL)0;
T684_ = (i_21 < L_11);
if (!(T684_)) goto LA685_;
T686_ = (NIM_BOOL)0;
T686_ = isSinkTypeForParam__types_4356((*parameters).sons.p->data[i_21]);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
if (T686_) goto LA687_;
T686_ = (((NI)0) < inSpawn);
LA687_: ;
T684_ = T686_;
LA685_: ;
if (!T684_) goto LA688_;
T690_ = NIM_NIL;
T690_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_21], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_21], T690_);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
goto LA677_;
LA688_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T692_;
T692_ = NIM_NIL;
T692_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_21], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_21], T692_);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
LA677_: ;
i_22 += ((NI)1);
} LA676: ;
}
}
{
NIM_BOOL T695_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T699_;
T695_ = (NIM_BOOL)0;
T695_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T695_)) goto LA696_;
T695_ = ((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)32) || (*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)33));
LA696_: ;
if (!T695_) goto LA697_;
T699_ = NIM_NIL;
T699_ = copyTree__ast_5856((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T699_);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* destroyOld;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T705_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T706_;
if (!((*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)7) || (*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)4) || (*(*(*c).graph).config).selectedGC == ((tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg)5))) goto LA702_;
destroyOld = NIM_NIL;
destroyOld = genDestroy__injectdestructors_535(c, (*result)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA704_;
nimZeroMem((void*)T705_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T705_[0] = destroyOld;
T705_[1] = result;
T706_ = NIM_NIL;
T706_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T705_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA704_;
eqsink___ast_3460(&result, T706_);
if (NIM_UNLIKELY(*nimErr_)) goto LA704_;
{
LA704_:;
}
{
oldNimErrFin704_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&destroyOld);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
*nimErr_ = oldNimErrFin704_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
LA702_: ;
}
goto LA693_;
LA697_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T710_;
T710_ = NIM_NIL;
T710_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T710_);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
LA693_: ;
{
NIM_BOOL T713_;
T713_ = (NIM_BOOL)0;
T713_ = canRaise__ast_6541((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
if (!T713_) goto LA714_;
(*s).needsTry = NIM_TRUE;
}
LA714_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T720_;
if (!(mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0))) goto LA718_;
T720_ = NIM_NIL;
T720_ = ensureDestruction__injectdestructors_909(result, n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
eqsink___ast_3460(&result, T720_);
if (NIM_UNLIKELY(*nimErr_)) goto LA659_;
}
LA718_: ;
{
LA659_:;
}
{
oldNimErrFin659_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&parameters);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin659_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114):
{
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T728_;
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA726_;
T728_ = NIM_NIL;
T728_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T728_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA724_;
LA726_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T730_;
T730_ = NIM_NIL;
T730_ = copyNode__ast_5733((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T730_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA724_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
{
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
it = NIM_NIL;
{
NI i_23;
NI colontmp__16;
NI i_24;
i_23 = (NI)0;
colontmp__16 = (NI)0;
colontmp__16 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA733_;
i_24 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__78;
NI T738_;
if (!(i_24 < colontmp__16)) goto LA736 ;
ri = NIM_NIL;
colontmpD__78 = NIM_NIL;
i_23 = i_24;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i_23]);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
T738_ = (NI)0;
T738_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
eqcopy___ast_3457(&ri, (*it)._kind_6.sons.p->data[(NI)(T738_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
{
NIM_BOOL T741_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__79;
T741_ = (NIM_BOOL)0;
T741_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36));
if (!(T741_)) goto LA742_;
T741_ = hasDestructor__injectdestructors_54((&(*c)), (*ri).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
LA742_: ;
if (!T741_) goto LA743_;
x = NIM_NIL;
colontmpD__79 = NIM_NIL;
{
NI i_25;
NI colontmp__17;
NI T747_;
NI i_26;
i_25 = (NI)0;
colontmp__17 = (NI)0;
T747_ = (NI)0;
T747_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
colontmp__17 = (NI)(T747_ - ((NI)2));
i_26 = ((NI)0);
{
while (1) {
if (!(i_26 < colontmp__17)) goto LA749 ;
i_25 = i_26;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__80;
if (!((*(*it)._kind_6.sons.p->data[i_25]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA752_;
colontmpD__80 = NIM_NIL;
colontmpD__80 = 0;
eqcopy___ast_4063(&colontmpD__80, (*(*it)._kind_6.sons.p->data[i_25])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
add__renderer_74((&(*s).locals), colontmpD__80);
}
LA752_: ;
i_26 += ((NI)1);
} LA749: ;
}
}
x = lowerTupleUnpacking__lowerings_117((*c).graph, it, (*c).idgen, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
colontmpD__79 = p__injectdestructors_129(x, c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
add__ast_6233(result, colontmpD__79);
if (NIM_UNLIKELY(*nimErr_)) goto LA745_;
{
LA745_:;
}
{
oldNimErrFin745_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__79);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
*nimErr_ = oldNimErrFin745_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
}
goto LA739_;
LA743_: ;
{
NIM_BOOL T757_;
T757_ = (NIM_BOOL)0;
T757_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35));
if (!(T757_)) goto LA758_;
colontmpD__78 = skipPragmaExpr__ast_3910((*it)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
T757_ = hasDestructor__injectdestructors_54((&(*c)), (*colontmpD__78).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
LA758_: ;
if (!T757_) goto LA759_;
{
NI j;
NI colontmp__18;
NI T762_;
NI i_27;
j = (NI)0;
colontmp__18 = (NI)0;
T762_ = (NI)0;
T762_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
colontmp__18 = (NI)(T762_ - ((NI)2));
i_27 = ((NI)0);
{
while (1) {
if (!(i_27 < colontmp__18)) goto LA764 ;
j = i_27;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v;
v = NIM_NIL;
v = skipPragmaExpr__ast_3910((*it)._kind_6.sons.p->data[j]);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__81;
if (!((*v).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA769_;
colontmpD__81 = NIM_NIL;
{
if (!(((*(*v)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)28)))&63U)))!=0)) goto LA773_;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
goto LA765;
}
LA773_: ;
colontmpD__81 = 0;
eqcopy___ast_4063(&colontmpD__81, (*v)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
add__renderer_74((&(*s).locals), colontmpD__81);
pVarTopLevel__injectdestructors_991(v, c, s, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
}
LA769_: ;
{
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__82;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__83;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__84;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw T780_;
if (!!(((*ri).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA777_;
nimZeroMem((void*)(&colontmpD__82), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
nimZeroMem((void*)(&colontmpD__83), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
colontmpD__84 = NIM_NIL;
{
if (!((*v).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA783_;
colontmpD__82 = 1;
T780_ = colontmpD__82;
}
goto LA781_;
LA783_: ;
{
colontmpD__83 = 0;
T780_ = colontmpD__83;
}
LA781_: ;
colontmpD__84 = moveOrCopy__injectdestructors_141(v, ri, c, s, T780_);
if (NIM_UNLIKELY(*nimErr_)) goto LA779_;
add__ast_6233(result, colontmpD__84);
if (NIM_UNLIKELY(*nimErr_)) goto LA779_;
{
LA779_:;
}
{
oldNimErrFin779_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__84);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
*nimErr_ = oldNimErrFin779_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
}
goto LA775_;
LA777_: ;
{
NIM_BOOL T789_;
NIM_BOOL skipInit;
NIM_BOOL T793_;
T789_ = (NIM_BOOL)0;
T789_ = ((*ri).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
if (!(T789_)) goto LA790_;
T789_ = (((NI)0) < (*c).inLoop);
LA790_: ;
if (!T789_) goto LA791_;
T793_ = (NIM_BOOL)0;
T793_ = ((*v).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45));
if (!(T793_)) goto LA794_;
T793_ = (((*(*(*v)._kind_6.sons.p->data[((NI)1)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)14)))&63U)))!=0);
LA794_: ;
skipInit = T793_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__85;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__86;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__87;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__88;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw T800_;
if (!!(skipInit)) goto LA797_;
colontmpD__85 = NIM_NIL;
nimZeroMem((void*)(&colontmpD__86), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
nimZeroMem((void*)(&colontmpD__87), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
colontmpD__88 = NIM_NIL;
colontmpD__85 = genDefaultCall__injectdestructors_775((*v).typ, (&(*c)), (*v).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA799_;
{
if (!((*v).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA803_;
colontmpD__86 = 1;
T800_ = colontmpD__86;
}
goto LA801_;
LA803_: ;
{
colontmpD__87 = 0;
T800_ = colontmpD__87;
}
LA801_: ;
colontmpD__88 = moveOrCopy__injectdestructors_141(v, colontmpD__85, c, s, T800_);
if (NIM_UNLIKELY(*nimErr_)) goto LA799_;
add__ast_6233(result, colontmpD__88);
if (NIM_UNLIKELY(*nimErr_)) goto LA799_;
{
LA799_:;
}
{
oldNimErrFin799_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__88);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
eqdestroy___ast_3454(&colontmpD__85);
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
*nimErr_ = oldNimErrFin799_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA766_;
}
LA797_: ;
}
goto LA775_;
LA791_: ;
LA775_: ;
{
LA766_:;
}
{
oldNimErrFin766_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&v);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
*nimErr_ = oldNimErrFin766_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
} LA765: ;
i_27 += ((NI)1);
} LA764: ;
}
}
}
goto LA739_;
LA759_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* itCopy;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__89;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
NI T827_;
v_2 = NIM_NIL;
itCopy = NIM_NIL;
colontmpD__89 = NIM_NIL;
v_2 = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
itCopy = copyNode__ast_5733(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
{
NI j_2;
NI colontmp__19;
NI T813_;
NI i_28;
j_2 = (NI)0;
colontmp__19 = (NI)0;
T813_ = (NI)0;
T813_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
colontmp__19 = (NI)(T813_ - ((NI)1));
i_28 = ((NI)0);
{
while (1) {
if (!(i_28 < colontmp__19)) goto LA815 ;
j_2 = i_28;
add__ast_6233(itCopy, (*it)._kind_6.sons.p->data[j_2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
i_28 += ((NI)1);
} LA815: ;
}
}
flags = IL64(70368744177664);
{
NIM_BOOL T818_;
NIM_BOOL T819_;
NIM_BOOL T820_;
NI T822_;
T818_ = (NIM_BOOL)0;
T819_ = (NIM_BOOL)0;
T820_ = (NIM_BOOL)0;
T820_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35));
if (!(T820_)) goto LA821_;
T822_ = (NI)0;
T822_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
T820_ = (T822_ == ((NI)3));
LA821_: ;
T819_ = T820_;
if (!(T819_)) goto LA823_;
T819_ = ((*(*it)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
LA823_: ;
T818_ = T819_;
if (!(T818_)) goto LA824_;
T818_ = (((*(*(*it)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
LA824_: ;
if (!T818_) goto LA825_;
flags |= ((NU64)1)<<(((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3))) & 63);
}
LA825_: ;
T827_ = (NI)0;
T827_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
colontmpD__89 = p__injectdestructors_129((*it)._kind_6.sons.p->data[(NI)(T827_ - ((NI)1))], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
add__ast_6233(itCopy, colontmpD__89);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
add__ast_6233(v_2, itCopy);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
add__ast_6233(result, v_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA811_;
{
LA811_:;
}
{
oldNimErrFin811_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__89);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
eqdestroy___ast_3454(&itCopy);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
eqdestroy___ast_3454(&v_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
*nimErr_ = oldNimErrFin811_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA737_;
}
LA739_: ;
i_24 += ((NI)1);
{
LA737_:;
}
{
oldNimErrFin737_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__78);
if (NIM_UNLIKELY(*nimErr_)) goto LA733_;
eqdestroy___ast_3454(&ri);
if (NIM_UNLIKELY(*nimErr_)) goto LA733_;
*nimErr_ = oldNimErrFin737_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA733_;
} LA736: ;
}
}
{
LA733_:;
}
{
oldNimErrFin733_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin733_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149):
{
{
NIM_BOOL T837_;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__90;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw colontmpD__91;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__92;
tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw flags_2;
T837_ = (NIM_BOOL)0;
T837_ = hasDestructor__injectdestructors_54((&(*c)), (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T837_)) goto LA838_;
T837_ = !(((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) || (*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51)));
LA838_: ;
if (!T837_) goto LA839_;
nimZeroMem((void*)(&colontmpD__90), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
nimZeroMem((void*)(&colontmpD__91), sizeof(tySet_tyEnum_MoveOrCopyFlag__KXsovIQemJhzpdoho9cfZvw));
colontmpD__92 = NIM_NIL;
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46))) goto LA844_;
cycleCheck__injectdestructors_932(n, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA841_;
}
LA844_: ;
{
if (!((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149))) goto LA848_;
colontmpD__90 = 2;
flags_2 = colontmpD__90;
}
goto LA846_;
LA848_: ;
{
colontmpD__91 = 0;
flags_2 = colontmpD__91;
}
LA846_: ;
colontmpD__92 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA841_;
result = moveOrCopy__injectdestructors_141(colontmpD__92, (*n)._kind_6.sons.p->data[((NI)1)], c, s, flags_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA841_;
{
LA841_:;
}
{
oldNimErrFin841_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__92);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin841_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA835_;
LA839_: ;
{
NIM_BOOL T854_;
T854_ = (NIM_BOOL)0;
T854_ = isDiscriminantField__astalgo_4643((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T854_) goto LA855_;
result = genDiscriminantAsgn__injectdestructors_692(c, s, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA835_;
LA855_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__93;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__94;
colontmpD__93 = NIM_NIL;
colontmpD__94 = NIM_NIL;
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA858_;
colontmpD__93 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA858_;
add__ast_6233(result, colontmpD__93);
if (NIM_UNLIKELY(*nimErr_)) goto LA858_;
colontmpD__94 = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)1), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA858_;
add__ast_6233(result, colontmpD__94);
if (NIM_UNLIKELY(*nimErr_)) goto LA858_;
{
LA858_:;
}
{
oldNimErrFin858_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__94);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__93);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin858_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA835_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
result = pRaiseStmt__injectdestructors_1156(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
internalErrorImpl__msgs_1497((*(*c).graph).config, (*n).info, TM__qy9cjzsMcb87orRThTwa4gQ_73, (&TM__qy9cjzsMcb87orRThTwa4gQ_74));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)0) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)80):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)82):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)101):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)102):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)121):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)116):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)118):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)90):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)158):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122):
{
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)71):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)72):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)91):
{
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_29;
NI colontmp__20;
NI i_30;
i_29 = (NI)0;
colontmp__20 = (NI)0;
colontmp__20 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_30 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T868_;
if (!(i_30 < colontmp__20)) goto LA867 ;
i_29 = i_30;
T868_ = NIM_NIL;
T868_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_29], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_29], T868_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_30 += ((NI)1);
} LA867: ;
}
}
{
NIM_BOOL T871_;
T871_ = (NIM_BOOL)0;
T871_ = !(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T871_)) goto LA872_;
T871_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA872_: ;
if (!T871_) goto LA873_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T879_;
if (!(mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0))) goto LA877_;
T879_ = NIM_NIL;
T879_ = ensureDestruction__injectdestructors_909(result, n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T879_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA877_: ;
}
LA873_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__95;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__96;
colontmpD__95 = NIM_NIL;
colontmpD__96 = NIM_NIL;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
{
NIM_BOOL T884_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* nTyp_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T889_;
T884_ = (NIM_BOOL)0;
colontmpD__95 = skipTypes__ast_4803((*n).typ, TM__qy9cjzsMcb87orRThTwa4gQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
T884_ = !(((*colontmpD__95).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45)));
if (!(T884_)) goto LA885_;
colontmpD__96 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__qy9cjzsMcb87orRThTwa4gQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
T884_ = ((*colontmpD__96).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)45));
LA885_: ;
if (!T884_) goto LA886_;
nTyp_2 = NIM_NIL;
eqcopy___ast_3546(&nTyp_2, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA888_;
eqcopy___ast_3546(&(*(*n)._kind_6.sons.p->data[((NI)1)]).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA888_;
T889_ = NIM_NIL;
T889_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA888_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T889_);
if (NIM_UNLIKELY(*nimErr_)) goto LA888_;
eqsink___ast_3549(&(*(*result)._kind_6.sons.p->data[((NI)1)]).typ, nTyp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA888_;
nTyp_2 = 0;
{
LA888_:;
}
{
oldNimErrFin888_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&nTyp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
*nimErr_ = oldNimErrFin888_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
}
goto LA882_;
LA886_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T893_;
T893_ = NIM_NIL;
T893_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T893_);
if (NIM_UNLIKELY(*nimErr_)) goto LA881_;
}
LA882_: ;
{
LA881_:;
}
{
oldNimErrFin881_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__96);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__95);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin881_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T897_;
result = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T897_ = NIM_NIL;
T897_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T897_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T899_;
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T899_ = NIM_NIL;
T899_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T899_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_31;
NI colontmp__21;
NI i_32;
i_31 = (NI)0;
colontmp__21 = (NI)0;
colontmp__21 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_32 = ((NI)1);
{
while (1) {
if (!(i_32 < colontmp__21)) goto LA902 ;
i_31 = i_32;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[i_31], (*n)._kind_6.sons.p->data[i_31]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_32 += ((NI)1);
} LA902: ;
}
}
{
NIM_BOOL T905_;
T905_ = (NIM_BOOL)0;
T905_ = (mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2));
if (!(T905_)) goto LA906_;
T905_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA906_: ;
if (!T905_) goto LA907_;
{
NIM_BOOL T911_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T915_;
T911_ = (NIM_BOOL)0;
T911_ = isAnalysableFieldAccess__aliasanalysis_10(n, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T911_)) goto LA912_;
T911_ = isLastRead__injectdestructors_372(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA912_: ;
if (!T911_) goto LA913_;
T915_ = NIM_NIL;
T915_ = genWasMoved__injectdestructors_763(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_4147((&(*s).wasMoved), T915_);
}
goto LA909_;
LA913_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T917_;
T917_ = NIM_NIL;
T917_ = passCopyToSink__injectdestructors_829(result, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T917_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA909_: ;
}
LA907_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_33;
NI colontmp__22;
NI i_34;
i_33 = (NI)0;
colontmp__22 = (NI)0;
colontmp__22 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_34 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T922_;
if (!(i_34 < colontmp__22)) goto LA921 ;
i_33 = i_34;
T922_ = NIM_NIL;
T922_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_33], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_33], T922_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_34 += ((NI)1);
} LA921: ;
}
}
{
NIM_BOOL T925_;
T925_ = (NIM_BOOL)0;
T925_ = (mode == ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)2));
if (!(T925_)) goto LA926_;
T925_ = hasDestructor__injectdestructors_54((&(*c)), (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA926_: ;
if (!T925_) goto LA927_;
{
NIM_BOOL T931_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T935_;
T931_ = (NIM_BOOL)0;
T931_ = isAnalysableFieldAccess__aliasanalysis_10(n, (*c).owner);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T931_)) goto LA932_;
T931_ = isLastRead__injectdestructors_372(n, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA932_: ;
if (!T931_) goto LA933_;
T935_ = NIM_NIL;
T935_ = genWasMoved__injectdestructors_763(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_4147((&(*s).wasMoved), T935_);
}
goto LA929_;
LA933_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T937_;
T937_ = NIM_NIL;
T937_ = passCopyToSink__injectdestructors_829(result, c, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T937_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA929_: ;
}
LA927_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)105):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44):
{
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_35;
NI colontmp__23;
NI i_36;
i_35 = (NI)0;
colontmp__23 = (NI)0;
colontmp__23 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_36 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T942_;
if (!(i_36 < colontmp__23)) goto LA941 ;
i_35 = i_36;
T942_ = NIM_NIL;
T942_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_35], c, s, ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_35], T942_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_36 += ((NI)1);
} LA941: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
(*s).needsTry = NIM_TRUE;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_37;
NI colontmp__24;
NI i_38;
i_37 = (NI)0;
colontmp__24 = (NI)0;
colontmp__24 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_38 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T948_;
if (!(i_38 < colontmp__24)) goto LA947 ;
i_37 = i_38;
T948_ = NIM_NIL;
T948_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[i_37], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_37], T948_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_38 += ((NI)1);
} LA947: ;
}
}
(*s).needsTry = NIM_TRUE;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T950_;
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[((NI)0)], (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T950_ = NIM_NIL;
T950_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)1)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T950_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T952_;
result = shallowCopy__ast_5838(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T952_ = NIM_NIL;
T952_ = p__injectdestructors_129((*n)._kind_6.sons.p->data[((NI)0)], c, s, mode, IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T952_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_39;
NI colontmp__25;
NI i_40;
i_39 = (NI)0;
colontmp__25 = (NI)0;
colontmp__25 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_40 = ((NI)1);
{
while (1) {
if (!(i_40 < colontmp__25)) goto LA955 ;
i_39 = i_40;
eqcopy___ast_3457(&(*result)._kind_6.sons.p->data[i_39], (*n)._kind_6.sons.p->data[i_39]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_40 += ((NI)1);
} LA955: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)157):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)89):
{
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NimStringV2 colontmpD__97;
NimStringV2 colontmpD__98;
NimStringV2 T959_;
colontmpD__97.len = 0; colontmpD__97.p = NIM_NIL;
colontmpD__98.len = 0; colontmpD__98.p = NIM_NIL;
T959_.len = 0; T959_.p = NIM_NIL;
colontmpD__97 = dollar___ast_192((*n).kind);
T959_ = rawNewString(colontmpD__97.len + 40);
appendString((&T959_), TM__qy9cjzsMcb87orRThTwa4gQ_76);
appendString((&T959_), colontmpD__97);
colontmpD__98 = T959_;
internalErrorImpl__msgs_1497((*(*c).graph).config, (*n).info, colontmpD__98, (&TM__qy9cjzsMcb87orRThTwa4gQ_77));
if (NIM_UNLIKELY(*nimErr_)) goto LA958_;
{
LA958_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__98));
eqdestroy___stdZassertions_13((&colontmpD__97));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, injectDestructorCalls__injectdestructors_4124)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g c;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* colontmpD__2;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__5;
tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw scope;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&c), sizeof(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g));
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
nimZeroMem((void*)(&scope), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__6 = NIM_NIL;
body = NIM_NIL;
colontmpD__7 = NIM_NIL;
{
NIM_BOOL T4_;
NIM_BOOL T6_;
T4_ = (NIM_BOOL)0;
T4_ = (((*owner).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)39)))&63U)))!=0);
if (T4_) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = ((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T6_)) goto LA7_;
T6_ = isInlineIterator__ast_6431((*owner).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA7_: ;
T4_ = T6_;
LA5_: ;
if (!T4_) goto LA8_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&scope));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_4165((&c));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA8_: ;
nimZeroMem((void*)(&c), sizeof(tyObject_Con__JOt9cdoBCAZEDAxJyuO4l6g));
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
c.owner = colontmpD_;
colontmpD__2 = 0;
eqcopy___modulegraphs_11315(&colontmpD__2, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
c.graph = colontmpD__2;
colontmpD__3 = 0;
eqcopy___ast_3247(&colontmpD__3, idgen, NIM_TRUE);
c.idgen = colontmpD__3;
colontmpD__4 = 0;
eqcopy___ast_3457(&colontmpD__4, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
c.body = colontmpD__4;
colontmpD__5 = unknownLineInfo__lineinfos_350;
c.otherUsage = colontmpD__5;
{
if (!(((*(*g).config).options &((NU32)1<<((NU)((((tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg)26)))&31U)))!=0)) goto LA12_;
computeCursors__varpartitions_2459(owner, n, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA12_: ;
nimZeroMem((void*)(&scope), sizeof(tyObject_Scope__42q9boUGp4UmDHJF1KgjVBw));
colontmpD__6 = 0;
eqcopy___ast_3457(&colontmpD__6, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
scope.body = colontmpD__6;
body = p__injectdestructors_129(n, (&c), (&scope), ((tyEnum_ProcessMode__9bAG1RpK6JCL9aoJMPyPlQTw)0), IL64(70368744177664));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params;
if (!((*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*owner).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16))) goto LA16_;
params = NIM_NIL;
eqcopy___ast_3457(&params, (*(*owner).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(params);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__8;
if (!(i_2 < colontmp_)) goto LA21 ;
t = NIM_NIL;
colontmpD__8 = NIM_NIL;
i = i_2;
eqcopy___ast_3546(&t, (*(*(*params)._kind_6.sons.p->data[i])._kind_4.sym).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
NIM_BOOL T25_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T29_;
T25_ = (NIM_BOOL)0;
T25_ = isSinkTypeForParam__types_4356(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
if (!(T25_)) goto LA26_;
colontmpD__8 = skipTypes__ast_4803(t, TM__qy9cjzsMcb87orRThTwa4gQ_78);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T25_ = hasDestructor__injectdestructors_54((&c), colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
LA26_: ;
if (!T25_) goto LA27_;
T29_ = NIM_NIL;
T29_ = genDestroy__injectdestructors_535((&c), (*params)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_4147((&scope.final), T29_);
}
LA27_: ;
i_2 += ((NI)1);
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
} LA21: ;
}
}
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&params);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA16_: ;
colontmpD__7 = processScope__injectdestructors_1044((&c), (&scope), body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = optimize__optimizer_400(colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T36_;
NimStringV2 colontmpD__9;
tyArray__Re75IspeoxXy2oCZHwcRrA T40_;
tyArray__nHXaesL0DJZHyVS07ARPRA T41_;
T36_ = (NIM_BOOL)0;
T36_ = nsthasKey((*(*g).config).arcToExpand, (*(*owner).name).s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T36_) goto LA37_;
colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
T40_[0] = TM__qy9cjzsMcb87orRThTwa4gQ_80;
T40_[1] = (*(*owner).name).s;
echoBinSafe(T40_, 2);
colontmpD__9 = renderTree__renderer_50(result, 516);
if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
T41_[0] = colontmpD__9;
echoBinSafe(T41_, 1);
echoBinSafe(TM__qy9cjzsMcb87orRThTwa4gQ_81, 1);
{
LA39_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__9));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA37_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_109((&scope));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___injectdestructors_4165((&c));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}