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

13088 lines
476 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_TCtx__b6xwcD9cMKdlvd6DZIf4rHg tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg;
typedef struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA;
typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content tySequence__E8pi9b5QNahsURYzXMjh3qw_Content;
typedef struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag;
typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content;
typedef struct tySequence__vGSdgYDvgwpTIM9bdnxpXHA tySequence__vGSdgYDvgwpTIM9bdnxpXHA;
typedef struct tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content;
typedef struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ;
typedef struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content;
typedef struct tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ;
typedef struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg;
typedef struct tySequence__6ARqGI2Ygeh4NflrqLf1hQ tySequence__6ARqGI2Ygeh4NflrqLf1hQ;
typedef struct tySequence__6ARqGI2Ygeh4NflrqLf1hQ_Content tySequence__6ARqGI2Ygeh4NflrqLf1hQ_Content;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ;
typedef struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg;
typedef struct tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg;
typedef struct tyObject_Profiler__tQl6UXzSSBVlFmDrJGqqPA tyObject_Profiler__tQl6UXzSSBVlFmDrJGqqPA;
typedef struct tyObject_TStackFrame__N30BaqTxdO9aOeBDi8omH3g tyObject_TStackFrame__N30BaqTxdO9aOeBDi8omH3g;
typedef struct tySequence__L8fp6QCa2lczU05QM7SC9cg tySequence__L8fp6QCa2lczU05QM7SC9cg;
typedef struct tySequence__L8fp6QCa2lczU05QM7SC9cg_Content tySequence__L8fp6QCa2lczU05QM7SC9cg_Content;
typedef struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ;
typedef struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw;
typedef struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA;
typedef struct tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA;
typedef struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA;
typedef struct tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ tySequence__xxu3GgaFAGO6lOns9aHaeLQ;
typedef struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ tySequence__dJt9ak0PHeYYhnT7tdKLoOQ;
typedef struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content;
typedef struct tySequence__IKjIhq49bzOoAeTg2ER8PSA tySequence__IKjIhq49bzOoAeTg2ER8PSA;
typedef struct tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content;
typedef struct tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q;
typedef struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA tySequence__npXKLeClRo4ZDs6rPxQ9bRA;
typedef struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw tySequence__o8paxaScVM7VHajE9a8rbyw;
typedef struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content tySequence__o8paxaScVM7VHajE9a8rbyw_Content;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg tySequence__SE64IkxZVzsW0aLsNjnJHg;
typedef struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content tySequence__SE64IkxZVzsW0aLsNjnJHg_Content;
typedef struct tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ;
typedef struct tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ;
typedef struct 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_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 tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg;
typedef struct tyObject_VmArgs__m5KtcByJU2AdS9bbHP7rUig tyObject_VmArgs__m5KtcByJU2AdS9bbHP7rUig;
typedef struct tyTuple__o6BCEw8CrFLefGO7X45k6w tyTuple__o6BCEw8CrFLefGO7X45k6w;
typedef struct tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyTuple__5ax60W9cMsa4brP9b9aNP9cF9aw tyTuple__5ax60W9cMsa4brP9b9aNP9cF9aw;
typedef struct tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ;
typedef struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug tyObject_Iface__GILGqST9an4kYyzfE9aqumug;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA tySequence__khRnfByqYV6qzEm71s9aoMA;
typedef struct tySequence__khRnfByqYV6qzEm71s9aoMA_Content tySequence__khRnfByqYV6qzEm71s9aoMA_Content;
typedef struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA;
typedef struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content;
typedef struct tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw;
typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q;
typedef struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content;
typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA tySequence__9a35SUiZaZnQQczCKMafPpA;
typedef struct tySequence__9a35SUiZaZnQQczCKMafPpA_Content tySequence__9a35SUiZaZnQQczCKMafPpA_Content;
typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw tySequence__E0A6SaW1v3EKBAVAijH8Mw;
typedef struct tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content;
typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ tySequence__ksIzANWGKlNIZxswx6UF9cQ;
typedef struct tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content;
typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg tySequence__rg1JHBuFtw6jyGZxePBOTg;
typedef struct tySequence__rg1JHBuFtw6jyGZxePBOTg_Content tySequence__rg1JHBuFtw6jyGZxePBOTg_Content;
typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q tySequence__6xT3ssEcZuds56oxe6Hi1Q;
typedef struct tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content;
typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA tySequence__0kQhEjYsrU0bQoX6VKnNbA;
typedef struct tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content;
typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg tySequence__cNHcFk7EiJIuDgTjWY8U9bg;
typedef struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content;
typedef struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg;
typedef struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content;
typedef struct tyObject_Table__wOXFN2eadVouctMpJwmcSA tyObject_Table__wOXFN2eadVouctMpJwmcSA;
typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg tySequence__9afGcb6vqUeksMMfijyiRIg;
typedef struct tySequence__9afGcb6vqUeksMMfijyiRIg_Content tySequence__9afGcb6vqUeksMMfijyiRIg_Content;
typedef struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw;
typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA tyTuple__DlfALjW9a9aZbdaEgWjgJiDA;
typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA tySequence__rbrgPpeV9be6C3GwbBbkmpA;
typedef struct tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content;
typedef struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ;
typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg tySequence__QuE9aHaZlhk7otugTn0uD9cg;
typedef struct tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content;
typedef struct tyTuple__kjLAcEjcuUUb5HQQFd004Q tyTuple__kjLAcEjcuUUb5HQQFd004Q;
typedef struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw;
typedef struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw;
typedef struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA;
typedef struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg tyTuple__sr9ahxowKRwC2RZn4t1m9bTg;
typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA tySequence__KBDwsdF2UrZmqdc6bU9bHbA;
typedef struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content;
typedef struct tyTuple__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_TFullReg__TAKBj64um9cIhYRFcPXkxSQ tyObject_TFullReg__TAKBj64um9cIhYRFcPXkxSQ;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q tyObject_PackedNode__4DO5SncX6BltUGwnK9bpl3Q;
typedef struct tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg tyObject_PackedLineInfo__wLj9aHuk4ZvBakrzOfuTRFg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__4mROXJDLgq3TboX1QMTCWQ tyTuple__4mROXJDLgq3TboX1QMTCWQ;
typedef struct tyTuple__o7TpijPv9bOBH56jcsA2W3Q tyTuple__o7TpijPv9bOBH56jcsA2W3Q;
typedef struct tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw tyObject_PackedInstantiation__OE4cbwsIr9bR8qwTi4zXZWw;
typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ tySequence__IWXeVgKgI4IltTBItDiIwQ;
typedef struct tySequence__IWXeVgKgI4IltTBItDiIwQ_Content tySequence__IWXeVgKgI4IltTBItDiIwQ_Content;
typedef struct tyTuple__t08apXFlOi7QMiJ7EqOynA tyTuple__t08apXFlOi7QMiJ7EqOynA;
typedef struct tyTuple__mPT8UQTez4CkORDSYBMX5Q tyTuple__mPT8UQTez4CkORDSYBMX5Q;
typedef struct tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA tyObject_PackedSym__lJeIt8gwxYwQVC9aD43t8QA;
typedef struct tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ tyObject_PackedLib__mP6VjReWkytOIw7KYWGjGQ;
typedef struct tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ tyObject_PackedType__KhxjjuiksMoB49bARLu38lQ;
typedef struct tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg tyTuple__jB9c7GkyAKeO0wCNdUB5Pdg;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA tyObject_LazyType__SN9c3fsi9b9ajltls5ZKIUiTA;
typedef struct tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA tyObject_LazyInstantiation__9a6qqvxx8ZzdJrEGrAFijCA;
typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg tySequence__29btfq9cDuCZmHsAEmuBeMOg;
typedef struct tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content tySequence__29btfq9cDuCZmHsAEmuBeMOg_Content;
typedef struct tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ tyObject_TInstantiation__8SLhhTGRSJj9a3g5KOHqwdQ;
typedef struct tyTuple__pDyHME2vky9bxBYZlE7PoZg tyTuple__pDyHME2vky9bxBYZlE7PoZg;
typedef struct tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w tyObject_SymInfoPair__tdBivcU9bT8j1LrgpcSZ9a6w;
struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
NI len; tySequence__E8pi9b5QNahsURYzXMjh3qw_Content* p;
};
struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
tySequence__E8pi9b5QNahsURYzXMjh3qw data;
NI counter;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA {
RootObj Sup;
tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen;
};
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
NI len; tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content* p;
};
struct tySequence__vGSdgYDvgwpTIM9bdnxpXHA {
NI len; tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content* p;
};
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ {
NI len; tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content* p;
};
typedef NU8 tyEnum_TEvalMode__bzKsByQdtJOXOcqlXsimIg;
typedef NU8 tySet_tyEnum_TSandboxFlag__Z3mEqyGzK2r5jDOYDl7W1Q;
struct tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg {
NU16 line;
NI16 col;
NI32 fileIndex;
};
struct tySequence__6ARqGI2Ygeh4NflrqLf1hQ {
NI len; tySequence__6ARqGI2Ygeh4NflrqLf1hQ_Content* p;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tyObject_Profiler__tQl6UXzSSBVlFmDrJGqqPA {
NF tEnter;
tyObject_TStackFrame__N30BaqTxdO9aOeBDi8omH3g* tos;
};
struct tySequence__L8fp6QCa2lczU05QM7SC9cg {
NI len; tySequence__L8fp6QCa2lczU05QM7SC9cg_Content* p;
};
struct tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg {
tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA Sup;
tySequence__YdLNCDKYeipzJx3I8Xw82Q code;
tySequence__vGSdgYDvgwpTIM9bdnxpXHA debug;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* globals;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constants;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ types;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* currentExceptionA;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* currentExceptionB;
NI exceptionInstr;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* prc;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* callsite;
tyEnum_TEvalMode__bzKsByQdtJOXOcqlXsimIg mode;
tySet_tyEnum_TSandboxFlag__Z3mEqyGzK2r5jDOYDl7W1Q features;
NIM_BOOL traceActive;
NI loopIterations;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg comesFromHeuristic;
tySequence__6ARqGI2Ygeh4NflrqLf1hQ callbacks;
NimStringV2 errorFlag;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph;
NI oldErrorCount;
tyObject_Profiler__tQl6UXzSSBVlFmDrJGqqPA profiler;
NI* templInstCounter;
tySequence__L8fp6QCa2lczU05QM7SC9cg vmstateDiff;
tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w procToCodePos;
};
struct tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw {
NI32 module;
NI32 item;
};
struct tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ {
RootObj Sup;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw itemId;
};
typedef NU8 tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ;
typedef NU16 tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg;
typedef NU64 tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU32 tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg;
typedef NU8 tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw;
typedef NU8 tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg;
typedef NU16 tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw;
struct tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA {
tyEnum_TLocKind__iCEcZjTaghPmL3Wx2e5DQw k;
tyEnum_TStorageLoc__BKvMXWvKko6Yn5329c9aw9afg storage;
tySet_tyEnum_TLocFlag__9a7m8BSAfzn6yluCKaq6viw flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* lode;
NimStringV2 r;
};
struct tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ kind;
union{
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* gcUnsafetyReason;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* transformedBody;
} _kind_1;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* guard;
NI bitsize;
NI alignment;
} _kind_2;
};
tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg magic;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* name;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg flags;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ast;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
NI position;
NI offset;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TLib__tP0u9cd1FuZgfCfM3WIm9cRg* annex;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constraint;
};
typedef NU8 tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw;
typedef NU8 tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ;
typedef NU32 tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU8 tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ;
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ {
NI len; tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content* p;
};
struct tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info;
tySet_tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw flags;
tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringV2 strVal;
} _kind_3;
struct {tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
} _kind_4;
struct {tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* ident;
} _kind_5;
struct {tySequence__xxu3GgaFAGO6lOns9aHaeLQ sons;
} _kind_6;
};
};
typedef NU8 tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg;
typedef NU8 tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA;
typedef NU8 tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringV2 Field0;
NI Field1;
NI Field2;
};
struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ {
NI len; tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content* p;
};
struct tySequence__IKjIhq49bzOoAeTg2ER8PSA {
NI len; tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content* p;
};
struct tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ {
tySequence__dJt9ak0PHeYYhnT7tdKLoOQ blocks;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
tySequence__IKjIhq49bzOoAeTg2ER8PSA regInfo;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* label;
tySequence__qwqHTkRvwhrRyENtudHQ7g fixups;
};
typedef NU8 tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw;
struct tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q {
NIM_BOOL Field0;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw Field1;
};
typedef NU8 tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ;
typedef NU8 tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw;
typedef NU64 tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
struct tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA {
tyObject_TIdObj__jPSvrmNCWI4CL3MSWxUHJQ Sup;
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kind;
tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw callConv;
tySet_tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q flags;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ sons;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
tyObject_TLoc__cQfx3WjJDtozqFtY4RdR9cA loc;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typeInst;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw uniqueId;
};
typedef NU8 tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q;
typedef NU8 tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg;
typedef NU8 tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w;
typedef NU8 tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow;
typedef NU8 tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg;
struct tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg {
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow targetCPU;
tyEnum_TSystemCPU__ggCm2K7NXHAwcXG5u9bs1ow hostCPU;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg targetOS;
tyEnum_TSystemOS__iZn2NSk2cFW6r5TYhTTIjg hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringV2 tnl;
};
typedef NU64 tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw;
typedef NU8 tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag;
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA {
NI len; tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw data;
NI counter;
};
struct tySequence__o8paxaScVM7VHajE9a8rbyw {
NI len; tySequence__o8paxaScVM7VHajE9a8rbyw_Content* p;
};
struct tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__9ctbjKnMCtYsSPmUdTwRvag errorOutputs;
tySequence__npXKLeClRo4ZDs6rPxQ9bRA msgContext;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__o8paxaScVM7VHajE9a8rbyw fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ;
typedef NU8 tyEnum_Command__b145RBTl7bacomLHdBguHg;
typedef NU8 tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg;
typedef NU8 tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ;
typedef NU8 tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw data;
NI counter;
};
typedef NU32 tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA;
typedef NU8 tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g;
typedef NU8 tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg;
typedef NU8 tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g;
typedef NU8 tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw[12];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NU8 tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA;
struct tySequence__SE64IkxZVzsW0aLsNjnJHg {
NI len; tySequence__SE64IkxZVzsW0aLsNjnJHg_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___fw9a9cWgWYzM4zKmnq3DGNfQ* result, void* ClE_0);
void* ClE_0;
} tyProc__UwsGaXGCDEc7Akhwij5HRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 msg, tyEnum_Severity__R4Rvu3XsQ2ynPKxZt1L82g severity, void* ClE_0);
void* ClE_0;
} tyProc__9a8L4QvXftisHTVzCsMCKUA;
struct tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg {
tyEnum_TBackend__s27DA9b8P4ksjjsndcLjR2w backend;
tyObject_Target__XQWVo9aPbyuL9b6bNh22dfIg target;
NI linesCompiled;
tySet_tyEnum_TOption__PrH9cMsvu5oCG0HODAZ3CAg options;
tySet_tyEnum_TGlobalOption__9bU4j0PZjdMiF7DRotXVQZw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
tyObject_MsgConfig__9b2CYq6hCo8aU6ikssKccag m;
tyEnum_FilenameOption__hVFMNPLaxRz7xWOSR9cMItQ filenameOption;
NimStringV2 unitSep;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_Command__b145RBTl7bacomLHdBguHg cmd;
NimStringV2 cmdInput;
NIM_BOOL projectIsCmd;
NIM_BOOL implicitCmd;
tyEnum_TGCMode__yL7PTPtUQsYlPsanXzkjrg selectedGC;
tyEnum_ExceptionSystem__ZMRdhT0e8tpR7rr8gLMDuQ exc;
NIM_BOOL hintProcessingDots;
NI verbosity;
NI numberOfProcessors;
NF lastCmdTime;
tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ symbolFiles;
NI spellSuggestMax;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringV2 headerFile;
tySet_tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA features;
tySet_tyEnum_LegacyFeature__hzKi8qlAHieq3BJnAlkP7g legacyFeatures;
NimStringV2 arguments;
tyEnum_IdeCmd__qiJleSvN9cnmxSLkFbpwy9bg ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__dgUCsRcxVc28Cqkdlw0u8g cCompiler;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw modifiedyNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw cmdlineNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw foreignPackageNotes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw notes;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw warningAsErrors;
tySet_tyEnum_TMsgKind__w451l0dg4CacKSKYxza9cvw mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
NIM_BOOL isVmTrace;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
NimStringV2 outFile;
NimStringV2 outDir;
NimStringV2 jsonBuildFile;
NimStringV2 prefixDir;
NimStringV2 libpath;
NimStringV2 nimcacheDir;
tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringV2 projectName;
NimStringV2 projectPath;
NimStringV2 projectFull;
NIM_BOOL projectIsStdin;
tySet_tyEnum_StdOrrKind__C4nP6ZSJZRe8Um4ny9bnbwA lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringV2 command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
NimStringV2 commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
NimStringV2 docSeeSrcUrl;
NimStringV2 docRoot;
NimStringV2 docCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
NimStringV2 linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
NimStringV2 linkOptions;
NimStringV2 compileOptions;
NimStringV2 cCompilerPath;
tySequence__SE64IkxZVzsW0aLsNjnJHg toCompile;
tyProc__UwsGaXGCDEc7Akhwij5HRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__9a8L4QvXftisHTVzCsMCKUA structuredErrorHook;
NimStringV2 cppCustomNamespace;
NimStringV2 nimMainPrefix;
tyObject_ProfileDatacolonObjectType___0tIytioPEQIg9axPcCaYjTQ* vmProfileData;
};
typedef NU8 tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA;
typedef NU16 tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA;
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 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_TIdent__L29bfCasnfXpB7u88iPkwMA {
NI id;
NimStringV2 s;
tyObject_TIdent__L29bfCasnfXpB7u88iPkwMA* next;
NI h;
};
typedef NU8 tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ[9];
typedef NU8 tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw;
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef NU8 tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__m5KtcByJU2AdS9bbHP7rUig* args, void* ClE_0);
void* ClE_0;
} tyProc__mrbYLH5hYlbDOLEIrzz3iw;
struct tyTuple__o6BCEw8CrFLefGO7X45k6w {
NimStringV2 Field0;
tyProc__mrbYLH5hYlbDOLEIrzz3iw Field1;
};
typedef NU8 tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w;
struct tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ {
RootObj Sup;
NI colonstate_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t21;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* targ22;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n3;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg4;
};
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
typedef N_CLOSURE_PTR(NIM_BOOL, TM__oYO8oEb9aAFcVmMqh9adT1hQ_78) (void);
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
typedef NU8 tyEnum_TSandboxFlag__Z3mEqyGzK2r5jDOYDl7W1Q;
#ifndef tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP
#define tySequence__E8pi9b5QNahsURYzXMjh3qw_Content_PP
struct tySequence__E8pi9b5QNahsURYzXMjh3qw_Content { NI cap; tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content_PP
#define tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content_PP
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content { NI cap; NU64 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content_PP
#define tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content_PP
struct tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content { NI cap; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg 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__6ARqGI2Ygeh4NflrqLf1hQ_Content_PP
#define tySequence__6ARqGI2Ygeh4NflrqLf1hQ_Content_PP
struct tySequence__6ARqGI2Ygeh4NflrqLf1hQ_Content { NI cap; tyTuple__o6BCEw8CrFLefGO7X45k6w data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__5ax60W9cMsa4brP9b9aNP9cF9aw {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field0;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field1;
};
#ifndef tySequence__L8fp6QCa2lczU05QM7SC9cg_Content_PP
#define tySequence__L8fp6QCa2lczU05QM7SC9cg_Content_PP
struct tySequence__L8fp6QCa2lczU05QM7SC9cg_Content { NI cap; tyTuple__5ax60W9cMsa4brP9b9aNP9cF9aw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content_PP
#define tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content_PP
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q_Content { NI cap; NU64 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content_PP
#define tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content_PP
struct tySequence__vGSdgYDvgwpTIM9bdnxpXHA_Content { NI cap; tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg 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__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
#define tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content { NI cap; tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content_PP
#define tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content_PP
struct tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content { NI cap; tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
#define tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content { NI cap; tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ 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__IKjIhq49bzOoAeTg2ER8PSA_Content_PP
#define tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content_PP
struct tySequence__IKjIhq49bzOoAeTg2ER8PSA_Content { NI cap; tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q 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__3N9c2HK9cpi9cfEKxHnvsLXkg {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg Field0;
NimStringV2 Field1;
};
#ifndef tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
#define tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content_PP
struct tySequence__npXKLeClRo4ZDs6rPxQ9bRA_Content { NI cap; tyTuple__3N9c2HK9cpi9cfEKxHnvsLXkg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringV2 Field1;
NI32 Field2;
};
#ifndef tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
#define tySequence__7lEisrXlQEzwtUKW5pzRCw_Content_PP
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];};
#endif
struct tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg {
NimStringV2 fullPath;
NimStringV2 projPath;
NimStringV2 shortName;
NimStringV2 quotedName;
NimStringV2 quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
NimStringV2 dirtyFile;
NimStringV2 hash;
NIM_BOOL dirty;
};
#ifndef tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
#define tySequence__o8paxaScVM7VHajE9a8rbyw_Content_PP
struct tySequence__o8paxaScVM7VHajE9a8rbyw_Content { NI cap; tyObject_TFileInfo__2aBuGcbJEvokyJmg1PN0eg data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringV2 Field1;
};
#ifndef tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
#define tySequence__4eRCaZmrYLLw2k30GPTiMw_Content_PP
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og;
struct tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ {
NimStringV2 nimname;
NimStringV2 cname;
NimStringV2 obj;
tySet_tyEnum_CfileFlag__quKxtOiNkuU9aFwgmRK07Og flags;
NimStringV2 customArgs;
};
#ifndef tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
#define tySequence__SE64IkxZVzsW0aLsNjnJHg_Content_PP
struct tySequence__SE64IkxZVzsW0aLsNjnJHg_Content { NI cap; tyObject_Cfile__MtXNOrgFiCQ50Z86OxawlQ data[SEQ_DECL_SIZE];};
#endif
struct tySequence__khRnfByqYV6qzEm71s9aoMA {
NI len; tySequence__khRnfByqYV6qzEm71s9aoMA_Content* p;
};
struct tyObject_Iface__GILGqST9an4kYyzfE9aqumug {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module;
tySequence__khRnfByqYV6qzEm71s9aoMA converters;
tySequence__khRnfByqYV6qzEm71s9aoMA patterns;
tySequence__khRnfByqYV6qzEm71s9aoMA pureEnums;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg interf;
tyObject_TStrTable__oh42nAr9awCy3TD3e9b5LxLg interfHidden;
NimStringV2 uniqueName;
};
#ifndef tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP
#define tySequence__9czS3pDdyAs7bxglDcl2YyA_Content_PP
struct tySequence__9czS3pDdyAs7bxglDcl2YyA_Content { NI cap; tyObject_Iface__GILGqST9an4kYyzfE9aqumug data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA;
struct tySequence__PXIzfWocnrafGz5p3CP5LA {
NI len; tySequence__PXIzfWocnrafGz5p3CP5LA_Content* p;
};
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
NI len; tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content* p;
};
struct tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q {
NI len; tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q_Content* p;
};
struct tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw {
tySequence__UcUXRl4r0D9c3zw9ayCMUU7Q nodes;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
NI len; tySequence__b89aLriiJnVTD186H6zNIgg_Content* p;
};
struct tySequence__9a35SUiZaZnQQczCKMafPpA {
NI len; tySequence__9a35SUiZaZnQQczCKMafPpA_Content* p;
};
struct tySequence__E0A6SaW1v3EKBAVAijH8Mw {
NI len; tySequence__E0A6SaW1v3EKBAVAijH8Mw_Content* p;
};
struct tySequence__ksIzANWGKlNIZxswx6UF9cQ {
NI len; tySequence__ksIzANWGKlNIZxswx6UF9cQ_Content* p;
};
struct tySequence__rg1JHBuFtw6jyGZxePBOTg {
NI len; tySequence__rg1JHBuFtw6jyGZxePBOTg_Content* p;
};
struct tySequence__6xT3ssEcZuds56oxe6Hi1Q {
NI len; tySequence__6xT3ssEcZuds56oxe6Hi1Q_Content* p;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g;
struct tySequence__0kQhEjYsrU0bQoX6VKnNbA {
NI len; tySequence__0kQhEjYsrU0bQoX6VKnNbA_Content* p;
};
struct tySequence__cNHcFk7EiJIuDgTjWY8U9bg {
NI len; tySequence__cNHcFk7EiJIuDgTjWY8U9bg_Content* p;
};
struct tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg {
tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p;
};
struct tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg {
tySequence__IHUFRsFxZNv7YydiUO2esQ vals;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA {
NimStringV2 definedSymbols;
tySet_tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg moduleFlags;
tySequence__PXIzfWocnrafGz5p3CP5LA includes;
tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw toReplay;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw topLevel;
tyObject_PackedTree__NQ7d1M9bD3cUZLhD9aRSVMRw bodies;
tySequence__b89aLriiJnVTD186H6zNIgg exports;
tySequence__b89aLriiJnVTD186H6zNIgg hidden;
tySequence__9a35SUiZaZnQQczCKMafPpA reexports;
tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs;
tySequence__48JTohSgTy339bRxHzUD8KA converters;
tySequence__48JTohSgTy339bRxHzUD8KA methods;
tySequence__48JTohSgTy339bRxHzUD8KA trmacros;
tySequence__48JTohSgTy339bRxHzUD8KA pureEnums;
tySequence__E0A6SaW1v3EKBAVAijH8Mw typeInstCache;
tySequence__ksIzANWGKlNIZxswx6UF9cQ procInstCache;
tySequence__rg1JHBuFtw6jyGZxePBOTg attachedOps;
tySequence__6xT3ssEcZuds56oxe6Hi1Q methodsPerType;
tySequence__E0A6SaW1v3EKBAVAijH8Mw enumToStringProcs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo;
tySet_tyEnum_ModuleBackendFlag__UvVQ3c8fcznoZW2T46kK6g backendFlags;
tySequence__0kQhEjYsrU0bQoX6VKnNbA syms;
tySequence__cNHcFk7EiJIuDgTjWY8U9bg types;
tyObject_BiTable__9ai5oxTvigdfDUwtWWva5Wg strings;
tyObject_BiTable__iA9a9bnTrbRRuP29bd9cCIke9bg numbers;
tyObject_PackedConfig__MKBtxaJKSgIb29cEaKwGN9bw cfg;
};
struct tySequence__9afGcb6vqUeksMMfijyiRIg {
NI len; tySequence__9afGcb6vqUeksMMfijyiRIg_Content* p;
};
struct tyObject_Table__wOXFN2eadVouctMpJwmcSA {
tySequence__9afGcb6vqUeksMMfijyiRIg data;
NI counter;
};
struct tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA {
tyEnum_ModuleStatus__QEyqxRJg9cMLyoEGTCNwluA status;
NIM_BOOL symsInit;
NIM_BOOL typesInit;
NIM_BOOL loadedButAliveSetChanged;
tyObject_PackedModule__i9anwDwJxE2V9bIMoIqqe9chA fromDisk;
tySequence__UfuHwINLHlFJGRcvFZqKQQ syms;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ types;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module;
tyObject_Table__wOXFN2eadVouctMpJwmcSA iface;
tyObject_Table__wOXFN2eadVouctMpJwmcSA ifaceHidden;
};
#ifndef tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP
#define tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content_PP
struct tySequence__XHeQfi7ybWnv4ebLBB7afQ_Content { NI cap; tyObject_LoadedModule__Ec6YWszJFmp5VgmpHadnZA data[SEQ_DECL_SIZE];};
#endif
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p;
};
struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
NI counter;
};
struct tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw {
NI32 thisModule;
NI32 lastFile;
NU32 lastLit;
tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ pendingTypes;
tySequence__UfuHwINLHlFJGRcvFZqKQQ pendingSyms;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config;
};
#ifndef tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP
#define tySequence__gDGqa9bft4EIBGJXdPabojw_Content_PP
struct tySequence__gDGqa9bft4EIBGJXdPabojw_Content { NI cap; tyObject_PackedEncoder__7mkdmVhEnEC4f7GEynWrbw data[SEQ_DECL_SIZE];};
#endif
struct tySequence__rbrgPpeV9be6C3GwbBbkmpA {
NI len; tySequence__rbrgPpeV9be6C3GwbBbkmpA_Content* p;
};
struct tyTuple__DlfALjW9a9aZbdaEgWjgJiDA {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__rbrgPpeV9be6C3GwbBbkmpA Field2;
};
#ifndef tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP
#define tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content_PP
struct tySequence__YLW4xuku9cRS9cLOfVzwUxqg_Content { NI cap; tyTuple__DlfALjW9a9aZbdaEgWjgJiDA data[SEQ_DECL_SIZE];};
#endif
struct tySequence__QuE9aHaZlhk7otugTn0uD9cg {
NI len; tySequence__QuE9aHaZlhk7otugTn0uD9cg_Content* p;
};
struct tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__QuE9aHaZlhk7otugTn0uD9cg Field2;
};
#ifndef tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP
#define tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content_PP
struct tySequence__HL9bxOKBQaeJ5XQXd8t8m8g_Content { NI cap; tyTuple__Aaw0efyo1m4v9bdA8Xy39apQ data[SEQ_DECL_SIZE];};
#endif
struct tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA {
NU32 module;
NI32 item;
};
struct tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw {
NI module;
tyObject_PackedItemId__ujcbfSfQQs6BRj9aXRwDsoA packed_0;
};
struct tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw {
tyObject_FullId__3oA6EHvzCx1KvUf9cxJRXXw id;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym;
};
struct tyTuple__kjLAcEjcuUUb5HQQFd004Q {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tyObject_LazySym__Ryd9aJ9bcLvoLBu56Qo9bzm9aw Field2;
};
#ifndef tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP
#define tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content_PP
struct tySequence__M1HR1j8fkzOLdhYymqd9cNA_Content { NI cap; tyTuple__kjLAcEjcuUUb5HQQFd004Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__KBDwsdF2UrZmqdc6bU9bHbA {
NI len; tySequence__KBDwsdF2UrZmqdc6bU9bHbA_Content* p;
};
struct tyTuple__sr9ahxowKRwC2RZn4t1m9bTg {
NI Field0;
tyObject_ItemId__RG5oiYa2xm9bBBKInuP3ECw Field1;
tySequence__KBDwsdF2UrZmqdc6bU9bHbA Field2;
};
#ifndef tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP
#define tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content_PP
struct tySequence__ndtMxvII636Jz8NCVD9a9a0Q_Content { NI cap; tyTuple__sr9ahxowKRwC2RZn4t1m9bTg data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
#define tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content_PP
struct tySequence__Bre9bNyuQOg1EJKitjSzn8w_Content { NI cap; tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
#ifndef tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP
#define tySequence__fdmz6VkIf1ewwrssKYqRFg_Content_PP
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
#ifndef tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP
#define tySequence__kxu4GK0onha2t9bo86mdVAg_Content_PP
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
#define tySequence__48JTohSgTy339bRxHzUD8KA_Content_PP
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
#define tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content_PP
struct tySequence__UfuHwINLHlFJGRcvFZqKQQ_Content { NI cap; tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* data[SEQ_DECL_SIZE];};
#endif
struct tySequence__XpdAmI9cDNdhUBFb3iaYfkw {
NI len; tySequence__XpdAmI9cDNdhUBFb3iaYfkw_Content* p;
};
struct tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q {
NI Field0;
NI32 Field1;
tySequence__XpdAmI9cDNdhUBFb3iaYfkw Field2;
};
#ifndef tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP
#define tySequence__7C9bvULfaDaWykzhm3DspFQ_Content_PP
struct tySequence__7C9bvULfaDaWykzhm3DspFQ_Content { NI cap; tyTuple__NZ83xKYfF4bzmRwdlY9bu0Q data[SEQ_DECL_SIZE];};
#endif
struct tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA {
NI len; tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA_Content* p;
};
struct tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA {
NI Field0;
NI32 Field1;
tySequence__tffJ9cMZMd9ar9a5FqFq6EJ9bA Field2;
};
#ifndef tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP
#define tySequence__kdxAxisTjDkmDgNFb13UQw_Content_PP
struct tySequence__kdxAxisTjDkmDgNFb13UQw_Content { NI cap; tyTuple__7nNcbNXE6cQ88aZ3Fl9bayA data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__iv4s4NUz12iOqq0NB9cYh3Q {
tySequence__UfuHwINLHlFJGRcvFZqKQQ Field0;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* Field1;
};
#ifndef tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP
#define tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content_PP
struct tySequence__ANJm3Ou4QEh9abhA1XpChkw_Content { NI cap; tyTuple__iv4s4NUz12iOqq0NB9cYh3Q data[SEQ_DECL_SIZE];};
#endif
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple__VM7m2WL59bxLeiTf9bI39aJNw {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* Field2;
};
#ifndef tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
#define tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content_PP
struct tySequence__XFoB9aKL0FRcPYq9ajvETv9cQ_Content { NI cap; tyTuple__VM7m2WL59bxLeiTf9bI39aJNw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
#ifndef tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
#define tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content_PP
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ_Content { NI cap; tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__hbzrBSDgTxYG04GZ0NRCew {
NI Field0;
NimStringV2 Field1;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* Field2;
};
#ifndef tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
#define tySequence__UQG43DVXYWx86AitV5pL8g_Content_PP
struct tySequence__UQG43DVXYWx86AitV5pL8g_Content { NI cap; tyTuple__hbzrBSDgTxYG04GZ0NRCew data[SEQ_DECL_SIZE];};
#endif
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringV2 Field1;
NI64 Field2;
};
#ifndef tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
#define tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content_PP
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];};
#endif
struct tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ {
tyObject_NodecolonObjectType___mrvIQfKwBmbEEQo9c7zUoMA* root;
NI entries;
};
struct tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA {
NI Field0;
NimStringV2 Field1;
tyObject_BTree__BxbTQohN8QrxN73DA9bcM9aQ Field2;
};
#ifndef tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
#define tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content_PP
struct tySequence__Xm7Y9aXOt1l5gnWmHgnoqUA_Content { NI cap; tyTuple__ZfcKvWP5Xk7y4Jhmn9aCWgA data[SEQ_DECL_SIZE];};
#endif
typedef N_NIMCALL_PTR(tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA*, tyProc__VAKrl2wuKAJ7HPlD8a2YOQ) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* module, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__CgBBk61cGZM3ckyCzQXJtg) (tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, tyProc__DJHfW17JAEBI2WHr9b1BaKg) (tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* graph, tyObject_TPassContext__9aUzdnrOgAbujYuO39brF9bbA* p, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
struct tyTuple__GicXS2CKoWgwFlNKz2d15w {
tyProc__VAKrl2wuKAJ7HPlD8a2YOQ Field0;
tyProc__CgBBk61cGZM3ckyCzQXJtg Field1;
tyProc__DJHfW17JAEBI2WHr9b1BaKg Field2;
NIM_BOOL Field3;
};
#ifndef tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
#define tySequence__6HN8Af9btfjdnDkSmkCapaA_Content_PP
struct tySequence__6HN8Af9btfjdnDkSmkCapaA_Content { NI cap; tyTuple__GicXS2CKoWgwFlNKz2d15w data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
#define tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content_PP
struct tySequence__xxu3GgaFAGO6lOns9aHaeLQ_Content { NI cap; tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* data[SEQ_DECL_SIZE];};
#endif
struct tyObject_VmArgs__m5KtcByJU2AdS9bbHP7rUig {
NI ra;
NI rb;
NI rc;
tyObject_TFullReg__TAKBj64um9cIhYRFcPXkxSQ* slots;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* currentException;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg currentLineInfo;
};
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
#define tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content_PP
struct tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ_Content { NI cap; tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
#define tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content_PP
struct tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content { NI cap; tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ 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__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
N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__sempass50_486)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w t, NI key);
N_LIB_PRIVATE N_NIMCALL(void, setLen__vmdef_403)(tySequence__YdLNCDKYeipzJx3I8Xw82Q* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, setLen__vmdef_545)(tySequence__vGSdgYDvgwpTIM9bdnxpXHA* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___importer_2418)(tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w* t, NI key, NI val);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_4063)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, transformBody__transf_23)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* prc, tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw flag);
static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_6112)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_393)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a);
N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_370)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI bx);
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, add__vmgen_302)(tySequence__YdLNCDKYeipzJx3I8Xw82Q* x, NU64 value);
N_LIB_PRIVATE N_NIMCALL(void, add__vmgen_322)(tySequence__vGSdgYDvgwpTIM9bdnxpXHA* x, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg value);
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(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___vmdef_1089)(tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ** dest, tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___vmdef_1093)(tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ** dest, tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* src);
N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3340)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params);
N_LIB_PRIVATE N_NIMCALL(void, setLen__vmdef_980)(tySequence__IKjIhq49bzOoAeTg2ER8PSA* s, NI newlen);
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_6068)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3383)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gp);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_4060)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA** dest);
N_LIB_PRIVATE N_NIMCALL(void, add__vmgen_3728)(tySequence__IKjIhq49bzOoAeTg2ER8PSA* x, tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q value);
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_684)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_661)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2272)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2261)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2238)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* a, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* b);
N_LIB_PRIVATE N_NOINLINE(void, cannotEval__vmgen_2235)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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, renderTree__renderer_50)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA renderFlags);
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, genRdVar__vmgen_2471)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
static N_INLINE(NIM_BOOL, importcCond__vmgen_2434)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyBody__vmgen_2418)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getBody__modulegraphs_14894)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3457)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3460)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, loadProcBody__icZic_10545)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* config, tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* cache, tySequence__XHeQfi7ybWnv4ebLBB7afQ* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3454)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q** dest);
N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2446)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2454)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
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*, getNullValue__vmgen_2450)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypes__ast_4803)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeIT__ast_3970)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2728)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* obj, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NI* currPosition);
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3543)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lastSon__ast_6268)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNodeI__ast_3949)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_224)(NimStringV2 msg);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___renderer_2511)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_171)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, lengthOrd__types_1715)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, elemType__types_264)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_341)(tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ e);
N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_520)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tt);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*, skipTypesOrNil__ast_5566)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ kinds);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw, getSlotKind__vmgen_437)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_468)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw k, NI start);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmdef_1086)(tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, bestEffort__vmgen_457)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, astdef__ast_4072)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_689)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2315)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI dest, NI idx, NI value);
N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_275)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI b, NI c);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ, whichAsgnOpc__vmgen_1859)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL requiresCopy);
N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_529)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1827)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2228)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v);
static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_176)(NimStringV2* result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1510)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, NimStringV2 errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w* info2);
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2219)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NIM_BOOL requiresCopy);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3127)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3081)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, NimStringV2 x);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, nsuSplitChar)(NimStringV2 s, NIM_CHAR sep, NI maxsplit);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NimStringV2, X5BX5D___vmgen_3099)(NimStringV2* s, NI sLen_0, NI i);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b);
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_3514)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1204)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1018)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_974)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b);
N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_955)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newIntNode__ast_4791)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind, NI64 intVal);
N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2413)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, NI* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newNode__ast_3934)(tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ kind);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_3546)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1871)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m);
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_945)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_937)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI dest);
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_666)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_420)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI p);
N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1600)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1570)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_342)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI b, NI64 imm);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1417)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1439)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest);
N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3555)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
static N_INLINE(void, unused__vmgen_1031)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI x);
N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1326)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, NI value);
N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1310)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* arr);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg, firstOrd__types_1373)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_317)(tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg a, tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg b);
N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1321)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1293)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
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(NimStringV2, genFieldDefect__astmsgs_61)(tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NimStringV2 field, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* disc);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newStrNode__ast_4885)(NimStringV2 strVal, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_3549)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA** dest, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src);
N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1209)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
static N_INLINE(NIM_BOOL, isEmptyType__ast_6215)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(NI, getTempRange__vmgen_538)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, NI n, tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw kind);
N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1093)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_2000)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* a, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b, tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w flags);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_5673)(tySequence__iPgAQ0li6vRlH9cX9aT6CQgQ* x, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* value);
N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_606)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI start, NI n);
N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1362)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1274)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1376)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1391)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1402)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1409)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI64 imm);
N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1493)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest);
N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1634)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1483)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1465)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1488)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1615)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmgen_4009)(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ* 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, nimDestroyAndDispose)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_3466)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1623)(void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmgen_4033)(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ** dest);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3141)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc);
N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1506)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1545)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lowerSwap__lowerings_252)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ, ldNullOpcode__vmgen_1849)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, skipConv__types_3839)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1525)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1426)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1762)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opcode);
N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1517)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc);
N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1773)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___ast_765)(tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg e);
static N_INLINE(void, clearDest__vmgen_695)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1585)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2337)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NIM_BOOL requiresCopy);
N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2323)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI dest, NI idx, NI value);
N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2611)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genObjAccessAux__vmgen_2587)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI a, NI b, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2669)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2705)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2559)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2185)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2091)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2139)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, canElimAddr__vmgen_2102)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, copyNode__ast_5733)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* src);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1259)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_891)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_706)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, add__vmgen_849)(tySequence__qwqHTkRvwhrRyENtudHQ7g* x, NI value);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmdef_686)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1035)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_738)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_402)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c);
N_LIB_PRIVATE N_NIMCALL(void, add__vmgen_750)(tySequence__dJt9ak0PHeYYhnT7tdKLoOQ* x, tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ value);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_723)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_408)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI p);
N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_619)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI oldLen);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___vmdef_689)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, setLen__vmdef_807)(tySequence__dJt9ak0PHeYYhnT7tdKLoOQ* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_794)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1195)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1190)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_826)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1115)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
static N_INLINE(NI, safeLen__ast_3318)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2854)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, lowerTupleUnpacking__lowerings_117)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_IdGeneratorcolonObjectType___C1k2TcDRT9cU4DEatQIT09ag* idgen, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* owner);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getOwner__vmgen_2255)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, newSymNode__ast_4784)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* sym);
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2970)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2994)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_3008)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3050)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1641)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest);
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3767)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t);
N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3409)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI start);
N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3362)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI pc, NI diff);
N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3291)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c);
static const struct {
NI cap; NIM_CHAR data[43+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_2 = { 43 | NIM_STRLIT_FLAG, "VM: immediate value does not fit into regBx" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_3 = {43, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_2};
static const struct {
NI cap; NIM_CHAR data[35+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_5 = { 35 | NIM_STRLIT_FLAG, "/home/wind/nimv2/compiler/vmgen.nim" };
static const struct {
NI cap; NIM_CHAR data[33+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_7 = { 33 | NIM_STRLIT_FLAG, "cannot evaluate at compile time: " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_8 = {33, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_7};
static const struct {
NI cap; NIM_CHAR data[43+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_10 = { 43 | NIM_STRLIT_FLAG, "cannot \'importc\' variable at compile time; " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_11 = {43, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_10};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_13 = {
0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x10,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[0+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_14 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_15 = {0, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_14};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_16 = {
0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[54+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_17 = { 54 | NIM_STRLIT_FLAG, "vmgen.nim(1826, 5) `obj.sym.position == currPosition` " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_18 = {54, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_17};
static const struct {
NI cap; NIM_CHAR data[32+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_19 = { 32 | NIM_STRLIT_FLAG, "cannot create null element for: " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_20 = {32, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_19};
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_22 = {32, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_19};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_24 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_25 = {
0x10, 0xa8, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[39+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_26 = { 39 | NIM_STRLIT_FLAG, "VM problem: too many registers required" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_27 = {39, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_26};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_29 = {
0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x10,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_30 = { 1 | NIM_STRLIT_FLAG, "(" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_31 = {1, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_30};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_32 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_33 = {2, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_32};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_34 = { 1 | NIM_STRLIT_FLAG, ")" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_35 = {1, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_34};
static const struct {
NI cap; NIM_CHAR data[42+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_37 = { 42 | NIM_STRLIT_FLAG, "Closure iterators are not supported by VM!" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_38 = {42, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_37};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_40 = { 1 | NIM_STRLIT_FLAG, "*" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_41 = {1, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_40};
static const struct {
NI cap; NIM_CHAR data[36+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_42 = { 36 | NIM_STRLIT_FLAG, "vmgen.nim(2020, 7) `s.offset == -1` " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_43 = {36, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_42};
static const struct {
NI cap; NIM_CHAR data[26+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_45 = { 26 | NIM_STRLIT_FLAG, "cannot generate code for: " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_46 = {26, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_45};
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_48 = {26, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_45};
static const struct {
NI cap; NIM_CHAR data[45+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_51 = { 45 | NIM_STRLIT_FLAG, "VM: immediate value does not fit into an int8" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_52 = {45, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_51};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_54 = {
0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[10+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_55 = { 10 | NIM_STRLIT_FLAG, "not unused" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_56 = {10, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_55};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_58 = {
0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_59 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_60 = {
0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_63 = { 15 | NIM_STRLIT_FLAG, "no field symbol" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_64 = {15, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_63};
static const struct {
NI cap; NIM_CHAR data[44+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_66 = { 44 | NIM_STRLIT_FLAG, "too large offset! cannot generate code for: " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_67 = {44, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_66};
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_69 = {39, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_26};
static const struct {
NI cap; NIM_CHAR data[28+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_73 = { 28 | NIM_STRLIT_FLAG, "vmgen.nim(1066, 11) `false` " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_74 = {28, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_73};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_75 = {
0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
N_LIB_PRIVATE TNimTypeV2 NTIv2__eGR9ciOcznsERnkLWO7alWQ_;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_77 = {
0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_79 = {
0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_80 = { 7 | NIM_STRLIT_FLAG, "getType" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_81 = {7, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_80};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_82 = { 8 | NIM_STRLIT_FLAG, "typeKind" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_83 = {8, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_82};
static const struct {
NI cap; NIM_CHAR data[11+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_84 = { 11 | NIM_STRLIT_FLAG, "getTypeInst" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_85 = {11, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_84};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_86 = { 7 | NIM_STRLIT_FLAG, "getSize" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_87 = {7, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_86};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_88 = { 8 | NIM_STRLIT_FLAG, "getAlign" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_89 = {8, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_88};
static const struct {
NI cap; NIM_CHAR data[21+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_90 = { 21 | NIM_STRLIT_FLAG, "invalid bindSym usage" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_91 = {21, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_90};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_93 = { 7 | NIM_STRLIT_FLAG, "getFile" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_94 = {7, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_93};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_95 = { 7 | NIM_STRLIT_FLAG, "getLine" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_96 = {7, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_95};
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_97 = { 9 | NIM_STRLIT_FLAG, "getColumn" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_98 = {9, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_97};
static const struct {
NI cap; NIM_CHAR data[12+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_99 = { 12 | NIM_STRLIT_FLAG, "copyLineInfo" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_100 = {12, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_99};
static const struct {
NI cap; NIM_CHAR data[31+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_103 = { 31 | NIM_STRLIT_FLAG, "expandToAst requires 1 argument" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_104 = {31, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_103};
static const struct {
NI cap; NIM_CHAR data[38+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_106 = { 38 | NIM_STRLIT_FLAG, "expandToAst requires a call expression" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_107 = {38, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_106};
static const struct {
NI cap; NIM_CHAR data[54+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_109 = { 54 | NIM_STRLIT_FLAG, "\'$1\' requires \'.importc\' types to be \'.completeStruct\'" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_110 = {54, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_109};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_112 = { 6 | NIM_STRLIT_FLAG, "sizeof" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_114 = {54, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_109};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_116 = { 7 | NIM_STRLIT_FLAG, "alignof" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_118 = {54, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_109};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_120 = { 8 | NIM_STRLIT_FLAG, "offsetof" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_122 = {26, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_45};
static const struct {
NI cap; NIM_CHAR data[19+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_124 = { 19 | NIM_STRLIT_FLAG, "cannot call method " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_125 = {19, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_124};
static const struct {
NI cap; NIM_CHAR data[16+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_126 = { 16 | NIM_STRLIT_FLAG, " at compile time" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_127 = {16, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_126};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_130 = {
0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[38+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_133 = { 38 | NIM_STRLIT_FLAG, "VM problem: cannot find \'break\' target" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_134 = {38, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_133};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_136 = {
0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[26+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_137 = { 26 | NIM_STRLIT_FLAG, "invalid object constructor" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_138 = {26, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_137};
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_140 = {
0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_141 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ TM__oYO8oEb9aAFcVmMqh9adT1hQ_142 = {
0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static const struct {
NI cap; NIM_CHAR data[32+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_143 = { 32 | NIM_STRLIT_FLAG, "VM does not support \'cast\' from " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_144 = {32, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_143};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_145 = { 4 | NIM_STRLIT_FLAG, " to " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_146 = {4, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_145};
static const struct {
NI cap; NIM_CHAR data[28+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_148 = { 28 | NIM_STRLIT_FLAG, "cannot generate VM code for " };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_149 = {28, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_148};
static const struct {
NI cap; NIM_CHAR data[36+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_152 = { 36 | NIM_STRLIT_FLAG, "VM problem: dest register is not set" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_153 = {36, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_152};
static const struct {
NI cap; NIM_CHAR data[32+1];
} TM__oYO8oEb9aAFcVmMqh9adT1hQ_155 = { 32 | NIM_STRLIT_FLAG, "VM problem: dest register is set" };
static const NimStringV2 TM__oYO8oEb9aAFcVmMqh9adT1hQ_156 = {32, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_155};
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_4 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)161),
((NI)14)}
;
static NIM_CONST tyTuple__7Rb7b2MEe6OPFlPq1Xul2Q TM__oYO8oEb9aAFcVmMqh9adT1hQ_6 = {NIM_TRUE,
((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_9 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1471),
((NI)13)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_12 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1623),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_21 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1828),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_23 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1871),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_28 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)226),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_36 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1678),
((NI)22)}
;
extern NIM_CONST tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg unknownLineInfo__lineinfos_338;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_39 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2038),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_44 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)446),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_47 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2061),
((NI)19)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_49 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2063),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_50 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)183),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_53 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)144),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_57 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)481),
((NI)15)}
;
extern NIM_CONST tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg Zero__int495056_8;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_61 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1730),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_62 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1742),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_65 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)620),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_68 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)623),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_70 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)266),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_71 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)603),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_72 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)527),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_92 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)966),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_101 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1336),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_102 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1339),
((NI)10)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_105 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1362),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_108 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1372),
((NI)17)}
;
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__oYO8oEb9aAFcVmMqh9adT1hQ_111 = {{6, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_112}}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_113 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1374),
((NI)15)}
;
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__oYO8oEb9aAFcVmMqh9adT1hQ_115 = {{7, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_116}}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_117 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1376),
((NI)15)}
;
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__oYO8oEb9aAFcVmMqh9adT1hQ_119 = {{8, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_120}}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_121 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1378),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_123 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1397),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_128 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2070),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_129 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1578),
((NI)6)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_131 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1776),
((NI)2)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_132 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)175),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_135 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)379),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_139 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)1983),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_147 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)942),
((NI)15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_150 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2175),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_151 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2216),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_154 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2201),
((NI)17)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__oYO8oEb9aAFcVmMqh9adT1hQ_157 = {{35, (NimStrPayload*)&TM__oYO8oEb9aAFcVmMqh9adT1hQ_5},
((NI)2192),
((NI)15)}
;
extern NIM_BOOL nimInErrorMode__system_3978;
static NIM_CONST NU32 TM__oYO8oEb9aAFcVmMqh9adT1hQ_76[2] = {3701606400, 1686079488};
N_LIB_PRIVATE TNimTypeV2 NTIv2__eGR9ciOcznsERnkLWO7alWQ_ = {.destructor = (void*)eqdestroy___vmgen_4009, .size = sizeof(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ), .align = (NI16) NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ), .depth = 1, .display = TM__oYO8oEb9aAFcVmMqh9adT1hQ_76, .traceImpl = (void*)NIM_NIL, .flags = 0};
static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_6112)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17));
if (T1_) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13));
if (!(T3_)) goto LA4_;
T3_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)28)))&63U)))!=0);
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3978);
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gABx__vmgen_370)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI bx) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
NU64 ins;
T3_ = (NIM_BOOL)0;
T3_ = (((NI)-8388608) <= bx);
if (!(T3_)) goto LA4_;
T3_ = (bx <= ((NI)8388607));
LA4_: ;
if (!T3_) goto LA5_;
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
ins = (NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) ((NI)(bx + ((NI)8388608))))) << (NU64)(24ULL)));
add__vmgen_302((&(*c).code), ins);
colontmpD_ = (*n).info;
add__vmgen_322((&(*c).debug), colontmpD_);
}
goto LA1_;
LA5_: ;
{
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_4), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, xjmp__vmgen_393)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a) {
NI result;
NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
T1_ = (*c).code.len;
result = T1_;
gABx__vmgen_370(c, n, opc, a, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NI, len__ast_3325)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n)._kind_6.sons.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genParams__vmgen_3340)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* params) {
NI T1_;
NIM_BOOL colontmp_;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = (NI)0;
T1_ = len__ast_3325(params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setLen__vmdef_980((&(*(*c).prc).regInfo), ((NI) (((T1_ >= ((NI)1)) ? T1_ : ((NI)1)))));
colontmp_ = NIM_TRUE;
colontmp__2 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)1);
(*(*c).prc).regInfo.p->data[((NI)0)].Field0 = colontmp_;
(*(*c).prc).regInfo.p->data[((NI)0)].Field1 = colontmp__2;
{
NI i;
NI colontmp__3;
NI i_2;
i = (NI)0;
colontmp__3 = (NI)0;
colontmp__3 = len__ast_3325(params);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)1);
{
while (1) {
NIM_BOOL colontmp__4;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__5;
if (!(i_2 < colontmp__3)) goto LA4 ;
i = i_2;
colontmp__4 = NIM_TRUE;
colontmp__5 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)2);
(*(*c).prc).regInfo.p->data[i].Field0 = colontmp__4;
(*(*c).prc).regInfo.p->data[i].Field1 = colontmp__5;
i_2 += ((NI)1);
} LA4: ;
}
}
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isGenericParams__ast_6045)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = !((n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T1_)) goto LA2_;
T1_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)75));
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutine__ast_6056)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = !((n == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T2_)) goto LA3_;
T2_ = ((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52) || (*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159));
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = isGenericParams__ast_6045((*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_6068)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16));
if (!(T1_)) goto LA2_;
T1_ = isGenericRoutine__ast_6056((*s).ast);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
result = T1_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genGenericParams__vmgen_3383)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* gp) {
NI base;
NI T1_;
NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = (*(*c).prc).regInfo.len;
base = T1_;
T2_ = (NI)0;
T2_ = len__ast_3325(gp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
setLen__vmdef_980((&(*(*c).prc).regInfo), ((NI) ((NI)(base + T2_))));
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(gp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* param;
NIM_BOOL colontmp__2;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__3;
if (!(i_2 < colontmp_)) goto LA5 ;
param = NIM_NIL;
i = i_2;
eqcopy___ast_4063(&param, (*(*gp)._kind_6.sons.p->data[i])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*param).position = (NI)(base + i);
colontmp__2 = NIM_TRUE;
colontmp__3 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)2);
(*(*c).prc).regInfo.p->data[(NI)(base + i)].Field0 = colontmp__2;
(*(*c).prc).regInfo.p->data[(NI)(base + i)].Field1 = colontmp__3;
i_2 += ((NI)1);
eqdestroy___ast_4060(&param);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA5: ;
}
}
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, importcCondVar__vmgen_2261)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
{ result = (NIM_BOOL)0;
{
if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)6)))&63U)))!=0)) goto LA3_;
result = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)10));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedBy__vmgen_2238)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* a, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* b) {
NIM_BOOL result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* a_2;
{ result = (NIM_BOOL)0;
a_2 = NIM_NIL;
a_2 = (*a).owner;
{
while (1) {
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !((a_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = !(((*a_2).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)6)));
LA4_: ;
if (!T3_) goto LA2 ;
{
if (!(a_2 == b)) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
a_2 = (*a_2).owner;
} LA2: ;
}
}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_NOINLINE(void, cannotEval__vmgen_2235)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T2_;
tySet_tyEnum_TRenderFlag__MM5FVX0phapzCgLaUUssTA T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T2_.len = 0; T2_.p = NIM_NIL;
T3_ = 0;
colontmpD_ = renderTree__renderer_50(n, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = rawNewString(colontmpD_.len + 33);
appendString((&T2_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_8);
appendString((&T2_), colontmpD_);
colontmpD__2 = T2_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__2, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_9), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkCanEval__vmgen_2272)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
s = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((268435464 & ~ (*s).flags)==0)) goto LA4_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = (((*(*c).config).features &((NU32)1<<((NU)((((tyEnum_Feature__k2wmsadbuVSPLgnQzpreqA)9)))&31U)))!=0);
if (!(T8_)) goto LA9_;
T8_ = importcCondVar__vmgen_2261(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA9_: ;
if (!T8_) goto LA10_;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA10_: ;
{
NIM_BOOL T14_;
NIM_BOOL T15_;
NIM_BOOL T16_;
NIM_BOOL T18_;
T14_ = (NIM_BOOL)0;
T15_ = (NIM_BOOL)0;
T16_ = (NIM_BOOL)0;
T16_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
if (!(T16_)) goto LA17_;
T18_ = (NIM_BOOL)0;
T18_ = isOwnedBy__vmgen_2238(s, (*(*c).prc).sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T16_ = !(T18_);
LA17_: ;
T15_ = T16_;
if (!(T15_)) goto LA19_;
T15_ = !(((*s).owner == (*c).module));
LA19_: ;
T14_ = T15_;
if (!(T14_)) goto LA20_;
T14_ = !(((*c).mode == ((tyEnum_TEvalMode__bzKsByQdtJOXOcqlXsimIg)0)));
LA20_: ;
if (!T14_) goto LA21_;
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)37)))&63U)))!=0);
if (!(T25_)) goto LA26_;
T25_ = ((*(*c).prc).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
LA26_: ;
if (!T25_) goto LA27_;
}
goto LA23_;
LA27_: ;
{
cannotEval__vmgen_2235(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA23_: ;
}
goto LA12_;
LA21_: ;
{
NIM_BOOL T31_;
T31_ = (NIM_BOOL)0;
T31_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T31_)) goto LA32_;
T31_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)4)))&63U)))!=0);
LA32_: ;
if (!T31_) goto LA33_;
cannotEval__vmgen_2235(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA12_;
LA33_: ;
LA12_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyBody__vmgen_2418)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA4 ;
i = i_2;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = isEmptyBody__vmgen_2418((*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T7_)) goto LA8_;
result = NIM_FALSE;
goto BeforeRet_;
}
LA8_: ;
i_2 += ((NI)1);
} LA4: ;
}
}
result = NIM_TRUE;
}
break;
default:
{
result = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1));
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getBody__modulegraphs_14894)(tyObject_ModuleGraphcolonObjectType___g2oCqJbiuGsLLrs8RBMKXg* g, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_3457(&result, (*(*s).ast)._kind_6.sons.p->data[((NI)6)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T3_;
tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* T7_;
tyObject_IdentCachecolonObjectType___4yiDOEx3Y9aOTV1fsziBtCQ* T8_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T9_;
T3_ = (NIM_BOOL)0;
T3_ = (result == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL));
if (!(T3_)) goto LA4_;
T3_ = ((*(*g).config).symbolFiles == ((tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ)2) || (*(*g).config).symbolFiles == ((tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ)3) || (*(*g).config).symbolFiles == ((tyEnum_SymbolFilesOption__9b9bfTFCONAgeN19bdppgkkHQ)4));
LA4_: ;
if (!T3_) goto LA5_;
T7_ = NIM_NIL;
T7_ = (*g).config;
T8_ = NIM_NIL;
T8_ = (*g).cache;
T9_ = NIM_NIL;
T9_ = loadProcBody__icZic_10545(T7_, T8_, (&(*g).packed_0), s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqsink___ast_3460(&result, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqcopy___ast_3457(&(*(*s).ast)._kind_6.sons.p->data[((NI)6)], result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, importcCond__vmgen_2434)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
if (!(((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)6)))&63U)))!=0)) goto LA3_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18))) goto LA7_;
colontmpD_ = NIM_NIL;
colontmpD_ = getBody__modulegraphs_14894((*c).graph, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
result = isEmptyBody__vmgen_2418(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
{
LA9_:;
}
{
oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin9_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA7_: ;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, importcSym__vmgen_2446)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NimStringV2 colontmpD_;
NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T2_.len = 0; T2_.p = NIM_NIL;
T2_ = rawNewString((*(*s).name).s.len + 43);
appendString((&T2_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_11);
appendString((&T2_), (*(*s).name).s);
colontmpD_ = T2_;
liMessage__msgs_1172((*c).config, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_12), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NI, len__ast_5071)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* n) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*n).sons.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getNullValueAux__vmgen_2728)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* obj, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf, NI* currPosition) {
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NI T6_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* b;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = !((t == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T4_)) goto LA5_;
T6_ = (NI)0;
T6_ = len__ast_5071(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T4_ = (((NI)0) < T6_);
LA5_: ;
T3_ = T4_;
if (!(T3_)) goto LA7_;
T3_ = !(((*t).sons.p->data[((NI)0)] == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA7_: ;
if (!T3_) goto LA8_;
b = NIM_NIL;
b = skipTypes__ast_4803((*t).sons.p->data[((NI)0)], TM__oYO8oEb9aAFcVmMqh9adT1hQ_16);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
getNullValueAux__vmgen_2728(b, (*b).n, result, conf, currPosition);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA8_: ;
switch ((*obj).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)138):
{
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA16 ;
i = i_2;
getNullValueAux__vmgen_2728(((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL), (*obj)._kind_6.sons.p->data[i], result, conf, currPosition);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA16: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)139):
{
getNullValueAux__vmgen_2728(((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL), (*obj)._kind_6.sons.p->data[((NI)0)], result, conf, currPosition);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_3325(obj);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
if (!(i_4 < colontmp__2)) goto LA20 ;
colontmpD_ = NIM_NIL;
i_3 = i_4;
colontmpD_ = lastSon__ast_6268((*obj)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
getNullValueAux__vmgen_2728(((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL), colontmpD_, result, conf, currPosition);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
i_4 += ((NI)1);
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA20: ;
}
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* value;
field = NIM_NIL;
value = NIM_NIL;
field = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34), (*result).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
add__ast_6233(field, obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
value = getNullValue__vmgen_2450((*(*obj)._kind_4.sym).typ, (*result).info, conf);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
(*value).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)24))) & 31);
add__ast_6233(field, value);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
add__ast_6233(result, field);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
{
if (!!(((*(*obj)._kind_4.sym).position == (*currPosition)))) goto LA28_;
failedAssertImpl__stdZassertions_224(TM__oYO8oEb9aAFcVmMqh9adT1hQ_18);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
}
LA28_: ;
(*currPosition) += ((NI)1);
{
LA25_:;
}
{
oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin25_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NimStringV2 colontmpD__2;
NimStringV2 colontmpD__3;
NimStringV2 T34_;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
T34_.len = 0; T34_.p = NIM_NIL;
colontmpD__2 = dollar___renderer_2511(obj);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
T34_ = rawNewString(colontmpD__2.len + 32);
appendString((&T34_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_20);
appendString((&T34_), colontmpD__2);
colontmpD__3 = T34_;
liMessage__msgs_1172(conf, (*result).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_21), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
{
LA33_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
eqdestroy___stdZassertions_13((&colontmpD__2));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, getNullValue__vmgen_2450)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ, tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg info, tyObject_ConfigRefcolonObjectType___2BjaRtGfBjUbX51p9a4g9a9cg* conf) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
t = NIM_NIL;
t = skipTypes__ast_4803(typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_13);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
switch ((*t).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)11), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)16), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___stdZassertions_19((&(*result)._kind_3.strVal), TM__oYO8oEb9aAFcVmMqh9adT1hQ_15);
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)6):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)7):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25):
{
{
if (!!(((*t).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9)))) goto LA10_;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA8_;
LA10_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233(result, colontmpD__2);
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_;
}
LA8_: ;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)17):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NI currPosition;
colontmpD__3 = NIM_NIL;
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
colontmpD__3 = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
add__ast_6233(result, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
currPosition = ((NI)0);
getNullValueAux__vmgen_2728(t, (*t).n, result, conf, (&currPosition));
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg T19_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
T19_ = lengthOrd__types_1715(conf, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmp_ = toInt__int495056_171(T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__4;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__5;
if (!(i_2 < colontmp_)) goto LA21 ;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
i = i_2;
colontmpD__4 = elemType__types_264(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
colontmpD__5 = getNullValue__vmgen_2450(colontmpD__4, info, conf);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
add__ast_6233(result, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
i_2 += ((NI)1);
{
LA22_:;
}
{
oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin22_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA21: ;
}
}
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i_3;
NI colontmp__2;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = len__ast_5071(t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_4 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
if (!(i_4 < colontmp__2)) goto LA28 ;
colontmpD__6 = NIM_NIL;
i_3 = i_4;
colontmpD__6 = getNullValue__vmgen_2450((*t).sons.p->data[i_3], info, conf);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
add__ast_6233(result, colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
i_4 += ((NI)1);
{
LA29_:;
}
{
oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin29_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA28: ;
}
}
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)27):
{
result = newNodeIT__ast_3970(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41), info, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
default:
{
NimStringV2 colontmpD__7;
NimStringV2 colontmpD__8;
NimStringV2 T36_;
colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
T36_.len = 0; T36_.p = NIM_NIL;
colontmpD__7 = dollar___ast_341((*t).kind);
T36_ = rawNewString(colontmpD__7.len + 32);
appendString((&T36_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_22);
appendString((&T36_), colontmpD__7);
colontmpD__8 = T36_;
liMessage__msgs_1172(conf, info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__8, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_23), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
result = newNodeI__ast_3949(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1), info);
if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
{
LA35_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__8));
eqdestroy___stdZassertions_13((&colontmpD__7));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw, getSlotKind__vmgen_437)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__2;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__3;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__4;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD_ = NIM_NIL;
colontmpD__2 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD__3 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD__4 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD__5 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD_ = skipTypes__ast_4803(t, TM__oYO8oEb9aAFcVmMqh9adT1hQ_25);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*colontmpD_).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)15):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44):
{
colontmpD__2 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)4);
result = colontmpD__2;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
colontmpD__3 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)6);
result = colontmpD__3;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39):
{
colontmpD__4 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)5);
result = colontmpD__4;
}
break;
default:
{
colontmpD__5 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)7);
result = colontmpD__5;
}
break;
}
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg, bestEffort__vmgen_457)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c) {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg result;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD__2;
nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
nimZeroMem((void*)(&colontmpD__2), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*c).prc == ((tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ*) NIM_NIL)));
if (!(T3_)) goto LA4_;
T3_ = !(((*(*c).prc).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
LA4_: ;
if (!T3_) goto LA5_;
colontmpD_ = (*(*(*c).prc).sym).info;
result = colontmpD_;
}
goto LA1_;
LA5_: ;
{
colontmpD__2 = (*(*c).module).info;
result = colontmpD__2;
}
LA1_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getFreeRegister__vmgen_468)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw k, NI start) {
NI result;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* c;
NI T31_;
NIM_BOOL colontmp__5;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__6;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
c = NIM_NIL;
eqcopy___vmdef_1089(&c, (*cc).prc, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
NI T3_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T3_ = (*c).regInfo.len;
colontmp_ = (NI)(T3_ - ((NI)1));
res = start;
{
while (1) {
if (!(res <= colontmp_)) goto LA5 ;
i = res;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = ((*c).regInfo.p->data[i].Field1 == k);
if (!(T8_)) goto LA9_;
T8_ = !((*c).regInfo.p->data[i].Field0);
LA9_: ;
if (!T8_) goto LA10_;
(*c).regInfo.p->data[i].Field0 = NIM_TRUE;
result = ((NI) (i));
eqdestroy___vmdef_1086(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA10_: ;
res += ((NI)1);
} LA5: ;
}
}
{
NI T14_;
T14_ = (*c).regInfo.len;
if (!(((NI)65535) <= T14_)) goto LA15_;
{
NI i_2;
NI colontmp__2;
NI T18_;
NI res_2;
i_2 = (NI)0;
colontmp__2 = (NI)0;
T18_ = (*c).regInfo.len;
colontmp__2 = (NI)(T18_ - ((NI)1));
res_2 = start;
{
while (1) {
if (!(res_2 <= colontmp__2)) goto LA20 ;
i_2 = res_2;
{
NIM_BOOL colontmp__3;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__4;
if (!!((*c).regInfo.p->data[i_2].Field0)) goto LA23_;
colontmp__3 = NIM_TRUE;
colontmp__4 = k;
(*c).regInfo.p->data[i_2].Field0 = colontmp__3;
(*c).regInfo.p->data[i_2].Field1 = colontmp__4;
result = ((NI) (i_2));
eqdestroy___vmdef_1086(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA23_: ;
res_2 += ((NI)1);
} LA20: ;
}
}
}
LA15_: ;
{
NI T27_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T30_;
T27_ = (*c).regInfo.len;
if (!(((NI)65535) <= T27_)) goto LA28_;
T30_ = bestEffort__vmgen_457(cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
liMessage__msgs_1172((*cc).config, T30_, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_27, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_28), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA28_: ;
T31_ = (*c).regInfo.len;
result = ((NI) (((T31_ >= start) ? T31_ : start)));
setLen__vmdef_980((&(*c).regInfo), ((NI) ((NI)(((NI) (result)) + ((NI)1)))));
colontmp__5 = NIM_TRUE;
colontmp__6 = k;
(*c).regInfo.p->data[result].Field0 = colontmp__5;
(*c).regInfo.p->data[result].Field1 = colontmp__6;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___vmdef_1086(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getTemp__vmgen_520)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* tt) {
NI result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD_;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__2;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw k;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
typ = NIM_NIL;
colontmpD_ = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD__2 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
typ = skipTypesOrNil__ast_5566(tt, TM__oYO8oEb9aAFcVmMqh9adT1hQ_24);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!(typ == 0)) goto LA4_;
colontmpD_ = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)7);
k = colontmpD_;
}
goto LA2_;
LA4_: ;
{
colontmpD__2 = getSlotKind__vmgen_437(typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
k = colontmpD__2;
}
LA2_: ;
result = getFreeRegister__vmgen_468(cc, k, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, genx__vmgen_689)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NI result;
NI tmp;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
tmp = ((NI)-1);
gen__vmgen_661(c, n, (&tmp), flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= ((NI) (tmp)))) goto LA3_;
result = ((NI) (tmp));
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gABC__vmgen_275)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* ctx, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI b, NI c) {
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
NU64 ins;
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) (c))) << (NU64)(40ULL)));
add__vmgen_302((&(*ctx).code), ins);
colontmpD_ = (*n).info;
add__vmgen_322((&(*ctx).debug), colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ, whichAsgnOpc__vmgen_1859)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL requiresCopy) {
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__2;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__3;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__4;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD_ = NIM_NIL;
colontmpD__2 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__3 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__4 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__5 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD_ = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_25);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
switch ((*colontmpD_).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)15):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44):
{
colontmpD__2 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)4);
result = colontmpD__2;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) ... ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)39):
{
colontmpD__3 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)5);
result = colontmpD__3;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)23):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)47):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21):
{
colontmpD__4 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)6);
result = colontmpD__4;
}
break;
default:
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__6;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__7;
colontmpD__6 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__7 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!requiresCopy) goto LA7_;
colontmpD__6 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)7);
colontmpD__5 = colontmpD__6;
}
goto LA5_;
LA7_: ;
{
colontmpD__7 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)14);
colontmpD__5 = colontmpD__7;
}
LA5_: ;
result = colontmpD__5;
}
break;
}
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, freeTemp__vmgen_529)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI r) {
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* c_2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
c_2 = NIM_NIL;
eqcopy___vmdef_1089(&c_2, (*c).prc, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*c_2).regInfo.p->data[r].Field1 >= ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3) && (*c_2).regInfo.p->data[r].Field1 <= ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)7))) goto LA3_;
(*c_2).regInfo.p->data[r].Field0 = NIM_FALSE;
}
LA3_: ;
eqdestroy___vmdef_1086(&c_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAdditionalCopy__vmgen_2315)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI dest, NI idx, NI value) {
NI cc;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
cc = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T1_ = whichAsgnOpc__vmgen_1859(n, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, T1_, cc, value, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, dest, idx, cc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genGlobalInit__vmgen_2454)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NI T2_;
NI dest;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD_ = getNullValue__vmgen_2450((*s).typ, (*n).info, (*c).config);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
add__ast_6233((*c).globals, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T2_ = (NI)0;
T2_ = len__ast_3325((*c).globals);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*s).position = T2_;
dest = getTemp__vmgen_520(c, (*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)176), dest, (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T8_;
colontmpD__2 = astdef__ast_4072(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!((colontmpD__2 == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA5_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = astdef__ast_4072(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T8_ = 0;
tmp = genx__vmgen_689(c, colontmpD__3, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
genAdditionalCopy__vmgen_2315(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), dest, ((NI)0), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA5_: ;
{
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_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__vmgen_1827)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
colontmpD_ = NIM_NIL;
colontmpD_ = skipTypes__ast_4803(t, TM__oYO8oEb9aAFcVmMqh9adT1hQ_29);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = ((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)20) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)14) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1) || (*colontmpD_).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44) || (*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2));
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setSlot__vmgen_2228)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* v) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD_;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmpD__2;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw T5_;
NI T11_;
if (!((*v).position == ((NI)0))) goto LA3_;
colontmpD_ = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
colontmpD__2 = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
T5_ = (tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0;
{
if (!((*v).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9))) goto LA8_;
colontmpD_ = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)2);
T5_ = colontmpD_;
}
goto LA6_;
LA8_: ;
{
colontmpD__2 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)1);
T5_ = colontmpD__2;
}
LA6_: ;
T11_ = (NI)0;
T11_ = getFreeRegister__vmgen_468(c, T5_, ((NI)1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*v).position = ((NI) (T11_));
}
LA3_: ;
}BeforeRet_: ;
}
static N_INLINE(void, addInt__stdZprivateZdigitsutils_198)(NimStringV2* result, NI x) {
addInt__stdZprivateZdigitsutils_176(result, ((NI64) (x)));
}
static N_INLINE(NimStringV2, toFileLineCol__msgs_666)(tyTuple__kN8up2W6YKc5YA9avn5mV5w* info) {
NimStringV2 result;
result.len = 0; result.p = NIM_NIL;
prepareAdd((&result), (*info).Field0.len + 0);
appendString((&result), (*info).Field0);
{
if (!(((NI)0) < (*info).Field1)) goto LA3_;
prepareAdd((&result), 1);
appendString((&result), TM__oYO8oEb9aAFcVmMqh9adT1hQ_31);
addInt__stdZprivateZdigitsutils_198((&result), (*info).Field1);
{
if (!(((NI)0) < (NI)((*info).Field2 + ((NI)1)))) goto LA7_;
prepareAdd((&result), 2);
appendString((&result), TM__oYO8oEb9aAFcVmMqh9adT1hQ_33);
addInt__stdZprivateZdigitsutils_198((&result), (NI)((*info).Field2 + ((NI)1)));
}
LA7_: ;
prepareAdd((&result), 1);
appendString((&result), TM__oYO8oEb9aAFcVmMqh9adT1hQ_35);
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2219)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI dest, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NIM_BOOL requiresCopy) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, ri, T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T2_ = whichAsgnOpc__vmgen_1859(ri, requiresCopy);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, ri, T2_, ((NI) (dest)), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRdVar__vmgen_2471)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
s = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NIM_BOOL isImportcVar;
T4_ = (NIM_BOOL)0;
T4_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T4_)) goto LA5_;
T4_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA5_: ;
if (!T4_) goto LA6_;
isImportcVar = importcCondVar__vmgen_2261(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T10_;
NIM_BOOL T11_;
T10_ = (NIM_BOOL)0;
T11_ = (NIM_BOOL)0;
T11_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)28)))&63U)))!=0);
if (T11_) goto LA12_;
T11_ = ((*c).mode == ((tyEnum_TEvalMode__bzKsByQdtJOXOcqlXsimIg)0));
LA12_: ;
T10_ = T11_;
if (T10_) goto LA13_;
T10_ = isImportcVar;
LA13_: ;
if (!T10_) goto LA14_;
}
goto LA8_;
LA14_: ;
{
if (!((*s).position == ((NI)0))) goto LA17_;
cannotEval__vmgen_2235(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA8_;
LA17_: ;
LA8_: ;
{
if (!((*s).position == ((NI)0))) goto LA21_;
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = importcCond__vmgen_2434(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (T25_) goto LA26_;
T25_ = isImportcVar;
LA26_: ;
if (!T25_) goto LA27_;
importcSym__vmgen_2446(c, (*n).info, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA23_;
LA27_: ;
{
genGlobalInit__vmgen_2454(c, n, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA23_: ;
}
LA21_: ;
{
NI T34_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA32_;
T34_ = (NI)0;
T34_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T34_));
}
LA32_: ;
{
if (!((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)1)))&7U)))!=0)) goto LA37_;
{
if (!isImportcVar) goto LA41_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)179), ((NI) ((*dest))), (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA39_;
LA41_: ;
{
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)177), ((NI) ((*dest))), (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA39_: ;
}
goto LA35_;
LA37_: ;
{
if (!isImportcVar) goto LA45_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)178), ((NI) ((*dest))), (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA35_;
LA45_: ;
{
NIM_BOOL T48_;
NI cc;
T48_ = (NIM_BOOL)0;
T48_ = fitsRegister__vmgen_1827((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T48_)) goto LA49_;
T48_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)0)))&7U)))!=0));
LA49_: ;
if (!T48_) goto LA50_;
cc = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)176), cc, (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA35_;
LA50_: ;
{
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)176), ((NI) ((*dest))), (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA35_: ;
}
goto LA2_;
LA6_: ;
{
{
NIM_BOOL T56_;
T56_ = (NIM_BOOL)0;
T56_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21));
if (!(T56_)) goto LA57_;
T56_ = ((*c).mode == ((tyEnum_TEvalMode__bzKsByQdtJOXOcqlXsimIg)0));
LA57_: ;
if (!T56_) goto LA58_;
setSlot__vmgen_2228(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA58_: ;
{
NIM_BOOL T62_;
NIM_BOOL T64_;
T62_ = (NIM_BOOL)0;
T62_ = (((NI)0) < (*s).position);
if (T62_) goto LA63_;
T64_ = (NIM_BOOL)0;
T64_ = ((*s).position == ((NI)0));
if (!(T64_)) goto LA65_;
T64_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
LA65_: ;
T62_ = T64_;
LA63_: ;
if (!T62_) goto LA66_;
{
if (!(((NI) ((*dest))) < ((NI)0))) goto LA70_;
(*dest) = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3)))));
{
NimStringV2 argX60gensym440_;
if (!!(((*(*c).prc).regInfo.p->data[(*dest)].Field1 < ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3)))) goto LA74_;
argX60gensym440_.len = 0; argX60gensym440_.p = NIM_NIL;
argX60gensym440_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_36));
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym440_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_36));
if (NIM_UNLIKELY(*nimErr_)) goto LA76_;
{
LA76_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym440_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA74_: ;
}
goto LA68_;
LA70_: ;
{
NIM_BOOL requiresCopy;
NIM_BOOL T80_;
T80_ = (NIM_BOOL)0;
T80_ = (((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3) <= (*(*c).prc).regInfo.p->data[(*dest)].Field1);
if (!(T80_)) goto LA81_;
T80_ = !(((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)2)))&7U)))!=0));
LA81_: ;
requiresCopy = T80_;
genAsgn__vmgen_2219(c, (*dest), n, requiresCopy);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA68_: ;
}
goto LA60_;
LA66_: ;
{
cannotEval__vmgen_2235(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA60_: ;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NimStringV2, X5BX5D___vmgen_3099)(NimStringV2* s, NI sLen_0, NI i) {
NimStringV2 result;
result.len = 0; result.p = NIM_NIL;
eqcopy___stdZassertions_16((&result), s[(NI)(sLen_0 - i)]);
return result;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
int result;
result = (int)0;
result = memcmp(a, b, ((size_t) (size)));
return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) {
NIM_BOOL result;
int T1_;
result = (NIM_BOOL)0;
T1_ = (int)0;
T1_ = nimCmpMem(a, b, size);
result = (T1_ == ((NI32)0));
return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) {
NIM_BOOL result;
NI alen;
NI blen;
{ result = (NIM_BOOL)0;
alen = a.len;
blen = b.len;
{
if (!(alen == blen)) goto LA3_;
{
if (!(alen == ((NI)0))) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen)));
goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__vmgen_3081)(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s, NimStringV2 x) {
NIM_BOOL result;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ y;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
y.len = 0; y.p = NIM_NIL;
s_2 = NIM_NIL;
y = nsuSplitChar(x, 46, ((NI)-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
s_2 = s;
{
NI i;
NI colontmp_;
NI T3_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T3_ = y.len;
colontmp_ = T3_;
res = ((NI)1);
{
while (1) {
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T16_;
if (!(res <= colontmp_)) goto LA5 ;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
i = res;
{
NIM_BOOL T9_;
NIM_BOOL T11_;
NI T12_;
T9_ = (NIM_BOOL)0;
T9_ = (s_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
if (T9_) goto LA10_;
T11_ = (NIM_BOOL)0;
colontmpD_ = X5BX5D___vmgen_3099(((y).p) ? (y.p->data) : NIM_NIL, y.len, i);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T12_ = (NI)0;
T12_ = nsuCmpIgnoreStyle(colontmpD_, (*(*s_2).name).s);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T11_ = !((T12_ == ((NI)0)));
if (!(T11_)) goto LA13_;
colontmpD__2 = X5BX5D___vmgen_3099(((y).p) ? (y.p->data) : NIM_NIL, y.len, i);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
T11_ = !(eqStrings(colontmpD__2, TM__oYO8oEb9aAFcVmMqh9adT1hQ_41));
LA13_: ;
T9_ = T11_;
LA10_: ;
if (!T9_) goto LA14_;
result = NIM_FALSE;
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___system_3514((&y));
goto BeforeRet_;
}
LA14_: ;
T16_ = NIM_NIL;
{
if (!(((*s_2).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)2)))&63U)))!=0)) goto LA19_;
s_2 = (*(*s_2).owner).owner;
}
goto LA17_;
LA19_: ;
{
s_2 = (*s_2).owner;
}
LA17_: ;
{
while (1) {
NIM_BOOL T24_;
NIM_BOOL T25_;
T24_ = (NIM_BOOL)0;
T25_ = (NIM_BOOL)0;
T25_ = !((s_2 == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T25_)) goto LA26_;
T25_ = ((*s_2).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)24));
LA26_: ;
T24_ = T25_;
if (!(T24_)) goto LA27_;
T24_ = !(((*s_2).owner == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
LA27_: ;
if (!T24_) goto LA23 ;
s_2 = (*s_2).owner;
} LA23: ;
}
res += ((NI)1);
{
LA6_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA5: ;
}
}
result = NIM_TRUE;
{
LA1_:;
}
{
eqdestroy___system_3514((&y));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, procIsCallback__vmgen_3127)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NIM_BOOL result;
NI i;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
if (!((*s).offset < ((NI)-1))) goto LA3_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA3_: ;
i = ((NI)-2);
{
NimStringV2* key;
tyProc__mrbYLH5hYlbDOLEIrzz3iw* value;
NI i_2;
NI L;
NI T6_;
key = (NimStringV2*)0;
value = (tyProc__mrbYLH5hYlbDOLEIrzz3iw*)0;
i_2 = ((NI)0);
T6_ = (*c).callbacks.len;
L = T6_;
{
while (1) {
if (!(i_2 < L)) goto LA8 ;
key = (&(*c).callbacks.p->data[i_2].Field0);
value = (&(*c).callbacks.p->data[i_2].Field1);
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = matches__vmgen_3081(s, (*key));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T11_) goto LA12_;
{
if (!!(((*s).offset == ((NI)-1)))) goto LA16_;
failedAssertImpl__stdZassertions_224(TM__oYO8oEb9aAFcVmMqh9adT1hQ_43);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA16_: ;
(*s).offset = i;
result = NIM_TRUE;
goto BeforeRet_;
}
LA12_: ;
i -= ((NI)1);
i_2 += ((NI)1);
} LA8: ;
}
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstant__vmgen_974)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* b) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
result = NIM_FALSE;
{
if (!(a == b)) goto LA3_;
result = NIM_TRUE;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
NIM_BOOL T7_;
T6_ = (NIM_BOOL)0;
T7_ = (NIM_BOOL)0;
T7_ = !((a == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
if (!(T7_)) goto LA8_;
T7_ = !((b == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)));
LA8_: ;
T6_ = T7_;
if (!(T6_)) goto LA9_;
T6_ = ((*a).kind == (*b).kind);
LA9_: ;
if (!T6_) goto LA10_;
switch ((*a).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)2):
{
result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)15):
{
result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)16) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)18):
{
union { NF source; NU64 dest; } LOC16;
union { NF source; NU64 dest; } LOC17;
LOC16.source = (*a)._kind_2.floatVal;
LOC17.source = (*b)._kind_2.floatVal;
result = (LOC16.dest == LOC17.dest);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)20) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22):
{
result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
result = ((*a).typ == (*b).typ);
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1):
{
result = NIM_TRUE;
}
break;
default:
{
{
NI T24_;
NI T25_;
T24_ = (NI)0;
T24_ = len__ast_3325(a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T25_ = (NI)0;
T25_ = len__ast_3325(b);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T24_ == T25_)) goto LA26_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA30 ;
i = i_2;
{
NIM_BOOL T33_;
T33_ = (NIM_BOOL)0;
T33_ = sameConstant__vmgen_974((*a)._kind_6.sons.p->data[i], (*b)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T33_)) goto LA34_;
goto BeforeRet_;
}
LA34_: ;
i_2 += ((NI)1);
} LA30: ;
}
}
result = NIM_TRUE;
}
LA26_: ;
}
break;
}
}
goto LA1_;
LA10_: ;
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, rawGenLiteral__vmgen_955)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
result = len__ast_3325((*c).constants);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*n).flags |= ((NU32)1)<<(((((tyEnum_TNodeFlag__69c8WThOUT3nlaj2cOZ9c2dw)4))) & 31);
add__ast_6233((*c).constants, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NimStringV2 argX60gensym104_;
if (!!((result < ((NI)8388607)))) goto LA3_;
argX60gensym104_.len = 0; argX60gensym104_.p = NIM_NIL;
argX60gensym104_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_44));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym104_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_44));
if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
{
LA5_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym104_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, genLiteral__vmgen_1018)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325((*c).constants);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA3 ;
i = i_2;
{
NIM_BOOL T6_;
T6_ = (NIM_BOOL)0;
T6_ = sameConstant__vmgen_974((*(*c).constants)._kind_6.sons.p->data[i], n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T6_) goto LA7_;
result = i;
goto BeforeRet_;
}
LA7_: ;
i_2 += ((NI)1);
} LA3: ;
}
}
result = rawGenLiteral__vmgen_955(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genLit__vmgen_1204)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NI lit;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T5_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA3_;
T5_ = (NI)0;
T5_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T5_));
}
LA3_: ;
lit = genLiteral__vmgen_1018(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)174), ((NI) ((*dest))), lit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTypeLit__vmgen_2413)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t, NI* dest) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
n = NIM_NIL;
n = newNode__ast_3934(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)4));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3546(&(*n).typ, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
genLit__vmgen_1204(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTemp__vmgen_937)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI dest) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (((NI)0) <= ((NI) (dest)));
if (!(T1_)) goto LA2_;
T1_ = (((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3) <= (*(*c).prc).regInfo.p->data[dest].Field1);
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_666)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NI d;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
d = ((NI) (dest));
gen__vmgen_661(c, n, (&d), flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, patch__vmgen_420)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI p) {
NI p_2;
NI diff;
NI T1_;
NU64 oldInstr;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
p_2 = p;
T1_ = (*c).code.len;
diff = (NI)(T1_ - p_2);
{
NIM_BOOL T4_;
NimStringV2 argX60gensym46_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI)-8388607) < diff);
if (!(T4_)) goto LA5_;
T4_ = (diff < ((NI)8388607));
LA5_: ;
if (!!(T4_)) goto LA6_;
argX60gensym46_.len = 0; argX60gensym46_.p = NIM_NIL;
argX60gensym46_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_50));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym46_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_50));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym46_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
oldInstr = (*c).code.p->data[p_2];
(*c).code.p->data[p_2] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI)8388608))))) << (NU64)(24ULL)));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAndOr__vmgen_945)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI* dest) {
NI colontmpD_;
NI colontmpD__2;
NIM_BOOL copyBack;
NIM_BOOL T1_;
NIM_BOOL T3_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
NI lab1;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = (NI)0;
colontmpD__2 = (NI)0;
T1_ = (NIM_BOOL)0;
T1_ = (((NI) ((*dest))) < ((NI)0));
if (T1_) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = isTemp__vmgen_937(c, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = !(T3_);
LA2_: ;
copyBack = T1_;
{
if (!copyBack) goto LA6_;
colontmpD_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
tmp = colontmpD_;
{
LA8_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA4_;
LA6_: ;
{
colontmpD__2 = ((NI) ((*dest)));
tmp = colontmpD__2;
}
LA4_: ;
T12_ = 0;
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[((NI)1)], tmp, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
lab1 = xjmp__vmgen_393(c, n, opc, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T13_ = 0;
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[((NI)2)], tmp, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
patch__vmgen_420(c, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI) ((*dest))) < ((NI)0))) goto LA16_;
(*dest) = ((NI) (tmp));
}
goto LA14_;
LA16_: ;
{
if (!copyBack) goto LA19_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)4), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA14_;
LA19_: ;
LA14_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt8Lit__vmgen_1570)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
NIM_BOOL T5_;
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)15))) goto LA3_;
T5_ = (NIM_BOOL)0;
T5_ = (IL64(-128) <= (*n)._kind_1.intVal);
if (!(T5_)) goto LA6_;
T5_ = ((*n)._kind_1.intVal <= IL64(127));
LA6_: ;
result = T5_;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gABI__vmgen_342)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI a, NI b, NI64 imm) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg colontmpD_;
NU64 ins;
T3_ = (NIM_BOOL)0;
T3_ = (IL64(-128) <= imm);
if (!(T3_)) goto LA4_;
T3_ = (imm <= IL64(127));
LA4_: ;
if (!T3_) goto LA5_;
nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg));
ins = (NU64)((NU64)((NU64)(((NU64) (opc)) | (NU64)((NU64)(((NU64) (a))) << (NU64)(8ULL))) | (NU64)((NU64)(((NU64) (b))) << (NU64)(24ULL))) | (NU64)((NU64)(((NU64) ((NI64)(imm + IL64(128))))) << (NU64)(40ULL)));
add__vmgen_302((&(*c).code), ins);
colontmpD_ = (*n).info;
add__vmgen_322((&(*c).debug), colontmpD_);
}
goto LA1_;
LA5_: ;
{
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_52, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_53), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABC__vmgen_1417)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T7_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA5_;
T7_ = (NI)0;
T7_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T7_));
}
LA5_: ;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNarrow__vmgen_1439)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NI64 size;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
t = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
size = getSize__types_3555((*c).config, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NIM_BOOL T6_;
T4_ = (NIM_BOOL)0;
T4_ = ((*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43));
if (T4_) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40));
if (!(T6_)) goto LA7_;
T6_ = (size < IL64(8));
LA7_: ;
T4_ = T6_;
LA5_: ;
if (!T4_) goto LA8_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA8_: ;
{
NIM_BOOL T11_;
NIM_BOOL T13_;
T11_ = (NIM_BOOL)0;
T11_ = ((*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34));
if (T11_) goto LA12_;
T13_ = (NIM_BOOL)0;
T13_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (!(T13_)) goto LA14_;
T13_ = (size < IL64(8));
LA14_: ;
T11_ = T13_;
LA12_: ;
if (!T11_) goto LA15_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)97), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA15_: ;
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAddSubInt__vmgen_1600)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T6_;
T3_ = (NIM_BOOL)0;
T3_ = isInt8Lit__vmgen_1570((*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
T6_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T6_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T11_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA9_;
T11_ = (NI)0;
T11_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T11_));
}
LA9_: ;
gABI__vmgen_342(c, n, (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)(opc + ((NI)1)), ((NI) ((*dest))), tmp, (*(*n)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
genBinaryABC__vmgen_1417(c, n, dest, opc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
genNarrow__vmgen_1439(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(void, unused__vmgen_1031)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI x) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!(((NI)0) <= ((NI) (x)))) goto LA3_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_56, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_57), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, genIndex__vmgen_1310)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* arr) {
NI result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
colontmpD_ = NIM_NIL;
{
NIM_BOOL T4_;
tyObject_Int128__o11U6O9aAgrfFG9bStrwmHkg x;
NIM_BOOL T6_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T9_;
NI T10_;
T4_ = (NIM_BOOL)0;
colontmpD_ = skipTypes__ast_4803(arr, TM__oYO8oEb9aAFcVmMqh9adT1hQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = ((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)16));
if (!(T4_)) goto LA5_;
x = firstOrd__types_1373((*c).config, arr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T6_ = (NIM_BOOL)0;
T6_ = eqeq___int495056_317(x, Zero__int495056_8);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = !(T6_);
LA5_: ;
if (!T4_) goto LA7_;
T9_ = 0;
tmp = genx__vmgen_689(c, n, T9_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
result = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T10_ = (NI)0;
T10_ = toInt__int495056_171(x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)33), result, tmp, ((NI64) (T10_)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA7_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
T12_ = 0;
result = genx__vmgen_689(c, n, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
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;
}
N_LIB_PRIVATE N_NIMCALL(NI, genField__vmgen_1293)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
s = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = !(((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3)));
if (T3_) goto LA4_;
T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19)));
LA4_: ;
if (!T3_) goto LA5_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_64, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_65), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
s = (*n)._kind_4.sym;
{
NimStringV2 colontmpD_;
NimStringV2 T12_;
if (!(((NI)65535) < (*s).position)) goto LA9_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T12_.len = 0; T12_.p = NIM_NIL;
T12_ = rawNewString((*(*s).name).s.len + 44);
appendString((&T12_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_67);
appendString((&T12_), (*(*s).name).s);
colontmpD_ = T12_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD_, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_68), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
result = ((NI) ((*s).position));
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccessAux__vmgen_1321)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* accessExpr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* checkExpr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* disc;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__2;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__3;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* strType;
NimStringV2 fieldName;
NimStringV2 msg;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* strLit;
NIM_BOOL negCheck;
NI discVal;
NI T21_;
NI setLit;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T22_;
NI rs;
NI lab1;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T23_;
NI msgReg;
NI T29_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
accessExpr = NIM_NIL;
checkExpr = NIM_NIL;
disc = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__3 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
strType = NIM_NIL;
fieldName.len = 0; fieldName.p = NIM_NIL;
msg.len = 0; msg.p = NIM_NIL;
strLit = NIM_NIL;
{
NimStringV2 argX60gensym454_;
if (!!(((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46)))) goto LA4_;
argX60gensym454_.len = 0; argX60gensym454_.p = NIM_NIL;
argX60gensym454_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_61));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym454_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_61));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym454_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
eqcopy___ast_3457(&accessExpr, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&checkExpr, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
negCheck = ((*(*(*checkExpr)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)96));
{
NI T13_;
if (!negCheck) goto LA11_;
T13_ = (NI)0;
T13_ = len__ast_3325(checkExpr);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&checkExpr, (*checkExpr)._kind_6.sons.p->data[(NI)(T13_ - ((NI)1))]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA11_: ;
eqcopy___ast_3457(&disc, (*checkExpr)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NimStringV2 argX60gensym463_;
if (!!(((*(*disc)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19)))) goto LA16_;
argX60gensym463_.len = 0; argX60gensym463_.p = NIM_NIL;
argX60gensym463_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_62));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym463_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_62));
if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
{
LA18_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym463_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA16_: ;
gen__vmgen_661(c, (*accessExpr)._kind_6.sons.p->data[((NI)0)], dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
discVal = getTemp__vmgen_520(c, (*disc).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T21_ = (NI)0;
T21_ = genField__vmgen_1293(c, disc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)19), discVal, ((NI) ((*dest))), T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T22_ = 0;
setLit = genx__vmgen_689(c, (*checkExpr)._kind_6.sons.p->data[((NI)1)], T22_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
rs = getTemp__vmgen_520(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)85), rs, setLit, discVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, discVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, setLit);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T23_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!negCheck) goto LA26_;
colontmpD__2 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162);
T23_ = colontmpD__2;
}
goto LA24_;
LA26_: ;
{
colontmpD__3 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161);
T23_ = colontmpD__3;
}
LA24_: ;
lab1 = xjmp__vmgen_393(c, n, T23_, rs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, rs);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
strType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T29_ = (NI)0;
T29_ = getTemp__vmgen_520(c, strType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
msgReg = ((NI) (T29_));
fieldName = dollar___renderer_2511((*accessExpr)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
msg = genFieldDefect__astmsgs_61((*c).config, fieldName, (*disc)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
strLit = newStrNode__ast_4885(msg, (*(*accessExpr)._kind_6.sons.p->data[((NI)1)]).info);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*strLit).typ, strType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
strType = 0;
genLit__vmgen_1204(c, strLit, (&msgReg));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)96), ((NI) (msgReg)), discVal, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, ((NI) (msgReg)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
patch__vmgen_420(c, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&strLit);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&msg));
eqdestroy___stdZassertions_13((&fieldName));
eqdestroy___ast_3543(&strType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&disc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&checkExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&accessExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgnPatch__vmgen_1326)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, NI value) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*le).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* collTyp;
NI dest;
NI idx;
collTyp = NIM_NIL;
dest = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
idx = genIndex__vmgen_1310(c, (*le)._kind_6.sons.p->data[((NI)1)], (*(*le)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
collTyp = skipTypes__ast_4803((*(*le)._kind_6.sons.p->data[((NI)0)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_60);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
switch ((*collTyp).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)26), dest, idx, value);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18):
{
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), dest, ((NI) (((NI) ((*(*le)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal)))), value);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
default:
{
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)18), dest, idx, value);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
}
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
freeTemp__vmgen_529(c, idx);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&collTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
NI objR;
NI idx_2;
objR = ((NI)-1);
genCheckedObjAccessAux__vmgen_1321(c, le, (&objR), 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
idx_2 = genField__vmgen_1293(c, (*(*le)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, (*le)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), ((NI) (objR)), idx_2, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, ((NI) (objR)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
{
NI dest_2;
NI idx_3;
dest_2 = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
idx_3 = genField__vmgen_1293(c, (*le)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), dest_2, idx_3, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
NI dest_3;
dest_3 = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), dest_3, ((NI)0), value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
{
NIM_BOOL T14_;
NI dest_4;
T14_ = (NIM_BOOL)0;
T14_ = (((*(*le)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T14_)) goto LA15_;
T14_ = !(((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA15_: ;
if (!T14_) goto LA16_;
dest_4 = genx__vmgen_689(c, le, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), dest_4, ((NI)0), value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA16_: ;
}
break;
default:
{
}
break;
}
}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(NI, getTempRange__vmgen_538)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* cc, NI n, tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw kind) {
NI result;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* c;
NI T35_;
NI T36_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
c = NIM_NIL;
eqcopy___vmdef_1089(&c, (*cc).prc, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NI T5_;
NI T7_;
T4_ = (NIM_BOOL)0;
T5_ = (*c).regInfo.len;
T4_ = (((NI)40) <= T5_);
if (T4_) goto LA6_;
T7_ = (*c).regInfo.len;
T4_ = (((NI)65535) <= (NI)(T7_ + n));
LA6_: ;
if (!T4_) goto LA8_;
{
NI i;
NI colontmp_;
NI T11_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T11_ = (*c).regInfo.len;
colontmp_ = (NI)(T11_ - n);
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA13 ;
i = res;
{
if (!!((*c).regInfo.p->data[i].Field0)) goto LA16_;
{
{
NI j;
NI colontmp__2;
NI colontmp__3;
NI res_2;
j = (NI)0;
colontmp__2 = (NI)0;
colontmp__3 = (NI)0;
colontmp__2 = (NI)(i + ((NI)1));
colontmp__3 = (NI)((NI)(i + n) - ((NI)1));
res_2 = colontmp__2;
{
while (1) {
if (!(res_2 <= colontmp__3)) goto LA21 ;
j = res_2;
{
if (!(*c).regInfo.p->data[j].Field0) goto LA24_;
goto LA18;
}
LA24_: ;
res_2 += ((NI)1);
} LA21: ;
}
}
result = ((NI) (i));
{
NI k;
NI colontmp__4;
NI res_3;
k = (NI)0;
colontmp__4 = (NI)0;
colontmp__4 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI)1))));
res_3 = ((NI) (result));
{
while (1) {
NIM_BOOL colontmp__5;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__6;
if (!(res_3 <= ((NI) (colontmp__4)))) goto LA28 ;
k = ((NI) (res_3));
colontmp__5 = NIM_TRUE;
colontmp__6 = kind;
(*c).regInfo.p->data[k].Field0 = colontmp__5;
(*c).regInfo.p->data[k].Field1 = colontmp__6;
res_3 += ((NI)1);
} LA28: ;
}
}
eqdestroy___vmdef_1086(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
} LA18: ;
}
LA16_: ;
res += ((NI)1);
} LA13: ;
}
}
}
LA8_: ;
{
NI T31_;
tyObject_TLineInfo__7ZAGqjaN6WqWPlHP9cRagRg T34_;
T31_ = (*c).regInfo.len;
if (!(((NI)65535) <= (NI)(T31_ + n))) goto LA32_;
T34_ = bestEffort__vmgen_457(cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
liMessage__msgs_1172((*cc).config, T34_, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_69, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_70), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA32_: ;
T35_ = (*c).regInfo.len;
result = ((NI) (T35_));
T36_ = (*c).regInfo.len;
setLen__vmdef_980((&(*c).regInfo), ((NI) ((NI)(T36_ + n))));
{
NI k_2;
NI colontmp__7;
NI res_4;
k_2 = (NI)0;
colontmp__7 = (NI)0;
colontmp__7 = ((NI) ((NI)((NI)(((NI) (result)) + n) - ((NI)1))));
res_4 = ((NI) (result));
{
while (1) {
NIM_BOOL colontmp__8;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__9;
if (!(res_4 <= ((NI) (colontmp__7)))) goto LA39 ;
k_2 = ((NI) (res_4));
colontmp__8 = NIM_TRUE;
colontmp__9 = kind;
(*c).regInfo.p->data[k_2].Field0 = colontmp__8;
(*c).regInfo.p->data[k_2].Field1 = colontmp__9;
res_4 += ((NI)1);
} LA39: ;
}
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___vmdef_1086(&c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, genType__vmgen_1093)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ) {
NI result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NIM_BOOL oldNimErrFin2_;
NI T14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
colontmpD_ = NIM_NIL;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NI i;
NI i_2;
NI L;
NI T3_;
t = NIM_NIL;
i = (NI)0;
i_2 = ((NI)0);
T3_ = (*c).types.len;
L = T3_;
{
while (1) {
if (!(i_2 < L)) goto LA5 ;
i = i_2;
eqcopy___ast_3546(&t, (*c).types.p->data[i_2]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w T8_;
NIM_BOOL T9_;
T8_ = 0;
T9_ = (NIM_BOOL)0;
T9_ = sameType__types_2000(t, typ, T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T9_) goto LA10_;
result = i;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA10_: ;
i_2 += ((NI)1);
} LA5: ;
}
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
T14_ = (*c).types.len;
result = T14_;
colontmpD_ = 0;
eqcopy___ast_3546(&colontmpD_, typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__ast_5673((&(*c).types), colontmpD_);
{
NimStringV2 argX60gensym123_;
if (!!((result <= ((NI)8388607)))) goto LA17_;
argX60gensym123_.len = 0; argX60gensym123_.p = NIM_NIL;
argX60gensym123_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_72));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym123_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_72));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
LA19_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym123_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA17_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, freeTempRange__vmgen_606)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI start, NI n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = ((NI) ((NI)((NI)(((NI) (start)) + n) - ((NI)1))));
res = ((NI) (start));
{
while (1) {
if (!(res <= ((NI) (colontmp_)))) goto LA3 ;
i = ((NI) (res));
freeTemp__vmgen_529(c, i);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res += ((NI)1);
} LA3: ;
}
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCall__vmgen_1209)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* fntyp;
NI x;
NI T17_;
NI T41_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
fntyp = NIM_NIL;
{
NIM_BOOL T4_;
NI T5_;
T4_ = (NIM_BOOL)0;
T5_ = (NI)0;
T5_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = (T5_ == ((NI)0));
if (T4_) goto LA6_;
T4_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).typ == 0);
LA6_: ;
if (!T4_) goto LA7_;
eqdestroy___ast_3543(&fntyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA7_: ;
{
NIM_BOOL T11_;
NIM_BOOL T13_;
NI T16_;
T11_ = (NIM_BOOL)0;
T11_ = (((NI) ((*dest))) < ((NI)0));
if (!(T11_)) goto LA12_;
T13_ = (NIM_BOOL)0;
T13_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T11_ = !(T13_);
LA12_: ;
if (!T11_) goto LA14_;
T16_ = (NI)0;
T16_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T16_));
}
LA14_: ;
T17_ = (NI)0;
T17_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
x = getTempRange__vmgen_538(c, T17_, ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
fntyp = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_59);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
NI r;
if (!(i_2 < colontmp_)) goto LA20 ;
i = i_2;
r = ((NI) ((NI)(((NI) (x)) + i)));
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[i], r, 4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T23_;
NI T33_;
T23_ = (NI)0;
T23_ = len__ast_5071(fntyp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(T23_ <= i)) goto LA24_;
{
NimStringV2 argX60gensym142_;
if (!!((((*fntyp).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)0)))&63U)))!=0))) goto LA28_;
argX60gensym142_.len = 0; argX60gensym142_.p = NIM_NIL;
argX60gensym142_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_71));
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym142_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_71));
if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
{
LA30_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym142_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA28_: ;
T33_ = (NI)0;
T33_ = genType__vmgen_1093(c, (*(*n)._kind_6.sons.p->data[i]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)183), r, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA24_: ;
i_2 += ((NI)1);
} LA20: ;
}
}
{
NI T38_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA36_;
T38_ = (NI)0;
T38_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)154), ((NI)0), x, ((NI) (T38_)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA34_;
LA36_: ;
{
NI T40_;
T40_ = (NI)0;
T40_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)155), ((NI) ((*dest))), x, ((NI) (T40_)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA34_: ;
T41_ = (NI)0;
T41_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTempRange__vmgen_606(c, x, T41_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&fntyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsAsgnPatch__vmgen_1274)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
NIM_BOOL T5_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65));
if (T1_) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T3_)) goto LA4_;
T5_ = (NIM_BOOL)0;
T5_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T5_)) goto LA6_;
T5_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA6_: ;
T3_ = T5_;
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genNew__vmgen_1362)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI colontmpD_;
NI colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
NI dest;
NI T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = (NI)0;
colontmpD__2 = (NI)0;
colontmpD__3 = NIM_NIL;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = needsAsgnPatch__vmgen_1274((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
colontmpD_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
dest = colontmpD_;
{
LA7_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA5_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
T12_ = 0;
colontmpD__2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
dest = colontmpD__2;
{
LA11_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
colontmpD__3 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T15_ = (NI)0;
T15_ = genType__vmgen_1093(c, (*colontmpD__3).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)170), dest, T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
genAsgnPatch__vmgen_1326(c, (*n)._kind_6.sons.p->data[((NI)1)], dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq__vmgen_1376)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NI colontmpD_;
NI colontmpD__2;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__3;
NI dest;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T15_;
NI T16_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
colontmpD_ = (NI)0;
colontmpD__2 = (NI)0;
colontmpD__3 = NIM_NIL;
eqcopy___ast_3546(&t, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = needsAsgnPatch__vmgen_1274((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T4_) goto LA5_;
colontmpD_ = getTemp__vmgen_520(c, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
dest = colontmpD_;
{
LA7_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA5_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
T12_ = 0;
colontmpD__2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
dest = colontmpD__2;
{
LA11_:;
}
{
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
T15_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T15_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__3 = skipTypes__ast_4803(t, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T16_ = (NI)0;
T16_ = genType__vmgen_1093(c, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), dest, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
genAsgnPatch__vmgen_1326(c, (*n)._kind_6.sons.p->data[((NI)1)], dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNewSeqOfCap__vmgen_1391)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NI tmp;
NI T7_;
NI T8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
colontmpD_ = NIM_NIL;
eqcopy___ast_3546(&t, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
tmp = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T7_ = (NI)0;
T7_ = genType__vmgen_1093(c, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), ((NI) ((*dest))), T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = skipTypes__ast_4803(t, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T8_ = (NI)0;
T8_ = genType__vmgen_1093(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), ((NI) ((*dest))), T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genUnaryABC__vmgen_1402)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genUnaryABI__vmgen_1409)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI64 imm) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
gABI__vmgen_342(c, n, opc, ((NI) ((*dest))), tmp, imm);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetType__vmgen_1493)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
t = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_75);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T6_;
if (!((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)19))) goto LA4_;
T6_ = (NI)0;
T6_ = genType__vmgen_1093(c, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)183), dest, T6_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCard__vmgen_1634)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
genSetType__vmgen_1493(c, (*n)._kind_6.sons.p->data[((NI)1)], tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)40), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrow__vmgen_1483)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
genBinaryABC__vmgen_1417(c, n, dest, opc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNarrow__vmgen_1439(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genNarrowU__vmgen_1465)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NI64 size;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
t = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
size = getSize__types_3555((*c).config, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NIM_BOOL T6_;
T4_ = (NIM_BOOL)0;
T4_ = ((*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43) || (*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34));
if (T4_) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (!(T6_)) goto LA7_;
T6_ = (size < IL64(8));
LA7_: ;
T4_ = T6_;
LA5_: ;
if (!T4_) goto LA8_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) (dest)), ((NI) ((NI64)(size * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA8_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCnarrowU__vmgen_1488)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
genBinaryABC__vmgen_1417(c, n, dest, opc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNarrowU__vmgen_1465(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmgen_4009)(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest).t21);
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest).t21);
}
LA4_: ;
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = nimDecRefIsLast((*dest).targ22);
if (!T8_) goto LA9_;
nimDestroyAndDispose((*dest).targ22);
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = nimDecRefIsLast((*dest).n3);
if (!T13_) goto LA14_;
eqdestroy___ast_3466((*dest).n3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).n3, ((NI)8));
}
LA14_: ;
{
NIM_BOOL T18_;
T18_ = (NIM_BOOL)0;
T18_ = nimDecRefIsLast((*dest).arg4);
if (!T18_) goto LA19_;
eqdestroy___ast_3466((*dest).arg4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).arg4, ((NI)8));
}
LA19_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, implicitConv__vmgen_1623)(void* ClE_0) {
NIM_BOOL result;
tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ* colonenvP_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
colonenvP_ = (tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ*) ClE_0;
{
tySet_tyEnum_TTypeCmpFlag__taKmDpZ7mWMrTpIE9cV59a7w T3_;
NIM_BOOL T4_;
T3_ = 0;
T4_ = (NIM_BOOL)0;
T4_ = sameType__types_2000((*colonenvP_).t21, (*colonenvP_).targ22, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T4_) goto LA5_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA5_: ;
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = ((*(*(*colonenvP_).n3).typ).kind == (*(*(*colonenvP_).arg4).typ).kind);
if (!(T9_)) goto LA10_;
T9_ = ((*(*(*colonenvP_).arg4).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25));
LA10_: ;
if (!T9_) goto LA11_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA11_: ;
}BeforeRet_: ;
return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell;
NI T5_;
if (!!((p == NIM_NIL))) goto LA3_;
T5_ = (NI)0;
T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_));
{
if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
result = NIM_TRUE;
}
goto LA6_;
LA8_: ;
{
(*cell).rc -= ((NI)16);
}
LA6_: ;
rememberCycle__system_3141(result, cell, (*((TNimTypeV2**) (p))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___vmgen_4033)(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ** dest) {
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLastCyclicDyn((*dest));
if (!T3_) goto LA4_;
nimDestroyAndDispose((*dest));
}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genConv__vmgen_1615)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ* colonenv_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__2;
tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ* T2_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T3_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T4_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
NI T18_;
NI T19_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colonenv_ = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
T2_ = NIM_NIL;
T2_ = (tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ*) nimNewObj(sizeof(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ), NIM_ALIGNOF(tyObject_Env_vmgendotnim_genConv___eGR9ciOcznsERnkLWO7alWQ));
(*T2_).Sup.m_type = (&NTIv2__eGR9ciOcznsERnkLWO7alWQ_);
colonenv_ = T2_;
eqcopy___ast_3457(&(*colonenv_).n3, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&(*colonenv_).arg4, arg);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = NIM_NIL;
T3_ = skipTypes__ast_4803((*(*colonenv_).n3).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_77);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*colonenv_).t21, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = NIM_NIL;
T4_ = skipTypes__ast_4803((*(*colonenv_).arg4).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_77);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqsink___ast_3549(&(*colonenv_).targ22, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyProc__In3g79a0qTcRmbTbJp9ba9ctg T7_;
NIM_BOOL T8_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T11_;
nimZeroMem((void*)(&T7_), sizeof(tyProc__In3g79a0qTcRmbTbJp9ba9ctg));
T7_.ClP_0 = implicitConv__vmgen_1623; T7_.ClE_0 = colonenv_;
T8_ = (NIM_BOOL)0;
T8_ = T7_.ClE_0? T7_.ClP_0(T7_.ClE_0):((TM__oYO8oEb9aAFcVmMqh9adT1hQ_78)(T7_.ClP_0))();
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T8_) goto LA9_;
T11_ = 0;
gen__vmgen_661(c, (*colonenv_).arg4, dest, T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___vmgen_4033(&colonenv_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA9_: ;
T12_ = 0;
tmp = genx__vmgen_689(c, (*colonenv_).arg4, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T17_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA15_;
T17_ = (NI)0;
T17_ = getTemp__vmgen_520(c, (*(*colonenv_).n3).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T17_));
}
LA15_: ;
gABC__vmgen_275(c, (*colonenv_).n3, opc, ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD_ = skipTypes__ast_4803((*(*colonenv_).n3).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_24);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T18_ = (NI)0;
T18_ = genType__vmgen_1093(c, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, (*colonenv_).n3, opc, ((NI)0), T18_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
colontmpD__2 = skipTypes__ast_4803((*(*colonenv_).arg4).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_24);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T19_ = (NI)0;
T19_ = genType__vmgen_1093(c, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, (*colonenv_).n3, opc, ((NI)0), T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___vmgen_4033(&colonenv_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinarySet__vmgen_1506)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T7_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA5_;
T7_ = (NI)0;
T7_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T7_));
}
LA5_: ;
genSetType__vmgen_1493(c, (*n)._kind_6.sons.p->data[((NI)1)], tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genSetType__vmgen_1493(c, (*n)._kind_6.sons.p->data[((NI)2)], tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genVarargsABC__vmgen_1545)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI x;
NI T6_;
NI T11_;
NI T12_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T5_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA3_;
T5_ = (NI)0;
T5_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T5_));
}
LA3_: ;
T6_ = (NI)0;
T6_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
x = getTempRange__vmgen_538(c, (NI)(T6_ - ((NI)1)), ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)6));
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)1);
{
while (1) {
NI r;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T10_;
if (!(i_2 < colontmp_)) goto LA9 ;
i = i_2;
r = ((NI) ((NI)((NI)(((NI) (x)) + i) - ((NI)1))));
T10_ = 0;
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[i], r, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA9: ;
}
}
T11_ = (NI)0;
T11_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), x, ((NI) ((NI)(T11_ - ((NI)1)))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T12_ = (NI)0;
T12_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTempRange__vmgen_606(c, x, (NI)(T12_ - ((NI)1)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ, ldNullOpcode__vmgen_1849)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ result;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__2 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = fitsRegister__vmgen_1827(t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
colontmpD_ = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)173);
result = colontmpD_;
}
goto LA1_;
LA4_: ;
{
colontmpD__2 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172);
result = colontmpD__2;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmtVar__vmgen_1525)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
NI dest;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T5_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
x = NIM_NIL;
x = (*n)._kind_6.sons.p->data[((NI)1)];
{
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63) || (*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64))) goto LA3_;
x = (*x)._kind_6.sons.p->data[((NI)0)];
}
LA3_: ;
T5_ = 0;
dest = genx__vmgen_689(c, x, T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T6_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T6_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, dest, tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryABCD__vmgen_1426)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NI tmp3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = 0;
tmp3 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)3)], T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T8_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA6_;
T8_ = (NI)0;
T8_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T8_));
}
LA6_: ;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), tmp, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, tmp3, ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genVoidABC__vmgen_1762)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opcode) {
NI tmp1;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NI tmp3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
unused__vmgen_1031(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = 0;
tmp1 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = 0;
tmp3 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)3)], T3_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opcode, tmp1, tmp2, tmp3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBinaryStmt__vmgen_1517)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc) {
NI dest;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
dest = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, opc, dest, tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBindSym__vmgen_1773)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T3_;
T3_ = (NI)0;
T3_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T3_ == ((NI)2))) goto LA4_;
{
NI idx;
if (!((*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)56) || (*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)57) || (*(*n)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA8_;
idx = genLiteral__vmgen_1018(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T14_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA12_;
T14_ = (NI)0;
T14_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T14_));
}
LA12_: ;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)181), ((NI) ((*dest))), idx);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA6_;
LA8_: ;
{
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_91, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_92), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
}
goto LA1_;
LA4_: ;
{
NI x;
NI T22_;
NI tmp0;
NI tmp1;
NI T28_;
NI T29_;
NI tmp2;
NI T30_;
NI T31_;
NI T32_;
NI T33_;
{
NI T21_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA19_;
T21_ = (NI)0;
T21_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T21_));
}
LA19_: ;
T22_ = (NI)0;
T22_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
x = getTempRange__vmgen_538(c, T22_, ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
tmp0 = ((NI) (x));
genLit__vmgen_1204(c, (*n)._kind_6.sons.p->data[((NI)0)], (&tmp0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i;
NI colontmp_;
NI T24_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
T24_ = (NI)0;
T24_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmp_ = (NI)(T24_ - ((NI)2));
i_2 = ((NI)1);
{
while (1) {
NI r;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T27_;
if (!(i_2 < colontmp_)) goto LA26 ;
i = i_2;
r = ((NI) ((NI)(((NI) (x)) + i)));
T27_ = 0;
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[i], r, T27_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_2 += ((NI)1);
} LA26: ;
}
}
T28_ = (NI)0;
T28_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
tmp1 = ((NI) ((NI)((NI)(((NI) (x)) + T28_) - ((NI)2))));
T29_ = (NI)0;
T29_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genLit__vmgen_1204(c, (*n)._kind_6.sons.p->data[(NI)(T29_ - ((NI)2))], (&tmp1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T30_ = (NI)0;
T30_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
tmp2 = ((NI) ((NI)((NI)(((NI) (x)) + T30_) - ((NI)1))));
T31_ = (NI)0;
T31_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genLit__vmgen_1204(c, (*n)._kind_6.sons.p->data[(NI)(T31_ - ((NI)1))], (&tmp2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T32_ = (NI)0;
T32_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)182), ((NI) ((*dest))), x, ((NI) (T32_)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T33_ = (NI)0;
T33_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTempRange__vmgen_606(c, x, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genMagic__vmgen_1871)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg m) {
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin50_;
NIM_BOOL oldNimErrFin94_;
NIM_BOOL oldNimErrFin137_;
NIM_BOOL oldNimErrFin173_;
NIM_BOOL oldNimErrFin198_;
NIM_BOOL oldNimErrFin187_;
NIM_BOOL oldNimErrFin218_;
NIM_BOOL oldNimErrFin240_;
NIM_BOOL oldNimErrFin253_;
NIM_BOOL oldNimErrFin394_;
NIM_BOOL oldNimErrFin427_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch (m) {
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)109):
{
genAndOr__vmgen_945(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162), dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)110):
{
genAndOr__vmgen_945(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161), dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)52):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)47):
{
genAddSubInt__vmgen_1600(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)32));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)51):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)46):
{
genAddSubInt__vmgen_1600(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)30));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)29):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)30):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__2;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__3;
NIM_BOOL isUnsigned;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc;
NI d;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T22_;
colontmpD_ = NIM_NIL;
colontmpD__2 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__3 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
colontmpD_ = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_58);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
isUnsigned = ((*colontmpD_).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*colontmpD_).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44));
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__4;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__5;
if (!!(isUnsigned)) goto LA9_;
colontmpD__4 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__5 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)29))) goto LA13_;
colontmpD__4 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)30);
colontmpD__2 = colontmpD__4;
}
goto LA11_;
LA13_: ;
{
colontmpD__5 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)32);
colontmpD__2 = colontmpD__5;
}
LA11_: ;
opc = colontmpD__2;
}
goto LA7_;
LA9_: ;
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__6;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__7;
colontmpD__6 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__7 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)29))) goto LA19_;
colontmpD__6 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)54);
colontmpD__3 = colontmpD__6;
}
goto LA17_;
LA19_: ;
{
colontmpD__7 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)55);
colontmpD__3 = colontmpD__7;
}
LA17_: ;
opc = colontmpD__3;
}
LA7_: ;
T22_ = 0;
d = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T22_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
NIM_BOOL T25_;
T25_ = (NIM_BOOL)0;
T25_ = isInt8Lit__vmgen_1570((*n)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
if (!(T25_)) goto LA26_;
T25_ = !(isUnsigned);
LA26_: ;
if (!T25_) goto LA27_;
gABI__vmgen_342(c, n, (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)(opc + ((NI)1)), d, d, (*(*n)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
goto LA23_;
LA27_: ;
{
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T30_;
T30_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
gABC__vmgen_275(c, n, opc, d, d, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
}
LA23_: ;
genNarrow__vmgen_1439(c, (*n)._kind_6.sons.p->data[((NI)1)], ((NI) (d)));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
genAsgnPatch__vmgen_1326(c, (*n)._kind_6.sons.p->data[((NI)1)], d);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
freeTemp__vmgen_529(c, d);
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin6_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)31):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)43):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)144):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)154):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T34_;
T34_ = 0;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)1)], dest, T34_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)145):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)155) ... ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)156):
{
genCall__vmgen_1209(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)32):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)33):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNew__vmgen_1362(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)34):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNewSeq__vmgen_1376(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)35):
{
genNewSeqOfCap__vmgen_1391(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)146):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)160));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)147):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T41_;
NI T42_;
NI tmp_2;
T41_ = 0;
T42_ = (NI)0;
T42_ = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T41_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, T42_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
tmp_2 = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), tmp_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T47_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA45_;
T47_ = (NI)0;
T47_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T47_));
}
LA45_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)160), ((NI) ((*dest))), tmp_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)36):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)38):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)39):
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)34), IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)37):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__8;
colontmpD__8 = NIM_NIL;
colontmpD__8 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_58);
if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
switch ((*colontmpD__8).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)35), IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)36), IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
}
break;
default:
{
{
NimStringV2 colontmpD__9;
NimStringV2 colontmpD__10;
NimStringV2 T58_;
if (!NIM_TRUE) goto LA56_;
colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
T58_.len = 0; T58_.p = NIM_NIL;
colontmpD__9 = dollar___ast_341((*(*(*n)._kind_6.sons.p->data[((NI)1)]).typ).kind);
T58_ = rawNewString(colontmpD__9.len + 28);
appendString((&T58_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_74);
appendString((&T58_), colontmpD__9);
colontmpD__10 = T58_;
failedAssertImpl__stdZassertions_224(colontmpD__10);
if (NIM_UNLIKELY(*nimErr_)) goto LA50_;
eqdestroy___stdZassertions_13((&colontmpD__10));
eqdestroy___stdZassertions_13((&colontmpD__9));
}
LA56_: ;
}
break;
}
{
LA50_:;
}
{
oldNimErrFin50_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin50_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)126):
{
NI d_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T62_;
NI left;
NI right;
T62_ = 0;
d_2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T62_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
left = genIndex__vmgen_1310(c, (*n)._kind_6.sons.p->data[((NI)2)], (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
right = genIndex__vmgen_1310(c, (*n)._kind_6.sons.p->data[((NI)3)], (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T67_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA65_;
T67_ = (NI)0;
T67_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T67_));
}
LA65_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), d_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)29), ((NI) ((*dest))), left, right);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, left);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, right);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, d_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)40):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)41):
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__11;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__12;
NI d_3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T69_;
NI tmp_3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T70_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T71_;
colontmpD__11 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__12 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T69_ = 0;
d_3 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T69_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T70_ = 0;
tmp_3 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T70_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genSetType__vmgen_1493(c, (*n)._kind_6.sons.p->data[((NI)1)], d_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T71_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)40))) goto LA74_;
colontmpD__11 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)37);
T71_ = colontmpD__11;
}
goto LA72_;
LA74_: ;
{
colontmpD__12 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)39);
T71_ = colontmpD__12;
}
LA72_: ;
gABC__vmgen_275(c, n, T71_, d_3, tmp_3, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, d_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)42):
{
genCard__vmgen_1634(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)48):
{
genBinaryABCnarrow__vmgen_1483(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)41));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)49):
{
genBinaryABCnarrow__vmgen_1483(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)42));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)50):
{
genBinaryABCnarrow__vmgen_1483(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)43));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)53):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)44));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)54):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)45));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)55):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)46));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)56):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)47));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)57):
{
NI tmp_4;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T86_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T87_;
T86_ = 0;
tmp_4 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T86_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNarrowU__vmgen_1465(c, n, ((NI) (tmp_4)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T87_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T87_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T92_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA90_;
T92_ = (NI)0;
T92_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T92_));
}
LA90_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)48), ((NI) ((*dest))), tmp_4, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)58):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NI64 size;
t = NIM_NIL;
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)49));
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
t = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
size = getSize__types_3555((*c).config, t);
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
{
NIM_BOOL T97_;
NIM_BOOL T99_;
T97_ = (NIM_BOOL)0;
T97_ = ((*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43));
if (T97_) goto LA98_;
T99_ = (NIM_BOOL)0;
T99_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40));
if (!(T99_)) goto LA100_;
T99_ = (size < IL64(8));
LA100_: ;
T97_ = T99_;
LA98_: ;
if (!T97_) goto LA101_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
}
goto LA95_;
LA101_: ;
{
NIM_BOOL T104_;
NIM_BOOL T106_;
T104_ = (NIM_BOOL)0;
T104_ = ((*t).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)32) && (*t).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)34));
if (T104_) goto LA105_;
T106_ = (NIM_BOOL)0;
T106_ = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (!(T106_)) goto LA107_;
T106_ = (size < IL64(8));
LA107_: ;
T104_ = T106_;
LA105_: ;
if (!T104_) goto LA108_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)99), ((NI) ((*dest))), ((NI) ((NI64)(size * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA94_;
}
goto LA95_;
LA108_: ;
LA95_: ;
{
LA94_:;
}
{
oldNimErrFin94_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin94_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)59):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)50));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)60):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)51));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)61):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)52));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)62):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)53));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)65):
{
genBinaryABCnarrowU__vmgen_1488(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)54));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)66):
{
genBinaryABCnarrowU__vmgen_1488(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)55));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)67):
{
genBinaryABCnarrowU__vmgen_1488(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)56));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)68):
{
genBinaryABCnarrowU__vmgen_1488(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)57));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)69):
{
genBinaryABCnarrowU__vmgen_1488(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)58));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)70):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)84):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)78):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)81):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)59));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)71):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)79):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)82):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)85):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)60));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)72):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)80):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)83):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)86):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)61));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)73):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)62));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)74):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)63));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)75):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)64));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)88):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)76):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)65));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)89):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)77):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)66));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)92):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)87):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)67));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)90):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)70));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)96):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)71));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)93):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)94):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)72));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genNarrow__vmgen_1439(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)100):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)73));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)97):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)99):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T135_;
T135_ = 0;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)1)], dest, T135_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)98):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t_2;
NI64 size_2;
t_2 = NIM_NIL;
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)74));
if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
t_2 = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
size_2 = getSize__types_3555((*c).config, t_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
{
NIM_BOOL T140_;
NIM_BOOL T142_;
T140_ = (NIM_BOOL)0;
T140_ = ((*t_2).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)41) && (*t_2).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)43));
if (T140_) goto LA141_;
T142_ = (NIM_BOOL)0;
T142_ = ((*t_2).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40));
if (!(T142_)) goto LA143_;
T142_ = (size_2 < IL64(8));
LA143_: ;
T140_ = T142_;
LA141_: ;
if (!T140_) goto LA144_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) ((*dest))), ((NI) ((NI64)(size_2 * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA137_;
}
LA144_: ;
{
LA137_:;
}
{
oldNimErrFin137_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin137_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)101):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)102):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)103):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)104):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)105):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)106):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)107):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)108):
{
genConv__vmgen_1615(c, n, (*n)._kind_6.sons.p->data[((NI)1)], dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)116):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)91):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)75));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)117):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)76));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)118):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)77));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)119):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)78));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)120):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)79));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)121):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)80));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)122):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)81));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)123):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)82));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)124):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)83));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)125):
{
genVarargsABC__vmgen_1545(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)84));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)134):
{
genBinarySet__vmgen_1506(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)85));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)135):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)86));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)136):
{
NI tmp_5;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T162_;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T162_ = 0;
tmp_5 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T162_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)95), tmp_5, ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)137):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)138):
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__13;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__14;
NI d_4;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T164_;
NI tmp_6;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T165_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T166_;
colontmpD__13 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__14 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T164_ = 0;
d_4 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T164_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T165_ = 0;
tmp_6 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T165_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T166_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)137))) goto LA169_;
colontmpD__13 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)87);
T166_ = colontmpD__13;
}
goto LA167_;
LA169_: ;
{
colontmpD__14 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)88);
T166_ = colontmpD__14;
}
LA167_: ;
gABC__vmgen_275(c, n, T166_, d_4, tmp_6, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genAsgnPatch__vmgen_1326(c, (*n)._kind_6.sons.p->data[((NI)1)], d_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, d_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)142):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__15;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__16;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__17;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* T174_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T182_;
colontmpD__15 = NIM_NIL;
colontmpD__16 = NIM_NIL;
colontmpD__17 = NIM_NIL;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
T174_ = NIM_NIL;
{
NIM_BOOL T177_;
T177_ = (NIM_BOOL)0;
T177_ = ((*c).prc == ((tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ*) NIM_NIL));
if (T177_) goto LA178_;
T177_ = ((*(*c).prc).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL));
LA178_: ;
if (!T177_) goto LA179_;
eqcopy___ast_4063(&colontmpD__15, (*c).module);
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
T174_ = colontmpD__15;
}
goto LA175_;
LA179_: ;
{
eqcopy___ast_4063(&colontmpD__16, (*(*c).prc).sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
T174_ = colontmpD__16;
}
LA175_: ;
colontmpD__17 = lowerSwap__lowerings_252((*c).graph, n, (*c).Sup.idgen, T174_);
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
T182_ = 0;
gen__vmgen_684(c, colontmpD__17, T182_);
if (NIM_UNLIKELY(*nimErr_)) goto LA173_;
{
LA173_:;
}
{
oldNimErrFin173_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__17);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__16);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&colontmpD__15);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin173_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)143):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)89));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)148):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* d2AsNode;
NI d2;
NI tmp1;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T203_;
d2AsNode = NIM_NIL;
{
NI T192_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA190_;
T192_ = (NI)0;
T192_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
(*dest) = ((NI) (T192_));
}
LA190_: ;
d2 = (NI)0;
eqcopy___ast_3457(&d2AsNode, (*(*n)._kind_6.sons.p->data[((NI)2)])._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
{
NIM_BOOL T195_;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__18;
T195_ = (NIM_BOOL)0;
T195_ = needsAsgnPatch__vmgen_1274(d2AsNode);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
if (!T195_) goto LA196_;
colontmpD__18 = NIM_NIL;
colontmpD__18 = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36));
if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
d2 = getTemp__vmgen_520(c, colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA198_;
{
LA198_:;
}
{
oldNimErrFin198_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__18);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
*nimErr_ = oldNimErrFin198_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
}
goto LA193_;
LA196_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T202_;
T202_ = 0;
d2 = genx__vmgen_689(c, d2AsNode, T202_);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
}
LA193_: ;
T203_ = 0;
tmp1 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T203_);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)92), ((NI) ((*dest))), tmp1, d2);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
freeTemp__vmgen_529(c, tmp1);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
genAsgnPatch__vmgen_1326(c, d2AsNode, d2);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
freeTemp__vmgen_529(c, d2);
if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
{
LA187_:;
}
{
oldNimErrFin187_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&d2AsNode);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin187_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)159):
{
NI d_5;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T207_;
NI T208_;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T207_ = 0;
d_5 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T207_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T208_ = (NI)0;
T208_ = genType__vmgen_1093(c, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), d_5, T208_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), d_5, d_5, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genAsgnPatch__vmgen_1326(c, (*n)._kind_6.sons.p->data[((NI)1)], d_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)153):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)278):
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T215_;
NI T216_;
{
NI T214_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA212_;
T214_ = (NI)0;
T214_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T214_));
}
LA212_: ;
T215_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T215_ = ldNullOpcode__vmgen_1849((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T216_ = (NI)0;
T216_ = genType__vmgen_1093(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, T215_, ((NI) ((*dest))), T216_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)15):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)14):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__19;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__20;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__21;
NI tmp_7;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T224_;
NI idx;
NI T230_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T231_;
colontmpD__19 = NIM_NIL;
typ = NIM_NIL;
colontmpD__20 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__21 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
NI T223_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA221_;
T223_ = (NI)0;
T223_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
(*dest) = ((NI) (T223_));
}
LA221_: ;
T224_ = 0;
tmp_7 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T224_);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
colontmpD__19 = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
idx = getTemp__vmgen_520(c, colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
eqcopy___ast_3546(&typ, (*(*n)._kind_6.sons.p->data[((NI)2)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* T229_;
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)15))) goto LA227_;
T229_ = NIM_NIL;
T229_ = skipTypes__ast_4803(typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_79);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
eqsink___ast_3549(&typ, T229_);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
}
LA227_: ;
T230_ = (NI)0;
T230_ = genType__vmgen_1093(c, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), idx, T230_);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
T231_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!(m == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)15))) goto LA234_;
colontmpD__20 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)90);
T231_ = colontmpD__20;
}
goto LA232_;
LA234_: ;
{
colontmpD__21 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)91);
T231_ = colontmpD__21;
}
LA232_: ;
gABC__vmgen_275(c, n, T231_, ((NI) ((*dest))), tmp_7, idx);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
freeTemp__vmgen_529(c, tmp_7);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
freeTemp__vmgen_529(c, idx);
if (NIM_UNLIKELY(*nimErr_)) goto LA218_;
{
LA218_:;
}
{
oldNimErrFin218_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&colontmpD__19);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin218_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)9):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD__22;
NI tmp_8;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T246_;
colontmpD__22 = NIM_NIL;
{
NI T245_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA243_;
T245_ = (NI)0;
T245_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
(*dest) = ((NI) (T245_));
}
LA243_: ;
T246_ = 0;
tmp_8 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T246_);
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
colontmpD__22 = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
switch ((*colontmpD__22).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
{
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)35), ((NI) ((*dest))), tmp_8, IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)36), ((NI) ((*dest))), tmp_8, IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
}
break;
default:
{
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)34), ((NI) ((*dest))), tmp_8, IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
}
break;
}
freeTemp__vmgen_529(c, tmp_8);
if (NIM_UNLIKELY(*nimErr_)) goto LA240_;
{
LA240_:;
}
{
oldNimErrFin240_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD__22);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin240_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)20):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n_2;
n_2 = NIM_NIL;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
n_2 = skipConv__types_3839((*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
{
NI x;
NI T258_;
NI T263_;
NI T264_;
if (!((*n_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41))) goto LA256_;
T258_ = (NI)0;
T258_ = len__ast_3325(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
x = getTempRange__vmgen_538(c, T258_, ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3));
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
i_2 = ((NI)0);
{
while (1) {
NI r;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T262_;
if (!(i_2 < colontmp_)) goto LA261 ;
i = i_2;
r = ((NI) ((NI)(((NI) (x)) + i)));
T262_ = 0;
gen__vmgen_666(c, (*n_2)._kind_6.sons.p->data[i], r, T262_);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
i_2 += ((NI)1);
} LA261: ;
}
}
T263_ = (NI)0;
T263_ = len__ast_3325(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
gABC__vmgen_275(c, n_2, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)153), x, ((NI) (T263_)), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
T264_ = (NI)0;
T264_ = len__ast_3325(n_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
freeTempRange__vmgen_606(c, x, T264_);
if (NIM_UNLIKELY(*nimErr_)) goto LA253_;
}
LA256_: ;
{
LA253_:;
}
{
oldNimErrFin253_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&n_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin253_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)131):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmtVar__vmgen_1525(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)100));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)132):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmtVar__vmgen_1525(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)101));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)133):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmtVar__vmgen_1525(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)102));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)25):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)141));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)26):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)142));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)13):
{
NI tmp_9;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T273_;
NI T279_;
T273_ = 0;
tmp_9 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T273_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T278_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA276_;
T278_ = (NI)0;
T278_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T278_));
}
LA276_: ;
T279_ = (NI)0;
T279_ = genType__vmgen_1093(c, (*(*n)._kind_6.sons.p->data[((NI)1)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)183), tmp_9, T279_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)184), ((NI) ((*dest))), tmp_9, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_9);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)22):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)139));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)23):
{
genBinaryABCD__vmgen_1426(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)140));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)213):
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)34), IL64(16));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)256):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)151));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)274):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)152));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)272):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)185));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)275):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)186));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)214):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)157));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)215):
{
genVoidABC__vmgen_1762(c, n, (*dest), ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)158));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)218):
{
genVoidABC__vmgen_1762(c, n, (*dest), ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)125));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)216):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)104));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)217):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)105));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)219):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)106));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)220):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)107));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)221):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)127));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)222):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)128));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)223):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)129));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)224):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)130));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)225):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)131));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)226):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)132));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)227):
{
genVoidABC__vmgen_1762(c, n, (*dest), ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)133));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)228):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)134));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)229):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)135));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)230):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)136));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)231):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)137));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)232):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)108));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)233):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)109));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)234):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)110));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)235):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)111));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)236):
{
NI colontmpD__23;
NI colontmpD__24;
NI colontmpD__25;
NI colontmpD__26;
NI tmp_10;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T310_;
NI rc;
colontmpD__23 = (NI)0;
colontmpD__24 = (NI)0;
colontmpD__25 = (NI)0;
colontmpD__26 = (NI)0;
T310_ = 0;
tmp_10 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T310_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T315_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA313_;
T315_ = (NI)0;
T315_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T315_));
}
LA313_: ;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_81)) goto LA316_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_83)) goto LA317_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_85)) goto LA318_;
goto LA319_;
LA316_: ;
{
colontmpD__23 = ((NI)0);
rc = colontmpD__23;
}
goto LA320_;
LA317_: ;
{
colontmpD__24 = ((NI)1);
rc = colontmpD__24;
}
goto LA320_;
LA318_: ;
{
colontmpD__25 = ((NI)2);
rc = colontmpD__25;
}
goto LA320_;
LA319_: ;
{
colontmpD__26 = ((NI)3);
rc = colontmpD__26;
}
LA320_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)112), ((NI) ((*dest))), tmp_10, ((NI) (rc)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_10);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)250):
{
NI colontmpD__27;
NI colontmpD__28;
NI colontmpD__29;
NI imm;
colontmpD__27 = (NI)0;
colontmpD__28 = (NI)0;
colontmpD__29 = (NI)0;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_87)) goto LA326_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_89)) goto LA327_;
goto LA328_;
LA326_: ;
{
colontmpD__27 = ((NI)0);
imm = colontmpD__27;
}
goto LA329_;
LA327_: ;
{
colontmpD__28 = ((NI)1);
imm = colontmpD__28;
}
goto LA329_;
LA328_: ;
{
colontmpD__29 = ((NI)2);
imm = colontmpD__29;
}
LA329_: ;
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)115), ((NI64) (imm)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)237):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)113));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)249):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)114));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)238):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)116));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)239):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)117));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)240):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)118));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)241):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)119));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)242):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)120));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)243):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)121));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)245):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)122));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)246):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)123));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)247):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)124));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)251):
{
genBindSym__vmgen_1773(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)248):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)150));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)253):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)149));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)254):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)68));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)255):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)69));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)244):
{
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_94)) goto LA350_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_96)) goto LA351_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_98)) goto LA352_;
if (eqStrings((*(*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).name).s, TM__oYO8oEb9aAFcVmMqh9adT1hQ_100)) goto LA353_;
goto LA354_;
LA350_: ;
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)147), IL64(0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA355_;
LA351_: ;
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)147), IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA355_;
LA352_: ;
{
genUnaryABI__vmgen_1409(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)147), IL64(2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA355_;
LA353_: ;
{
{
NI T362_;
NimStringV2 argX60gensym325_;
T362_ = (NI)0;
T362_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!((T362_ == ((NI)3)))) goto LA363_;
argX60gensym325_.len = 0; argX60gensym325_.p = NIM_NIL;
argX60gensym325_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_101));
if (NIM_UNLIKELY(*nimErr_)) goto LA365_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym325_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_101));
if (NIM_UNLIKELY(*nimErr_)) goto LA365_;
{
LA365_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym325_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA363_: ;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)148));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA355_;
LA354_: ;
{
{
NimStringV2 argX60gensym327_;
if (!NIM_TRUE) goto LA371_;
argX60gensym327_.len = 0; argX60gensym327_.p = NIM_NIL;
argX60gensym327_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_102));
if (NIM_UNLIKELY(*nimErr_)) goto LA373_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym327_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_102));
if (NIM_UNLIKELY(*nimErr_)) goto LA373_;
{
LA373_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym327_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA371_: ;
}
LA355_: ;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)258):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)146));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)259):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)145));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)260):
{
{
NI T381_;
T381_ = (NI)0;
T381_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(T381_ <= ((NI)1))) goto LA382_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)143), ((NI) ((*dest))), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA379_;
LA382_: ;
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genBinaryStmt__vmgen_1517(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)144));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA379_: ;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)252):
{
{
NI T390_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA388_;
T390_ = (NI)0;
T390_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T390_));
}
LA388_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)159), ((NI) ((*dest))), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)257):
{
genBinaryABC__vmgen_1417(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)126));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)63):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)64):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)95):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)127):
{
genCall__vmgen_1209(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)27):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg;
arg = NIM_NIL;
{
NI T397_;
T397_ = (NI)0;
T397_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
if (!!((T397_ == ((NI)2)))) goto LA398_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_104, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_105), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
}
LA398_: ;
eqcopy___ast_3457(&arg, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
{
if (!((*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*arg).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32))) goto LA402_;
{
NI T408_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA406_;
T408_ = (NI)0;
T408_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
(*dest) = ((NI) (T408_));
}
LA406_: ;
genCall__vmgen_1209(c, arg, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
}
goto LA400_;
LA402_: ;
{
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_107, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_108), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA394_;
}
LA400_: ;
{
LA394_:;
}
{
oldNimErrFin394_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&arg);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin394_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)10):
{
NimStringV2 colontmpD__30;
colontmpD__30.len = 0; colontmpD__30.p = NIM_NIL;
colontmpD__30 = nsuFormatOpenArray(TM__oYO8oEb9aAFcVmMqh9adT1hQ_110, TM__oYO8oEb9aAFcVmMqh9adT1hQ_111, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA413_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__30, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_113), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA413_;
{
LA413_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__30));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)11):
{
NimStringV2 colontmpD__31;
colontmpD__31.len = 0; colontmpD__31.p = NIM_NIL;
colontmpD__31 = nsuFormatOpenArray(TM__oYO8oEb9aAFcVmMqh9adT1hQ_114, TM__oYO8oEb9aAFcVmMqh9adT1hQ_115, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA417_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__31, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_117), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA417_;
{
LA417_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__31));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)12):
{
NimStringV2 colontmpD__32;
colontmpD__32.len = 0; colontmpD__32.p = NIM_NIL;
colontmpD__32 = nsuFormatOpenArray(TM__oYO8oEb9aAFcVmMqh9adT1hQ_118, TM__oYO8oEb9aAFcVmMqh9adT1hQ_119, 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__32, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_121), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA421_;
{
LA421_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__32));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)269):
{
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)151):
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)152):
{
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)149):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* arg_2;
NI a;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T428_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T434_;
arg_2 = NIM_NIL;
eqcopy___ast_3457(&arg_2, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
T428_ = 0;
a = genx__vmgen_689(c, arg_2, T428_);
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
{
NI T433_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA431_;
T433_ = (NI)0;
T433_ = getTemp__vmgen_520(c, (*arg_2).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
(*dest) = ((NI) (T433_));
}
LA431_: ;
T434_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T434_ = whichAsgnOpc__vmgen_1859(arg_2, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
gABC__vmgen_275(c, arg_2, T434_, ((NI) ((*dest))), a, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
freeTemp__vmgen_529(c, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA427_;
{
LA427_:;
}
{
oldNimErrFin427_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&arg_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin427_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)276):
{
genUnaryABC__vmgen_1402(c, n, dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)138));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NimStringV2 colontmpD__33;
NimStringV2 colontmpD__34;
NimStringV2 T440_;
colontmpD__33.len = 0; colontmpD__33.p = NIM_NIL;
colontmpD__34.len = 0; colontmpD__34.p = NIM_NIL;
T440_.len = 0; T440_.p = NIM_NIL;
colontmpD__33 = dollar___ast_765(m);
T440_ = rawNewString(colontmpD__33.len + 26);
appendString((&T440_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_122);
appendString((&T440_), colontmpD__33);
colontmpD__34 = T440_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__34, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_123), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA439_;
{
LA439_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__34));
eqdestroy___stdZassertions_13((&colontmpD__33));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
static N_INLINE(void, clearDest__vmgen_695)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NIM_BOOL T5_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI)0) <= ((NI) ((*dest))));
if (!(T3_)) goto LA4_;
T5_ = (NIM_BOOL)0;
T5_ = ((*n).typ == 0);
if (T5_) goto LA6_;
T5_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)63));
LA6_: ;
T3_ = T5_;
LA4_: ;
if (!T3_) goto LA7_;
freeTemp__vmgen_529(c, ((NI) ((*dest))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI)-1);
}
LA7_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInt16Lit__vmgen_1585)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
result = (NIM_BOOL)0;
{
NIM_BOOL T5_;
if (!((*n).kind >= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) && (*n).kind <= ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)15))) goto LA3_;
T5_ = (NIM_BOOL)0;
T5_ = (IL64(-32768) <= (*n)._kind_1.intVal);
if (!(T5_)) goto LA6_;
T5_ = ((*n)._kind_1.intVal <= IL64(32767));
LA6_: ;
result = T5_;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, preventFalseAlias__vmgen_2323)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, NI dest, NI idx, NI value) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NIM_BOOL T4_;
NIM_BOOL T6_;
T3_ = (NIM_BOOL)0;
T4_ = (NIM_BOOL)0;
T4_ = isTemp__vmgen_937(c, ((NI) (dest)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = !(T4_);
if (!(T3_)) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = fitsRegister__vmgen_1827((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_ = !(T6_);
LA5_: ;
if (!T3_) goto LA7_;
genAdditionalCopy__vmgen_2315(c, n, opc, dest, idx, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA7_: ;
{
gABC__vmgen_275(c, n, opc, dest, idx, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genAsgn__vmgen_2337)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* ri, NIM_BOOL requiresCopy) {
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin16_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*le).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* collTyp;
NI dest;
NI idx;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T3_;
collTyp = NIM_NIL;
dest = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
idx = genIndex__vmgen_1310(c, (*le)._kind_6.sons.p->data[((NI)1)], (*(*le)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T3_ = 0;
tmp = genx__vmgen_689(c, ri, T3_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
collTyp = skipTypes__ast_4803((*(*le)._kind_6.sons.p->data[((NI)0)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_60);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
switch ((*collTyp).kind) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)26), dest, idx, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18):
{
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), dest, ((NI) (((NI) ((*(*le)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal)))), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
default:
{
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)18), dest, idx, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
}
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
freeTemp__vmgen_529(c, idx);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&collTyp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
NI objR;
NI idx_2;
NI tmp_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T10_;
objR = ((NI)-1);
genCheckedObjAccessAux__vmgen_1321(c, le, (&objR), 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
idx_2 = genField__vmgen_1293(c, (*(*le)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T10_ = 0;
tmp_2 = genx__vmgen_689(c, ri, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
preventFalseAlias__vmgen_2323(c, (*le)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), ((NI) (objR)), idx_2, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, ((NI) (objR)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
{
NI dest_2;
NI idx_3;
NI tmp_3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T12_;
dest_2 = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
idx_3 = genField__vmgen_1293(c, (*le)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T12_ = 0;
tmp_3 = genx__vmgen_689(c, ri, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), dest_2, idx_3, tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
NI dest_3;
NI tmp_4;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T14_;
dest_3 = genx__vmgen_689(c, (*le)._kind_6.sons.p->data[((NI)0)], 1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T14_ = 0;
tmp_4 = genx__vmgen_689(c, ri, T14_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), dest_3, ((NI)0), tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
s = NIM_NIL;
eqcopy___ast_4063(&s, (*le)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
checkCanEval__vmgen_2272(c, le);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
{
NIM_BOOL T19_;
NI tmp_5;
NI val;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T23_;
T19_ = (NIM_BOOL)0;
T19_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T19_)) goto LA20_;
T19_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA20_: ;
if (!T19_) goto LA21_;
tmp_5 = getTemp__vmgen_520(c, (*le).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
gen__vmgen_666(c, le, tmp_5, 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T23_ = 0;
val = genx__vmgen_689(c, ri, T23_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
preventFalseAlias__vmgen_2323(c, le, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), tmp_5, ((NI)0), val);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
freeTemp__vmgen_529(c, val);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
freeTemp__vmgen_529(c, tmp_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
goto LA17_;
LA21_: ;
{
NI dest_4;
{
if (!((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21))) goto LA27_;
setSlot__vmgen_2228(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
LA27_: ;
{
NIM_BOOL T31_;
NIM_BOOL T33_;
NimStringV2 argX60gensym413_;
T31_ = (NIM_BOOL)0;
T31_ = (((NI)0) < (*s).position);
if (T31_) goto LA32_;
T33_ = (NIM_BOOL)0;
T33_ = ((*s).position == ((NI)0));
if (!(T33_)) goto LA34_;
T33_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11));
LA34_: ;
T31_ = T33_;
LA32_: ;
if (!!(T31_)) goto LA35_;
argX60gensym413_.len = 0; argX60gensym413_.p = NIM_NIL;
argX60gensym413_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_129));
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym413_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_129));
if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
{
LA37_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym413_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
LA35_: ;
dest_4 = ((NI) ((NI)((*s).position + ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3)))));
{
NIM_BOOL T42_;
NIM_BOOL T43_;
NIM_BOOL T44_;
NIM_BOOL T46_;
NI cc;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T50_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T51_;
T42_ = (NIM_BOOL)0;
T43_ = (NIM_BOOL)0;
T44_ = (NIM_BOOL)0;
T44_ = isTemp__vmgen_937(c, ((NI) (dest_4)));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T43_ = !(T44_);
if (!(T43_)) goto LA45_;
T46_ = (NIM_BOOL)0;
T46_ = fitsRegister__vmgen_1827((*le).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T43_ = !(T46_);
LA45_: ;
T42_ = T43_;
if (!(T42_)) goto LA47_;
T42_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
LA47_: ;
if (!T42_) goto LA48_;
cc = getTemp__vmgen_520(c, (*le).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T50_ = 0;
gen__vmgen_666(c, ri, cc, T50_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
T51_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T51_ = whichAsgnOpc__vmgen_1859(le, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
gABC__vmgen_275(c, le, T51_, dest_4, cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
goto LA40_;
LA48_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T53_;
T53_ = 0;
gen__vmgen_666(c, ri, dest_4, T53_);
if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
}
LA40_: ;
}
LA17_: ;
{
LA16_:;
}
{
oldNimErrFin16_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin16_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
NI dest_5;
dest_5 = genx__vmgen_689(c, le, 2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genAsgn__vmgen_2219(c, ((NI) (dest_5)), ri, requiresCopy);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest_5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjAccessAux__vmgen_2587)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI a, NI b, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T9_;
T9_ = 0;
if (!!(((2 & flags) == T9_))) goto LA10_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)20), ((NI) ((*dest))), ((NI) (a)), ((NI) (b)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA10_: ;
{
NIM_BOOL T13_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T14_;
NI cc;
T13_ = (NIM_BOOL)0;
T14_ = 0;
T13_ = ((3 & flags) == T14_);
if (!(T13_)) goto LA15_;
colontmpD_ = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_130);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = fitsRegister__vmgen_1827(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA15_: ;
if (!T13_) goto LA16_;
cc = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)19), cc, ((NI) (a)), ((NI) (b)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA16_: ;
{
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)19), ((NI) ((*dest))), ((NI) (a)), ((NI) (b)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA7_: ;
freeTemp__vmgen_529(c, ((NI) (a)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjAccess__vmgen_2611)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NI T1_;
NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = (NI)0;
T1_ = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T2_ = (NI)0;
T2_ = genField__vmgen_1293(c, (*n)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genObjAccessAux__vmgen_2587(c, n, ((NI) (T1_)), ((NI) (T2_)), dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCheckedObjAccess__vmgen_2669)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* accessExpr;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* field;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NI objR;
NI fieldPos;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
accessExpr = NIM_NIL;
field = NIM_NIL;
colontmpD_ = NIM_NIL;
objR = ((NI)-1);
genCheckedObjAccessAux__vmgen_1321(c, n, (&objR), flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&accessExpr, (*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqcopy___ast_3457(&field, (*accessExpr)._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NimStringV2 argX60gensym471_;
if (!!(((*(*field)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)19)))) goto LA4_;
argX60gensym471_.len = 0; argX60gensym471_.p = NIM_NIL;
argX60gensym471_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_131));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym471_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_131));
if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
{
LA6_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym471_));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA4_: ;
{
NI T13_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA11_;
T13_ = (NI)0;
T13_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T13_));
}
LA11_: ;
fieldPos = genField__vmgen_1293(c, field);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T16_;
T16_ = 0;
if (!!(((2 & flags) == T16_))) goto LA17_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)20), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA14_;
LA17_: ;
{
NIM_BOOL T20_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T21_;
NI cc;
T20_ = (NIM_BOOL)0;
T21_ = 0;
T20_ = ((3 & flags) == T21_);
if (!(T20_)) goto LA22_;
colontmpD_ = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_130);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T20_ = fitsRegister__vmgen_1827(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA22_: ;
if (!T20_) goto LA23_;
cc = getTemp__vmgen_520(c, (*accessExpr).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)19), cc, ((NI) (objR)), fieldPos);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA14_;
LA23_: ;
{
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)19), ((NI) ((*dest))), ((NI) (objR)), fieldPos);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA14_: ;
freeTemp__vmgen_529(c, ((NI) (objR)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&field);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&accessExpr);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrAccessOpcode__vmgen_2559)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NI a;
NI b;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
a = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
b = genIndex__vmgen_1310(c, (*n)._kind_6.sons.p->data[((NI)1)], (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = (opc == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)17) || opc == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)28));
if (!(T9_)) goto LA10_;
T9_ = ((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)1)))&7U)))!=0);
LA10_: ;
if (!T9_) goto LA11_;
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), a, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA11_: ;
{
NIM_BOOL T14_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T15_;
NI cc;
T14_ = (NIM_BOOL)0;
T15_ = 0;
T14_ = ((3 & flags) == T15_);
if (!(T14_)) goto LA16_;
colontmpD_ = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_130);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T14_ = fitsRegister__vmgen_1827(colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA16_: ;
if (!T14_) goto LA17_;
cc = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, opc, cc, a, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA17_: ;
{
gABC__vmgen_275(c, n, opc, ((NI) ((*dest))), a, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA7_: ;
freeTemp__vmgen_529(c, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrAccess__vmgen_2705)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ arrayType;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD_ = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_60);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
arrayType = (*colontmpD_).kind;
switch (arrayType) {
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)28):
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29):
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__2;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__3;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc;
colontmpD__2 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__3 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)1)))&7U)))!=0)) goto LA5_;
colontmpD__2 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)28);
opc = colontmpD__2;
}
goto LA3_;
LA5_: ;
{
colontmpD__3 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)27);
opc = colontmpD__3;
}
LA3_: ;
genArrAccessOpcode__vmgen_2559(c, n, dest, opc, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)18):
{
NI T9_;
T9_ = (NI)0;
T9_ = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
genObjAccessAux__vmgen_2587(c, n, ((NI) (T9_)), ((NI) ((*(*n)._kind_6.sons.p->data[((NI)1)])._kind_1.intVal)), dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
case ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8):
{
genTypeLit__vmgen_2413(c, (*n).typ, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
default:
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__4;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ colontmpD__5;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc_2;
colontmpD__4 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
colontmpD__5 = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
{
if (!((flags &((NU8)1<<((NU)((((tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg)1)))&7U)))!=0)) goto LA14_;
colontmpD__4 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)17);
opc_2 = colontmpD__4;
}
goto LA12_;
LA14_: ;
{
colontmpD__5 = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)16);
opc_2 = colontmpD__5;
}
LA12_: ;
genArrAccessOpcode__vmgen_2559(c, n, dest, opc_2, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
break;
}
{
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, unneededIndirection__vmgen_2091)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
colontmpD_ = NIM_NIL;
colontmpD_ = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_75);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = ((*colontmpD_).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22));
eqdestroy___ast_3543(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genDeref__vmgen_2185)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = unneededIndirection__vmgen_2091((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)0)], dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T8_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T9_;
T8_ = (NIM_BOOL)0;
T9_ = 0;
T8_ = ((3 & flags) == T9_);
if (!(T8_)) goto LA10_;
T8_ = fitsRegister__vmgen_1827((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA10_: ;
if (!T8_) goto LA11_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA11_: ;
}
goto LA1_;
LA4_: ;
{
NI tmp;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI T18_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA16_;
T18_ = (NI)0;
T18_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T18_));
}
LA16_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)24), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NIM_BOOL T21_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T22_;
T21_ = (NIM_BOOL)0;
T22_ = 0;
T21_ = ((3 & flags) == T22_);
if (!(T21_)) goto LA23_;
T21_ = fitsRegister__vmgen_1827((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA23_: ;
if (!T21_) goto LA24_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)15), ((NI) ((*dest))), ((NI) ((*dest))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA24_: ;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*, canElimAddr__vmgen_2102)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* result;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
m = NIM_NIL;
eqcopy___ast_3457(&m, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
if (!((*m).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47) || (*m).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA5_;
result = copyNode__ast_5733((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
add__ast_6233(result, (*m)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA5_: ;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m_2;
m_2 = NIM_NIL;
eqcopy___ast_3457(&m_2, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
{
if (!((*m_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47) || (*m_2).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA13_;
result = copyNode__ast_5733((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
add__ast_6233(result, (*m_2)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
}
LA13_: ;
{
LA10_:;
}
{
oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&m_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin10_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65))) goto LA20_;
eqcopy___ast_3457(&result, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA20_: ;
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGlobal__vmgen_1259)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T1_)) goto LA2_;
T3_ = (NIM_BOOL)0;
T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T3_)) goto LA4_;
T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA4_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genAddr__vmgen_2139)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* m;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg newflags;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
m = NIM_NIL;
{
m = canElimAddr__vmgen_2102(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!((m == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA4_;
gen__vmgen_661(c, m, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA4_: ;
newflags = ((flags & ~ 1) | 2);
{
NIM_BOOL T8_;
T8_ = (NIM_BOOL)0;
T8_ = isGlobal__vmgen_1259((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (T8_) goto LA9_;
T8_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46) || (*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42));
LA9_: ;
if (!T8_) goto LA10_;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)0)], dest, newflags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA6_;
LA10_: ;
{
NI tmp;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], newflags);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T17_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA15_;
T17_ = (NI)0;
T17_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T17_));
}
LA15_: ;
{
if (!(((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)3) <= (*(*c).prc).regInfo.p->data[tmp].Field1)) goto LA20_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)23), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*(*c).prc).regInfo.p->data[tmp].Field1 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)8);
}
goto LA18_;
LA20_: ;
{
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)22), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA18_: ;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA6_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&m);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNotOpr__vmgen_706)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T2_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)27) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)29) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)30) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)31) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)28) || (*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32));
if (!(T2_)) goto LA3_;
T2_ = ((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
LA3_: ;
T1_ = T2_;
if (!(T1_)) goto LA4_;
T1_ = ((*(*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)96));
LA4_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genIf__vmgen_891)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
endings.len = 0; endings.p = NIM_NIL;
{
NIM_BOOL T4_;
NIM_BOOL T6_;
NI T9_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI) ((*dest))) < ((NI)0));
if (!(T4_)) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = !(T6_);
LA5_: ;
if (!T4_) goto LA7_;
T9_ = (NI)0;
T9_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T9_));
}
LA7_: ;
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)0);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA12 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
NI T16_;
NI tmp;
NI elsePos;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T27_;
T16_ = (NI)0;
T16_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
if (!(T16_ == ((NI)2))) goto LA17_;
tmp = getTemp__vmgen_520(c, (*(*it)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
elsePos = (NI)0;
{
NIM_BOOL T21_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T24_;
T21_ = (NIM_BOOL)0;
T21_ = isNotOpr__vmgen_706((*it)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
if (!T21_) goto LA22_;
T24_ = 0;
gen__vmgen_666(c, (*(*it)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], tmp, T24_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
elsePos = xjmp__vmgen_393(c, (*(*it)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
goto LA19_;
LA22_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T26_;
T26_ = 0;
gen__vmgen_666(c, (*it)._kind_6.sons.p->data[((NI)0)], tmp, T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
elsePos = xjmp__vmgen_393(c, (*it)._kind_6.sons.p->data[((NI)0)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
LA19_: ;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
T27_ = 0;
gen__vmgen_661(c, (*it)._kind_6.sons.p->data[((NI)1)], dest, T27_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
{
NI T30_;
NI T33_;
T30_ = (NI)0;
T30_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
if (!(i < (NI)(T30_ - ((NI)1)))) goto LA31_;
T33_ = (NI)0;
T33_ = xjmp__vmgen_393(c, (*it)._kind_6.sons.p->data[((NI)1)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
add__vmgen_849((&endings), T33_);
}
LA31_: ;
patch__vmgen_420(c, elsePos);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
goto LA14_;
LA17_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T35_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
T35_ = 0;
gen__vmgen_661(c, (*it)._kind_6.sons.p->data[((NI)0)], dest, T35_);
if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
}
LA14_: ;
i_2 += ((NI)1);
{
LA13_:;
}
{
oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin13_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA12: ;
}
}
{
NI* endPos;
NI i_3;
NI L;
NI T39_;
endPos = (NI*)0;
i_3 = ((NI)0);
T39_ = endings.len;
L = T39_;
{
while (1) {
if (!(i_3 < L)) goto LA41 ;
endPos = (&endings.p->data[i_3]);
patch__vmgen_420(c, (*endPos));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_3 += ((NI)1);
} LA41: ;
}
}
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___vmdef_686((&endings));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCase__vmgen_1035)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T13_;
NIM_BOOL oldNimErrFin38_;
NIM_BOOL oldNimErrFin31_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
endings.len = 0; endings.p = NIM_NIL;
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T4_)) goto LA5_;
{
NI T11_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA9_;
T11_ = (NI)0;
T11_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T11_));
}
LA9_: ;
}
goto LA2_;
LA5_: ;
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
tmp = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = 0;
gen__vmgen_666(c, (*n)._kind_6.sons.p->data[((NI)0)], tmp, T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA16 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
NI T20_;
T20_ = (NI)0;
T20_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
if (!(T20_ == ((NI)1))) goto LA21_;
{
NIM_BOOL T25_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T29_;
T25_ = (NIM_BOOL)0;
T25_ = !(((*(*it)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23)));
if (T25_) goto LA26_;
T25_ = !(((*(*it)._kind_6.sons.p->data[((NI)0)]).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
LA26_: ;
if (!T25_) goto LA27_;
T29_ = 0;
gen__vmgen_661(c, (*it)._kind_6.sons.p->data[((NI)0)], dest, T29_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA27_: ;
}
goto LA18_;
LA21_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NI b;
NI elsePos;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T32_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
b = rawGenLiteral__vmgen_955(c, it);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
gABx__vmgen_370(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)165), tmp, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD_ = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
elsePos = xjmp__vmgen_393(c, colontmpD_, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
colontmpD__2 = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
T32_ = 0;
gen__vmgen_661(c, colontmpD__2, dest, T32_);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
NI T35_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__3;
NI T39_;
T35_ = (NI)0;
T35_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
if (!(i < (NI)(T35_ - ((NI)1)))) goto LA36_;
colontmpD__3 = NIM_NIL;
colontmpD__3 = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
T39_ = (NI)0;
T39_ = xjmp__vmgen_393(c, colontmpD__3, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA38_;
add__vmgen_849((&endings), T39_);
{
LA38_:;
}
{
oldNimErrFin38_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
*nimErr_ = oldNimErrFin38_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
}
LA36_: ;
patch__vmgen_420(c, elsePos);
if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
{
LA31_:;
}
{
oldNimErrFin31_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
*nimErr_ = oldNimErrFin31_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA18_: ;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
i_2 += ((NI)1);
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA16: ;
}
}
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI* endPos;
NI i_3;
NI L;
NI T47_;
endPos = (NI*)0;
i_3 = ((NI)0);
T47_ = endings.len;
L = T47_;
{
while (1) {
if (!(i_3 < L)) goto LA49 ;
endPos = (&endings.p->data[i_3]);
patch__vmgen_420(c, (*endPos));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_3 += ((NI)1);
} LA49: ;
}
}
{
LA1_:;
}
{
eqdestroy___vmdef_686((&endings));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, genLabel__vmgen_402)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c) {
NI result;
NI T1_;
result = (NI)0;
T1_ = (*c).code.len;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__vmgen_723)(tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T2_;
NIM_BOOL T3_;
NIM_BOOL T7_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T2_ = (NIM_BOOL)0;
T3_ = (NIM_BOOL)0;
T3_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
if (!(T3_)) goto LA4_;
T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20));
LA4_: ;
T2_ = T3_;
if (!(T2_)) goto LA5_;
T2_ = !(((*(*n)._kind_4.sym).position == ((NI)0)));
LA5_: ;
T1_ = T2_;
if (T1_) goto LA6_;
T7_ = (NIM_BOOL)0;
T7_ = ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6));
if (!(T7_)) goto LA8_;
T7_ = !(((*n)._kind_1.intVal == IL64(0)));
LA8_: ;
T1_ = T7_;
LA6_: ;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, jmpBack__vmgen_408)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI p) {
NI dist;
NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = (*c).code.len;
dist = (NI)(p - T1_);
{
NIM_BOOL T4_;
NimStringV2 argX60gensym44_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI)-8388607) < dist);
if (!(T4_)) goto LA5_;
T4_ = (dist < ((NI)8388607));
LA5_: ;
if (!!(T4_)) goto LA6_;
argX60gensym44_.len = 0; argX60gensym44_.p = NIM_NIL;
argX60gensym44_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_132));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym44_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_132));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
LA8_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym44_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA6_: ;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)164), ((NI)0), dist);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, popBlock__vmgen_619)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI oldLen) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tySequence__qwqHTkRvwhrRyENtudHQ7g colontmp_;
NI* f;
NI i;
NI L;
NI T3_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
f = (NI*)0;
eqcopy___vmdef_689((&colontmp_), (*(*c).prc).blocks.p->data[oldLen].fixups);
i = ((NI)0);
T3_ = colontmp_.len;
L = T3_;
{
while (1) {
if (!(i < L)) goto LA5 ;
f = (&colontmp_.p->data[i]);
patch__vmgen_420(c, (*f));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
i += ((NI)1);
} LA5: ;
}
{
LA2_:;
}
{
eqdestroy___vmdef_686((&colontmp_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
setLen__vmdef_807((&(*(*c).prc).blocks), ((NI) (oldLen)));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genWhile__vmgen_738)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI lab1;
NI oldLen;
NI T1_;
tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lab1 = genLabel__vmgen_402(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (*(*c).prc).blocks.len;
oldLen = T1_;
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ));
nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ));
T2_.label = ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL);
T2_.fixups.len = 0; T2_.fixups.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
add__vmgen_750((&(*(*c).prc).blocks), T2_);
{
NIM_BOOL T5_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T8_;
T5_ = (NIM_BOOL)0;
T5_ = isTrue__vmgen_723((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T5_) goto LA6_;
T8_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[((NI)1)], T8_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
jmpBack__vmgen_408(c, n, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA6_: ;
{
NIM_BOOL T10_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T13_;
NI lab2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T14_;
T10_ = (NIM_BOOL)0;
T10_ = isNotOpr__vmgen_706((*n)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T10_) goto LA11_;
T13_ = 0;
tmp = genx__vmgen_689(c, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], T13_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
lab2 = xjmp__vmgen_393(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161), tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T14_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[((NI)1)], T14_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
jmpBack__vmgen_408(c, n, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
patch__vmgen_420(c, lab2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA3_;
LA11_: ;
{
NI tmp_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T16_;
NI lab2_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T17_;
T16_ = 0;
tmp_2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], T16_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
lab2_2 = xjmp__vmgen_393(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162), tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T17_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[((NI)1)], T17_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
jmpBack__vmgen_408(c, n, lab1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
patch__vmgen_420(c, lab2_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
popBlock__vmgen_619(c, oldLen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBlock__vmgen_794)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
NI oldRegisterCount;
NI T1_;
NI oldLen;
NI T2_;
tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ T3_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
T1_ = (*(*c).prc).regInfo.len;
oldRegisterCount = T1_;
T2_ = (*(*c).prc).blocks.len;
oldLen = T2_;
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ));
nimZeroMem((void*)(&T3_), sizeof(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ));
colontmpD_ = 0;
eqcopy___ast_4063(&colontmpD_, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T3_.label = colontmpD_;
T3_.fixups.len = 0; T3_.fixups.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
add__vmgen_750((&(*(*c).prc).blocks), T3_);
T4_ = 0;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)1)], dest, T4_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
popBlock__vmgen_619(c, oldLen);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i;
NI colontmp_;
NI T6_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
T6_ = (*(*c).prc).regInfo.len;
colontmp_ = T6_;
i_2 = oldRegisterCount;
{
while (1) {
if (!(i_2 < colontmp_)) goto LA8 ;
i = i_2;
{
NIM_BOOL colontmp__2;
tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw colontmp__3;
if (!!((i == ((NI) ((*dest)))))) goto LA11_;
colontmp__2 = NIM_FALSE;
colontmp__3 = ((tyEnum_TSlotKind__qhj7bj6ziZEULdOn2LGcOw)0);
(*(*c).prc).regInfo.p->data[i].Field0 = colontmp__2;
(*(*c).prc).regInfo.p->data[i].Field1 = colontmp__3;
}
LA11_: ;
i_2 += ((NI)1);
} LA8: ;
}
}
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genReturn__vmgen_1195)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T5_;
if (!!(((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA3_;
T5_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[((NI)0)], T5_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)1), ((NI)0), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genRaise__vmgen_1190)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI dest;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = 0;
dest = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], T1_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)156), dest, ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genBreak__vmgen_826)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI lab1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
lab1 = xjmp__vmgen_393(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA3_;
{
NI i;
NI colontmp_;
NI T6_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
T6_ = (*(*c).prc).blocks.len;
colontmp_ = (NI)(T6_ - ((NI)1));
res = colontmp_;
{
while (1) {
if (!(((NI)0) <= res)) goto LA8 ;
i = res;
{
if (!((*(*c).prc).blocks.p->data[i].label == (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym)) goto LA11_;
add__vmgen_849((&(*(*c).prc).blocks.p->data[i].fixups), lab1);
goto BeforeRet_;
}
LA11_: ;
res -= ((NI)1);
} LA8: ;
}
}
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_134, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_135), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
NI T14_;
T14_ = ((*(*c).prc).blocks.len-1);
add__vmgen_849((&(*(*c).prc).blocks.p->data[T14_].fixups), lab1);
}
LA1_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTry__vmgen_1115)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tySequence__qwqHTkRvwhrRyENtudHQ7g endings;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* fin;
NI ehPos;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T10_;
NI jumpToFinally;
NIM_BOOL oldNimErrFin24_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin14_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
endings.len = 0; endings.p = NIM_NIL;
fin = NIM_NIL;
{
NIM_BOOL T4_;
NIM_BOOL T6_;
NI T9_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI) ((*dest))) < ((NI)0));
if (!(T4_)) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T4_ = !(T6_);
LA5_: ;
if (!T4_) goto LA7_;
T9_ = (NI)0;
T9_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T9_));
}
LA7_: ;
endings.len = 0; endings.p = (tySequence__qwqHTkRvwhrRyENtudHQ7g_Content*) newSeqPayload(0, sizeof(NI), NIM_ALIGNOF(NI));
ehPos = xjmp__vmgen_393(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)166), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T10_ = 0;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)0)], dest, T10_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
jumpToFinally = xjmp__vmgen_393(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
patch__vmgen_420(c, ehPos);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA13 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
NI endExcept;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T33_;
if (!!(((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107)))) goto LA17_;
colontmpD_ = NIM_NIL;
endExcept = xjmp__vmgen_393(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)167), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
NI j;
NI colontmp__2;
NI T21_;
NI i_3;
j = (NI)0;
colontmp__2 = (NI)0;
T21_ = (NI)0;
T21_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
colontmp__2 = (NI)(T21_ - ((NI)1));
i_3 = ((NI)0);
{
while (1) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* typ;
NI T25_;
if (!(i_3 < colontmp__2)) goto LA23 ;
typ = NIM_NIL;
j = i_3;
typ = skipTypes__ast_4803((*(*it)._kind_6.sons.p->data[j]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_136);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
T25_ = (NI)0;
T25_ = genType__vmgen_1093(c, typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
gABx__vmgen_370(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)167), ((NI)0), T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA24_;
i_3 += ((NI)1);
{
LA24_:;
}
{
oldNimErrFin24_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
*nimErr_ = oldNimErrFin24_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
} LA23: ;
}
}
{
NI T30_;
T30_ = (NI)0;
T30_ = len__ast_3325(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
if (!(T30_ == ((NI)1))) goto LA31_;
gABx__vmgen_370(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)167), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
}
LA31_: ;
colontmpD_ = lastSon__ast_6268(it);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
T33_ = 0;
gen__vmgen_661(c, colontmpD_, dest, T33_);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
NI T36_;
NI T39_;
T36_ = (NI)0;
T36_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
if (!(i < T36_)) goto LA37_;
T39_ = (NI)0;
T39_ = xjmp__vmgen_393(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
add__vmgen_849((&endings), T39_);
}
LA37_: ;
patch__vmgen_420(c, endExcept);
if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
{
LA19_:;
}
{
oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
*nimErr_ = oldNimErrFin19_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA17_: ;
i_2 += ((NI)1);
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA13: ;
}
}
fin = lastSon__ast_6268(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
patch__vmgen_420(c, jumpToFinally);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, fin, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)168), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI* endPos;
NI i_4;
NI L;
NI T45_;
endPos = (NI*)0;
i_4 = ((NI)0);
T45_ = endings.len;
L = T45_;
{
while (1) {
if (!(i_4 < L)) goto LA47 ;
endPos = (&endings.p->data[i_4]);
patch__vmgen_420(c, (*endPos));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_4 += ((NI)1);
} LA47: ;
}
}
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T52_;
if (!((*fin).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)107))) goto LA50_;
T52_ = 0;
gen__vmgen_684(c, (*fin)._kind_6.sons.p->data[((NI)0)], T52_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA50_: ;
gABx__vmgen_370(c, fin, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)169), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&fin);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___vmdef_686((&endings));
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
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(tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*, getOwner__vmgen_2255)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c) {
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
eqcopy___ast_4063(&result, (*(*c).prc).sym);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(result == 0)) goto LA3_;
eqcopy___ast_4063(&result, (*c).module);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, genVarSection__vmgen_2854)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NIM_BOOL oldNimErrFin15_;
NIM_BOOL oldNimErrFin53_;
NIM_BOOL oldNimErrFin70_;
NIM_BOOL oldNimErrFin36_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* a;
a = 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 LA2_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA5 ;
i = i_2;
eqcopy___ast_3457(&a, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
{
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125))) goto LA9_;
goto LA6;
}
LA9_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T30_;
if (!((*a).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)36))) goto LA13_;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
{
NI i_3;
NI colontmp__2;
NI T17_;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T17_ = (NI)0;
T17_ = len__ast_3325(a);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmp__2 = (NI)(T17_ - ((NI)2));
i_4 = ((NI)0);
{
while (1) {
if (!(i_4 < colontmp__2)) goto LA19 ;
i_3 = i_4;
{
if (!((*(*a)._kind_6.sons.p->data[i_3]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA22_;
{
NIM_BOOL T26_;
T26_ = (NIM_BOOL)0;
T26_ = (((*(*(*a)._kind_6.sons.p->data[i_3])._kind_4.sym).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T26_)) goto LA27_;
T26_ = !(((*(*(*a)._kind_6.sons.p->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA27_: ;
if (!!(T26_)) goto LA28_;
setSlot__vmgen_2228(c, (*(*a)._kind_6.sons.p->data[i_3])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA28_: ;
checkCanEval__vmgen_2272(c, (*a)._kind_6.sons.p->data[i_3]);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
}
LA22_: ;
i_4 += ((NI)1);
} LA19: ;
}
}
colontmpD_ = getOwner__vmgen_2255(c);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
colontmpD__2 = lowerTupleUnpacking__lowerings_117((*c).graph, a, (*c).Sup.idgen, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
T30_ = 0;
gen__vmgen_684(c, colontmpD__2, T30_);
if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
{
LA15_:;
}
{
oldNimErrFin15_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_4060(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin15_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA11_;
LA13_: ;
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
if (!((*(*a)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA34_;
s = NIM_NIL;
eqcopy___ast_4063(&s, (*(*a)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
checkCanEval__vmgen_2272(c, (*a)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
{
NIM_BOOL T39_;
T39_ = (NIM_BOOL)0;
T39_ = (((*s).flags &((NU64)1<<((NU)((((tyEnum_TSymFlag__TAs9cOBd13PVhEf42OX9cOdg)3)))&63U)))!=0);
if (!(T39_)) goto LA40_;
T39_ = !(((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21)));
LA40_: ;
if (!T39_) goto LA41_;
{
if (!((*s).position == ((NI)0))) goto LA45_;
{
NIM_BOOL T49_;
T49_ = (NIM_BOOL)0;
T49_ = importcCond__vmgen_2434(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
if (!T49_) goto LA50_;
importcSym__vmgen_2446(c, (*a).info, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
}
goto LA47_;
LA50_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* sa;
NI T54_;
sa = NIM_NIL;
sa = getNullValue__vmgen_2450((*s).typ, (*a).info, (*c).config);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
add__ast_6233((*c).globals, sa);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
T54_ = (NI)0;
T54_ = len__ast_3325((*c).globals);
if (NIM_UNLIKELY(*nimErr_)) goto LA53_;
(*s).position = T54_;
{
LA53_:;
}
{
oldNimErrFin53_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&sa);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
*nimErr_ = oldNimErrFin53_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
}
LA47_: ;
}
LA45_: ;
{
NI tmp;
NI val;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T61_;
if (!!(((*(*a)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1)))) goto LA59_;
tmp = genx__vmgen_689(c, (*a)._kind_6.sons.p->data[((NI)0)], 2);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
T61_ = 0;
val = genx__vmgen_689(c, (*a)._kind_6.sons.p->data[((NI)2)], T61_);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
genAdditionalCopy__vmgen_2315(c, (*a)._kind_6.sons.p->data[((NI)2)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)25), tmp, ((NI)0), val);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
freeTemp__vmgen_529(c, val);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
}
LA59_: ;
}
goto LA37_;
LA41_: ;
{
setSlot__vmgen_2228(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T67_;
NI T68_;
if (!((*(*a)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA65_;
T67_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T67_ = ldNullOpcode__vmgen_1849((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
T68_ = (NI)0;
T68_ = genType__vmgen_1093(c, (*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
gABx__vmgen_370(c, a, T67_, ((NI) ((*s).position)), T68_);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
}
goto LA63_;
LA65_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* le;
le = NIM_NIL;
{
NIM_BOOL T73_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T76_;
NI T77_;
T73_ = (NIM_BOOL)0;
T73_ = fitsRegister__vmgen_1827((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
if (!!(T73_)) goto LA74_;
T76_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T76_ = ldNullOpcode__vmgen_1849((*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
T77_ = (NI)0;
T77_ = genType__vmgen_1093(c, (*s).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
gABx__vmgen_370(c, a, T76_, ((NI) ((*s).position)), T77_);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
}
LA74_: ;
eqcopy___ast_3457(&le, (*a)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
{
NIM_BOOL T80_;
NIM_BOOL T81_;
NI cc;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T85_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T86_;
T80_ = (NIM_BOOL)0;
T81_ = (NIM_BOOL)0;
T81_ = fitsRegister__vmgen_1827((*le).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
T80_ = !(T81_);
if (!(T80_)) goto LA82_;
T80_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8) || (*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3));
LA82_: ;
if (!T80_) goto LA83_;
cc = getTemp__vmgen_520(c, (*le).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
T85_ = 0;
gen__vmgen_666(c, (*a)._kind_6.sons.p->data[((NI)2)], cc, T85_);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
T86_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T86_ = whichAsgnOpc__vmgen_1859(le, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
gABC__vmgen_275(c, le, T86_, ((NI) ((*s).position)), cc, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
freeTemp__vmgen_529(c, cc);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
}
goto LA78_;
LA83_: ;
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T88_;
T88_ = 0;
gen__vmgen_666(c, (*a)._kind_6.sons.p->data[((NI)2)], ((NI) ((*s).position)), T88_);
if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
}
LA78_: ;
{
LA70_:;
}
{
oldNimErrFin70_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&le);
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
*nimErr_ = oldNimErrFin70_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA36_;
}
LA63_: ;
}
LA37_: ;
{
LA36_:;
}
{
oldNimErrFin36_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin36_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA11_;
LA34_: ;
{
{
NI tmp_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T98_;
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T99_;
NI T100_;
if (!((*(*a)._kind_6.sons.p->data[((NI)2)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1))) goto LA96_;
T98_ = 0;
tmp_2 = genx__vmgen_689(c, (*a)._kind_6.sons.p->data[((NI)0)], T98_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T99_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T99_ = ldNullOpcode__vmgen_1849((*(*a)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
T100_ = (NI)0;
T100_ = genType__vmgen_1093(c, (*(*a)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
gABx__vmgen_370(c, a, T99_, tmp_2, T100_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA94_;
LA96_: ;
{
genAsgn__vmgen_2337(c, (*a)._kind_6.sons.p->data[((NI)0)], (*a)._kind_6.sons.p->data[((NI)2)], NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA94_: ;
}
LA11_: ;
} LA6: ;
i_2 += ((NI)1);
} LA5: ;
}
}
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr__vmgen_2970)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* intType;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* seqType;
NI T7_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
intType = NIM_NIL;
seqType = NIM_NIL;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
T7_ = (NI)0;
T7_ = genType__vmgen_1093(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), ((NI) ((*dest))), T7_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
intType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
seqType = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_54);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI tmp;
NI T12_;
NI T13_;
if (!((*seqType).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)24))) goto LA10_;
tmp = getTemp__vmgen_520(c, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T12_ = (NI)0;
T12_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), tmp, T12_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T13_ = (NI)0;
T13_ = genType__vmgen_1093(c, seqType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), ((NI) ((*dest))), T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)171), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA10_: ;
{
NI T16_;
NI tmp_2;
NI T19_;
T16_ = (NI)0;
T16_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!(((NI)0) < T16_)) goto LA17_;
tmp_2 = getTemp__vmgen_520(c, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T19_ = (NI)0;
T19_ = genType__vmgen_1093(c, intType);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)173), tmp_2, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
x = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
i_2 = ((NI)0);
{
while (1) {
NI a;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T25_;
if (!(i_2 < colontmp_)) goto LA24 ;
i = i_2;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
T25_ = 0;
a = genx__vmgen_689(c, x, T25_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
preventFalseAlias__vmgen_2323(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)18), ((NI) ((*dest))), tmp_2, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)31), tmp_2, tmp_2, IL64(1));
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
freeTemp__vmgen_529(c, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
i_2 += ((NI)1);
} LA24: ;
}
}
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA17_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&seqType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&intType);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr__vmgen_2994)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NI T6_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T5_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA3_;
T5_ = (NI)0;
T5_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T5_));
}
LA3_: ;
T6_ = (NI)0;
T6_ = genType__vmgen_1093(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), ((NI) ((*dest))), T6_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
x = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
i_2 = ((NI)0);
{
while (1) {
if (!(i_2 < colontmp_)) goto LA11 ;
i = i_2;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
{
NI a;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T16_;
NI b;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T17_;
if (!((*x).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)44))) goto LA14_;
T16_ = 0;
a = genx__vmgen_689(c, (*x)._kind_6.sons.p->data[((NI)0)], T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
T17_ = 0;
b = genx__vmgen_689(c, (*x)._kind_6.sons.p->data[((NI)1)], T17_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)38), ((NI) ((*dest))), a, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
freeTemp__vmgen_529(c, b);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
freeTemp__vmgen_529(c, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
goto LA12_;
LA14_: ;
{
NI a_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T19_;
T19_ = 0;
a_2 = genx__vmgen_689(c, x, T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)37), ((NI) ((*dest))), a_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
freeTemp__vmgen_529(c, a_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
}
LA12_: ;
i_2 += ((NI)1);
} LA11: ;
}
}
{
LA8_:;
}
{
oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin8_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr__vmgen_3008)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
t = NIM_NIL;
{
NI T6_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA4_;
T6_ = (NI)0;
T6_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T6_));
}
LA4_: ;
t = skipTypes__ast_4803((*n).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_25);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T11_;
if (!((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22))) goto LA9_;
T11_ = (NI)0;
T11_ = genType__vmgen_1093(c, (*t).sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)170), ((NI) ((*dest))), T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA7_;
LA9_: ;
{
NI T13_;
T13_ = (NI)0;
T13_ = genType__vmgen_1093(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), ((NI) ((*dest))), T13_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA7_: ;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
i_2 = ((NI)1);
{
while (1) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA16 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
{
NIM_BOOL T20_;
NI idx;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T24_;
T20_ = (NIM_BOOL)0;
T20_ = ((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34));
if (!(T20_)) goto LA21_;
T20_ = ((*(*it)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3));
LA21_: ;
if (!T20_) goto LA22_;
idx = genField__vmgen_1293(c, (*it)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
T24_ = 0;
tmp = genx__vmgen_689(c, (*it)._kind_6.sons.p->data[((NI)1)], T24_);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
preventFalseAlias__vmgen_2323(c, (*it)._kind_6.sons.p->data[((NI)1)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), ((NI) ((*dest))), idx, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
goto LA18_;
LA22_: ;
{
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_138, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_139), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
}
LA18_: ;
i_2 += ((NI)1);
{
LA17_:;
}
{
oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin17_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
} LA16: ;
}
}
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&t);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr__vmgen_3050)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
NIM_BOOL oldNimErrFin14_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI T5_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA3_;
T5_ = (NI)0;
T5_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T5_));
}
LA3_: ;
{
NI T10_;
if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8)))) goto LA8_;
T10_ = (NI)0;
T10_ = genType__vmgen_1093(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)172), ((NI) ((*dest))), T10_);
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) {
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* it;
if (!(i_2 < colontmp_)) goto LA13 ;
it = NIM_NIL;
i = i_2;
eqcopy___ast_3457(&it, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
{
NI idx;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T19_;
if (!((*it).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)34))) goto LA17_;
idx = genField__vmgen_1293(c, (*it)._kind_6.sons.p->data[((NI)0)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
T19_ = 0;
tmp = genx__vmgen_689(c, (*it)._kind_6.sons.p->data[((NI)1)], T19_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
preventFalseAlias__vmgen_2323(c, (*it)._kind_6.sons.p->data[((NI)1)], ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), ((NI) ((*dest))), idx, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
goto LA15_;
LA17_: ;
{
NI tmp_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T21_;
T21_ = 0;
tmp_2 = genx__vmgen_689(c, it, T21_);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
preventFalseAlias__vmgen_2323(c, it, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)21), ((NI) ((*dest))), ((NI) (i)), tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
}
LA15_: ;
i_2 += ((NI)1);
{
LA14_:;
}
{
oldNimErrFin14_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&it);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin14_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA13: ;
}
}
}
LA8_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, genCastIntFloat__vmgen_1641)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest) {
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* src;
tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* dst;
tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ signedIntegers;
tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ unsignedIntegers;
NI64 srcSize;
NI64 dstSize;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
src = NIM_NIL;
dst = NIM_NIL;
nimZeroMem((void*)signedIntegers, sizeof(tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ));
nimCopyMem((void*)signedIntegers, (NIM_CONST void*)TM__oYO8oEb9aAFcVmMqh9adT1hQ_140, 9);
nimZeroMem((void*)unsignedIntegers, sizeof(tySet_tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ));
nimCopyMem((void*)unsignedIntegers, (NIM_CONST void*)TM__oYO8oEb9aAFcVmMqh9adT1hQ_141, 9);
src = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)1)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_142);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
dst = skipTypes__ast_4803((*(*n)._kind_6.sons.p->data[((NI)0)]).typ, TM__oYO8oEb9aAFcVmMqh9adT1hQ_142);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
srcSize = getSize__types_3555((*c).config, src);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
dstSize = getSize__types_3555((*c).config, dst);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NIM_BOOL T4_;
NI tmp;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T8_;
T4_ = (NIM_BOOL)0;
T4_ = ((*src).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*src).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*src).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*src).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2));
if (!(T4_)) goto LA5_;
T4_ = ((*dst).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*dst).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*dst).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*dst).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2));
LA5_: ;
if (!T4_) goto LA6_;
T8_ = 0;
tmp = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T8_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T13_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA11_;
T13_ = (NI)0;
T13_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T13_));
}
LA11_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)4), ((NI) ((*dest))), tmp, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!!((dstSize == IL64(8)))) goto LA16_;
{
if (!((signedIntegers[(NU)(((*dst).kind))>>3] &(1U<<((NU)(((*dst).kind))&7U)))!=0)) goto LA20_;
{
if (!(dstSize <= srcSize)) goto LA24_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)99), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA24_: ;
}
goto LA18_;
LA20_: ;
{
if (!((unsignedIntegers[(NU)(((*dst).kind))>>3] &(1U<<((NU)(((*dst).kind))&7U)))!=0)) goto LA27_;
{
NIM_BOOL T31_;
T31_ = (NIM_BOOL)0;
T31_ = ((signedIntegers[(NU)(((*src).kind))>>3] &(1U<<((NU)(((*src).kind))&7U)))!=0);
if (T31_) goto LA32_;
T31_ = (dstSize < srcSize);
LA32_: ;
if (!T31_) goto LA33_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) ((*dest))), ((NI) ((NI64)(dstSize * IL64(8)))), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA33_: ;
}
goto LA18_;
LA27_: ;
LA18_: ;
}
LA16_: ;
freeTemp__vmgen_529(c, tmp);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA6_: ;
{
NIM_BOOL T36_;
NIM_BOOL T37_;
NI tmp_2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T42_;
T36_ = (NIM_BOOL)0;
T37_ = (NIM_BOOL)0;
T37_ = (srcSize == dstSize);
if (!(T37_)) goto LA38_;
T37_ = ((*src).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*src).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*src).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*src).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2));
LA38_: ;
T36_ = T37_;
if (!(T36_)) goto LA39_;
T36_ = ((*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)38));
LA39_: ;
if (!T36_) goto LA40_;
T42_ = 0;
tmp_2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T42_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T47_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA45_;
T47_ = (NI)0;
T47_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T47_));
}
LA45_: ;
{
if (!((*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37))) goto LA50_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)8), ((NI) ((*dest))), tmp_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA48_;
LA50_: ;
{
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)9), ((NI) ((*dest))), tmp_2, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA48_: ;
freeTemp__vmgen_529(c, tmp_2);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA40_: ;
{
NIM_BOOL T54_;
NIM_BOOL T55_;
NI tmp_3;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T60_;
T54_ = (NIM_BOOL)0;
T55_ = (NIM_BOOL)0;
T55_ = (srcSize == dstSize);
if (!(T55_)) goto LA56_;
T55_ = ((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)36) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)38));
LA56_: ;
T54_ = T55_;
if (!(T54_)) goto LA57_;
T54_ = ((*dst).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31) && (*dst).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)35) || (*dst).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)40) && (*dst).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)44) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)2));
LA57_: ;
if (!T54_) goto LA58_;
T60_ = 0;
tmp_3 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T60_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T65_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA63_;
T65_ = (NI)0;
T65_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T65_));
}
LA63_: ;
{
if (!((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)37))) goto LA68_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)10), ((NI) ((*dest))), tmp_3, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
if (!((unsignedIntegers[(NU)(((*dst).kind))>>3] &(1U<<((NU)(((*dst).kind))&7U)))!=0)) goto LA72_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)98), ((NI) ((*dest))), ((NI)32), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA72_: ;
}
goto LA66_;
LA68_: ;
{
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)11), ((NI) ((*dest))), tmp_3, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA66_: ;
freeTemp__vmgen_529(c, tmp_3);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA58_: ;
{
NIM_BOOL T76_;
NI64 colontmpD_;
NI64 colontmpD__2;
NI tmp_4;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T80_;
NI64 imm;
T76_ = (NIM_BOOL)0;
T76_ = ((*src).kind >= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) && (*src).kind <= ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26));
if (!(T76_)) goto LA77_;
T76_ = ((*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
LA77_: ;
if (!T76_) goto LA78_;
colontmpD_ = (NI64)0;
colontmpD__2 = (NI64)0;
T80_ = 0;
tmp_4 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T80_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T85_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA83_;
T85_ = (NI)0;
T85_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T85_));
}
LA83_: ;
{
if (!((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21))) goto LA88_;
colontmpD_ = IL64(1);
imm = colontmpD_;
}
goto LA86_;
LA88_: ;
{
colontmpD__2 = IL64(2);
imm = colontmpD__2;
}
LA86_: ;
gABI__vmgen_342(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)12), ((NI) ((*dest))), tmp_4, imm);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp_4);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA78_: ;
{
NIM_BOOL T92_;
NI tmp_5;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T96_;
NI T102_;
T92_ = (NIM_BOOL)0;
T92_ = ((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26) || (*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)31));
if (!(T92_)) goto LA93_;
T92_ = ((*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21));
LA93_: ;
if (!T92_) goto LA94_;
T96_ = 0;
tmp_5 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T96_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
NI T101_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA99_;
T101_ = (NI)0;
T101_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T101_));
}
LA99_: ;
T102_ = (NI)0;
T102_ = genType__vmgen_1093(c, dst);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)183), ((NI) ((*dest))), T102_);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)13), ((NI) ((*dest))), tmp_5, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
freeTemp__vmgen_529(c, tmp_5);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA94_: ;
{
NIM_BOOL T104_;
T104_ = (NIM_BOOL)0;
T104_ = ((*src).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)5));
if (!(T104_)) goto LA105_;
T104_ = ((*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)26) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)29) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)22) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)21) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)25) || (*dst).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)50));
LA105_: ;
if (!T104_) goto LA106_;
{
NI T112_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA110_;
T112_ = (NI)0;
T112_ = getTemp__vmgen_520(c, (*(*n)._kind_6.sons.p->data[((NI)0)]).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
(*dest) = ((NI) (T112_));
}
LA110_: ;
genLit__vmgen_1204(c, (*n)._kind_6.sons.p->data[((NI)1)], dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
goto LA2_;
LA106_: ;
{
NimStringV2 colontmpD__3;
NimStringV2 colontmpD__4;
NimStringV2 colontmpD__5;
NimStringV2 T115_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
T115_.len = 0; T115_.p = NIM_NIL;
colontmpD__3 = dollar___ast_341((*src).kind);
colontmpD__4 = dollar___ast_341((*dst).kind);
T115_ = rawNewString(colontmpD__3.len + colontmpD__4.len + 36);
appendString((&T115_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_144);
appendString((&T115_), colontmpD__3);
appendString((&T115_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_146);
appendString((&T115_), colontmpD__4);
colontmpD__5 = T115_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__5, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_147), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA114_;
{
LA114_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__5));
eqdestroy___stdZassertions_13((&colontmpD__4));
eqdestroy___stdZassertions_13((&colontmpD__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
}
LA2_: ;
{
LA1_:;
}
{
oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3543(&dst);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3543(&src);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin1_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isCompileTimeOnly__types_3767)(tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA* t) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = ((*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)8) || (*t).kind == ((tyEnum_TTypeKind__cu4lI59aFp7m9cDkg2Nfr7ZQ)60));
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_661)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NI* dest, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin44_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL oldNimErrFin72_;
NIM_BOOL oldNimErrFin107_;
NIM_BOOL oldNimErrFin129_;
NIM_BOOL oldNimErrFin144_;
NIM_BOOL oldNimErrFin155_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*n).kind) {
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3):
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s;
s = NIM_NIL;
eqcopy___ast_4063(&s, (*n)._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
checkCanEval__vmgen_2272(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
switch ((*s).kind) {
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)8):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)21):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)5):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)9):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)3):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)11):
{
genRdVar__vmgen_2471(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)12):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)13):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)16):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)18):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14):
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15):
{
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)15));
if (!(T7_)) goto LA8_;
T7_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__XL1p2EKvOAlAHpc68ecZPw)9));
LA8_: ;
if (!T7_) goto LA9_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_38, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_39), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA9_: ;
{
NIM_BOOL T13_;
T13_ = (NIM_BOOL)0;
T13_ = procIsCallback__vmgen_3127(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T13_) goto LA14_;
}
goto LA11_;
LA14_: ;
{
NIM_BOOL T17_;
T17_ = (NIM_BOOL)0;
T17_ = importcCond__vmgen_2434(c, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
if (!T17_) goto LA18_;
importcSym__vmgen_2446(c, (*n).info, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA11_;
LA18_: ;
LA11_: ;
genLit__vmgen_1204(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)10):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* constVal;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* T22_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T28_;
constVal = NIM_NIL;
colontmpD_ = NIM_NIL;
T22_ = NIM_NIL;
{
colontmpD_ = astdef__ast_4072(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
if (!!((colontmpD_ == ((tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q*) NIM_NIL)))) goto LA25_;
constVal = astdef__ast_4072(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
goto LA23_;
LA25_: ;
{
eqcopy___ast_3457(&constVal, (*(*s).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
}
LA23_: ;
T28_ = 0;
gen__vmgen_661(c, constVal, dest, T28_);
if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
{
LA21_:;
}
{
oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eqdestroy___ast_3454(&constVal);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin21_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)20):
{
{
NI T36_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA34_;
T36_ = (NI)0;
T36_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
(*dest) = ((NI) (T36_));
}
LA34_: ;
{
NIM_BOOL T39_;
T39_ = (NIM_BOOL)0;
T39_ = (((NI)-32768) <= (*s).position);
if (!(T39_)) goto LA40_;
T39_ = ((*s).position <= ((NI)32767));
LA40_: ;
if (!T39_) goto LA41_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), ((NI) ((*dest))), (*s).position);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA37_;
LA41_: ;
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__2;
NI lit;
colontmpD__2 = NIM_NIL;
colontmpD__2 = newIntNode__ast_4791(((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)6), ((NI64) ((*s).position)));
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
lit = genLiteral__vmgen_1018(c, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)174), ((NI) ((*dest))), lit);
if (NIM_UNLIKELY(*nimErr_)) goto LA44_;
{
LA44_:;
}
{
oldNimErrFin44_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
*nimErr_ = oldNimErrFin44_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA37_: ;
}
break;
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)7):
{
genTypeLit__vmgen_2413(c, (*s).typ, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
case ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)4):
{
{
NIM_BOOL T51_;
T51_ = (NIM_BOOL)0;
T51_ = !(((*(*c).prc).sym == ((tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA*) NIM_NIL)));
if (!(T51_)) goto LA52_;
T51_ = ((*(*(*c).prc).sym).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17));
LA52_: ;
if (!T51_) goto LA53_;
genRdVar__vmgen_2471(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
goto LA49_;
LA53_: ;
{
NimStringV2 colontmpD__3;
NimStringV2 T57_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
T57_.len = 0; T57_.p = NIM_NIL;
T57_ = rawNewString((*(*s).name).s.len + 26);
appendString((&T57_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_46);
appendString((&T57_), (*(*s).name).s);
colontmpD__3 = T57_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__3, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_47), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
{
LA56_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__3));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
LA49_: ;
}
break;
default:
{
NimStringV2 colontmpD__4;
NimStringV2 T62_;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
T62_.len = 0; T62_.p = NIM_NIL;
T62_ = rawNewString((*(*s).name).s.len + 26);
appendString((&T62_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_48);
appendString((&T62_), (*(*s).name).s);
colontmpD__4 = T62_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__4, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_49), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
{
LA61_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__4));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
}
break;
}
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)26) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)32):
{
{
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s_2;
if (!((*(*n)._kind_6.sons.p->data[((NI)0)]).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)3))) goto LA70_;
s_2 = NIM_NIL;
eqcopy___ast_4063(&s_2, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
{
if (!!(((*s_2).magic == ((tyEnum_TMagic__mTDI9bmjHUNrwgx3GHm4Krg)0)))) goto LA75_;
genMagic__vmgen_1871(c, n, dest, (*s_2).magic);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
}
goto LA73_;
LA75_: ;
{
NimStringV2 colontmpD__5;
NimStringV2 T81_;
if (!((*s_2).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)14))) goto LA78_;
colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
T81_.len = 0; T81_.p = NIM_NIL;
T81_ = rawNewString((*(*s_2).name).s.len + 35);
appendString((&T81_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_125);
appendString((&T81_), (*(*s_2).name).s);
appendString((&T81_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_127);
colontmpD__5 = T81_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__5, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)0), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_128), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA80_;
{
LA80_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__5));
}
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
}
goto LA73_;
LA78_: ;
{
genCall__vmgen_1209(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
}
LA73_: ;
{
LA72_:;
}
{
oldNimErrFin72_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_4060(&s_2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin72_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA68_;
LA70_: ;
{
genCall__vmgen_1209(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
clearDest__vmgen_695(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA68_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)5) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)10):
{
{
NIM_BOOL T91_;
T91_ = (NIM_BOOL)0;
T91_ = isInt16Lit__vmgen_1585(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T91_) goto LA92_;
{
NI T98_;
if (!(((NI) ((*dest))) < ((NI)0))) goto LA96_;
T98_ = (NI)0;
T98_ = getTemp__vmgen_520(c, (*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(*dest) = ((NI) (T98_));
}
LA96_: ;
gABx__vmgen_370(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)180), ((NI) ((*dest))), ((NI) ((*n)._kind_1.intVal)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA89_;
LA92_: ;
{
genLit__vmgen_1204(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA89_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)11) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)22):
{
genLit__vmgen_1204(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)23):
{
{
NIM_BOOL T104_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__6;
T104_ = (NIM_BOOL)0;
T104_ = isEmptyType__ast_6215((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!(T104_)) goto LA105_;
colontmpD__6 = NIM_NIL;
colontmpD__6 = getNullValue__vmgen_2450((*n).typ, (*n).info, (*c).config);
if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
genLit__vmgen_1204(c, colontmpD__6, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA107_;
{
LA107_:;
}
{
oldNimErrFin107_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__6);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin107_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA102_;
LA105_: ;
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA102_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)74):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)149):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genAsgn__vmgen_2337(c, (*n)._kind_6.sons.p->data[((NI)0)], (*n)._kind_6.sons.p->data[((NI)1)], ((*n).kind == ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)73)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)45):
{
genObjAccess__vmgen_2611(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)46):
{
genCheckedObjAccess__vmgen_2669(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)42):
{
genArrAccess__vmgen_2705(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)47):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)65):
{
genDeref__vmgen_2185(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)63):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)64):
{
genAddr__vmgen_2139(c, n, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)92):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)48):
{
genIf__vmgen_891(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)93):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T119_;
T119_ = 0;
gen__vmgen_661(c, (*(*n)._kind_6.sons.p->data[((NI)0)])._kind_6.sons.p->data[((NI)1)], dest, T119_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)97):
{
genCase__vmgen_1035(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)96):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genWhile__vmgen_738(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)127):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)112):
{
genBlock__vmgen_794(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)109):
{
genReturn__vmgen_1195(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)108):
{
genRaise__vmgen_1190(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)110):
{
genBreak__vmgen_826(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)106):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)154):
{
genTry__vmgen_1115(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)115):
{
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* x;
x = NIM_NIL;
{
NI i;
NI colontmp_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = safeLen__ast_3318(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
i_2 = ((NI)0);
{
while (1) {
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T133_;
if (!(i_2 < colontmp_)) goto LA132 ;
i = i_2;
eqcopy___ast_3457(&x, (*n)._kind_6.sons.p->data[i]);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
T133_ = 0;
gen__vmgen_684(c, x, T133_);
if (NIM_UNLIKELY(*nimErr_)) goto LA129_;
i_2 += ((NI)1);
} LA132: ;
}
}
{
LA129_:;
}
{
oldNimErrFin129_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin129_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)126):
{
NI T142_;
{
NI i_3;
NI colontmp__2;
NI T138_;
NI i_4;
i_3 = (NI)0;
colontmp__2 = (NI)0;
T138_ = (NI)0;
T138_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmp__2 = (NI)(T138_ - ((NI)1));
i_4 = ((NI)0);
{
while (1) {
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T141_;
if (!(i_4 < colontmp__2)) goto LA140 ;
i_3 = i_4;
T141_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[i_3], T141_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i_4 += ((NI)1);
} LA140: ;
}
}
T142_ = (NI)0;
T142_ = len__ast_3325(n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[(NI)(T142_ - ((NI)1))], dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)91):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__7;
colontmpD__7 = NIM_NIL;
colontmpD__7 = lastSon__ast_6268(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
gen__vmgen_661(c, colontmpD__7, dest, flags);
if (NIM_UNLIKELY(*nimErr_)) goto LA144_;
{
LA144_:;
}
{
oldNimErrFin144_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__7);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin144_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)114):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T148_;
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T148_ = 0;
gen__vmgen_684(c, (*n)._kind_6.sons.p->data[((NI)0)], T148_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)58):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)59):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)60):
{
genConv__vmgen_1615(c, n, (*n)._kind_6.sons.p->data[((NI)1)], dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)66):
{
genConv__vmgen_1615(c, n, (*n)._kind_6.sons.p->data[((NI)0)], dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)67):
{
genConv__vmgen_1615(c, n, (*n)._kind_6.sons.p->data[((NI)0)], dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)93));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)99):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)100):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
genVarSection__vmgen_2854(c, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)79) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)81):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)82):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)84):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)159):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)51) ... ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)52):
{
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* colontmpD__8;
colontmpD__8 = NIM_NIL;
colontmpD__8 = newSymNode__ast_4784((*(*n)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
genLit__vmgen_1204(c, colontmpD__8, dest);
if (NIM_UNLIKELY(*nimErr_)) goto LA155_;
{
LA155_:;
}
{
oldNimErrFin155_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___ast_3454(&colontmpD__8);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin155_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)68):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)69):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)70):
{
NI tmp0;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T159_;
NI tmp1;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T160_;
NI tmp2;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T161_;
T159_ = 0;
tmp0 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)0)], T159_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T160_ = 0;
tmp1 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)1)], T160_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T161_ = 0;
tmp2 = genx__vmgen_689(c, (*n)._kind_6.sons.p->data[((NI)2)], T161_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)103), tmp0, tmp1, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp1);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ T166_;
if (!(((NI)0) <= ((NI) ((*dest))))) goto LA164_;
T166_ = (tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0;
T166_ = whichAsgnOpc__vmgen_1859(n, NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, T166_, ((NI) ((*dest))), tmp0, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
freeTemp__vmgen_529(c, tmp0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA162_;
LA164_: ;
{
(*dest) = ((NI) (tmp0));
}
LA162_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)1):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)125):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)98):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)101):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)90):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)83):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)121):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)116):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)120):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)118):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)123):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)122):
{
unused__vmgen_1031(c, n, (*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)71):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)72):
{
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T170_;
T170_ = 0;
gen__vmgen_661(c, (*n)._kind_6.sons.p->data[((NI)0)], dest, T170_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)41):
{
genArrayConstr__vmgen_2970(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)39):
{
genSetConstr__vmgen_2994(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)38):
{
genObjConstr__vmgen_3008(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)37):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)155):
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)160):
{
genTupleConstr__vmgen_3050(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)61):
{
{
if (!(((*c).features &((NU8)1<<((NU)((((tyEnum_TSandboxFlag__Z3mEqyGzK2r5jDOYDl7W1Q)0)))&7U)))!=0)) goto LA178_;
genConv__vmgen_1615(c, n, (*n)._kind_6.sons.p->data[((NI)1)], dest, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)94));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA176_;
LA178_: ;
{
genCastIntFloat__vmgen_1641(c, n, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA176_: ;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)132):
{
genTypeLit__vmgen_2413(c, (*n).typ, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TNodeKind__ySM4MdHjvuRpNcphR1xnyQ)24):
{
}
break;
default:
{
{
NIM_BOOL T186_;
T186_ = (NIM_BOOL)0;
T186_ = !(((*n).typ == ((tyObject_TType__qs8ld9cHTjcxh7xYsvWduXA*) NIM_NIL)));
if (!(T186_)) goto LA187_;
T186_ = isCompileTimeOnly__types_3767((*n).typ);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA187_: ;
if (!T186_) goto LA188_;
genTypeLit__vmgen_2413(c, (*n).typ, dest);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA184_;
LA188_: ;
{
NimStringV2 colontmpD__9;
NimStringV2 colontmpD__10;
NimStringV2 T192_;
colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
T192_.len = 0; T192_.p = NIM_NIL;
colontmpD__9 = dollar___renderer_2511(n);
if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
T192_ = rawNewString(colontmpD__9.len + 28);
appendString((&T192_), TM__oYO8oEb9aAFcVmMqh9adT1hQ_149);
appendString((&T192_), colontmpD__9);
colontmpD__10 = T192_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), colontmpD__10, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_150), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA191_;
{
LA191_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__10));
eqdestroy___stdZassertions_13((&colontmpD__9));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA184_: ;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, gen__vmgen_684)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg flags) {
NI tmp;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
tmp = ((NI)-1);
gen__vmgen_661(c, n, (&tmp), flags);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= ((NI) (tmp)))) goto LA3_;
freeTemp__vmgen_529(c, ((NI) (tmp)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA3_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, finalJumpTarget__vmgen_3362)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI pc, NI diff) {
NU64 oldInstr;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
NimStringV2 argX60gensym607_;
T3_ = (NIM_BOOL)0;
T3_ = (((NI)-8388607) < diff);
if (!(T3_)) goto LA4_;
T3_ = (diff < ((NI)8388607));
LA4_: ;
if (!!(T3_)) goto LA5_;
argX60gensym607_.len = 0; argX60gensym607_.p = NIM_NIL;
argX60gensym607_ = toFileLineCol__msgs_666((&TM__oYO8oEb9aAFcVmMqh9adT1hQ_151));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
internalErrorImpl__msgs_1510((*c).config, unknownLineInfo__lineinfos_338, argX60gensym607_, (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_151));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
LA7_:;
}
{
eqdestroy___stdZassertions_13((&argX60gensym607_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
oldInstr = (*c).code.p->data[pc];
(*c).code.p->data[pc] = (NU64)((NU64)(oldInstr & 16777215ULL) | (NU64)((NU64)(((NU64) ((NI)(diff + ((NI)8388608))))) << (NU64)(24ULL)));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, optimizeJumps__vmgen_3409)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, NI start) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NI i;
NI colontmp_;
NI T2_;
NI i_2;
i = (NI)0;
colontmp_ = (NI)0;
T2_ = (*c).code.len;
colontmp_ = T2_;
i_2 = start;
{
while (1) {
tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ opc;
if (!(i_2 < colontmp_)) goto LA4 ;
i = i_2;
opc = ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(0ULL)) & 255ULL)));
switch (opc) {
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161):
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162):
{
NI reg;
NI d;
reg = ((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(8ULL)) & 65535ULL)));
d = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608)));
{
NI iters;
NI res;
iters = (NI)0;
res = ((NI)10);
{
while (1) {
if (!(((NI)0) <= res)) goto LA8 ;
iters = res;
switch (((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[d]) >> (NU64)(0ULL)) & 255ULL)))) {
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163):
{
d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608));
}
break;
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)161):
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)162):
{
{
if (!!((((NI) (((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[d]) >> (NU64)(8ULL)) & 65535ULL))))) == ((NI) (reg))))) goto LA13_;
goto LA6;
}
LA13_: ;
{
if (!(((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[d]) >> (NU64)(0ULL)) & 255ULL))) == opc)) goto LA17_;
d += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[d]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608));
}
goto LA15_;
LA17_: ;
{
d += ((NI)1);
}
LA15_: ;
}
break;
default:
{
goto LA6;
}
break;
}
res -= ((NI)1);
} LA8: ;
}
} LA6: ;
{
if (!!((d == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608)))))) goto LA23_;
finalJumpTarget__vmgen_3362(c, i, (NI)(d - i));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA23_: ;
}
break;
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163):
case ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)164):
{
NI d_2;
NI iters_2;
d_2 = (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608)));
iters_2 = ((NI)10);
{
while (1) {
NIM_BOOL T28_;
T28_ = (NIM_BOOL)0;
T28_ = (((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163));
if (!(T28_)) goto LA29_;
T28_ = (((NI)0) < iters_2);
LA29_: ;
if (!T28_) goto LA27 ;
d_2 += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[d_2]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608));
iters_2 -= ((NI)1);
} LA27: ;
}
{
if (!(((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[d_2]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)1))) goto LA32_;
(*c).code.p->data[i] = (*c).code.p->data[d_2];
}
goto LA30_;
LA32_: ;
{
if (!!((d_2 == (NI)(i + (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code.p->data[i]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI)8388608)))))) goto LA35_;
finalJumpTarget__vmgen_3362(c, i, (NI)(d_2 - i));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA30_;
LA35_: ;
LA30_: ;
}
break;
default:
{
}
break;
}
i_2 += ((NI)1);
} LA4: ;
}
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, genProc__vmgen_3078)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* s) {
NI result;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym635_;
NI pos;
NIM_BOOL wasNotGenProcBefore;
NIM_BOOL noRegistersAllocated;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
xX60gensym635_ = NIM_NIL;
xX60gensym635_ = s;
pos = getOrDefault__sempass50_486((*c).procToCodePos, (NI)((NI)((NU64)(((NI) ((*xX60gensym635_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym635_).Sup.itemId.item))));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
wasNotGenProcBefore = (pos == ((NI)0));
noRegistersAllocated = ((*s).offset == ((NI)-1));
{
NIM_BOOL T3_;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* xX60gensym638_;
tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* body;
tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw colontmpD_;
tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw colontmpD__2;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* p;
tyObject_TSym__9cob5UPXvLCxy8mslvxEYzA* colontmpD__3;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* oldPrc;
NI last;
NI T8_;
NU64 eofInstr;
NI T15_;
tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw T16_;
NI procStart;
tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ* T23_;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T34_;
NI T35_;
T3_ = (NIM_BOOL)0;
T3_ = wasNotGenProcBefore;
if (T3_) goto LA4_;
T3_ = noRegistersAllocated;
LA4_: ;
if (!T3_) goto LA5_;
xX60gensym638_ = NIM_NIL;
body = NIM_NIL;
colontmpD_ = (tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)0;
colontmpD__2 = (tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)0;
p = NIM_NIL;
colontmpD__3 = NIM_NIL;
oldPrc = NIM_NIL;
T8_ = (*c).code.len;
last = (NI)(T8_ - ((NI)1));
eofInstr = (NU64)0;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = (((NI)0) <= last);
if (!(T11_)) goto LA12_;
T11_ = (((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0));
LA12_: ;
if (!T11_) goto LA13_;
eofInstr = (*c).code.p->data[last];
setLen__vmdef_403((&(*c).code), ((NI) (last)));
setLen__vmdef_545((&(*c).debug), ((NI) (last)));
}
LA13_: ;
T15_ = (*c).code.len;
result = (NI)(T15_ + ((NI)1));
eqcopy___ast_4063(&xX60gensym638_, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
X5BX5Deq___importer_2418((&(*c).procToCodePos), (NI)((NI)((NU64)(((NI) ((*xX60gensym638_).Sup.itemId.module))) << (NU64)(((NI)24))) + ((NI) ((*xX60gensym638_).Sup.itemId.item))), result);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T16_ = (tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)0;
{
NIM_BOOL T19_;
T19_ = (NIM_BOOL)0;
T19_ = isCompileTimeProc__ast_6112(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
if (!T19_) goto LA20_;
colontmpD_ = ((tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)0);
T16_ = colontmpD_;
}
goto LA17_;
LA20_: ;
{
colontmpD__2 = ((tyEnum_TransformBodyFlag__68EC38N69b01SZsdFFCd6bw)1);
T16_ = colontmpD__2;
}
LA17_: ;
body = transformBody__transf_23((*c).graph, (*c).Sup.idgen, s, T16_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
procStart = xjmp__vmgen_393(c, body, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)163), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T23_ = NIM_NIL;
T23_ = (tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ*) nimNewObj(sizeof(tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ), NIM_ALIGNOF(tyObject_PProccolonObjectType___ZvYI1A9bklY7Sm9c9adwVzF9cQ));
(*T23_).blocks.len = 0; (*T23_).blocks.p = (tySequence__dJt9ak0PHeYYhnT7tdKLoOQ_Content*) newSeqPayload(0, sizeof(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ), NIM_ALIGNOF(tyObject_TBlock__zeg89baIGf9bHM5Pdk3RxArQ));
colontmpD__3 = 0;
eqcopy___ast_4063(&colontmpD__3, s);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
(*T23_).sym = colontmpD__3;
p = T23_;
eqcopy___vmdef_1089(&oldPrc, (*c).prc, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
eqsink___vmdef_1093(&(*c).prc, p);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
p = 0;
genParams__vmgen_3340(c, (*(*s).typ).n);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
{
NIM_BOOL T26_;
T26_ = (NIM_BOOL)0;
T26_ = ((*s).kind == ((tyEnum_TSymKind__EmlFK9c4sdJy7UDy5lm8yQQ)17));
if (!(T26_)) goto LA27_;
T26_ = isGenericRoutineStrict__ast_6068(s);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
LA27_: ;
if (!T26_) goto LA28_;
genGenericParams__vmgen_3383(c, (*(*s).ast)._kind_6.sons.p->data[((NI)2)]);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
}
LA28_: ;
{
if (!(((*(*s).typ).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__wRa4s6r4s9cXJ9abWKsrci1Q)12)))&63U)))!=0)) goto LA32_;
add__vmgen_3728((&(*(*c).prc).regInfo), TM__oYO8oEb9aAFcVmMqh9adT1hQ_6);
}
LA32_: ;
T34_ = 0;
gen__vmgen_684(c, body, T34_);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
gABC__vmgen_275(c, body, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)1), ((NI)0), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
patch__vmgen_420(c, procStart);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
gABC__vmgen_275(c, body, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0), ((NI) ((NU64)((NU64)((NU64)(eofInstr) >> (NU64)(8ULL)) & 65535ULL))), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
optimizeJumps__vmgen_3409(c, result);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
T35_ = (*(*c).prc).regInfo.len;
(*s).offset = T35_;
eqsink___vmdef_1093(&(*c).prc, oldPrc);
if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
oldPrc = 0;
{
LA7_:;
}
{
oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___vmdef_1086(&oldPrc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___vmdef_1086(&p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_3454(&body);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___ast_4060(&xX60gensym638_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin7_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
setLen__vmdef_980((&(*(*c).prc).regInfo), ((NI) ((*s).offset)));
result = pos;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, removeLastEof__vmgen_3291)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c) {
NI last;
NI T1_;
T1_ = (*c).code.len;
last = (NI)(T1_ - ((NI)1));
{
NIM_BOOL T4_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI)0) <= last);
if (!(T4_)) goto LA5_;
T4_ = (((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ) ((NU64)((NU64)((NU64)((*c).code.p->data[last]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0));
LA5_: ;
if (!T4_) goto LA6_;
setLen__vmdef_403((&(*c).code), ((NI) (last)));
setLen__vmdef_545((&(*c).debug), ((NI) (last)));
}
LA6_: ;
}
N_LIB_PRIVATE N_NIMCALL(NI, genExpr__vmgen_3331)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n, NIM_BOOL requiresValue) {
NI result;
NI T1_;
NI d;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
removeLastEof__vmgen_3291(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (*c).code.len;
result = T1_;
d = ((NI)-1);
T2_ = 0;
gen__vmgen_661(c, n, (&d), T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI) (d)) < ((NI)0))) goto LA5_;
{
if (!requiresValue) goto LA9_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_153, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_154), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
d = ((NI)0);
}
LA5_: ;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0), ((NI) (d)), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, genStmt__vmgen_3323)(tyObject_TCtx__b6xwcD9cMKdlvd6DZIf4rHg* c, tyObject_TNode__1pEudI6ZemBfsBxMjg4u5Q* n) {
NI result;
NI T1_;
NI d;
tySet_tyEnum_TGenFlag__mkpbV9bWBsfxS2oR2fPo3Yg T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
removeLastEof__vmgen_3291(c);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T1_ = (*c).code.len;
result = T1_;
d = ((NI)-1);
T2_ = 0;
gen__vmgen_661(c, n, (&d), T2_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
gABC__vmgen_275(c, n, ((tyEnum_TOpcode__g8HRIfzFsQsDBgE9cOvGknQ)0), ((NI)0), ((NI)0), ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) <= ((NI) (d)))) goto LA5_;
liMessage__msgs_1172((*c).config, (*n).info, ((tyEnum_TMsgKind__9b1zBSEXe8I2R9aa2h3NYf9cA)17), TM__oYO8oEb9aAFcVmMqh9adT1hQ_156, ((tyEnum_TErrorHandling__NXH4RLc649bsDWofENjZIqw)2), (&TM__oYO8oEb9aAFcVmMqh9adT1hQ_157), NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
}BeforeRet_: ;
return result;
}