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

8656 lines
338 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_Ctx__7XP0m3nt4xok1MnitrnIQw tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA;
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
typedef struct tySequence__Vai8xeF3FpYvEbW9bGRcZFA tySequence__Vai8xeF3FpYvEbW9bGRcZFA;
typedef struct tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content tySequence__Vai8xeF3FpYvEbW9bGRcZFA_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_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA tySequence__9czS3pDdyAs7bxglDcl2YyA;
typedef struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content tySequence__9czS3pDdyAs7bxglDcl2YyA_Content;
typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ tySequence__XHeQfi7ybWnv4ebLBB7afQ;
typedef struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content;
typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw tySequence__gDGqa9bft4EIBGJXdPabojw;
typedef struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content tySequence__gDGqa9bft4EIBGJXdPabojw_Content;
typedef struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A tyObject_Table__fjuGiTdj9aowj72av2a6U5A;
typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg tySequence__YLW4xuku9cRS9cLOfVzwUxqg;
typedef struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content;
typedef struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg;
typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g tySequence__HL9bxOKBQaeJ5XQXd8t8m8g;
typedef struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content;
typedef struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyObject_Table__ylj8DEu79cdmULczcIwXsIQ;
typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA tySequence__M1HR1j8fkzOLdhYymqd9cNA;
typedef struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content;
typedef struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q;
typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q tySequence__ndtMxvII636Jz8NCVD9a9a0Q;
typedef struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw;
typedef struct tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ tySequence__UfuHwINLHlFJGRcvFZqKQQ;
typedef struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content;
typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct tyObject_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 tyTuple__ZXHQRsN32wSdtLbiAuCGmg tyTuple__ZXHQRsN32wSdtLbiAuCGmg;
typedef struct tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA;
typedef struct tyObject_Table__2aeQTq7BMs36WMVMj8tArg tyObject_Table__2aeQTq7BMs36WMVMj8tArg;
typedef struct tySequence__Xet7RaPNEoI76rXS0Qks9ag tySequence__Xet7RaPNEoI76rXS0Qks9ag;
typedef struct tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_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__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_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__RU9cpFNU0sJ4A0jHLwsJlTA tyTuple__RU9cpFNU0sJ4A0jHLwsJlTA;
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;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw {
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* stateVarSym;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmpResultSym;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* unrollFinallySym;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* curExcSym;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ states;
NI blockLevel;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* stateLoopLabel;
NI exitStateIdx;
NI tempVarId;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tempVars;
tySequence__qwqHTkRvwhrRyENtudHQ7g exceptionTable;
NIM_BOOL hasExceptions;
NI curExcHandlingState;
NI nearestFinally;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct tySequence__Vai8xeF3FpYvEbW9bGRcZFA {
NI len; tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content* p;
};
struct tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA {
tySequence__xxu3GgaFAGO6lOns9aHaeLQ finallys;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tySequence__Vai8xeF3FpYvEbW9bGRcZFA blocks;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ {
RootObj Sup;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId;
};
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA {
tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k;
tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage;
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode;
NimStringV2 r;
};
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
union{
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
} _kind_1;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
NI position;
NI offset;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
};
struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
struct tySequence__9czS3pDdyAs7bxglDcl2YyA {
NI len; tySequence__9czS3pDdyAs7bxglDcl2YyA_Content* p;
};
struct tySequence__XHeQfi7ybWnv4ebLBB7afQ {
NI len; tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content* p;
};
struct tySequence__gDGqa9bft4EIBGJXdPabojw {
NI len; tySequence__gDGqa9bft4EIBGJXdPabojw_Content* p;
};
struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg {
NI len; tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content* p;
};
struct tyObject_Table__fjuGiTdj9aowj72av2a6U5A {
tySequence__YLW4xuku9cRS9cLOfVzwUxqg data;
NI counter;
};
struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g {
NI len; tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content* p;
};
struct tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg {
tySequence__HL9bxOKBQaeJ5XQXd8t8m8g data;
NI counter;
};
struct tySequence__M1HR1j8fkzOLdhYymqd9cNA {
NI len; tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content* p;
};
struct tyObject_Table__ylj8DEu79cdmULczcIwXsIQ {
tySequence__M1HR1j8fkzOLdhYymqd9cNA data;
NI counter;
};
typedef tyObject_Table__ylj8DEu79cdmULczcIwXsIQ tyArray__RtDvnrEZJ39agpdQSeedS9bg[5];
struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q {
NI len; tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content* p;
};
struct tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q {
tySequence__ndtMxvII636Jz8NCVD9a9a0Q data;
NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw data;
NI counter;
};
typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w;
typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg;
typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g;
typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
struct tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
};
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ {
NI len; tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content* p;
};
struct tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg {
NI counter;
tySequence__UfuHwINLHlFJGRcvFZqKQQ data;
};
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
NI len; tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content* p;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
NI elems;
NI counter;
NI max;
tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
tySequence__Bre9bNyuQOg1EJKitjSzn8w data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg data;
NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg data;
NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__7C9bvULfaDaWykzhm3DspFQ {
NI len; tySequence__7C9bvULfaDaWykzhm3DspFQ_Content* p;
};
struct tyObject_Table__SogU5TxbKBYUMQw7zmdG3g {
tySequence__7C9bvULfaDaWykzhm3DspFQ data;
NI counter;
};
struct tySequence__kdxAxisTjDkmDgNFb13UQw {
NI len; tySequence__kdxAxisTjDkmDgNFb13UQw_Content* p;
};
struct tyObject_Table__ijGervJNjyJafnomjvukiw {
tySequence__kdxAxisTjDkmDgNFb13UQw data;
NI counter;
};
struct tySequence__ANJm3Ou4QEh9abhA1XpChkw {
NI len; tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content* p;
};
typedef tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ[65];
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ {
NI len; tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content* p;
};
struct tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ {
tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ data;
NI counter;
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
NI len; tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content* p;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, tyProc__vPrWBhD9cGsW9cbPZw2O089bQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__lJFXsCoW9bancuutiZwWl3g) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* m, NI32 fileIdx);
struct tySequence__UQG43DVXYWx86AitV5pL8g {
NI len; tySequence__UQG43DVXYWx86AitV5pL8g_Content* p;
};
struct tyObject_Table__fkVbis6Wl9armQNEPm21CLQ {
tySequence__UQG43DVXYWx86AitV5pL8g data;
NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
NI counter;
};
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA {
NI len; tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content* p;
};
struct tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w {
tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA data;
NI counter;
};
struct tySequence__6HN8Af9btfjdnDkSmkCapaA {
NI len; tySequence__6HN8Af9btfjdnDkSmkCapaA_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__NoUxTS8DcbzCOvNOEi3ocQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
typedef N_NIMCALL_PTR(void, tyProc__uM2x1UhfNk9babrtrGeM2gw) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__39c4YkMNuEKczAhajwhaZug) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* formal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* actual);
struct tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opNot;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opContains;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLe;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLt;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAnd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opOr;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opIsNil;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opEq;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opAdd;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opSub;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opMul;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opDiv;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* opLen;
};
struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg {
tySequence__9czS3pDdyAs7bxglDcl2YyA ifaces;
tySequence__XHeQfi7ybWnv4ebLBB7afQ packed_0;
tySequence__gDGqa9bft4EIBGJXdPabojw encoders;
tyObject_Table__fjuGiTdj9aowj72av2a6U5A typeInstCache;
tyObject_Table__YQZ1JwvCEKbqGOUhujSEHg procInstCache;
tyArray__RtDvnrEZJ39agpdQSeedS9bg attachedOps;
tyObject_Table__tTWGtT1HJ9boj5Bfuszmr3Q methodsPerType;
tyObject_Table__ylj8DEu79cdmULczcIwXsIQ enumToStringProcs;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw startupPackedConfig;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
RootObj* vm;
tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* usageSym;
tySequence__UfuHwINLHlFJGRcvFZqKQQ owners;
tyObject_Table__SogU5TxbKBYUMQw7zmdG3g suggestSymbols;
tyObject_Table__ijGervJNjyJafnomjvukiw suggestErrors;
tySequence__ANJm3Ou4QEh9abhA1XpChkw methods;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* systemModule;
tyArray__pPZUzt9b8Uu2AM33aCSYl9aQ sysTypes;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg compilerprocs;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg exposed;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg packageTypes;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* emptyNode;
tyObject_Table__iOU2QDcGVSdtdaO1ubp8AQ canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__vPrWBhD9cGsW9cbPZw2O089bQ importModuleCallback;
tyProc__lJFXsCoW9bancuutiZwWl3g includeFileCallback;
tyObject_Table__fkVbis6Wl9armQNEPm21CLQ cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__hsjU9cxnK6dA4IxNq3j9bV6w cacheTables;
tySequence__6HN8Af9btfjdnDkSmkCapaA passes;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinition;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onDefinitionResolveForward;
tyProc__NoUxTS8DcbzCOvNOEi3ocQ onUsage;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ globalDestructors;
tyProc__uM2x1UhfNk9babrtrGeM2gw strongSemCheck;
tyProc__39c4YkMNuEKczAhajwhaZug compatibleProps;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
tyObject_Operators__Ai9aW8j1mouo4Nz9bP29c2c5w operators;
};
struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag {
NI32 module;
NI32 symId;
NI32 typeId_0;
NIM_BOOL sealed;
};
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringV2 strVal;
} _kind_3;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
} _kind_4;
struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
} _kind_5;
struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons;
} _kind_6;
};
};
struct tyTuple__ZXHQRsN32wSdtLbiAuCGmg {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field0;
NI Field1;
};
struct tySequence__Xet7RaPNEoI76rXS0Qks9ag {
NI len; tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content* p;
};
struct tyObject_Table__2aeQTq7BMs36WMVMj8tArg {
tySequence__Xet7RaPNEoI76rXS0Qks9ag data;
NI counter;
};
struct tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA {
tyObject_Table__2aeQTq7BMs36WMVMj8tArg tab;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__ITlg8UhAbnS7vsiPAhcspQ[1];
struct tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field0;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field1;
};
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 tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__FIZq7sI4PRP59aHmJ2Mmqwg[2];
typedef tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tyArray__wysJI6hInaI5ABj9aoPL4Dw[3];
typedef NU8 tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w;
#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__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content_PP
#define tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content_PP
struct tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content { NI cap; tyTuple__ZXHQRsN32wSdtLbiAuCGmg 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;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g;
struct tySequence__0kQhEjYsrU0bQoX6VKnNbA {
NI len; tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content* p;
};
struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg {
NI len; tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content* p;
};
struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p;
};
struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg {
tySequence__IHUFRsFxZNv7YydiUO2esQ vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA {
NimStringV2 definedSymbols;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg moduleFlags;
tySequence__PXIzfWocnrafGz5p3CP5LA includes;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw toReplay;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw topLevel;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw bodies;
tySequence__b89aLriiJnVTD186H6zNIgg exports;
tySequence__b89aLriiJnVTD186H6zNIgg hidden;
tySequence__9a35SUiZaZnQQczCKMafPpA reexports;
tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs;
tySequence__48JTohSgTy339bRxHzUD8KA converters;
tySequence__48JTohSgTy339bRxHzUD8KA methods;
tySequence__48JTohSgTy339bRxHzUD8KA trmacros;
tySequence__48JTohSgTy339bRxHzUD8KA pureEnums;
tySequence__E0A6SaW1v3EKBAVAijH8Mw typeInstCache;
tySequence__ksIzANWGKlNIZxswx6UF9cQ procInstCache;
tySequence__rg1JHBuFtw6jyGZxePBOTg attachedOps;
tySequence__6xT3ssEcZuds56oxe6Hi1Q methodsPerType;
tySequence__E0A6SaW1v3EKBAVAijH8Mw enumToStringProcs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo;
tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g backendFlags;
tySequence__0kQhEjYsrU0bQoX6VKnNbA syms;
tySequence__cNHcFk7EiJIuDgTjWY8U9bg types;
tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg strings;
tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg numbers;
tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw cfg;
};
struct tySequence__9afGcb6vqUeksMMfijyiRIg {
NI len; tySequence__9afGcb6vqUeksMMfijyiRIg_Content* p;
};
struct tyObject_Table__wOXFN2eadVouctMpJwmcSA {
tySequence__9afGcb6vqUeksMMfijyiRIg data;
NI counter;
};
struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA {
tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA status;
NIM_BOOL symsInit;
NIM_BOOL typesInit;
NIM_BOOL loadedButAliveSetChanged;
tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA fromDisk;
tySequence__UfuHwINLHlFJGRcvFZqKQQ syms;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ types;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module;
tyObject_Table__wOXFN2eadVouctMpJwmcSA iface;
tyObject_Table__wOXFN2eadVouctMpJwmcSA ifaceHidden;
};
#ifndef tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP
#define tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP
struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content { NI cap; tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA data[SEQ_DECL_SIZE];};
#endif
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p;
};
struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
NI counter;
};
struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw {
NI32 thisModule;
NI32 lastFile;
NU32 lastLit;
tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ pendingTypes;
tySequence__UfuHwINLHlFJGRcvFZqKQQ pendingSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
};
#ifndef tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP
#define tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP
struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content { NI cap; tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw data[SEQ_DECL_SIZE];};
#endif
struct tySequence__rbrgPpeV9be6C3GwbBbkmpA {
NI len; tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content* p;
};
struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__rbrgPpeV9be6C3GwbBbkmpA Field2;
};
#ifndef tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP
#define tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP
struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content { NI cap; tyTuple__DlfALjW9a9aZbdaEgWjgJiDA data[SEQ_DECL_SIZE];};
#endif
struct tySequence__QuE9aHaZlhk7otugTn0uD9cg {
NI len; tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content* p;
};
struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__QuE9aHaZlhk7otugTn0uD9cg Field2;
};
#ifndef tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP
#define tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP
struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content { NI cap; tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ data[SEQ_DECL_SIZE];};
#endif
struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA {
NU32 module;
NI32 item;
};
struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw {
NI module;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA packed_0;
};
struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw {
tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw id;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
};
struct tyTuple__kjLAcEjcuUUb5HQQFd004Q {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw Field2;
};
#ifndef tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP
#define tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP
struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content { NI cap; tyTuple__kjLAcEjcuUUb5HQQFd004Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA {
NI len; tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content* p;
};
struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__KBDwsdF2UrZmqdc6bU9bHbA Field2;
};
#ifndef tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP
#define tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP
struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content { NI cap; tyTuple__sr9ahxowKRwC2RZn4t1m9bTg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringV2 Field1;
NI32 Field2;
};
#ifndef tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
#define tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
#ifndef tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP
#define tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
#ifndef tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP
#define tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
#define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw {
NI len; tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content* p;
};
struct tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q {
NI Field0;
NI32 Field1;
tySequence__XpdAmI9cDNdhUBFb3iaYfkw Field2;
};
#ifndef tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP
#define tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP
struct tySequence__7C9bvULfaDaWykzhm3DspFQ_Content { NI cap; tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA {
NI len; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content* p;
};
struct tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA {
NI Field0;
NI32 Field1;
tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA Field2;
};
#ifndef tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP
#define tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP
struct tySequence__kdxAxisTjDkmDgNFb13UQw_Content { NI cap; tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__iv4s4NUz12iOqq0NB9cYh3Q {
tySequence__UfuHwINLHlFJGRcvFZqKQQ Field0;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field1;
};
#ifndef tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP
#define tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP
struct tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content { NI cap; tyTuple__iv4s4NUz12iOqq0NB9cYh3Q data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field2;
};
#ifndef tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
#define tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content { NI cap; tyTuple__VM7m2WL59bxLeiTf9bI39aJNw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
#ifndef tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
#define tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__hbzrBSDgTxYG04GZ0NRCew {
NI Field0;
NimStringV2 Field1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2;
};
#ifndef tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
#define tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
struct tySequence__UQG43DVXYWx86AitV5pL8g_Content { NI cap; tyTuple__hbzrBSDgTxYG04GZ0NRCew data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringV2 Field1;
NI64 Field2;
};
#ifndef tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
#define tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ {
tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA* root;
NI entries;
};
struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA {
NI Field0;
NimStringV2 Field1;
tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ Field2;
};
#ifndef tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
#define tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content { NI cap; tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA data[SEQ_DECL_SIZE];};
#endif
typedef N_NIMCALL_PTR(tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA*, tyProc__VAKrl2wuKAJ7HPlD8a2YOQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__CgBBk61cGZM3ckyCzQXJtg) (tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__DJHfW17JAEBI2WHr9b1BaKg) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
struct tyTuple__GicXS2CKoWgwFlNKz2d15w {
tyProc__VAKrl2wuKAJ7HPlD8a2YOQ Field0;
tyProc__CgBBk61cGZM3ckyCzQXJtg Field1;
tyProc__DJHfW17JAEBI2WHr9b1BaKg Field2;
NIM_BOOL Field3;
};
#ifndef tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
#define tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content { NI cap; tyTuple__GicXS2CKoWgwFlNKz2d15w data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
#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__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content_PP
#define tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content_PP
struct tySequence__Vai8xeF3FpYvEbW9bGRcZFA_Content { NI cap; tyTuple__ZXHQRsN32wSdtLbiAuCGmg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__RU9cpFNU0sJ4A0jHLwsJlTA {
NI Field0;
NI Field1;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field2;
};
#ifndef tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content_PP
#define tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content_PP
struct tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content { NI cap; tyTuple__RU9cpFNU0sJ4A0jHLwsJlTA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content_PP
#define tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content_PP
struct tySequence__Xet7RaPNEoI76rXS0Qks9ag_Content { NI cap; tyTuple__RU9cpFNU0sJ4A0jHLwsJlTA 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__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
#define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
#define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
#define tySequence__khRnfByqYV6qzEm71s9aoMA_Content_PP
struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content { NI cap; tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
NU32 Field0;
NimStringV2 Field1;
};
#ifndef tySequence__PXIzfWocnrafGz5p3CP5LA_Content_PP
#define tySequence__PXIzfWocnrafGz5p3CP5LA_Content_PP
struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP
#define tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE];};
#endif
struct tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg {
NU16 line;
NI16 col;
NU32 file;
};
struct tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q {
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
NI32 operand;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typeId_0;
tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg info;
};
#ifndef tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content_PP
#define tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content_PP
struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content { NI cap; tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
NU32 Field0;
NI32 Field1;
};
#ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
#define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
#define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__4mROXJDLgq3TboX1QMTCWQ {
NU32 Field0;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field1;
};
#ifndef tySequence__9a35SUiZaZnQQczCKMafPpA_Content_PP
#define tySequence__9a35SUiZaZnQQczCKMafPpA_Content_PP
struct tySequence__9a35SUiZaZnQQczCKMafPpA_Content { NI cap; tyTuple__4mROXJDLgq3TboX1QMTCWQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
#define tySequence__b89aLriiJnVTD186H6zNIgg_Content_PP
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
#define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__o7TpijPv9bOBH56jcsA2W3Q {
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field1;
};
#ifndef tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP
#define tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP
struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content { NI cap; tyTuple__o7TpijPv9bOBH56jcsA2W3Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__IWXeVgKgI4IltTBItDiIwQ {
NI len; tySequence__IWXeVgKgI4IltTBItDiIwQ_Content* p;
};
struct tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw {
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA key;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA sym;
tySequence__IWXeVgKgI4IltTBItDiIwQ concreteTypes;
};
#ifndef tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content_PP
#define tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content_PP
struct tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content { NI cap; tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA;
struct tyTuple__t08apXFlOi7QMiJ7EqOynA {
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0;
tyEnum_TTypeAttachedOp__ljjE0gT86OWTlfE9cOGtFgA Field1;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field2;
};
#ifndef tySequence__rg1JHBuFtw6jyGZxePBOTg_Content_PP
#define tySequence__rg1JHBuFtw6jyGZxePBOTg_Content_PP
struct tySequence__rg1JHBuFtw6jyGZxePBOTg_Content { NI cap; tyTuple__t08apXFlOi7QMiJ7EqOynA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__mPT8UQTez4CkORDSYBMX5Q {
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field0;
NI Field1;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA Field2;
};
#ifndef tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content_PP
#define tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content_PP
struct tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content { NI cap; tyTuple__mPT8UQTez4CkORDSYBMX5Q data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP
#define tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content_PP
struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content { NI cap; tyTuple__o7TpijPv9bOBH56jcsA2W3Q data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyEnum_TLibKind__sEp9azpcqn0Sobvo3wDq16w;
struct tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ {
tyEnum_TLibKind__sEp9azpcqn0Sobvo3wDq16w kind;
NIM_BOOL generated;
NIM_BOOL isOverriden;
NU32 name;
NI32 path;
};
struct tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA {
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
NU32 name;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typ;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg info;
NI32 ast;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA owner;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA guard;
NI bitsize;
NI alignment;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
NI position;
NI offset;
NU32 externalName;
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw locFlags;
tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ annex;
NI32 constraint;
};
#ifndef tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content_PP
#define tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content_PP
struct tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content { NI cap; tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA data[SEQ_DECL_SIZE];};
#endif
struct tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ {
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
tySequence__IWXeVgKgI4IltTBItDiIwQ types;
NI32 n;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA sym;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA owner;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA typeInst;
NI32 nonUniqueId;
};
#ifndef tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content_PP
#define tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content_PP
struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content { NI cap; tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP
#define tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content_PP
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IHUFRsFxZNv7YydiUO2esQ_Content_PP
#define tySequence__IHUFRsFxZNv7YydiUO2esQ_Content_PP
struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg {
NI Field0;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* Field1;
tySequence__IWXeVgKgI4IltTBItDiIwQ Field2;
};
#ifndef tySequence__9afGcb6vqUeksMMfijyiRIg_Content_PP
#define tySequence__9afGcb6vqUeksMMfijyiRIg_Content_PP
struct tySequence__9afGcb6vqUeksMMfijyiRIg_Content { NI cap; tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
NI Field0;
NI32 Field1;
NU32 Field2;
};
#ifndef tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content_PP
#define tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content_PP
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
struct tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA {
tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw id;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
};
#ifndef tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content_PP
#define tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content_PP
struct tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content { NI cap; tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA data[SEQ_DECL_SIZE];};
#endif
struct tySequence__29btfq9cDuCZmHsAEmuBeMOg {
NI len; tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content* p;
};
struct tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA {
NI module;
tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw sym;
tySequence__29btfq9cDuCZmHsAEmuBeMOg concreteTypes;
tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ* inst;
};
#ifndef tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content_PP
#define tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content_PP
struct tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content { NI cap; tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__pDyHME2vky9bxBYZlE7PoZg {
NI Field0;
tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw Field1;
};
#ifndef tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content_PP
#define tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content_PP
struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content { NI cap; tyTuple__pDyHME2vky9bxBYZlE7PoZg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
};
#ifndef tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content_PP
#define tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content_PP
struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content { NI cap; tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
#define tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content_PP
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content { NI cap; tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__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);
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_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* 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(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getEnvParam__lambdalifting_132)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* routine);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_4066)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, 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, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, createClosureIterStateType__lambdalifting_34)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___idents_133)(tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA** dest);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_3378)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg** dest, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, preprocess__closureiters_3539)(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_4147)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pop__trees_32)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s);
N_LIB_PRIVATE N_NIMCALL(void, shrink__ast_3748)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYields__closureiters_177)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_653)(tyTuple__ZXHQRsN32wSdtLbiAuCGmg* dest);
N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_3575)(tySequence__Vai8xeF3FpYvEbW9bGRcZFA* x, tyTuple__ZXHQRsN32wSdtLbiAuCGmg value);
static N_INLINE(void, pop__closureiters_3610)(tySequence__Vai8xeF3FpYvEbW9bGRcZFA* s, tyTuple__ZXHQRsN32wSdtLbiAuCGmg* Result);
N_LIB_PRIVATE N_NIMCALL(void, shrink__closureiters_3625)(tySequence__Vai8xeF3FpYvEbW9bGRcZFA* x, NI newLen);
static N_INLINE(tyTuple__ZXHQRsN32wSdtLbiAuCGmg*, X5BX5D___closureiters_3695)(tyTuple__ZXHQRsN32wSdtLbiAuCGmg* s, NI sLen_0, NI i);
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_Table__2aeQTq7BMs36WMVMj8tArg, initTable__closureiters_3742)(NI initialSize);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_6233)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, freshVars__closureiters_1839)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getOrDefault__closureiters_1938)(tyObject_Table__2aeQTq7BMs36WMVMj8tArg t, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4787)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__ast_5733)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, copySym__ast_5140)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw id);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___closureiters_2458)(tyObject_Table__2aeQTq7BMs36WMVMj8tArg* t, NI key, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* val);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1172)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA msg, NimStringV2 arg, tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2, NIM_BOOL isRaw);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyTree__ast_5856)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3251)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag** dest, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3801)(tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_2186)(tySequence__Xet7RaPNEoI76rXS0Qks9ag* 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___options_3149)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p, TNimTypeV2* desc);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3166)(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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, toStmtList__closureiters_137)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_98)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntLit__lowerings_702)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NI64 value);
N_LIB_PRIVATE N_NIMCALL(void, add__varpartitions_1477)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI value);
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*, lowerStmtListExprs__closureiters_484)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL* needsSplit);
N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_391)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3729)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest, tySequence__xxu3GgaFAGO6lOns9aHaeLQ src);
N_LIB_PRIVATE N_NIMCALL(void, add__closureiters_412)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** y, NI yLen_0);
N_LIB_PRIVATE N_NIMCALL(void, setLen__ast_3741)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1510)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
static N_INLINE(NIM_BOOL, isEmptyType__ast_6215)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newTempVar__closureiters_168)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newEnvVar__closureiters_50)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NimStringV2 name, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(void, addVar__lowerings_64)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* father, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, addUniqueField__lowerings_450)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* obj, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, lastSon__ast_4811)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
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, dollar___systemZdollars_3)(NI x);
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, addExprAssgn__closureiters_452)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* output, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* input, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVarAsgn__closureiters_447)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVarAccess__closureiters_71)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, rawIndirectAccess__lowerings_332)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* field, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_192)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ e);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, convertExprBodyToAsgn__closureiters_475)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exprBody, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* res);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNotCall__closureiters_480)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* e);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getSysMagic__magicsys_29)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 name, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 name);
N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_5759)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w kind);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_377)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformClosureIteratorBody__closureiters_1193)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, addGotoOut__closureiters_148)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBreaksAndContinuesInWhile__closureiters_181)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* before, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* after);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBreaksInBlock__closureiters_209)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* label, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* after);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, collectExceptState__closureiters_262)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newOr__closureiters_257)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNullifyCurExc__closureiters_251)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newCurExcAccess__closureiters_92)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNode__ast_3934)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_11312)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getFinallyNode__closureiters_363)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformReturnsInTry__closureiters_1117)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newUnrollFinallyAccess__closureiters_85)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntTypeNode__ast_4848)(NI64 intVal, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTmpResultAccess__closureiters_78)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEndFinallyNode__closureiters_1098)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getClosureIterResult__lambdalifting_63)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* iter, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getCompilerProc__magicsys_146)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NimStringV2 name);
N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_322)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1680)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipStmtList__closureiters_1511)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipThroughEmptyStates__closureiters_1550)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1523)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NI stateIdx);
N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1731)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, NI i);
N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1774)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI i);
N_LIB_PRIVATE N_NIMCALL(void, del__closureiters_3859)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* x, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformStateAssignments__closureiters_1406)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAssgn__closureiters_46)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NI stateNo);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAssgn__closureiters_42)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* toValue);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAccess__closureiters_36)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getStateField__lambdalifting_4976)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1395)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, wrapIntoStateLoop__closureiters_1633)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, wrapIntoTryExcept__closureiters_1626)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newCatchBody__closureiters_1589)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, createExceptionTable__closureiters_1574)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, newArrayType__closureiters_1566)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
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, rawAddSon__ast_5669)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* father, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* son, NIM_BOOL propagateHasAsgn);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNode__ast_4791)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3915)(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3723)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___semdata_599)(tySequence__Vai8xeF3FpYvEbW9bGRcZFA* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3882)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_11047)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_403)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__V8P104kFw4tUofP7Txw6Sw_2 = { 6 | NIM_STRLIT_FLAG, ":state" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_3 = {6, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_2};
static const struct {
NI cap; NIM_CHAR data[10+1];
} TM__V8P104kFw4tUofP7Txw6Sw_4 = { 10 | NIM_STRLIT_FLAG, ":stateLoop" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_5 = {10, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_4};
static const struct {
NI cap; NIM_CHAR data[76+1];
} TM__V8P104kFw4tUofP7Txw6Sw_6 = { 76 | NIM_STRLIT_FLAG, "unsupported control flow: \'finally: ... raise\' duplicated because of \'break\'" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_7 = {76, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_6};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__V8P104kFw4tUofP7Txw6Sw_9 = { 42 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/closureiters.nim" };
extern TNimTypeV2 NTIv2__C1k2TcDRT9cU4DEatQIT09ag_;
static const struct {
NI cap; NIM_CHAR data[36+1];
} TM__V8P104kFw4tUofP7Txw6Sw_10 = { 36 | NIM_STRLIT_FLAG, "lowerStmtListExprs: constr typ.isNil" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_11 = {36, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_10};
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__V8P104kFw4tUofP7Txw6Sw_13 = { 11 | NIM_STRLIT_FLAG, ":tmpSlLower" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_14 = {11, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_13};
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__V8P104kFw4tUofP7Txw6Sw_15 = { 25 | NIM_STRLIT_FLAG, "lowerStmtListExpr(nkIf): " };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_16 = {25, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_15};
static const struct {
NI cap; NIM_CHAR data[30+1];
} TM__V8P104kFw4tUofP7Txw6Sw_18 = { 30 | NIM_STRLIT_FLAG, "lowerStmtListExpr(nkTryStmt): " };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_19 = {30, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_18};
static const struct {
NI cap; NIM_CHAR data[31+1];
} TM__V8P104kFw4tUofP7Txw6Sw_21 = { 31 | NIM_STRLIT_FLAG, "lowerStmtListExpr(nkCaseStmt): " };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_22 = {31, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_21};
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__V8P104kFw4tUofP7Txw6Sw_24 = { 3 | NIM_STRLIT_FLAG, "not" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_25 = {3, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_24};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__V8P104kFw4tUofP7Txw6Sw_26 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_27 = {4, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_26};
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__V8P104kFw4tUofP7Txw6Sw_28 = { 25 | NIM_STRLIT_FLAG, "yield in expr not lowered" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_29 = {25, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_28};
static const struct {
NI cap; NIM_CHAR data[33+1];
} TM__V8P104kFw4tUofP7Txw6Sw_31 = { 33 | NIM_STRLIT_FLAG, "transformClosureIteratorBody != s" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_32 = {33, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_31};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__V8P104kFw4tUofP7Txw6Sw_34 = { 2 | NIM_STRLIT_FLAG, "of" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_35 = {2, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_34};
static const struct {
NI cap; NIM_CHAR data[19+1];
} TM__V8P104kFw4tUofP7Txw6Sw_36 = { 19 | NIM_STRLIT_FLAG, "getCurrentException" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_37 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_36};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__V8P104kFw4tUofP7Txw6Sw_38 = { 2 | NIM_STRLIT_FLAG, "or" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_39 = {2, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_38};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__V8P104kFw4tUofP7Txw6Sw_40 = { 7 | NIM_STRLIT_FLAG, ":curExc" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_41 = {7, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_40};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_42 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_36};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__V8P104kFw4tUofP7Txw6Sw_43 = { 14 | NIM_STRLIT_FLAG, ":unrollFinally" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_44 = {14, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_43};
static const struct {
NI cap; NIM_CHAR data[10+1];
} TM__V8P104kFw4tUofP7Txw6Sw_45 = { 10 | NIM_STRLIT_FLAG, ":tmpResult" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_46 = {10, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_45};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__V8P104kFw4tUofP7Txw6Sw_47 = { 2 | NIM_STRLIT_FLAG, "==" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_48 = {2, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_47};
static const struct {
NI cap; NIM_CHAR data[19+1];
} TM__V8P104kFw4tUofP7Txw6Sw_49 = { 19 | NIM_STRLIT_FLAG, "closureIterSetupExc" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_50 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_49};
static const struct {
NI cap; NIM_CHAR data[32+1];
} TM__V8P104kFw4tUofP7Txw6Sw_51 = { 32 | NIM_STRLIT_FLAG, "transformReturnsInTry != tryBody" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_52 = {32, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_51};
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__V8P104kFw4tUofP7Txw6Sw_54 = { 39 | NIM_STRLIT_FLAG, "transformClosureIteratorBody != tryBody" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_55 = {39, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_54};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_57 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_36};
static const struct {
NI cap; NIM_CHAR data[35+1];
} TM__V8P104kFw4tUofP7Txw6Sw_58 = { 35 | NIM_STRLIT_FLAG, "transformReturnsInTry != exceptBody" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_59 = {35, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_58};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__V8P104kFw4tUofP7Txw6Sw_61 = { 42 | NIM_STRLIT_FLAG, "transformClosureIteratorBody != exceptBody" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_62 = {42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_61};
static const struct {
NI cap; NIM_CHAR data[43+1];
} TM__V8P104kFw4tUofP7Txw6Sw_64 = { 43 | NIM_STRLIT_FLAG, "transformClosureIteratorBody != finallyBody" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_65 = {43, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_64};
static const struct {
NI cap; NIM_CHAR data[13+1];
} TM__V8P104kFw4tUofP7Txw6Sw_67 = { 13 | NIM_STRLIT_FLAG, "closure iter " };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_68 = {13, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_67};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_70 = {4, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_26};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_71 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_49};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_72 = {2, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_47};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__V8P104kFw4tUofP7Txw6Sw_73 = { 1 | NIM_STRLIT_FLAG, "<" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_74 = {1, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_73};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_75 = {1, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_73};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__V8P104kFw4tUofP7Txw6Sw_76 = { 1 | NIM_STRLIT_FLAG, "-" };
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_77 = {1, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_76};
static const NimStringV2 TM__V8P104kFw4tUofP7Txw6Sw_78 = {19, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_36};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_8 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1362),
((NI)14)}
;
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_338;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_12 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)474),
((NI)35)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_17 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)552),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_20 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)582),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_23 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)614),
((NI)25)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_30 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1449),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_33 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)913),
((NI)23)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_53 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1022),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_56 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1024),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_60 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1029),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_63 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1031),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_66 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1036),
((NI)21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__V8P104kFw4tUofP7Txw6Sw_69 = {{42, (NimStrPayload*)&TM__V8P104kFw4tUofP7Txw6Sw_9},
((NI)1039),
((NI)17)}
;
extern NIM_BOOL nimInErrorMode__system_4003;
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_4003);
return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_7(p, ((int)0), size);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextSymId__ast_3268)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).symId += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).symId;
result.item = colontmpD__2;
return result;
}
static N_INLINE(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(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, pop__trees_32)(tySequence__xxu3GgaFAGO6lOns9aHaeLQ* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NI L;
NI T1_;
result = NIM_NIL;
T1_ = (*s).len;
L = (NI)(T1_ - ((NI)1));
result = (*s).p->data[L];
(*s).p->data[L] = 0;
shrink__ast_3748(s, ((NI) (L)));
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, hasYields__closureiters_177)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104):
{
result = NIM_TRUE;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
default:
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c;
c = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA8 ;
i = i_2;
eqcopy___ast_3457(&c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = hasYields__closureiters_177(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
if (!T11_) goto LA12_;
result = NIM_TRUE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA4;
}
LA12_: ;
i_2 += ((NI)1);
} LA8: ;
}
}
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA4: ;
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(void, pop__closureiters_3610)(tySequence__Vai8xeF3FpYvEbW9bGRcZFA* s, tyTuple__ZXHQRsN32wSdtLbiAuCGmg* Result) {
NI L;
NI T1_;
T1_ = (*s).len;
L = (NI)(T1_ - ((NI)1));
(*Result).Field0 = (*s).p->data[L].Field0;
(*Result).Field1 = (*s).p->data[L].Field1;
nimZeroMem((void*)(&(*s).p->data[L]), sizeof(tyTuple__ZXHQRsN32wSdtLbiAuCGmg));
shrink__closureiters_3625(s, ((NI) (L)));
}
static N_INLINE(tyTuple__ZXHQRsN32wSdtLbiAuCGmg*, X5BX5D___closureiters_3695)(tyTuple__ZXHQRsN32wSdtLbiAuCGmg* s, NI sLen_0, NI i) {
tyTuple__ZXHQRsN32wSdtLbiAuCGmg* result;
result = (tyTuple__ZXHQRsN32wSdtLbiAuCGmg*)0;
result = (&s[(NI)(sLen_0 - i)]);
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, freshVars__closureiters_1839)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA* c) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin18_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym314_;
x = NIM_NIL;
xX60gensym314_ = NIM_NIL;
xX60gensym314_ = (*n)._kind_4.sym;
x = getOrDefault__closureiters_1938((*c).tab, (NI)((NI)((NU64)(((NI) ((*xX60gensym314_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym314_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(x == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL))) goto LA4_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA2_;
LA4_: ;
{
result = newSymNode__ast_4787(x, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA2_: ;
eqdestroy___ast_4060(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
{
result = copyNode__ast_5733(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
it = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA13 ;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* idefs;
if (!((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)35) || (*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36))) goto LA16_;
idefs = NIM_NIL;
idefs = copyNode__ast_5733(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
NI v;
NI colontmp__2;
NI T20_;
NI res;
v = (NI)0;
colontmp__2 = (NI)0;
T20_ = (NI)0;
T20_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
colontmp__2 = (NI)(T20_ - ((NI)3));
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp__2)) goto LA22 ;
v = res;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* x_2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym323_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T27_;
if (!((*(*it)._kind_6.sons.p->data[v]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA25_;
x_2 = NIM_NIL;
xX60gensym323_ = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
T27_ = nextSymId__ast_3268((*c).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
x_2 = copySym__ast_5140((*(*it)._kind_6.sons.p->data[v])._kind_4.sym, T27_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqcopy___ast_4063(&xX60gensym323_, (*(*it)._kind_6.sons.p->data[v])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, x_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
X5BX5Deq___closureiters_2458((&(*c).tab), (NI)((NI)((NU64)(((NI) ((*xX60gensym323_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym323_).Sup.itemId.item))), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
colontmpD__2 = newSymNode__ast_4784(x_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
add__ast_6233(idefs, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqdestroy___ast_4060(&xX60gensym323_);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
eqdestroy___ast_4060(&x_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
goto LA23_;
LA25_: ;
{
add__ast_6233(idefs, (*it)._kind_6.sons.p->data[v]);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
}
LA23_: ;
res += ((NI)1);
} LA22: ;
}
}
{
NI rest;
NI colontmp__3;
NI colontmp__4;
NI T30_;
NI i_3;
rest = (NI)0;
colontmp__3 = (NI)0;
colontmp__4 = (NI)0;
T30_ = (NI)0;
T30_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
colontmp__3 = (NI)(T30_ - ((NI)2));
colontmp__4 = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
i_3 = colontmp__3;
{
while (1) {
if (!(i_3 < colontmp__4)) goto LA32 ;
rest = i_3;
add__ast_6233(idefs, (*it)._kind_6.sons.p->data[rest]);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
i_3 += ((NI)1);
} LA32: ;
}
}
add__ast_6233(result, idefs);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&idefs);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
goto LA14_;
LA16_: ;
{
add__ast_6233(result, it);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
LA14_: ;
i_2 += ((NI)1);
} LA13: ;
}
}
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
liMessage__msgs_1172((*c).config, (*c).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__V8P104kFw4tUofP7Txw6Sw_7, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__V8P104kFw4tUofP7Txw6Sw_8), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_4;
NI colontmp__5;
NI i_5;
i_4 = (NI)0;
colontmp__5 = (NI)0;
colontmp__5 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_5 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T43_;
if (!(i_5 < colontmp__5)) goto LA42 ;
i_4 = i_5;
T43_ = NIM_NIL;
T43_ = freshVars__closureiters_1839((*n)._kind_6.sons.p->data[i_4], c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_4], T43_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_5 += ((NI)1);
} LA42: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
}
LA3_: ;
return result;
}
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_3166(result, cell, desc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3801)(tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqdestroy___closureiters_2186((&(*dest).tab.data));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).config);
if (!T3_) goto LA4_;
eqdestroy___options_3149((*dest).config);
nimRawDispose((*dest).config, ((NI)8));
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T8_) goto LA9_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA9_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, preprocess__closureiters_3539)(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin69_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* f;
NIM_BOOL didAddSomething;
f = NIM_NIL;
f = lastSon__ast_6268(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
didAddSomething = NIM_FALSE;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T7_;
if (!((*f).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA5_;
T7_ = NIM_NIL;
T7_ = lastSon__ast_6268(f);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_4147((&(*c).finallys), T7_);
didAddSomething = NIM_TRUE;
}
LA5_: ;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
if (!(i_2 < colontmp_)) goto LA10 ;
i = i_2;
T11_ = NIM_NIL;
T11_ = preprocess__closureiters_3539(c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i], T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
i_2 += ((NI)1);
} LA10: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!didAddSomething) goto LA14_;
colontmpD_ = NIM_NIL;
colontmpD_ = pop__trees_32((&(*c).finallys));
(void)(colontmpD_);
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA14_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&f);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyTuple__ZXHQRsN32wSdtLbiAuCGmg colontmpD__3;
tyTuple__ZXHQRsN32wSdtLbiAuCGmg T25_;
NI T26_;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)(&colontmpD__3), sizeof(tyTuple__ZXHQRsN32wSdtLbiAuCGmg));
{
NIM_BOOL T22_;
T22_ = (NIM_BOOL)0;
T22_ = hasYields__closureiters_177(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
if (!(T22_ == NIM_FALSE)) goto LA23_;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
eqdestroy___semdata_653((&colontmpD__3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA23_: ;
nimZeroMem((void*)(&T25_), sizeof(tyTuple__ZXHQRsN32wSdtLbiAuCGmg));
colontmpD__2 = 0;
eqcopy___ast_3457(&colontmpD__2, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
T25_.Field0 = colontmpD__2;
T26_ = (*c).finallys.len;
T25_.Field1 = T26_;
add__closureiters_3575((&(*c).blocks), T25_);
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T30_;
if (!(i_4 < colontmp__2)) goto LA29 ;
i_3 = i_4;
T30_ = NIM_NIL;
T30_ = preprocess__closureiters_3539(c, (*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_3], T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
i_4 += ((NI)1);
} LA29: ;
}
}
pop__closureiters_3610((&(*c).blocks), (&colontmpD__3));
(void)(colontmpD__3);
{
LA19_:;
}
{
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___semdata_653((&colontmpD__3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin19_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
{
NI T36_;
T36_ = (*c).blocks.len;
if (!(T36_ == ((NI)0))) goto LA37_;
}
goto LA34_;
LA37_: ;
{
NI fin;
fin = ((NI)-1);
{
tyTuple__ZXHQRsN32wSdtLbiAuCGmg* T44_;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA42_;
T44_ = (tyTuple__ZXHQRsN32wSdtLbiAuCGmg*)0;
T44_ = X5BX5D___closureiters_3695((((*c).blocks).p) ? ((*c).blocks.p->data) : NIM_NIL, (*c).blocks.len, ((NI)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
fin = (*T44_).Field1;
}
goto LA40_;
LA42_: ;
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA46_;
{
NI i_5;
NI colontmp__3;
NI T49_;
NI res;
i_5 = (NI)0;
colontmp__3 = (NI)0;
T49_ = ((*c).blocks.len-1);
colontmp__3 = T49_;
res = colontmp__3;
{
while (1) {
if (!(((NI)0) <= res)) goto LA51 ;
i_5 = res;
{
NIM_BOOL T54_;
NIM_BOOL T55_;
T54_ = (NIM_BOOL)0;
T55_ = (NIM_BOOL)0;
T55_ = ((*(*c).blocks.p->data[i_5].Field0).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112));
if (!(T55_)) goto LA56_;
T55_ = ((*(*(*c).blocks.p->data[i_5].Field0)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
LA56_: ;
T54_ = T55_;
if (!(T54_)) goto LA57_;
T54_ = ((*(*(*c).blocks.p->data[i_5].Field0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym == (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
LA57_: ;
if (!T54_) goto LA58_;
fin = (*c).blocks.p->data[i_5].Field1;
goto LA48;
}
LA58_: ;
res -= ((NI)1);
} LA51: ;
}
} LA48: ;
}
goto LA40_;
LA46_: ;
LA40_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T64_;
if (!(((NI)0) <= fin)) goto LA62_;
T64_ = NIM_NIL;
T64_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T64_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_6;
NI colontmp__4;
NI T66_;
NI res_2;
i_6 = (NI)0;
colontmp__4 = (NI)0;
T66_ = ((*c).finallys.len-1);
colontmp__4 = T66_;
res_2 = colontmp__4;
{
while (1) {
tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA vars;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* colontmpD__4;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__5;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
if (!(fin <= res_2)) goto LA68 ;
nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA));
colontmpD__4 = NIM_NIL;
nimZeroMem((void*)(&colontmpD__5), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
i_6 = res_2;
nimZeroMem((void*)(&vars), sizeof(tyObject_FreshVarsContext__if8gyo7XIfFQ9a5emQ17ETA));
vars.tab = initTable__closureiters_3742(((NI)32));
if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
colontmpD__4 = 0;
eqcopy___options_3378(&colontmpD__4, (*c).config);
vars.config = colontmpD__4;
colontmpD__5 = (*n).info;
vars.info = colontmpD__5;
colontmpD__6 = 0;
eqcopy___ast_3247(&colontmpD__6, (*c).idgen, NIM_TRUE);
vars.idgen = colontmpD__6;
colontmpD__7 = copyTree__ast_5856((*c).finallys.p->data[i_6]);
if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
colontmpD__8 = freshVars__closureiters_1839(colontmpD__7, (&vars));
if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
add__ast_6233(result, colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA69_;
eqsink___ast_3251(&(*c).idgen, vars.idgen);
vars.idgen = 0;
res_2 -= ((NI)1);
{
LA69_:;
}
{
oldNimErrFin69_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___closureiters_3801((&vars));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin69_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA68: ;
}
}
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA62_: ;
}
LA34_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
default:
{
{
NI i_7;
NI colontmp__5;
NI i_8;
i_7 = (NI)0;
colontmp__5 = (NI)0;
colontmp__5 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_8 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T77_;
if (!(i_8 < colontmp__5)) goto LA76 ;
i_7 = i_8;
T77_ = NIM_NIL;
T77_ = preprocess__closureiters_3539(c, (*n)._kind_6.sons.p->data[i_7]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[i_7], T77_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_8 += ((NI)1);
} LA76: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, toStmtList__closureiters_137)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
if (!!(((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115) || (*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126)))) goto LA3_;
T5_ = NIM_NIL;
T5_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, newState__closureiters_98)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut) {
NI result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* resLit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s;
NI colontmpD_;
NI T2_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blitTmp;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
resLit = NIM_NIL;
s = NIM_NIL;
colontmpD_ = (NI)0;
T2_ = (*ctx).states.len;
result = T2_;
resLit = newIntLit__lowerings_702((*ctx).g, (*n).info, ((NI64) (result)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
s = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)157), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(s, resLit);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(s, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
blitTmp = s;
s = 0;
add__ast_4147((&(*ctx).states), blitTmp);
colontmpD_ = (*ctx).curExcHandlingState;
add__varpartitions_1477((&(*ctx).exceptionTable), colontmpD_);
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!!((gotoOut == 0))) goto LA5_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newIntLit__lowerings_702((*ctx).g, (*gotoOut).info, ((NI64) (result)));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
add__ast_6233(gotoOut, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&resLit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, exprToStmtList__closureiters_391)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA* Result) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T1_;
tySequence__xxu3GgaFAGO6lOns9aHaeLQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimZeroMem((void*)Result, sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
n_2 = NIM_NIL;
T1_ = NIM_NIL;
T1_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*Result).Field0, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_.len = 0; T2_.p = NIM_NIL;
T2_.len = 0; T2_.p = (tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content*) newSeqPayload(0, sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*), NIM_ALIGNOF(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*));
eqsink___ast_3729((&(*(*Result).Field0)._kind_6.sons), T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&n_2, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
NI T5_;
NI T6_;
if (!((*n_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA4 ;
add__closureiters_412((&(*(*Result).Field0)._kind_6.sons), (((*n_2)._kind_6.sons).p) ? ((*n_2)._kind_6.sons.p->data) : NIM_NIL, (*n_2)._kind_6.sons.len);
T5_ = (NI)0;
T5_ = len__ast_3325((*Result).Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setLen__ast_3741((&(*(*Result).Field0)._kind_6.sons), ((NI) ((NI)(T5_ - ((NI)1)))));
T6_ = (NI)0;
T6_ = len__ast_3325(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&n_2, (*n_2)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA4: ;
}
eqsink___ast_3460(&(*Result).Field1, n_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
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(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newEnvVar__closureiters_50)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NimStringV2 name, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T1_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD_ = getIdent__idents_166((*(*ctx).g).cache, name);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = nextSymId__ast_3268((*ctx).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
result = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD_, T1_, (*ctx).fn, (*(*ctx).fn).info, T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
if (!((*ctx).tempVars == 0)) goto LA9_;
colontmpD__2 = NIM_NIL;
T11_ = NIM_NIL;
T11_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*(*ctx).fn).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*ctx).tempVars, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newSymNode__ast_4784(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
addVar__lowerings_64((*ctx).tempVars, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
}
goto LA3_;
LA5_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* envParam;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T13_;
envParam = NIM_NIL;
colontmpD__3 = NIM_NIL;
envParam = getEnvParam__lambdalifting_132((*ctx).fn);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__3 = lastSon__ast_4811((*envParam).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T13_ = NIM_NIL;
T13_ = addUniqueField__lowerings_450(colontmpD__3, result, (*(*ctx).g).cache, (*ctx).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_4066(&result, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&envParam);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
eqdestroy___idents_133(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) {
{
if (!(((NI)0) < src.len)) goto LA3_;
copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1)))));
(*dest).len += src.len;
}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, newTempVar__closureiters_168)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T1_.len = 0; T1_.p = NIM_NIL;
colontmpD_ = dollar___systemZdollars_3((*ctx).tempVarId);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = rawNewString(colontmpD_.len + 11);
appendString((&T1_), TM__V8P104kFw4tUofP7Txw6Sw_14);
appendString((&T1_), colontmpD_);
colontmpD__2 = T1_;
result = newEnvVar__closureiters_50(ctx, colontmpD__2, typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*ctx).tempVarId += ((NI)1);
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVarAccess__closureiters_71)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
if (!((*ctx).stateVarSym == 0)) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getEnvParam__lambdalifting_132((*ctx).fn);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = rawIndirectAccess__lowerings_332(colontmpD__2, s, (*(*ctx).fn).info);
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_;
}
goto LA1_;
LA3_: ;
{
result = newSymNode__ast_4784(s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEnvVarAsgn__closureiters_447)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* v) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = isEmptyType__ast_6215((*v).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
eqcopy___ast_3457(&result, v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T7_;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)T7_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = newEnvVarAccess__closureiters_71(ctx, s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T7_[0] = colontmpD_;
T7_[1] = v;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T7_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*result).info = (*v).info;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addExprAssgn__closureiters_452)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* output, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* input, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*input).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA3_;
nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st = NIM_NIL;
res = NIM_NIL;
colontmpD_ = NIM_NIL;
exprToStmtList__closureiters_391(input, (&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st = colontmp_.Field0;
res = colontmp_.Field1;
add__ast_6233(output, st);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = newEnvVarAsgn__closureiters_447(ctx, sym, res);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(output, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&res);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newEnvVarAsgn__closureiters_447(ctx, sym, input);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(output, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, convertExprBodyToAsgn__closureiters_475)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exprBody, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* res) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*exprBody).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
addExprAssgn__closureiters_452(ctx, result, exprBody, res);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNotCall__closureiters_480)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* e) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = getSysMagic__magicsys_29(g, (*e).info, TM__V8P104kFw4tUofP7Txw6Sw_25, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)96));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4787(colontmpD_, (*e).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD__2;
T2_[1] = e;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = getSysType__magicsys_60(g, (*e).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*result).typ, T3_);
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_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*, lowerStmtListExprs__closureiters_484)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL* needsSplit) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL oldNimErrFin45_;
NIM_BOOL oldNimErrFin123_;
NIM_BOOL oldNimErrFin117_;
NIM_BOOL oldNimErrFin165_;
NIM_BOOL oldNimErrFin156_;
NIM_BOOL oldNimErrFin208_;
NIM_BOOL oldNimErrFin246_;
NIM_BOOL oldNimErrFin242_;
NIM_BOOL oldNimErrFin331_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104):
{
NIM_BOOL ns;
ns = NIM_FALSE;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T6_;
if (!(i_2 < colontmp_)) goto LA5 ;
i = i_2;
T6_ = NIM_NIL;
T6_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i], (&ns));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T6_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA5: ;
}
}
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T11_;
if (!ns) goto LA9_;
nimZeroMem((void*)(&colontmp__2), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st = NIM_NIL;
ex = NIM_NIL;
T11_ = NIM_NIL;
T11_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st = colontmp__2.Field0;
ex = colontmp__2.Field1;
add__ast_6233(result, st);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
(*needsSplit) = NIM_TRUE;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
{
NIM_BOOL ns_2;
ns_2 = NIM_FALSE;
{
NI i_3;
NI colontmp__3;
NI i_4;
i_3 = (NI)0;
colontmp__3 = (NI)0;
colontmp__3 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T16_;
if (!(i_4 < colontmp__3)) goto LA15 ;
i_3 = i_4;
T16_ = NIM_NIL;
T16_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_3], (&ns_2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_3], T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 += ((NI)1);
} LA15: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T21_;
if (!ns_2) goto LA19_;
(*needsSplit) = NIM_TRUE;
T21_ = NIM_NIL;
T21_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*n).typ == 0)) goto LA24_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_11, (&TM__V8P104kFw4tUofP7Txw6Sw_12));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA24_: ;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_5;
NI colontmp__4;
NI i_6;
i_5 = (NI)0;
colontmp__4 = (NI)0;
colontmp__4 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_6 = ((NI)0);
{
while (1) {
if (!(i_6 < colontmp__4)) goto LA28 ;
i_5 = i_6;
switch ((*(*n)._kind_6.sons.p->data[i_5]).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34):
{
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_2;
if (!((*(*(*n)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA32_;
nimZeroMem((void*)(&colontmp__5), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_2 = NIM_NIL;
ex_2 = NIM_NIL;
nimZeroMem((void*)(&colontmp__5), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
exprToStmtList__closureiters_391((*(*n)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)], (&colontmp__5));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_2 = colontmp__5.Field0;
ex_2 = colontmp__5.Field1;
add__ast_6233(result, st_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*(*n)._kind_6.sons.p->data[i_5])._kind_6.sons.p->data[((NI)1)], ex_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA32_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_3;
nimZeroMem((void*)(&colontmp__6), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_3 = NIM_NIL;
ex_3 = NIM_NIL;
nimZeroMem((void*)(&colontmp__6), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[i_5], (&colontmp__6));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_3 = colontmp__6.Field0;
ex_3 = colontmp__6.Field1;
add__ast_6233(result, st_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_5], ex_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
}
break;
}
i_6 += ((NI)1);
} LA28: ;
}
}
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA19_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
NIM_BOOL ns_3;
ns_3 = NIM_FALSE;
{
NI i_7;
NI colontmp__7;
NI i_8;
i_7 = (NI)0;
colontmp__7 = (NI)0;
colontmp__7 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_8 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T40_;
if (!(i_8 < colontmp__7)) goto LA39 ;
i_7 = i_8;
T40_ = NIM_NIL;
T40_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_7], (&ns_3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_7], T40_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_8 += ((NI)1);
} LA39: ;
}
}
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmp;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* curS;
NIM_BOOL isExpr;
NIM_BOOL T46_;
if (!ns_3) goto LA43_;
tmp = NIM_NIL;
curS = NIM_NIL;
(*needsSplit) = NIM_TRUE;
T46_ = (NIM_BOOL)0;
T46_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
isExpr = !(T46_);
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T51_;
if (!isExpr) goto LA49_;
tmp = newTempVar__closureiters_168(ctx, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
T51_ = NIM_NIL;
T51_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
eqsink___ast_3460(&result, T51_);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
}
goto LA47_;
LA49_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T53_;
T53_ = NIM_NIL;
T53_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
eqsink___ast_3460(&result, T53_);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
}
LA47_: ;
eqcopy___ast_3457(&curS, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
branch = NIM_NIL;
{
NI i_9;
NI colontmp__8;
NI i_10;
i_9 = (NI)0;
colontmp__8 = (NI)0;
colontmp__8 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
i_10 = ((NI)0);
{
while (1) {
if (!(i_10 < colontmp__8)) goto LA58 ;
i_9 = i_10;
eqcopy___ast_3457(&branch, (*n)._kind_6.sons.p->data[i_9]);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
switch ((*branch).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)50):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newBranch;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T64_;
if (!isExpr) goto LA62_;
branchBody = NIM_NIL;
newBranch = NIM_NIL;
branchBody = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*branch).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
addExprAssgn__closureiters_452((&(*ctx)), branchBody, (*branch)._kind_6.sons.p->data[((NI)0)], tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
nimZeroMem((void*)T64_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T64_[0] = branchBody;
newBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), T64_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
add__ast_6233(curS, newBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&newBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&branchBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
goto LA60_;
LA62_: ;
{
add__ast_6233(curS, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
LA60_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newBranch_2;
newBranch_2 = NIM_NIL;
newBranch_2 = 0;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* res;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elseBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newIf;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T71_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T72_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T73_;
if (!((*(*branch)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA69_;
nimZeroMem((void*)(&colontmp__9), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_4 = NIM_NIL;
res = NIM_NIL;
elseBody = NIM_NIL;
newIf = NIM_NIL;
nimZeroMem((void*)(&colontmp__9), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
exprToStmtList__closureiters_391((*branch)._kind_6.sons.p->data[((NI)0)], (&colontmp__9));
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
st_4 = colontmp__9.Field0;
res = colontmp__9.Field1;
nimZeroMem((void*)T71_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T71_[0] = st_4;
elseBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T71_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
nimZeroMem((void*)T72_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T72_[0] = res;
T72_[1] = (*branch)._kind_6.sons.p->data[((NI)1)];
newBranch_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T72_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
nimZeroMem((void*)T73_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T73_[0] = newBranch_2;
newIf = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T73_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
add__ast_6233(elseBody, newIf);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newElse;
if (!((*curS).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92))) goto LA76_;
newElse = NIM_NIL;
newElse = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (*branch).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
add__ast_6233(newElse, elseBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
add__ast_6233(curS, newElse);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&newElse);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
goto LA74_;
LA76_: ;
{
add__ast_6233(curS, elseBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
LA74_: ;
eqsink___ast_3460(&curS, newIf);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&elseBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&res);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqdestroy___ast_3454(&st_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
goto LA67_;
LA69_: ;
{
eqcopy___ast_3457(&newBranch_2, branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
{
if (!((*curS).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92))) goto LA82_;
add__ast_6233(curS, newBranch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
goto LA80_;
LA82_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newIf_2;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T85_;
newIf_2 = NIM_NIL;
nimZeroMem((void*)T85_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T85_[0] = newBranch_2;
newIf_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T85_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
add__ast_6233(curS, newIf_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqsink___ast_3460(&curS, newIf_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
LA80_: ;
}
LA67_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchBody_2;
if (!isExpr) goto LA88_;
branchBody_2 = NIM_NIL;
branchBody_2 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*branch)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
addExprAssgn__closureiters_452((&(*ctx)), branchBody_2, (*branch)._kind_6.sons.p->data[((NI)1)], tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
eqsink___ast_3460(&(*newBranch_2)._kind_6.sons.p->data[((NI)1)], branchBody_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
LA88_: ;
eqdestroy___ast_3454(&newBranch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
break;
default:
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T92_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T92_.len = 0; T92_.p = NIM_NIL;
colontmpD_ = dollar___ast_192((*branch).kind);
T92_ = rawNewString(colontmpD_.len + 25);
appendString((&T92_), TM__V8P104kFw4tUofP7Txw6Sw_16);
appendString((&T92_), colontmpD_);
colontmpD__2 = T92_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, colontmpD__2, (&TM__V8P104kFw4tUofP7Txw6Sw_17));
if (NIM_UNLIKELY(*nimErr_)) goto LA91_;
{
LA91_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
}
break;
}
i_10 += ((NI)1);
} LA58: ;
}
}
{
LA55_:;
}
{
oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
*nimErr_ = oldNimErrFin55_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!isExpr) goto LA99_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = newEnvVarAccess__closureiters_71((&(*ctx)), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
}
LA99_: ;
{
LA45_:;
}
{
oldNimErrFin45_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&curS);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin45_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA43_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)154):
{
NIM_BOOL ns_4;
ns_4 = NIM_FALSE;
{
NI i_11;
NI colontmp__10;
NI i_12;
i_11 = (NI)0;
colontmp__10 = (NI)0;
colontmp__10 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_12 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T107_;
if (!(i_12 < colontmp__10)) goto LA106 ;
i_11 = i_12;
T107_ = NIM_NIL;
T107_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_11], (&ns_4));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_11], T107_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_12 += ((NI)1);
} LA106: ;
}
}
{
NIM_BOOL isExpr_2;
NIM_BOOL T112_;
if (!ns_4) goto LA110_;
(*needsSplit) = NIM_TRUE;
T112_ = (NIM_BOOL)0;
T112_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
isExpr_2 = !(T112_);
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmp_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T118_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T119_;
if (!isExpr_2) goto LA115_;
tmp_2 = NIM_NIL;
colontmpD__4 = NIM_NIL;
T118_ = NIM_NIL;
T118_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
eqsink___ast_3460(&result, T118_);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
tmp_2 = newTempVar__closureiters_168(ctx, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
T119_ = NIM_NIL;
T119_ = convertExprBodyToAsgn__closureiters_475((&(*ctx)), (*n)._kind_6.sons.p->data[((NI)0)], tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T119_);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
{
NI i_13;
NI colontmp__11;
NI i_14;
i_13 = (NI)0;
colontmp__11 = (NI)0;
colontmp__11 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
i_14 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_2;
if (!(i_14 < colontmp__11)) goto LA122 ;
branch_2 = NIM_NIL;
i_13 = i_14;
eqcopy___ast_3457(&branch_2, (*n)._kind_6.sons.p->data[i_13]);
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
switch ((*branch_2).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T129_;
if (!((*(*branch_2)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4))) goto LA127_;
T129_ = NIM_NIL;
T129_ = convertExprBodyToAsgn__closureiters_475((&(*ctx)), (*branch_2)._kind_6.sons.p->data[((NI)1)], tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
eqsink___ast_3460(&(*branch_2)._kind_6.sons.p->data[((NI)1)], T129_);
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
}
goto LA125_;
LA127_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T131_;
T131_ = NIM_NIL;
T131_ = convertExprBodyToAsgn__closureiters_475((&(*ctx)), (*branch_2)._kind_6.sons.p->data[((NI)0)], tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
eqsink___ast_3460(&(*branch_2)._kind_6.sons.p->data[((NI)0)], T131_);
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
}
LA125_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107):
{
}
break;
default:
{
NimStringV2 colontmpD__5;
NimStringV2 colontmpD__6;
NimStringV2 T135_;
colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
T135_.len = 0; T135_.p = NIM_NIL;
colontmpD__5 = dollar___ast_192((*branch_2).kind);
T135_ = rawNewString(colontmpD__5.len + 30);
appendString((&T135_), TM__V8P104kFw4tUofP7Txw6Sw_19);
appendString((&T135_), colontmpD__5);
colontmpD__6 = T135_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, colontmpD__6, (&TM__V8P104kFw4tUofP7Txw6Sw_20));
if (NIM_UNLIKELY(*nimErr_)) goto LA134_;
{
LA134_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__6));
eqdestroy___stdZassertions_13((&colontmpD__5));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
}
break;
}
i_14 += ((NI)1);
{
LA123_:;
}
{
oldNimErrFin123_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&branch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
*nimErr_ = oldNimErrFin123_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
} LA122: ;
}
}
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
colontmpD__4 = newEnvVarAccess__closureiters_71((&(*ctx)), tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
{
LA117_:;
}
{
oldNimErrFin117_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin117_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA115_: ;
}
LA110_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
NIM_BOOL ns_5;
ns_5 = NIM_FALSE;
{
NI i_15;
NI colontmp__12;
NI i_16;
i_15 = (NI)0;
colontmp__12 = (NI)0;
colontmp__12 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_16 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T146_;
if (!(i_16 < colontmp__12)) goto LA145 ;
i_15 = i_16;
T146_ = NIM_NIL;
T146_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_15], (&ns_5));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_15], T146_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_16 += ((NI)1);
} LA145: ;
}
}
{
NIM_BOOL isExpr_3;
NIM_BOOL T151_;
if (!ns_5) goto LA149_;
(*needsSplit) = NIM_TRUE;
T151_ = (NIM_BOOL)0;
T151_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
isExpr_3 = !(T151_);
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmp_3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T157_;
if (!isExpr_3) goto LA154_;
tmp_3 = NIM_NIL;
colontmpD__7 = NIM_NIL;
tmp_3 = newTempVar__closureiters_168(ctx, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
T157_ = NIM_NIL;
T157_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqsink___ast_3460(&result, T157_);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_4;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA160_;
nimZeroMem((void*)(&colontmp__13), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_5 = NIM_NIL;
ex_4 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__13));
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
st_5 = colontmp__13.Field0;
ex_4 = colontmp__13.Field1;
add__ast_6233(result, st_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
eqdestroy___ast_3454(&st_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
}
LA160_: ;
{
NI i_17;
NI colontmp__14;
NI i_18;
i_17 = (NI)0;
colontmp__14 = (NI)0;
colontmp__14 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
i_18 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_3;
if (!(i_18 < colontmp__14)) goto LA164 ;
branch_3 = NIM_NIL;
i_17 = i_18;
eqcopy___ast_3457(&branch_3, (*n)._kind_6.sons.p->data[i_17]);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
switch ((*branch_3).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85):
{
NI T167_;
NI T168_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T169_;
T167_ = (NI)0;
T167_ = len__ast_3325(branch_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
T168_ = (NI)0;
T168_ = len__ast_3325(branch_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
T169_ = NIM_NIL;
T169_ = convertExprBodyToAsgn__closureiters_475((&(*ctx)), (*branch_3)._kind_6.sons.p->data[(NI)(T168_ - ((NI)1))], tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
eqsink___ast_3460(&(*branch_3)._kind_6.sons.p->data[(NI)(T167_ - ((NI)1))], T169_);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T171_;
T171_ = NIM_NIL;
T171_ = convertExprBodyToAsgn__closureiters_475((&(*ctx)), (*branch_3)._kind_6.sons.p->data[((NI)0)], tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
eqsink___ast_3460(&(*branch_3)._kind_6.sons.p->data[((NI)0)], T171_);
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
}
break;
default:
{
NimStringV2 colontmpD__8;
NimStringV2 colontmpD__9;
NimStringV2 T174_;
colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
T174_.len = 0; T174_.p = NIM_NIL;
colontmpD__8 = dollar___ast_192((*branch_3).kind);
T174_ = rawNewString(colontmpD__8.len + 31);
appendString((&T174_), TM__V8P104kFw4tUofP7Txw6Sw_22);
appendString((&T174_), colontmpD__8);
colontmpD__9 = T174_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, colontmpD__9, (&TM__V8P104kFw4tUofP7Txw6Sw_23));
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
{
LA173_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__9));
eqdestroy___stdZassertions_13((&colontmpD__8));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA165_;
}
break;
}
i_18 += ((NI)1);
{
LA165_:;
}
{
oldNimErrFin165_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&branch_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
*nimErr_ = oldNimErrFin165_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
} LA164: ;
}
}
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
colontmpD__7 = newEnvVarAccess__closureiters_71((&(*ctx)), tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
add__ast_6233(result, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA156_;
{
LA156_:;
}
{
oldNimErrFin156_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin156_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA152_;
LA154_: ;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__15;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T184_;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA182_;
nimZeroMem((void*)(&colontmp__15), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_6 = NIM_NIL;
ex_5 = NIM_NIL;
T184_ = NIM_NIL;
T184_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T184_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__15));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_6 = colontmp__15.Field0;
ex_5 = colontmp__15.Field1;
add__ast_6233(result, st_6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA152_;
LA182_: ;
LA152_: ;
}
LA149_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
{
NIM_BOOL ns_6;
ns_6 = NIM_FALSE;
{
NI i_19;
NI colontmp__16;
NI i_20;
i_19 = (NI)0;
colontmp__16 = (NI)0;
colontmp__16 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_20 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T189_;
if (!(i_20 < colontmp__16)) goto LA188 ;
i_19 = i_20;
T189_ = NIM_NIL;
T189_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_19], (&ns_6));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_19], T189_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_20 += ((NI)1);
} LA188: ;
}
}
{
NIM_BOOL isExpr_4;
NIM_BOOL T194_;
if (!ns_6) goto LA192_;
(*needsSplit) = NIM_TRUE;
T194_ = (NIM_BOOL)0;
T194_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
isExpr_4 = !(T194_);
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T199_;
if (!isExpr_4) goto LA197_;
T199_ = NIM_NIL;
T199_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T199_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA195_;
LA197_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T201_;
T201_ = NIM_NIL;
T201_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T201_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA195_: ;
{
NIM_BOOL T204_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmp_4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* check;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T222_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T223_;
T204_ = (NIM_BOOL)0;
T204_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T204_)) goto LA205_;
T204_ = ((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)109) || (*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110));
LA205_: ;
if (!T204_) goto LA206_;
cond = NIM_NIL;
tmp_4 = NIM_NIL;
colontmpD__10 = NIM_NIL;
check = NIM_NIL;
ifBody = NIM_NIL;
colontmpD__11 = NIM_NIL;
ifBranch = NIM_NIL;
ifNode = NIM_NIL;
colontmpD__12 = NIM_NIL;
eqcopy___ast_3457(&cond, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__17;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_6;
if (!((*cond).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA211_;
nimZeroMem((void*)(&colontmp__17), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_7 = NIM_NIL;
ex_6 = NIM_NIL;
exprToStmtList__closureiters_391(cond, (&colontmp__17));
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
st_7 = colontmp__17.Field0;
ex_6 = colontmp__17.Field1;
add__ast_6233(result, st_7);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
eqsink___ast_3460(&cond, ex_6);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
eqdestroy___ast_3454(&st_7);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
}
LA211_: ;
tmp_4 = newTempVar__closureiters_168(ctx, (*cond).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
colontmpD__10 = newEnvVarAsgn__closureiters_447((&(*ctx)), tmp_4, cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
add__ast_6233(result, colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
check = newEnvVarAccess__closureiters_71((&(*ctx)), tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T217_;
if (!((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110))) goto LA215_;
T217_ = NIM_NIL;
T217_ = newNotCall__closureiters_480((*ctx).g, check);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
eqsink___ast_3460(&check, T217_);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
}
LA215_: ;
eqcopy___ast_3457(&cond, (*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
ifBody = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*cond).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__18;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_7;
if (!((*cond).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA220_;
nimZeroMem((void*)(&colontmp__18), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_8 = NIM_NIL;
ex_7 = NIM_NIL;
exprToStmtList__closureiters_391(cond, (&colontmp__18));
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
st_8 = colontmp__18.Field0;
ex_7 = colontmp__18.Field1;
add__ast_6233(ifBody, st_8);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
eqsink___ast_3460(&cond, ex_7);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
eqdestroy___ast_3454(&st_8);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
}
LA220_: ;
colontmpD__11 = newEnvVarAsgn__closureiters_447((&(*ctx)), tmp_4, cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
add__ast_6233(ifBody, colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
nimZeroMem((void*)T222_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T222_[0] = check;
T222_[1] = ifBody;
ifBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T222_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
nimZeroMem((void*)T223_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T223_[0] = ifBranch;
ifNode = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T223_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
add__ast_6233(result, ifNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
colontmpD__12 = newEnvVarAccess__closureiters_71((&(*ctx)), tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
add__ast_6233(result, colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA208_;
{
LA208_:;
}
{
oldNimErrFin208_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&check);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin208_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA202_;
LA206_: ;
{
{
NI i_21;
NI colontmp__19;
NI i_22;
i_21 = (NI)0;
colontmp__19 = (NI)0;
colontmp__19 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_22 = ((NI)0);
{
while (1) {
if (!(i_22 < colontmp__19)) goto LA229 ;
i_21 = i_22;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__20;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_8;
if (!((*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA232_;
nimZeroMem((void*)(&colontmp__20), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_9 = NIM_NIL;
ex_8 = NIM_NIL;
nimZeroMem((void*)(&colontmp__20), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[i_21], (&colontmp__20));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_9 = colontmp__20.Field0;
ex_8 = colontmp__20.Field1;
add__ast_6233(result, st_9);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_21], ex_8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_9);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA232_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* tmp_5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T238_;
if (!((*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*(*n)._kind_6.sons.p->data[i_21]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA236_;
tmp_5 = NIM_NIL;
colontmpD__13 = NIM_NIL;
tmp_5 = newTempVar__closureiters_168(ctx, (*(*n)._kind_6.sons.p->data[i_21]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__13 = newEnvVarAsgn__closureiters_447((&(*ctx)), tmp_5, (*n)._kind_6.sons.p->data[i_21]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T238_ = NIM_NIL;
T238_ = newEnvVarAccess__closureiters_71((&(*ctx)), tmp_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_21], T238_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&tmp_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA236_: ;
i_22 += ((NI)1);
} LA229: ;
}
}
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA202_: ;
}
LA192_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T240_;
T240_ = NIM_NIL;
T240_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T240_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c;
c = NIM_NIL;
{
NI i_23;
NI colontmp__21;
NI i_24;
i_23 = (NI)0;
colontmp__21 = (NI)0;
colontmp__21 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
i_24 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSect;
NIM_BOOL ns_7;
NI T247_;
NI T248_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T249_;
if (!(i_24 < colontmp__21)) goto LA245 ;
varSect = NIM_NIL;
i_23 = i_24;
eqcopy___ast_3457(&c, (*n)._kind_6.sons.p->data[i_23]);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
varSect = newNodeI__ast_3949((*n).kind, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
add__ast_6233(varSect, c);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
ns_7 = NIM_FALSE;
T247_ = (NI)0;
T247_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
T248_ = (NI)0;
T248_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
T249_ = NIM_NIL;
T249_ = lowerStmtListExprs__closureiters_484(ctx, (*c)._kind_6.sons.p->data[(NI)(T248_ - ((NI)1))], (&ns_7));
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
eqsink___ast_3460(&(*c)._kind_6.sons.p->data[(NI)(T247_ - ((NI)1))], T249_);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__22;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_9;
NI T254_;
NI T255_;
if (!ns_7) goto LA252_;
nimZeroMem((void*)(&colontmp__22), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_10 = NIM_NIL;
ex_9 = NIM_NIL;
(*needsSplit) = NIM_TRUE;
nimZeroMem((void*)(&colontmp__22), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
T254_ = (NI)0;
T254_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
exprToStmtList__closureiters_391((*c)._kind_6.sons.p->data[(NI)(T254_ - ((NI)1))], (&colontmp__22));
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
st_10 = colontmp__22.Field0;
ex_9 = colontmp__22.Field1;
add__ast_6233(result, st_10);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
T255_ = (NI)0;
T255_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
eqsink___ast_3460(&(*c)._kind_6.sons.p->data[(NI)(T255_ - ((NI)1))], ex_9);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
eqdestroy___ast_3454(&st_10);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
}
LA252_: ;
add__ast_6233(result, varSect);
if (NIM_UNLIKELY(*nimErr_)) goto LA246_;
i_24 += ((NI)1);
{
LA246_:;
}
{
oldNimErrFin246_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&varSect);
if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
*nimErr_ = oldNimErrFin246_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA242_;
} LA245: ;
}
}
{
LA242_:;
}
{
oldNimErrFin242_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin242_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
NIM_BOOL ns_8;
ns_8 = NIM_FALSE;
{
NI i_25;
NI colontmp__23;
NI i_26;
i_25 = (NI)0;
colontmp__23 = (NI)0;
colontmp__23 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_26 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T264_;
if (!(i_26 < colontmp__23)) goto LA263 ;
i_25 = i_26;
T264_ = NIM_NIL;
T264_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_25], (&ns_8));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_25], T264_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_26 += ((NI)1);
} LA263: ;
}
}
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__24;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T269_;
if (!ns_8) goto LA267_;
nimZeroMem((void*)(&colontmp__24), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_11 = NIM_NIL;
ex_10 = NIM_NIL;
(*needsSplit) = NIM_TRUE;
T269_ = NIM_NIL;
T269_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T269_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__24));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_11 = colontmp__24.Field0;
ex_10 = colontmp__24.Field1;
add__ast_6233(result, st_11);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_10);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_11);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA267_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
NIM_BOOL ns_9;
ns_9 = NIM_FALSE;
{
NI i_27;
NI colontmp__25;
NI colontmp__26;
NI i_28;
i_27 = (NI)0;
colontmp__25 = (NI)0;
colontmp__26 = (NI)0;
colontmp__25 = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61));
colontmp__26 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_28 = colontmp__25;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T274_;
if (!(i_28 < colontmp__26)) goto LA273 ;
i_27 = i_28;
T274_ = NIM_NIL;
T274_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_27], (&ns_9));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_27], T274_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_28 += ((NI)1);
} LA273: ;
}
}
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__27;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T279_;
NI T280_;
NI T281_;
if (!ns_9) goto LA277_;
nimZeroMem((void*)(&colontmp__27), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_12 = NIM_NIL;
ex_11 = NIM_NIL;
(*needsSplit) = NIM_TRUE;
T279_ = NIM_NIL;
T279_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T279_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T280_ = (NI)0;
T280_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[(NI)(T280_ - ((NI)1))], (&colontmp__27));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_12 = colontmp__27.Field0;
ex_11 = colontmp__27.Field1;
add__ast_6233(result, st_12);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T281_ = (NI)0;
T281_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[(NI)(T281_ - ((NI)1))], ex_11);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_12);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA277_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149):
{
NIM_BOOL ns_10;
ns_10 = NIM_FALSE;
{
NI i_29;
NI colontmp__28;
NI i_30;
i_29 = (NI)0;
colontmp__28 = (NI)0;
colontmp__28 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_30 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T286_;
if (!(i_30 < colontmp__28)) goto LA285 ;
i_29 = i_30;
T286_ = NIM_NIL;
T286_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_29], (&ns_10));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_29], T286_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_30 += ((NI)1);
} LA285: ;
}
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T291_;
if (!ns_10) goto LA289_;
(*needsSplit) = NIM_TRUE;
T291_ = NIM_NIL;
T291_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T291_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__29;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_12;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA294_;
nimZeroMem((void*)(&colontmp__29), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_13 = NIM_NIL;
ex_12 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__29));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_13 = colontmp__29.Field0;
ex_12 = colontmp__29.Field1;
add__ast_6233(result, st_13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_12);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA294_: ;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__30;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_13;
if (!((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126))) goto LA298_;
nimZeroMem((void*)(&colontmp__30), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_14 = NIM_NIL;
ex_13 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)1)], (&colontmp__30));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_14 = colontmp__30.Field0;
ex_13 = colontmp__30.Field1;
add__ast_6233(result, st_14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], ex_13);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA298_: ;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA289_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
NIM_BOOL lhsNeedsSplit;
NIM_BOOL rhsNeedsSplit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T301_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T302_;
lhsNeedsSplit = NIM_FALSE;
rhsNeedsSplit = NIM_FALSE;
T301_ = NIM_NIL;
T301_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)0)], (&lhsNeedsSplit));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T301_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T302_ = NIM_NIL;
T302_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)1)], (&rhsNeedsSplit));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], T302_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T305_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T309_;
T305_ = (NIM_BOOL)0;
T305_ = lhsNeedsSplit;
if (T305_) goto LA306_;
T305_ = rhsNeedsSplit;
LA306_: ;
if (!T305_) goto LA307_;
(*needsSplit) = NIM_TRUE;
T309_ = NIM_NIL;
T309_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T309_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__31;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_15;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_14;
if (!lhsNeedsSplit) goto LA312_;
nimZeroMem((void*)(&colontmp__31), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_15 = NIM_NIL;
ex_14 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__31));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_15 = colontmp__31.Field0;
ex_14 = colontmp__31.Field1;
add__ast_6233(result, st_15);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_15);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA312_: ;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__32;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_16;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_15;
if (!rhsNeedsSplit) goto LA316_;
nimZeroMem((void*)(&colontmp__32), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_16 = NIM_NIL;
ex_15 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)1)], (&colontmp__32));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_16 = colontmp__32.Field0;
ex_15 = colontmp__32.Field1;
add__ast_6233(result, st_16);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], ex_15);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_16);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA316_: ;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA307_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
NIM_BOOL condNeedsSplit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T319_;
NIM_BOOL bodyNeedsSplit;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T320_;
condNeedsSplit = NIM_FALSE;
T319_ = NIM_NIL;
T319_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)0)], (&condNeedsSplit));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T319_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
bodyNeedsSplit = NIM_FALSE;
T320_ = NIM_NIL;
T320_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)1)], (&bodyNeedsSplit));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], T320_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T323_;
T323_ = (NIM_BOOL)0;
T323_ = condNeedsSplit;
if (T323_) goto LA324_;
T323_ = bodyNeedsSplit;
LA324_: ;
if (!T323_) goto LA325_;
(*needsSplit) = NIM_TRUE;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__33;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_17;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_16;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* brk;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch_4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* check_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* newBody;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__15;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T332_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T333_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T334_;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T335_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T336_;
if (!condNeedsSplit) goto LA329_;
nimZeroMem((void*)(&colontmp__33), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_17 = NIM_NIL;
ex_16 = NIM_NIL;
brk = NIM_NIL;
branch_4 = NIM_NIL;
colontmpD__14 = NIM_NIL;
check_2 = NIM_NIL;
newBody = NIM_NIL;
colontmpD__15 = NIM_NIL;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__33));
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
st_17 = colontmp__33.Field0;
ex_16 = colontmp__33.Field1;
nimZeroMem((void*)T332_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T332_[0] = (*(*ctx).g).emptyNode;
brk = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110), T332_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
nimZeroMem((void*)T333_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__14 = newNotCall__closureiters_480((*ctx).g, ex_16);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
T333_[0] = colontmpD__14;
T333_[1] = brk;
branch_4 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T333_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
nimZeroMem((void*)T334_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T334_[0] = branch_4;
check_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T334_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
nimZeroMem((void*)T335_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
T335_[0] = st_17;
T335_[1] = check_2;
T335_[2] = (*n)._kind_6.sons.p->data[((NI)1)];
newBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T335_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
colontmpD__15 = getSysSym__magicsys_16((*ctx).g, (*(*n)._kind_6.sons.p->data[((NI)0)]).info, TM__V8P104kFw4tUofP7Txw6Sw_27);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
T336_ = NIM_NIL;
T336_ = newSymNode__ast_4784(colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T336_);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], newBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA331_;
newBody = 0;
{
LA331_:;
}
{
oldNimErrFin331_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&newBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&check_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&brk);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ex_16);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_17);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin331_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA329_: ;
}
LA325_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
NIM_BOOL ns_11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T340_;
ns_11 = NIM_FALSE;
T340_ = NIM_NIL;
T340_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)0)], (&ns_11));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], T340_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__34;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_18;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_17;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T345_;
if (!ns_11) goto LA343_;
nimZeroMem((void*)(&colontmp__34), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_18 = NIM_NIL;
ex_17 = NIM_NIL;
(*needsSplit) = NIM_TRUE;
T345_ = NIM_NIL;
T345_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T345_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)0)], (&colontmp__34));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_18 = colontmp__34.Field0;
ex_17 = colontmp__34.Field1;
add__ast_6233(result, st_18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)0)], ex_17);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&st_18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA343_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
{
NIM_BOOL ns_12;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T347_;
ns_12 = NIM_FALSE;
T347_ = NIM_NIL;
T347_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[((NI)1)], (&ns_12));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], T347_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA colontmp__35;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* st_19;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ex_18;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T352_;
if (!ns_12) goto LA350_;
nimZeroMem((void*)(&colontmp__35), sizeof(tyTuple__3YFY9bGYwdIE9b6AnLB9bjRVA));
st_19 = NIM_NIL;
ex_18 = NIM_NIL;
(*needsSplit) = NIM_TRUE;
T352_ = NIM_NIL;
T352_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T352_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3546(&(*result).typ, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
exprToStmtList__closureiters_391((*n)._kind_6.sons.p->data[((NI)1)], (&colontmp__35));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
st_19 = colontmp__35.Field0;
ex_18 = colontmp__35.Field1;
transitionSonsKind__ast_5759(n, ((tyEnum_TNodeKind__ibNAumaBpWjeer4yEB9aB2w)112));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3549(&(*n).typ, ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[((NI)1)], st_19);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, ex_18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ex_18);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA350_: ;
}
break;
default:
{
{
NI i_31;
NI colontmp__36;
NI i_32;
i_31 = (NI)0;
colontmp__36 = (NI)0;
colontmp__36 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_32 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T357_;
if (!(i_32 < colontmp__36)) goto LA356 ;
i_31 = i_32;
T357_ = NIM_NIL;
T357_ = lowerStmtListExprs__closureiters_484(ctx, (*n)._kind_6.sons.p->data[i_31], needsSplit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_31], T357_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_32 += ((NI)1);
} LA356: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasYieldsInExpressions__closureiters_377)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
{
NIM_BOOL T5_;
T5_ = (NIM_BOOL)0;
T5_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T5_) goto LA6_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c;
c = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA12 ;
i = i_2;
eqcopy___ast_3457(&c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
NIM_BOOL T15_;
T15_ = (NIM_BOOL)0;
T15_ = hasYieldsInExpressions__closureiters_377(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
if (!T15_) goto LA16_;
result = NIM_TRUE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA16_: ;
i_2 += ((NI)1);
} LA12: ;
}
}
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
goto LA3_;
LA6_: ;
{
result = hasYields__closureiters_177(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
{
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 = ((NI)1);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA24 ;
i_3 = i_4;
{
NIM_BOOL T27_;
T27_ = (NIM_BOOL)0;
T27_ = hasYieldsInExpressions__closureiters_377((*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T27_) goto LA28_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA28_: ;
i_4 += ((NI)1);
} LA24: ;
}
}
}
break;
default:
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c_2;
c_2 = NIM_NIL;
{
NI i_5;
NI colontmp__3;
NI i_6;
i_5 = (NI)0;
colontmp__3 = (NI)0;
colontmp__3 = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
i_6 = ((NI)0);
{
while (1) {
if (!(i_6 < colontmp__3)) goto LA35 ;
i_5 = i_6;
eqcopy___ast_3457(&c_2, (*n)._kind_6.sons.p->data[i_5]);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
{
NIM_BOOL T38_;
T38_ = (NIM_BOOL)0;
T38_ = hasYieldsInExpressions__closureiters_377(c_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
if (!T38_) goto LA39_;
result = NIM_TRUE;
eqdestroy___ast_3454(&c_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA39_: ;
i_6 += ((NI)1);
} LA35: ;
}
}
{
LA32_:;
}
{
oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&c_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin32_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, addGotoOut__closureiters_148)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = toStmtList__closureiters_137(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
NI T4_;
NI T6_;
T3_ = (NIM_BOOL)0;
T4_ = (NI)0;
T4_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = (T4_ == ((NI)0));
if (T3_) goto LA5_;
T6_ = (NI)0;
T6_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = !(((*(*result)._kind_6.sons.p->data[(NI)(T6_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156)));
LA5_: ;
if (!T3_) goto LA7_;
add__ast_6233(result, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBreaksAndContinuesInWhile__closureiters_181)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* before, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* after) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)111):
{
eqcopy___ast_3457(&result, before);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
(*ctx).blockLevel += ((NI)1);
T5_ = NIM_NIL;
T5_ = transformBreaksAndContinuesInWhile__closureiters_181(ctx, (*result)._kind_6.sons.p->data[((NI)1)], before, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*ctx).blockLevel -= ((NI)1);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
{
if (!((*ctx).blockLevel == ((NI)0))) goto LA9_;
eqcopy___ast_3457(&result, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
}
break;
default:
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T15_;
if (!(i_2 < colontmp_)) goto LA14 ;
i = i_2;
T15_ = NIM_NIL;
T15_ = transformBreaksAndContinuesInWhile__closureiters_181(ctx, (*n)._kind_6.sons.p->data[i], before, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T15_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA14: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBreaksInBlock__closureiters_209)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* label, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* after) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
(*ctx).blockLevel += ((NI)1);
T3_ = NIM_NIL;
T3_ = transformBreaksInBlock__closureiters_209(ctx, (*result)._kind_6.sons.p->data[((NI)1)], label, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*ctx).blockLevel -= ((NI)1);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA7_;
{
if (!((*ctx).blockLevel == ((NI)0))) goto LA11_;
eqcopy___ast_3457(&result, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA11_: ;
}
goto LA5_;
LA7_: ;
{
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = ((*label).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T16_)) goto LA17_;
T16_ = ((*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym == (*label)._kind_4.sym);
LA17_: ;
if (!T16_) goto LA18_;
eqcopy___ast_3457(&result, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA18_: ;
}
LA5_: ;
}
break;
default:
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T24_;
if (!(i_2 < colontmp_)) goto LA23 ;
i = i_2;
T24_ = NIM_NIL;
T24_ = transformBreaksInBlock__closureiters_209(ctx, (*n)._kind_6.sons.p->data[i], label, after);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T24_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA23: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newOr__closureiters_257)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)T2_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD_ = getSysMagic__magicsys_29(g, (*a).info, TM__V8P104kFw4tUofP7Txw6Sw_39, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD__2;
T2_[1] = a;
T2_[2] = b;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T2_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = getSysType__magicsys_60(g, (*a).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*result).typ, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*result).info = (*a).info;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
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*, newCurExcAccess__closureiters_92)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T6_;
if (!((*ctx).curExcSym == 0)) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD_ = callCodegenProc__lowerings_642((*ctx).g, TM__V8P104kFw4tUofP7Txw6Sw_42, unknownLineInfo__lineinfos_338, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
T6_ = NIM_NIL;
T6_ = newEnvVar__closureiters_50(ctx, TM__V8P104kFw4tUofP7Txw6Sw_41, (*colontmpD_).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqsink___ast_4066(&(*ctx).curExcSym, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
result = newEnvVarAccess__closureiters_71((&(*ctx)), (*ctx).curExcSym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNullifyCurExc__closureiters_251)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* curExc;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nilnode;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
curExc = NIM_NIL;
nilnode = NIM_NIL;
curExc = newCurExcAccess__closureiters_92(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*curExc).info = info;
nilnode = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*nilnode).typ, (*curExc).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T2_[0] = curExc;
T2_[1] = nilnode;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&nilnode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&curExc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, collectExceptState__closureiters_262)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifStmt;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
ifStmt = NIM_NIL;
g = NIM_NIL;
ifStmt = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___modulegraphs_11315(&g, (*ctx).g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* c;
c = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA6 ;
i = i_2;
eqcopy___ast_3457(&c, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBranch;
NI T43_;
if (!((*c).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87))) goto LA9_;
ifBranch = NIM_NIL;
ifBranch = 0;
{
NI T14_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
T14_ = (NI)0;
T14_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
if (!(((NI)1) < T14_)) goto LA15_;
cond = NIM_NIL;
cond = 0;
{
NI i_3;
NI colontmp__2;
NI T19_;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T19_ = (NI)0;
T19_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
colontmp__2 = (NI)(T19_ - ((NI)1));
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nextCond;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T23_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T24_;
if (!(i_4 < colontmp__2)) goto LA21 ;
nextCond = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
i_3 = i_4;
nimZeroMem((void*)T23_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD_ = getSysMagic__magicsys_29(g, (*c).info, TM__V8P104kFw4tUofP7Txw6Sw_35, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)15));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[0] = colontmpD__2;
colontmpD__3 = callCodegenProc__lowerings_642(g, TM__V8P104kFw4tUofP7Txw6Sw_37, unknownLineInfo__lineinfos_338, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[1] = colontmpD__3;
T23_[2] = (*c)._kind_6.sons.p->data[i_3];
nextCond = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T23_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T24_ = NIM_NIL;
T24_ = getSysType__magicsys_60((*ctx).g, (*c).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqsink___ast_3549(&(*nextCond).typ, T24_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
(*nextCond).info = (*c).info;
{
if (!(cond == 0)) goto LA27_;
eqsink___ast_3460(&cond, nextCond);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
nextCond = 0;
}
goto LA25_;
LA27_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T30_;
T30_ = NIM_NIL;
T30_ = newOr__closureiters_257(g, cond, nextCond);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqsink___ast_3460(&cond, T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
}
LA25_: ;
i_4 += ((NI)1);
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_3454(&nextCond);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
} LA21: ;
}
}
ifBranch = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(ifBranch, cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
goto LA12_;
LA15_: ;
{
{
NI T38_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T41_;
T38_ = (NI)0;
T38_ = len__ast_3325(ifStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
if (!(T38_ == ((NI)0))) goto LA39_;
T41_ = NIM_NIL;
T41_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
eqsink___ast_3460(&ifStmt, T41_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
ifBranch = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
goto LA36_;
LA39_: ;
{
ifBranch = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), (*c).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
}
LA36_: ;
}
LA12_: ;
T43_ = (NI)0;
T43_ = len__ast_3325(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(ifBranch, (*c)._kind_6.sons.p->data[(NI)(T43_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
add__ast_6233(ifStmt, ifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&ifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
*nimErr_ = oldNimErrFin11_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
}
LA9_: ;
i_2 += ((NI)1);
} LA6: ;
}
}
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&c);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
NI T50_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T54_;
T50_ = (NI)0;
T50_ = len__ast_3325(ifStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!((T50_ == ((NI)0)))) goto LA51_;
colontmpD__4 = NIM_NIL;
nimZeroMem((void*)T54_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__4 = newNullifyCurExc__closureiters_251(ctx, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
T54_[0] = colontmpD__4;
T54_[1] = ifStmt;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T54_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
{
LA53_:;
}
{
oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin53_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA48_;
LA51_: ;
{
eqcopy___ast_3457(&result, (*(*ctx).g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA48_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___modulegraphs_11312(&g);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifStmt);
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*, getFinallyNode__closureiters_363)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
T1_ = (NI)0;
T1_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&result, (*n)._kind_6.sons.p->data[(NI)(T1_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA4_;
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA2_;
LA4_: ;
{
eqcopy___ast_3457(&result, (*(*ctx).g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA2_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newUnrollFinallyAccess__closureiters_85)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T6_;
if (!((*ctx).unrollFinallySym == 0)) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD_ = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
T6_ = NIM_NIL;
T6_ = newEnvVar__closureiters_50(ctx, TM__V8P104kFw4tUofP7Txw6Sw_44, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
eqsink___ast_4066(&(*ctx).unrollFinallySym, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
result = newEnvVarAccess__closureiters_71((&(*ctx)), (*ctx).unrollFinallySym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newTmpResultAccess__closureiters_78)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T5_;
if (!((*ctx).tmpResultSym == 0)) goto LA3_;
T5_ = NIM_NIL;
T5_ = newEnvVar__closureiters_50(ctx, TM__V8P104kFw4tUofP7Txw6Sw_46, (*(*(*ctx).fn).typ).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_4066(&(*ctx).tmpResultSym, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
result = newEnvVarAccess__closureiters_71((&(*ctx)), (*ctx).tmpResultSym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformReturnsInTry__closureiters_1117)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* goto_1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T18_;
colontmpD_ = NIM_NIL;
goto_1 = NIM_NIL;
colontmpD__2 = NIM_NIL;
T3_ = NIM_NIL;
T3_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqsink___ast_3460(&result, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* asgn;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
asgn = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
asgn = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__3 = newUnrollFinallyAccess__closureiters_85(ctx, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(asgn, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__4 = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__5 = newIntTypeNode__ast_4848(IL64(1), colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(asgn, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
add__ast_6233(result, asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3543(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* asgnTmpResult;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T12_;
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA10_;
asgnTmpResult = NIM_NIL;
colontmpD__6 = NIM_NIL;
x = NIM_NIL;
asgnTmpResult = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
colontmpD__6 = newTmpResultAccess__closureiters_78(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(asgnTmpResult, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T12_ = NIM_NIL;
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149))) goto LA15_;
eqcopy___ast_3457(&x, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA13_;
LA15_: ;
{
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA13_: ;
add__ast_6233(asgnTmpResult, x);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, asgnTmpResult);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&asgnTmpResult);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA10_: ;
colontmpD_ = newNullifyCurExc__closureiters_251(ctx, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
nimZeroMem((void*)T18_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__2 = newIntLit__lowerings_702((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T18_[0] = colontmpD__2;
goto_1 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), T18_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, goto_1);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&goto_1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
{
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = hasYields__closureiters_177(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T25_) goto LA26_;
}
goto LA23_;
LA26_: ;
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
if (!(i_2 < colontmp_)) goto LA31 ;
i = i_2;
T32_ = NIM_NIL;
T32_ = transformReturnsInTry__closureiters_1117(ctx, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T32_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA31: ;
}
}
}
LA23_: ;
}
break;
default:
{
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T37_;
if (!(i_4 < colontmp__2)) goto LA36 ;
i_3 = i_4;
T37_ = NIM_NIL;
T37_ = transformReturnsInTry__closureiters_1117(ctx, (*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_3], T37_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 += ((NI)1);
} LA36: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newEndFinallyNode__closureiters_1098)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* curExc;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nilnode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cmp;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* retStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* nullifyExc;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* raiseStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elseBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elifBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T4_;
NIM_BOOL oldNimErrFin18_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T22_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T23_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T24_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T25_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T26_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T27_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T28_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
curExc = NIM_NIL;
nilnode = NIM_NIL;
cmp = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
retStmt = NIM_NIL;
branch = NIM_NIL;
nullifyExc = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
raiseStmt = NIM_NIL;
elseBranch = NIM_NIL;
colontmpD__5 = NIM_NIL;
ifBody = NIM_NIL;
elifBranch = NIM_NIL;
colontmpD__6 = NIM_NIL;
curExc = newCurExcAccess__closureiters_92(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nilnode = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*nilnode).typ, (*curExc).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T2_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD_ = getSysMagic__magicsys_29((*ctx).g, info, TM__V8P104kFw4tUofP7Txw6Sw_48, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)87));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4787(colontmpD_, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD__2;
T2_[1] = curExc;
T2_[2] = nilnode;
cmp = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T2_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*cmp).typ, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* retValue;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T9_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T16_;
if (!((*ctx).nearestFinally == ((NI)0))) goto LA7_;
retValue = NIM_NIL;
T9_ = NIM_NIL;
{
if (!((*(*(*ctx).fn).typ).sons.p->data[((NI)0)] == 0)) goto LA12_;
eqcopy___ast_3457(&retValue, (*(*ctx).g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA10_;
LA12_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T15_;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
nimZeroMem((void*)T15_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__7 = getClosureIterResult__lambdalifting_63((*ctx).g, (*ctx).fn, (*ctx).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__8 = newSymNode__ast_4787(colontmpD__7, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T15_[0] = colontmpD__8;
colontmpD__9 = newTmpResultAccess__closureiters_78(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T15_[1] = colontmpD__9;
retValue = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74), T15_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA10_: ;
nimZeroMem((void*)T16_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T16_[0] = retValue;
retStmt = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109), T16_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&retValue);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA5_;
LA7_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T19_;
colontmpD__10 = NIM_NIL;
nimZeroMem((void*)T19_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__10 = newIntLit__lowerings_702((*ctx).g, info, ((NI64) ((*ctx).nearestFinally)));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
T19_[0] = colontmpD__10;
retStmt = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), T19_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
oldNimErrFin18_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin18_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
nimZeroMem((void*)T22_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T22_[0] = cmp;
T22_[1] = retStmt;
branch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T22_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T23_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__3 = getCompilerProc__magicsys_146((*ctx).g, TM__V8P104kFw4tUofP7Txw6Sw_50);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__4 = newSymNode__ast_4784(colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T23_[0] = colontmpD__4;
T23_[1] = nilnode;
nullifyExc = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T23_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*nullifyExc).info = info;
nimZeroMem((void*)T24_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T24_[0] = curExc;
raiseStmt = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108), T24_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*raiseStmt).info = info;
nimZeroMem((void*)T25_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
nimZeroMem((void*)T26_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T26_[0] = nullifyExc;
T26_[1] = raiseStmt;
colontmpD__5 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T26_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T25_[0] = colontmpD__5;
elseBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), T25_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T27_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T27_[0] = branch;
T27_[1] = elseBranch;
ifBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T27_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T28_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__6 = newUnrollFinallyAccess__closureiters_85(ctx, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T28_[0] = colontmpD__6;
T28_[1] = ifBody;
elifBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T28_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*elifBranch).info = info;
nimZeroMem((void*)T29_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T29_[0] = elifBranch;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T29_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elseBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&raiseStmt);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&nullifyExc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&retStmt);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&cmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&nilnode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&curExc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addElseToExcept__closureiters_322)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NI T7_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* branchBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elseBranch;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T26_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115));
if (!(T4_)) goto LA5_;
T4_ = ((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92));
LA5_: ;
T3_ = T4_;
if (!(T3_)) goto LA6_;
T7_ = (NI)0;
T7_ = len__ast_3325((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = !(((*(*(*n)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[(NI)(T7_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88)));
LA6_: ;
if (!T3_) goto LA8_;
branchBody = NIM_NIL;
elseBranch = NIM_NIL;
branchBody = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T13_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
nimZeroMem((void*)T13_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = newUnrollFinallyAccess__closureiters_85(ctx, (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T13_[0] = colontmpD_;
colontmpD__2 = getSysType__magicsys_60((*ctx).g, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
colontmpD__3 = newIntTypeNode__ast_4848(IL64(1), colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T13_[1] = colontmpD__3;
colontmpD__4 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T13_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
add__ast_6233(branchBody, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T18_;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
nimZeroMem((void*)T18_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__5 = newCurExcAccess__closureiters_92(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
T18_[0] = colontmpD__5;
colontmpD__6 = callCodegenProc__lowerings_642((*ctx).g, TM__V8P104kFw4tUofP7Txw6Sw_57, unknownLineInfo__lineinfos_338, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
T18_[1] = colontmpD__6;
colontmpD__7 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T18_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
add__ast_6233(branchBody, colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T23_;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
nimZeroMem((void*)T23_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__8 = newIntLit__lowerings_702((*ctx).g, (*n).info, ((NI64) ((*ctx).nearestFinally)));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[0] = colontmpD__8;
colontmpD__9 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), T23_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(branchBody, colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
nimZeroMem((void*)T26_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T26_[0] = branchBody;
elseBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), T26_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233((*n)._kind_6.sons.p->data[((NI)1)], elseBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&elseBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&branchBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformClosureIteratorBody__closureiters_1193)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL oldNimErrFin61_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
T3_ = NIM_NIL;
T3_ = addGotoOut__closureiters_148(result, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA6 ;
i = i_2;
{
NIM_BOOL T9_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* go;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T13_;
NI T17_;
T9_ = (NIM_BOOL)0;
T9_ = hasYields__closureiters_177((*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T9_) goto LA10_;
go = NIM_NIL;
s = NIM_NIL;
colontmpD_ = NIM_NIL;
go = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), (*(*n)._kind_6.sons.p->data[i]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
T13_ = NIM_NIL;
T13_ = transformClosureIteratorBody__closureiters_1193(ctx, (*n)._kind_6.sons.p->data[i], go);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
s = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*(*n)._kind_6.sons.p->data[(NI)(i + ((NI)1))]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
{
NI j;
NI colontmp__2;
NI colontmp__3;
NI i_3;
j = (NI)0;
colontmp__2 = (NI)0;
colontmp__3 = (NI)0;
colontmp__2 = (NI)(i + ((NI)1));
colontmp__3 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
i_3 = colontmp__2;
{
while (1) {
if (!(i_3 < colontmp__3)) goto LA16 ;
j = i_3;
add__ast_6233(s, (*n)._kind_6.sons.p->data[j]);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
i_3 += ((NI)1);
} LA16: ;
}
}
setLen__ast_3741((&(*n)._kind_6.sons), ((NI) ((NI)(i + ((NI)1)))));
T17_ = (NI)0;
T17_ = newState__closureiters_98(ctx, s, go);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
(void)(T17_);
{
colontmpD_ = transformClosureIteratorBody__closureiters_1193(ctx, s, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
if (!!((colontmpD_ == s))) goto LA20_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_32, (&TM__V8P104kFw4tUofP7Txw6Sw_33));
if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
}
LA20_: ;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&go);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA4;
{
LA12_:;
}
{
oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&go);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin12_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA10_: ;
i_2 += ((NI)1);
} LA6: ;
}
} LA4: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_;
T25_ = NIM_NIL;
T25_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(result, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)50):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T27_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T28_;
T27_ = NIM_NIL;
T27_ = addGotoOut__closureiters_148((*result)._kind_6.sons.p->data[((NI)0)], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T27_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T28_ = NIM_NIL;
T28_ = transformClosureIteratorBody__closureiters_1193(ctx, (*result)._kind_6.sons.p->data[((NI)0)], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)0)], T28_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)49):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)85):
{
NI T30_;
NI T31_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
NI T33_;
NI T34_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T35_;
T30_ = (NI)0;
T30_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T31_ = (NI)0;
T31_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T32_ = NIM_NIL;
T32_ = addGotoOut__closureiters_148((*result)._kind_6.sons.p->data[(NI)(T31_ - ((NI)1))], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(T30_ - ((NI)1))], T32_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T33_ = (NI)0;
T33_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T34_ = (NI)0;
T34_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T35_ = NIM_NIL;
T35_ = transformClosureIteratorBody__closureiters_1193(ctx, (*result)._kind_6.sons.p->data[(NI)(T34_ - ((NI)1))], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[(NI)(T33_ - ((NI)1))], T35_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
{
NI i_4;
NI colontmp__4;
NI i_5;
i_4 = (NI)0;
colontmp__4 = (NI)0;
colontmp__4 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_5 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T40_;
if (!(i_5 < colontmp__4)) goto LA39 ;
i_4 = i_5;
T40_ = NIM_NIL;
T40_ = transformClosureIteratorBody__closureiters_1193(ctx, (*n)._kind_6.sons.p->data[i_4], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_4], T40_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_5 += ((NI)1);
} LA39: ;
}
}
{
NI T43_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elseBranch;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T46_;
T43_ = (NI)0;
T43_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(((*(*n)._kind_6.sons.p->data[(NI)(T43_ - ((NI)1))]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88)))) goto LA44_;
elseBranch = NIM_NIL;
nimZeroMem((void*)T46_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T46_[0] = gotoOut;
elseBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), T46_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_6233(n, elseBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elseBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA44_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifNode;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elifBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elseBranch_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T49_;
NI T50_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T51_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T52_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T53_;
s_2 = NIM_NIL;
ifNode = NIM_NIL;
elifBranch = NIM_NIL;
body = NIM_NIL;
elseBranch_2 = NIM_NIL;
T49_ = NIM_NIL;
T49_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqsink___ast_3460(&result, T49_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
s_2 = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
T50_ = (NI)0;
T50_ = newState__closureiters_98(ctx, s_2, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
(void)(T50_);
ifNode = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
elifBranch = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(elifBranch, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
body = addGotoOut__closureiters_148((*n)._kind_6.sons.p->data[((NI)1)], result);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
T51_ = NIM_NIL;
T51_ = transformBreaksAndContinuesInWhile__closureiters_181(ctx, body, result, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqsink___ast_3460(&body, T51_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
T52_ = NIM_NIL;
T52_ = transformClosureIteratorBody__closureiters_1193(ctx, body, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
eqsink___ast_3460(&body, T52_);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(elifBranch, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(ifNode, elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
nimZeroMem((void*)T53_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T53_[0] = gotoOut;
elseBranch_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)88), T53_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(ifNode, elseBranch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
add__ast_6233(s_2, ifNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
{
LA48_:;
}
{
oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&elseBranch_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&elifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&ifNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&s_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin48_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T57_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T58_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T59_;
T57_ = NIM_NIL;
T57_ = addGotoOut__closureiters_148((*result)._kind_6.sons.p->data[((NI)1)], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T57_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T58_ = NIM_NIL;
T58_ = transformBreaksInBlock__closureiters_209(ctx, (*result)._kind_6.sons.p->data[((NI)1)], (*result)._kind_6.sons.p->data[((NI)0)], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T58_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T59_ = NIM_NIL;
T59_ = transformClosureIteratorBody__closureiters_1193(ctx, (*result)._kind_6.sons.p->data[((NI)1)], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*result)._kind_6.sons.p->data[((NI)1)], T59_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)154):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tryBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exceptBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* finallyBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* outToFinally;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T62_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T63_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T64_;
NI tryIdx;
NI T65_;
NI exceptIdx;
NI finallyIdx;
tryBody = NIM_NIL;
exceptBody = NIM_NIL;
finallyBody = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
outToFinally = NIM_NIL;
(*ctx).hasExceptions = NIM_TRUE;
T62_ = NIM_NIL;
T62_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqsink___ast_3460(&result, T62_);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
tryBody = toStmtList__closureiters_137((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
exceptBody = collectExceptState__closureiters_262(ctx, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
nimZeroMem((void*)T63_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__2 = getFinallyNode__closureiters_363(ctx, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
T63_[0] = colontmpD__2;
finallyBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T63_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
T64_ = NIM_NIL;
T64_ = transformReturnsInTry__closureiters_1117(ctx, finallyBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqsink___ast_3460(&finallyBody, T64_);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
colontmpD__3 = newEndFinallyNode__closureiters_1098(ctx, (*finallyBody).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
add__ast_6233(finallyBody, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
T65_ = (*ctx).states.len;
tryIdx = T65_;
exceptIdx = (NI)0;
finallyIdx = (NI)0;
{
if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA68_;
exceptIdx = ((NI64)-((NI)(tryIdx + ((NI)1))));
finallyIdx = (NI)(tryIdx + ((NI)2));
}
goto LA66_;
LA68_: ;
{
exceptIdx = (NI)(tryIdx + ((NI)1));
finallyIdx = (NI)(tryIdx + ((NI)1));
}
LA66_: ;
outToFinally = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), (*finallyBody).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
{
NI oldExcHandlingState;
NI realTryIdx;
NI realFinallyIdx;
oldExcHandlingState = (*ctx).curExcHandlingState;
(*ctx).curExcHandlingState = exceptIdx;
realTryIdx = newState__closureiters_98(ctx, tryBody, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
{
NI realExceptIdx;
if (!!(((*exceptBody).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA74_;
(*ctx).curExcHandlingState = finallyIdx;
realExceptIdx = newState__closureiters_98(ctx, exceptBody, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
}
LA74_: ;
(*ctx).curExcHandlingState = oldExcHandlingState;
realFinallyIdx = newState__closureiters_98(ctx, finallyBody, outToFinally);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
NI oldNearestFinally;
NI oldExcHandlingState_2;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
colontmpD__8 = NIM_NIL;
oldNearestFinally = (*ctx).nearestFinally;
(*ctx).nearestFinally = finallyIdx;
oldExcHandlingState_2 = (*ctx).curExcHandlingState;
(*ctx).curExcHandlingState = exceptIdx;
{
colontmpD__4 = transformReturnsInTry__closureiters_1117(ctx, tryBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
if (!!((colontmpD__4 == tryBody))) goto LA80_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_52, (&TM__V8P104kFw4tUofP7Txw6Sw_53));
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
}
LA80_: ;
{
colontmpD__5 = transformClosureIteratorBody__closureiters_1193(ctx, tryBody, outToFinally);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
if (!!((colontmpD__5 == tryBody))) goto LA84_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_55, (&TM__V8P104kFw4tUofP7Txw6Sw_56));
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
}
LA84_: ;
(*ctx).curExcHandlingState = finallyIdx;
addElseToExcept__closureiters_322(ctx, exceptBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
{
colontmpD__6 = transformReturnsInTry__closureiters_1117(ctx, exceptBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
if (!!((colontmpD__6 == exceptBody))) goto LA88_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_59, (&TM__V8P104kFw4tUofP7Txw6Sw_60));
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
}
LA88_: ;
{
colontmpD__7 = transformClosureIteratorBody__closureiters_1193(ctx, exceptBody, outToFinally);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
if (!!((colontmpD__7 == exceptBody))) goto LA92_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_62, (&TM__V8P104kFw4tUofP7Txw6Sw_63));
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
}
LA92_: ;
(*ctx).curExcHandlingState = oldExcHandlingState_2;
(*ctx).nearestFinally = oldNearestFinally;
{
colontmpD__8 = transformClosureIteratorBody__closureiters_1193(ctx, finallyBody, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
if (!!((colontmpD__8 == finallyBody))) goto LA96_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_65, (&TM__V8P104kFw4tUofP7Txw6Sw_66));
if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
}
LA96_: ;
{
LA77_:;
}
{
oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
*nimErr_ = oldNimErrFin77_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
}
{
LA61_:;
}
{
oldNimErrFin61_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&outToFinally);
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(&finallyBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&exceptBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tryBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin61_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)94):
{
NimStringV2 colontmpD__9;
NimStringV2 colontmpD__10;
NimStringV2 T104_;
colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
T104_.len = 0; T104_.p = NIM_NIL;
colontmpD__9 = dollar___ast_192((*n).kind);
T104_ = rawNewString(colontmpD__9.len + 13);
appendString((&T104_), TM__V8P104kFw4tUofP7Txw6Sw_68);
appendString((&T104_), colontmpD__9);
colontmpD__10 = T104_;
internalErrorImpl__msgs_1510((*(*ctx).g).config, unknownLineInfo__lineinfos_338, colontmpD__10, (&TM__V8P104kFw4tUofP7Txw6Sw_69));
if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
{
LA103_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__10));
eqdestroy___stdZassertions_13((&colontmpD__9));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
NI i_6;
NI colontmp__5;
NI i_7;
i_6 = (NI)0;
colontmp__5 = (NI)0;
colontmp__5 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_7 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T111_;
if (!(i_7 < colontmp__5)) goto LA110 ;
i_6 = i_7;
T111_ = NIM_NIL;
T111_ = transformClosureIteratorBody__closureiters_1193(ctx, (*n)._kind_6.sons.p->data[i_6], gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_6], T111_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_7 += ((NI)1);
} LA110: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipStmtList__closureiters_1511)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
while (1) {
if (!((*result).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115))) goto LA2 ;
{
NI T5_;
T5_ = (NI)0;
T5_ = len__ast_3325(result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T5_ == ((NI)0))) goto LA6_;
eqcopy___ast_3457(&result, (*(*ctx).g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA6_: ;
eqcopy___ast_3457(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA2: ;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, skipEmptyStates__closureiters_1523)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NI stateIdx) {
NI result;
NI maxJumps;
NI T1_;
NI stateIdx_2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (*ctx).states.len;
maxJumps = T1_;
stateIdx_2 = stateIdx;
{
while (1) {
NI label;
NI newLabel;
label = stateIdx_2;
{
if (!(label == (*ctx).exitStateIdx)) goto LA6_;
goto LA2;
}
LA6_: ;
newLabel = label;
{
if (!(label == ((NI)-1))) goto LA10_;
newLabel = (*ctx).exitStateIdx;
}
goto LA8_;
LA10_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fs;
fs = NIM_NIL;
fs = skipStmtList__closureiters_1511(ctx, (*(*ctx).states.p->data[label])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*fs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156))) goto LA15_;
newLabel = ((NI) ((*(*fs)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal));
}
LA15_: ;
eqdestroy___ast_3454(&fs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA8_: ;
{
if (!(label == newLabel)) goto LA19_;
goto LA2;
}
LA19_: ;
stateIdx_2 = newLabel;
maxJumps -= ((NI)1);
{
if (!(maxJumps == ((NI)0))) goto LA23_;
}
LA23_: ;
}
} LA2: ;
result = ((NI) ((*(*(*ctx).states.p->data[stateIdx_2])._kind_6.sons.p->data[((NI)0)])._kind_1.intVal));
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipThroughEmptyStates__closureiters_1550)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T3_;
NI T4_;
T3_ = NIM_NIL;
T3_ = copyTree__ast_5856(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (NI)0;
T4_ = skipEmptyStates__closureiters_1523((&(*ctx)), ((NI) ((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*(*result)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal = ((NI64) (T4_));
}
break;
default:
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T9_;
if (!(i_2 < colontmp_)) goto LA8 ;
i = i_2;
T9_ = NIM_NIL;
T9_ = skipThroughEmptyStates__closureiters_1550(ctx, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T9_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA8: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, deleteEmptyStates__closureiters_1680)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* goOut;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T2_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T3_;
NI T4_;
NI iValid;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin20_;
NI i_5;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
goOut = NIM_NIL;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)T2_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
nimZeroMem((void*)(&T3_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD_ = newIntLit__lowerings_702((*ctx).g, T3_, IL64(-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD_;
goOut = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), T2_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = (NI)0;
T4_ = newState__closureiters_98(ctx, goOut, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*ctx).exitStateIdx = T4_;
iValid = ((NI)0);
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s;
NI i;
NI i_2;
NI L;
NI T6_;
s = NIM_NIL;
i = (NI)0;
i_2 = ((NI)0);
T6_ = (*ctx).states.len;
L = T6_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
if (!(i_2 < L)) goto LA8 ;
body = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&s, (*ctx).states.p->data[i_2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
body = skipStmtList__closureiters_1511((&(*ctx)), (*s)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T11_;
NIM_BOOL T12_;
NI T14_;
T11_ = (NIM_BOOL)0;
T12_ = (NIM_BOOL)0;
T12_ = ((*body).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156));
if (!(T12_)) goto LA13_;
T14_ = (*ctx).states.len;
T12_ = !((i == (NI)(T14_ - ((NI)1))));
LA13_: ;
T11_ = T12_;
if (!(T11_)) goto LA15_;
T11_ = !((i == ((NI)0)));
LA15_: ;
if (!T11_) goto LA16_;
(*(*s)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal = IL64(-1);
}
goto LA9_;
LA16_: ;
{
(*(*s)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal = ((NI64) (iValid));
iValid += ((NI)1);
}
LA9_: ;
i_2 += ((NI)1);
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA8: ;
}
eqdestroy___ast_3454(&s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* s_2;
NI i_3;
NI i_4;
NI L_2;
NI T21_;
s_2 = NIM_NIL;
i_3 = (NI)0;
i_4 = ((NI)0);
T21_ = (*ctx).states.len;
L_2 = T21_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body_2;
if (!(i_4 < L_2)) goto LA23 ;
body_2 = NIM_NIL;
i_3 = i_4;
eqcopy___ast_3457(&s_2, (*ctx).states.p->data[i_4]);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
body_2 = skipStmtList__closureiters_1511((&(*ctx)), (*s_2)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
{
NIM_BOOL T27_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NI excHandlState;
T27_ = (NIM_BOOL)0;
T27_ = !(((*body_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156)));
if (T27_) goto LA28_;
T27_ = (i_3 == ((NI)0));
LA28_: ;
if (!T27_) goto LA29_;
colontmpD__2 = NIM_NIL;
colontmpD__2 = skipThroughEmptyStates__closureiters_1550(ctx, s_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
(void)(colontmpD__2);
excHandlState = (*ctx).exceptionTable.p->data[i_3];
{
NI T36_;
if (!(excHandlState < ((NI)0))) goto LA34_;
T36_ = (NI)0;
T36_ = skipEmptyStates__closureiters_1523((&(*ctx)), ((NI64)-(excHandlState)));
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
(*ctx).exceptionTable.p->data[i_3] = ((NI64)-(T36_));
}
goto LA32_;
LA34_: ;
{
NI T40_;
if (!!((excHandlState == ((NI)0)))) goto LA38_;
T40_ = (NI)0;
T40_ = skipEmptyStates__closureiters_1523((&(*ctx)), excHandlState);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
(*ctx).exceptionTable.p->data[i_3] = T40_;
}
goto LA32_;
LA38_: ;
LA32_: ;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
}
LA29_: ;
i_4 += ((NI)1);
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&body_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
} LA23: ;
}
{
LA20_:;
}
{
oldNimErrFin20_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&s_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin20_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
i_5 = ((NI)0);
{
while (1) {
NI T49_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fs;
T49_ = (*ctx).states.len;
if (!(i_5 < (NI)(T49_ - ((NI)1)))) goto LA48 ;
fs = NIM_NIL;
fs = skipStmtList__closureiters_1511((&(*ctx)), (*(*ctx).states.p->data[i_5])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T52_;
T52_ = (NIM_BOOL)0;
T52_ = ((*fs).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156));
if (!(T52_)) goto LA53_;
T52_ = !((i_5 == ((NI)0)));
LA53_: ;
if (!T52_) goto LA54_;
delete__closureiters_1731((&(*ctx).states), ((NI) (i_5)));
delete__closureiters_1774((&(*ctx).exceptionTable), ((NI) (i_5)));
}
goto LA50_;
LA54_: ;
{
i_5 += ((NI)1);
}
LA50_: ;
eqdestroy___ast_3454(&fs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA48: ;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&goOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAccess__closureiters_36)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
if (!((*ctx).stateVarSym == 0)) goto LA3_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD_ = getEnvParam__lambdalifting_132((*ctx).fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
colontmpD__3 = getStateField__lambdalifting_4976((*ctx).g, (*ctx).fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
result = rawIndirectAccess__lowerings_332(colontmpD__2, colontmpD__3, (*(*ctx).fn).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&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_ = oldNimErrFin5_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
result = newSymNode__ast_4784((*ctx).stateVarSym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAssgn__closureiters_42)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* toValue) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD_;
T2_[1] = toValue;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStateAssgn__closureiters_46)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, NI stateNo) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)(&T2_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
colontmpD_ = getSysType__magicsys_60((*ctx).g, T2_, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newIntTypeNode__ast_4848(((NI64) (stateNo)), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newStateAssgn__closureiters_42(ctx, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, stateFromGotoState__closureiters_1395)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
result = (NI)0;
result = ((NI) ((*(*n)._kind_6.sons.p->data[((NI)0)])._kind_1.intVal));
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformStateAssignments__closureiters_1406)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin26_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
{
NIM_BOOL T4_;
NI T5_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* retStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T10_;
NI T11_;
T4_ = (NIM_BOOL)0;
T5_ = (NI)0;
T5_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = !((T5_ == ((NI)0)));
if (!(T4_)) goto LA6_;
T4_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)104));
LA6_: ;
if (!T4_) goto LA7_;
colontmpD_ = NIM_NIL;
retStmt = NIM_NIL;
T10_ = NIM_NIL;
T10_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqsink___ast_3460(&result, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
T11_ = (NI)0;
T11_ = stateFromGotoState__closureiters_1395((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
colontmpD_ = newStateAssgn__closureiters_46(ctx, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
retStmt = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* retVal;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
if (!!(((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA14_;
a = NIM_NIL;
retVal = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
a = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), (*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqcopy___ast_3457(&retVal, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
colontmpD__2 = getClosureIterResult__lambdalifting_63((*ctx).g, (*ctx).fn, (*ctx).idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
colontmpD__3 = newSymNode__ast_4784(colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(a, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(a, retVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
add__ast_6233(retStmt, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___ast_4060(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___ast_3454(&retVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
}
goto LA12_;
LA14_: ;
{
add__ast_6233(retStmt, (*(*ctx).g).emptyNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
}
LA12_: ;
add__ast_6233(result, retStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&retStmt);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA2_;
LA7_: ;
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T23_;
if (!(i_2 < colontmp_)) goto LA22 ;
i = i_2;
T23_ = NIM_NIL;
T23_ = transformStateAssignments__closureiters_1406(ctx, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i], T23_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA22: ;
}
}
}
LA2_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)113):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T27_;
colontmpD__4 = NIM_NIL;
T27_ = NIM_NIL;
T27_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
eqsink___ast_3460(&result, T27_);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
colontmpD__4 = newStateAssgn__closureiters_46(ctx, ((NI)-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
add__ast_6233(result, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
add__ast_6233(result, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA26_;
{
LA26_:;
}
{
oldNimErrFin26_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin26_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* breakState;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T32_;
NI T33_;
colontmpD__5 = NIM_NIL;
breakState = NIM_NIL;
colontmpD__6 = NIM_NIL;
T32_ = NIM_NIL;
T32_ = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
eqsink___ast_3460(&result, T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
T33_ = (NI)0;
T33_ = stateFromGotoState__closureiters_1395(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__5 = newStateAssgn__closureiters_46(ctx, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
breakState = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__6 = newSymNode__ast_4784((*ctx).stateLoopLabel);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(breakState, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
add__ast_6233(result, breakState);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&breakState);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T40_;
if (!(i_4 < colontmp__2)) goto LA39 ;
i_3 = i_4;
T40_ = NIM_NIL;
T40_ = transformStateAssignments__closureiters_1406(ctx, (*n)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&(*n)._kind_6.sons.p->data[i_3], T40_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 += ((NI)1);
} LA39: ;
}
}
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw, nextTypeId__ast_3291)(tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* x) {
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw result;
NI32 colontmpD_;
NI32 colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (NI32)0;
colontmpD__2 = (NI32)0;
(*x).typeId_0 += ((NI)1);
nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw));
colontmpD_ = (*x).module;
result.module = colontmpD_;
colontmpD__2 = (*x).typeId_0;
result.item = colontmpD__2;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, newArrayType__closureiters_1566)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, NI n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* rng;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T2_;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T3_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T4_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
rng = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
T2_ = nextTypeId__ast_3291(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16), T2_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = nextTypeId__ast_3291(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rng = newType__ast_4969(((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20), T3_, owner);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T4_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = newIntLit__lowerings_702(g, (*owner).info, IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_[0] = colontmpD_;
colontmpD__2 = newIntLit__lowerings_702(g, (*owner).info, ((NI64) ((NI)(n - ((NI)1)))));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_[1] = colontmpD__2;
T5_ = NIM_NIL;
T5_ = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44), T4_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&(*rng).n, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rawAddSon__ast_5669(rng, t, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rawAddSon__ast_5669(result, rng, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rawAddSon__ast_5669(result, t, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&rng);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, createExceptionTable__closureiters_1574)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NI T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), (*(*ctx).fn).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (*ctx).exceptionTable.len;
colontmpD_ = getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = newArrayType__closureiters_1566((*ctx).g, T2_, colontmpD_, (*ctx).idgen, (*ctx).fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*result).typ, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI* i;
NI i_2;
NI L;
NI T5_;
i = (NI*)0;
i_2 = ((NI)0);
T5_ = (*ctx).exceptionTable.len;
L = T5_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* elem;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T9_;
if (!(i_2 < L)) goto LA7 ;
elem = NIM_NIL;
i = (&(*ctx).exceptionTable.p->data[i_2]);
elem = newIntNode__ast_4791(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), ((NI64) ((*i))));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T9_ = NIM_NIL;
T9_ = getSysType__magicsys_60((*ctx).g, (*(*ctx).fn).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)33));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqsink___ast_3549(&(*elem).typ, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(result, elem);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
i_2 += ((NI)1);
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&elem);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA7: ;
}
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newCatchBody__closureiters_1589)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* intTyp;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* boolTyp;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
intTyp = NIM_NIL;
boolTyp = NIM_NIL;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
intTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
boolTyp = getSysType__magicsys_60((*ctx).g, info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* getNextState;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T4_;
getNextState = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
nimZeroMem((void*)T4_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = createExceptionTable__closureiters_1574(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
T4_[0] = colontmpD_;
colontmpD__2 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
T4_[1] = colontmpD__2;
getNextState = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42), T4_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
eqcopy___ast_3546(&(*getNextState).typ, intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
colontmpD__3 = newStateAssgn__closureiters_42(ctx, getNextState);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
{
LA3_:;
}
{
oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&getNextState);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin3_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* raiseStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifStmt;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T9_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T10_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T11_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T12_;
cond = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
raiseStmt = NIM_NIL;
ifBranch = NIM_NIL;
ifStmt = NIM_NIL;
nimZeroMem((void*)T9_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__4 = getSysMagic__magicsys_29((*ctx).g, info, TM__V8P104kFw4tUofP7Txw6Sw_72, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)70));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
colontmpD__5 = newSymNode__ast_4784(colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T9_[0] = colontmpD__5;
colontmpD__6 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T9_[1] = colontmpD__6;
colontmpD__7 = newIntTypeNode__ast_4848(IL64(0), intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T9_[2] = colontmpD__7;
cond = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T9_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
eqcopy___ast_3546(&(*cond).typ, boolTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
nimZeroMem((void*)T10_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T10_[0] = (*(*ctx).g).emptyNode;
raiseStmt = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108), T10_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
nimZeroMem((void*)T11_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T11_[0] = cond;
T11_[1] = raiseStmt;
ifBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T11_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
nimZeroMem((void*)T12_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T12_[0] = ifBranch;
ifStmt = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T12_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
add__ast_6233(result, ifStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&ifStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&ifBranch);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&raiseStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&cond);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond_2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__8;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__9;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__10;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__11;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* asgn;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__12;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T17_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T18_;
cond_2 = NIM_NIL;
colontmpD__8 = NIM_NIL;
colontmpD__9 = NIM_NIL;
colontmpD__10 = NIM_NIL;
colontmpD__11 = NIM_NIL;
asgn = NIM_NIL;
colontmpD__12 = NIM_NIL;
nimZeroMem((void*)T17_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__8 = getSysMagic__magicsys_29((*ctx).g, info, TM__V8P104kFw4tUofP7Txw6Sw_74, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)72));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
colontmpD__9 = newSymNode__ast_4784(colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T17_[0] = colontmpD__9;
colontmpD__10 = newIntTypeNode__ast_4848(IL64(0), intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T17_[1] = colontmpD__10;
colontmpD__11 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T17_[2] = colontmpD__11;
cond_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T17_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
eqcopy___ast_3546(&(*cond_2).typ, boolTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
nimZeroMem((void*)T18_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__12 = newUnrollFinallyAccess__closureiters_85(ctx, info);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T18_[0] = colontmpD__12;
T18_[1] = cond_2;
asgn = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T18_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
add__ast_6233(result, asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__12);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&asgn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__11);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__9);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&cond_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* cond_3;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__13;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__14;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__15;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__16;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* negateState;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__17;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__18;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__19;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifBranch_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__20;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ifStmt_2;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T23_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T24_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T25_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T26_;
cond_3 = NIM_NIL;
colontmpD__13 = NIM_NIL;
colontmpD__14 = NIM_NIL;
colontmpD__15 = NIM_NIL;
colontmpD__16 = NIM_NIL;
negateState = NIM_NIL;
colontmpD__17 = NIM_NIL;
colontmpD__18 = NIM_NIL;
colontmpD__19 = NIM_NIL;
ifBranch_2 = NIM_NIL;
colontmpD__20 = NIM_NIL;
ifStmt_2 = NIM_NIL;
nimZeroMem((void*)T23_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
colontmpD__13 = getSysMagic__magicsys_29((*ctx).g, info, TM__V8P104kFw4tUofP7Txw6Sw_75, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)72));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__14 = newSymNode__ast_4784(colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[0] = colontmpD__14;
colontmpD__15 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[1] = colontmpD__15;
colontmpD__16 = newIntTypeNode__ast_4848(IL64(0), intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T23_[2] = colontmpD__16;
cond_3 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T23_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqsink___ast_3549(&(*cond_3).typ, boolTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
boolTyp = 0;
nimZeroMem((void*)T24_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__17 = getSysMagic__magicsys_29((*ctx).g, info, TM__V8P104kFw4tUofP7Txw6Sw_77, ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)93));
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__18 = newSymNode__ast_4784(colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T24_[0] = colontmpD__18;
colontmpD__19 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T24_[1] = colontmpD__19;
negateState = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T24_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
eqsink___ast_3549(&(*negateState).typ, intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
intTyp = 0;
nimZeroMem((void*)T25_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T25_[0] = cond_3;
colontmpD__20 = newStateAssgn__closureiters_42(ctx, negateState);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
T25_[1] = colontmpD__20;
ifBranch_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)86), T25_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
nimZeroMem((void*)T26_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
T26_[0] = ifBranch_2;
ifStmt_2 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92), T26_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(result, ifStmt_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&ifStmt_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__20);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&ifBranch_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&negateState);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__14);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_4060(&colontmpD__13);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&cond_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__21;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__22;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__23;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T31_;
colontmpD__21 = NIM_NIL;
colontmpD__22 = NIM_NIL;
colontmpD__23 = NIM_NIL;
nimZeroMem((void*)T31_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD__21 = newCurExcAccess__closureiters_92(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
T31_[0] = colontmpD__21;
colontmpD__22 = callCodegenProc__lowerings_642((*ctx).g, TM__V8P104kFw4tUofP7Txw6Sw_78, unknownLineInfo__lineinfos_338, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL), ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
T31_[1] = colontmpD__22;
colontmpD__23 = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73), T31_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
add__ast_6233(result, colontmpD__23);
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
{
LA30_:;
}
{
oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__23);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&colontmpD__21);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin30_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&boolTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&intTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, wrapIntoTryExcept__closureiters_1626)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* setupExc;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* tryBody;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* exceptBranch;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T3_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T4_;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T5_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
setupExc = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
tryBody = NIM_NIL;
exceptBranch = NIM_NIL;
colontmpD__4 = NIM_NIL;
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = getCompilerProc__magicsys_146((*ctx).g, TM__V8P104kFw4tUofP7Txw6Sw_71);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD__2;
colontmpD__3 = newCurExcAccess__closureiters_92(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[1] = colontmpD__3;
setupExc = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T3_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T3_[0] = setupExc;
T3_[1] = n;
tryBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T3_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T4_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__4 = newCatchBody__closureiters_1589(ctx, (*(*ctx).fn).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_[0] = colontmpD__4;
exceptBranch = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)87), T4_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T5_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
T5_[0] = tryBody;
T5_[1] = exceptBranch;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106), T5_, 2);
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_3454(&exceptBranch);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&tryBody);
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_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&setupExc);
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*, wrapIntoStateLoop__closureiters_1633)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* loopBody;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* localVars;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blockStmt;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gs;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* blockBody;
tyArray__FIZq7sI4PRP59aHmJ2Mmqwg T2_;
NI T11_;
tyArray__wysJI6hInaI5ABj9aoPL4Dw T12_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
loopBody = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
localVars = NIM_NIL;
blockStmt = NIM_NIL;
colontmpD__3 = NIM_NIL;
gs = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
blockBody = NIM_NIL;
loopBody = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T2_, sizeof(tyArray__FIZq7sI4PRP59aHmJ2Mmqwg));
colontmpD_ = getSysSym__magicsys_16((*ctx).g, (*n).info, TM__V8P104kFw4tUofP7Txw6Sw_70);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newSymNode__ast_4784(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_[0] = colontmpD__2;
T2_[1] = loopBody;
result = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96), T2_, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*result).info = (*n).info;
localVars = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* varSect;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
if (!!(((*ctx).stateVarSym == 0))) goto LA5_;
varSect = NIM_NIL;
colontmpD__6 = NIM_NIL;
varSect = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__6 = newSymNode__ast_4784((*ctx).stateVarSym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
addVar__lowerings_64(varSect, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(localVars, varSect);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!(((*ctx).tempVars == 0))) goto LA9_;
add__ast_6233(localVars, (*ctx).tempVars);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA9_: ;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&varSect);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
blockStmt = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = newSymNode__ast_4784((*ctx).stateLoopLabel);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(blockStmt, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gs = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), (*n).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__4 = newStateAccess__closureiters_36(ctx);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(gs, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_ = (*ctx).states.len;
colontmpD__5 = newIntLit__lowerings_702((*ctx).g, (*n).info, ((NI64) ((NI)(T11_ - ((NI)1)))));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(gs, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)T12_, sizeof(tyArray__wysJI6hInaI5ABj9aoPL4Dw));
T12_[0] = gs;
T12_[1] = localVars;
T12_[2] = n;
blockBody = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), T12_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T17_;
if (!(*ctx).hasExceptions) goto LA15_;
T17_ = NIM_NIL;
T17_ = wrapIntoTryExcept__closureiters_1626(ctx, blockBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&blockBody, T17_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA15_: ;
add__ast_6233(blockStmt, blockBody);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(loopBody, blockStmt);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&blockBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&gs);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&blockStmt);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&localVars);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&loopBody);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3915)(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
eqdestroy___ast_3723((&(*dest).finallys));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).config);
if (!T3_) goto LA4_;
eqdestroy___options_3149((*dest).config);
nimRawDispose((*dest).config, ((NI)8));
}
LA4_: ;
eqdestroy___semdata_599((&(*dest).blocks));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T8_) goto LA9_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA9_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___closureiters_3882)(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).g);
if (!T3_) goto LA4_;
eqdestroy___modulegraphs_11047((*dest).g);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).g, ((NI)8));
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).fn);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).fn);
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).stateVarSym);
if (!T13_) goto LA14_;
nimDestroyAndDispose((*dest).stateVarSym);
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLast((*dest).tmpResultSym);
if (!T18_) goto LA19_;
nimDestroyAndDispose((*dest).tmpResultSym);
}
LA19_: ;
{
NIM_BOOL T23_;
T23_ = (NIM_BOOL)0;
T23_ = nimDecRefIsLast((*dest).unrollFinallySym);
if (!T23_) goto LA24_;
nimDestroyAndDispose((*dest).unrollFinallySym);
}
LA24_: ;
{
NIM_BOOL T28_;
T28_ = (NIM_BOOL)0;
T28_ = nimDecRefIsLast((*dest).curExcSym);
if (!T28_) goto LA29_;
nimDestroyAndDispose((*dest).curExcSym);
}
LA29_: ;
eqdestroy___ast_3723((&(*dest).states));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T33_;
T33_ = (NIM_BOOL)0;
T33_ = nimDecRefIsLast((*dest).stateLoopLabel);
if (!T33_) goto LA34_;
nimDestroyAndDispose((*dest).stateLoopLabel);
}
LA34_: ;
{
NIM_BOOL T38_;
T38_ = (NIM_BOOL)0;
T38_ = nimDecRefIsLast((*dest).tempVars);
if (!T38_) goto LA39_;
eqdestroy___ast_3466((*dest).tempVars);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).tempVars, ((NI)8));
}
LA39_: ;
eqdestroy___pureZosproc_403((&(*dest).exceptionTable));
{
NIM_BOOL T43_;
T43_ = (NIM_BOOL)0;
T43_ = nimDecRefIsLastCyclicStatic((*dest).idgen, (&NTIv2__C1k2TcDRT9cU4DEatQIT09ag_));
if (!T43_) goto LA44_;
eqdestroy___ast_3232((*dest).idgen);
nimRawDispose((*dest).idgen, ((NI)4));
}
LA44_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformClosureIterator__closureiters_3829)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* fn, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw ctx;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__2;
tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA pc;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* colontmpD__3;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n_2;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gotoOut;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T10_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T11_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T12_;
NI T13_;
tyArray__ITlg8UhAbnS7vsiPAhcspQ T14_;
NIM_BOOL ns;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T15_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T25_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T26_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&ctx), sizeof(tyObject_Ctx__7XP0m3nt4xok1MnitrnIQw));
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA));
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
n_2 = NIM_NIL;
colontmpD__5 = NIM_NIL;
gotoOut = NIM_NIL;
colontmpD__6 = NIM_NIL;
colontmpD__7 = NIM_NIL;
eqcopy___modulegraphs_11315(&ctx.g, g);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_4063(&ctx.fn, fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3247(&ctx.idgen, idgen, NIM_TRUE);
{
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* colontmpD__8;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw T6_;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg T7_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T8_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T9_;
colontmpD_ = getEnvParam__lambdalifting_132(fn);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(colontmpD_ == 0)) goto LA4_;
colontmpD__8 = NIM_NIL;
colontmpD__8 = getIdent__idents_166((*ctx.g).cache, TM__V8P104kFw4tUofP7Txw6Sw_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T6_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T7_ = 0;
T8_ = NIM_NIL;
T8_ = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8), colontmpD__8, T6_, fn, (*fn).info, T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&ctx.stateVarSym, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T9_ = NIM_NIL;
T9_ = createClosureIterStateType__lambdalifting_34(g, fn, idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*ctx.stateVarSym).typ, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___idents_133(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
colontmpD__2 = getIdent__idents_166((*ctx.g).cache, TM__V8P104kFw4tUofP7Txw6Sw_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T10_ = nextSymId__ast_3268(idgen);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_ = 0;
T12_ = NIM_NIL;
T12_ = newSym__ast_4028(((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)22), colontmpD__2, T10_, fn, (*fn).info, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_4066(&ctx.stateLoopLabel, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
nimZeroMem((void*)(&pc), sizeof(tyObject_PreprocessContext__LXhcdf2SL5B15Jw8YIa9cPA));
pc.finallys.len = 0; pc.finallys.p = (tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content*) newSeqPayload(0, sizeof(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*), NIM_ALIGNOF(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*));
colontmpD__3 = 0;
eqcopy___options_3378(&colontmpD__3, (*g).config);
pc.config = colontmpD__3;
colontmpD__4 = 0;
eqcopy___ast_3247(&colontmpD__4, idgen, NIM_TRUE);
pc.idgen = colontmpD__4;
colontmpD__5 = toStmtList__closureiters_137(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
n_2 = preprocess__closureiters_3539((&pc), colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = (NI)0;
T13_ = newState__closureiters_98((&ctx), n_2, ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(void)(T13_);
nimZeroMem((void*)T14_, sizeof(tyArray__ITlg8UhAbnS7vsiPAhcspQ));
colontmpD__6 = newIntLit__lowerings_702(g, (*n_2).info, IL64(-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T14_[0] = colontmpD__6;
gotoOut = newTree__ast_3975(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)156), T14_, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
ns = NIM_FALSE;
T15_ = NIM_NIL;
T15_ = lowerStmtListExprs__closureiters_484((&ctx), n_2, (&ns));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&n_2, T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = hasYieldsInExpressions__closureiters_377(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T18_) goto LA19_;
internalErrorImpl__msgs_1510((*ctx.g).config, unknownLineInfo__lineinfos_338, TM__V8P104kFw4tUofP7Txw6Sw_29, (&TM__V8P104kFw4tUofP7Txw6Sw_30));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA19_: ;
colontmpD__7 = transformClosureIteratorBody__closureiters_1193((&ctx), n_2, gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(void)(colontmpD__7);
deleteEmptyStates__closureiters_1680((&ctx));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115), (*n_2).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** s;
NI i;
NI L;
NI T22_;
s = (tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q**)0;
i = ((NI)0);
T22_ = ctx.states.len;
L = T22_;
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
if (!(i < L)) goto LA24 ;
body = NIM_NIL;
s = &ctx.states.p->data[i];
eqcopy___ast_3457(&body, (*(*s))._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
del__closureiters_3859((&(*(*s))._kind_6.sons), ((NI)1));
add__ast_6233(result, (*s));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i += ((NI)1);
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA24: ;
}
}
T25_ = NIM_NIL;
T25_ = transformStateAssignments__closureiters_1406((&ctx), result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T26_ = NIM_NIL;
T26_ = wrapIntoStateLoop__closureiters_1633((&ctx), result);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3460(&result, T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&gotoOut);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&n_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___closureiters_3915((&pc));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___idents_133(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___closureiters_3882((&ctx));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}