/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/compiler_lowerings.o tools/nimsuggest/nimcache/compiler_lowerings.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct TY_YLg9aN9cjdxVYWdZ7YCb9batg TY_YLg9aN9cjdxVYWdZ7YCb9batg; typedef struct Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ; typedef struct TY_LViedqhb8iWVoqgZs5LifA TY_LViedqhb8iWVoqgZs5LifA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set; typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg; typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw; typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set; struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA { Tlockind_O7PRFZKuiBBWbku09cayVBg k; Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s; Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags; Ttype_LTUWCZolpovw9cWE3JBWSUw* t; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r; }; struct Ttype_LTUWCZolpovw9cWE3JBWSUw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind; Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv; Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags; TY_zuqP4Riz26Oi5fWgPYVEgA* sons; Tnode_bROa11lyF5vxEN9aYNbHmhw* n; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor; Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy; Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment; TY_iGkpo9aKQdr3NWelKC4cnJA* methods; NI64 size; NI16 align; NI16 locklevel; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst; }; typedef NU8 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ { NimStringDesc* fullpath; NimStringDesc* projpath; NimStringDesc* shortname; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* quotedname; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* quotedfullname; TY_LViedqhb8iWVoqgZs5LifA* lines; NimStringDesc* dirtyfile; }; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set; typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set; struct Tsym_AXG7xcvKqaxY6koRX1xkCw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Tsymkind_cNCW9acsSznmEccl1fgQwkw kind; union{ struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache; } S1; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache; Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason; } S2; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics; Tstrtable_f07aOS3dr28kGa5wcE29aFA tab; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard; NI bitsize; } S4; } kindU; Tmagic_shZhZOdbVC5nnFvcXQAImg magic; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tident_4umxGerWTHGPwUms7Yqu3g* name; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags; Tnode_bROa11lyF5vxEN9aYNbHmhw* ast; Toption_WspMeQySXNP2XoTWR5MTgg_Set options; NI position; NI offset; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex; Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint; TY_dRkMGUPOSmkGlhHeIeiomQ* allusages; }; typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; struct Tnode_bROa11lyF5vxEN9aYNbHmhw { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intval; } S1; struct {NF floatval; } S2; struct {NimStringDesc* strval; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; } S4; struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident; } S5; struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } S6; } kindU; NimStringDesc* comment; }; typedef NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set; struct TY_XOVT24GHXwqiEj5GCsEGCA { NimStringDesc* Field0; NI Field1; }; typedef NU8 Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ { TNimObject Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right; NI length; NimStringDesc* data; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ; struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isoverriden; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name; Tnode_bROa11lyF5vxEN9aYNbHmhw* path; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_YLg9aN9cjdxVYWdZ7YCb9batg { TGenericSeq Sup; Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE]; }; struct TY_LViedqhb8iWVoqgZs5LifA { TGenericSeq Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* data[SEQ_DECL_SIZE]; }; struct TY_DXS6mEo7PVUFJkirsQ9bNQA { TGenericSeq Sup; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE]; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE]; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newtype_FL9cZh2bRuJE31MWfcWQ4Yg)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(void, rawaddson_52UH8yKinsYmFX9bFij9c2Hw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsym_2uJTpCZGZAi7a4eAm1ds8Q)(Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, Tident_4umxGerWTHGPwUms7Yqu3g* name0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, getident_oH8GBf4tG3b1F5BIuNPwtA)(NimStringDesc* identifier0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addson_gCCf68XrWL79bKes6htzFjQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_1ARBpggFQuvUDBVYjBelcw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getsystype_dewjtBqyEbcVGQRaQFtDAw)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_jIQp9ciM8if1a6TX6toZelw)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NI children0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indirectaccess_BThyTto7yf3pOLBIeNUX9bA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, NimStringDesc* b0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* list0, Tident_4umxGerWTHGPwUms7Yqu3g* ident0, NI start0); N_NIMCALL(void, internalerror_5XY9cUy7hZmUusM38U9cYYdw)(NimStringDesc* errmsg0); N_NIMCALL(NimStringDesc*, HEX24_k53Ge4e9cDjc7y9c5uML7sPQ)(TY_XOVT24GHXwqiEj5GCsEGCA x0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupinrecord_s51A17ot5EKQXx9bfMBO03w)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tident_4umxGerWTHGPwUms7Yqu3g* field0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addvar_PhSnWtH9c5LFLMyViy9ciz8Q)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newtupleaccess_YpFi05FomczkERq9bsrJSpg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* tup0, NI i0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodeit_lbGnVdZM6n2HPza7jVIlww)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copytree_lz8T1F9c0YwEOpUnrAUYgjg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newidentnode_G82iaTfj9aP4Nw5aup9b62iQ)(Tident_4umxGerWTHGPwUms7Yqu3g* ident0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newtupleaccessraw_ehjDK7HX2UdJKcR0CJI89bw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* tup0, NI i0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintnode_v2VGJAZNfKPVngZCqEXQtA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NI64 intval0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintlit_sxRMpjUJwVxV9cljUZ80hqA)(NI64 value0); N_NIMCALL(NI64, lastord_HUiBYxvKiECXCv8BzQNheg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ)(NimStringDesc* name0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); static N_INLINE(NIM_BOOL, isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, containsgarbagecollectedref_3xW85al2Ic6K09avBGxLjZg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); extern TY_YLg9aN9cjdxVYWdZ7YCb9batg* fileinfos_0nMtuXd9csTLLtuDok8ckXw; extern Tnode_bROa11lyF5vxEN9aYNbHmhw* emptynode_69ccLGuQ2mITw7zylZYtWcA; STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_2, "Env_", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_3, "???", 3); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_4, "_", 1); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_6, "compiler/lowerings.nim", 22); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_mTxj9crs9bTRS87wn5yEjeFA_5 = {((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_6), ((NI) 185)} ; STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_7, ":tmp", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_8, "high", 4); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createobj_tCygNbhBN9bFkvCkJXL9aWZg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; NimStringDesc* LOC1; NimStringDesc* LOC2; NimStringDesc* LOC8; Tident_4umxGerWTHGPwUms7Yqu3g* LOC9; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17), owner0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, NIM_NIL); (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))%(sizeof(NU32)*8)); (*result0).n = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), info0); LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; { if (!(info0.fileindex < ((NI32) 0))) goto LA5; LOC2 = copyString(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_3)); } goto LA3; LA5: ; { LOC2 = copyString(fileinfos_0nMtuXd9csTLLtuDok8ckXw->data[info0.fileindex].projpath); } LA3: ; LOC8 = (NimStringDesc*)0; LOC8 = nimIntToStr(((NI) (info0.line))); LOC1 = rawNewString(LOC2->Sup.len + LOC8->Sup.len + 5); appendString(LOC1, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_2)); appendString(LOC1, LOC2); appendString(LOC1, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_4)); appendString(LOC1, LOC8); LOC9 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC9 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC1); s0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), LOC9, owner0, info0); (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))%(sizeof(NU32)*8)); (*s0).typ = result0; (*result0).sym = s0; return result0; } N_NIMCALL(void, rawaddfield_1ZE9cbUzQqHwYsPuLXCFjVQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* field0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; (*field0).position = sonslen_qPWPHw7WgJeEVYUdcaRIig((*obj0).n); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ((*obj0).n, LOC1); } static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!(((*t0).n == NIM_NIL))) goto LA3; { if (!((IL64(70866960384) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0)) goto LA7; result0 = getsystype_dewjtBqyEbcVGQRaQFtDAw((*t0).kind); goto BeforeRet; } LA7: ; } LA3: ; result0 = t0; }BeforeRet: ; return result0; } N_NIMCALL(void, addfield_1CQ9cxECTcbSPI3pM9bWZPYA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; NimStringDesc* LOC1; NimStringDesc* LOC2; Tident_4umxGerWTHGPwUms7Yqu3g* LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = nimIntToStr((*s0).Sup.id); LOC1 = rawNewString((*(*s0).name).s->Sup.len + LOC2->Sup.len + 0); appendString(LOC1, (*(*s0).name).s); appendString(LOC1, LOC2); LOC3 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC3 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC1); field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), LOC3, (*s0).owner, (*s0).info); t0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys((*s0).typ); (*field0).typ = t0; (*field0).position = sonslen_qPWPHw7WgJeEVYUdcaRIig((*obj0).n); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ((*obj0).n, LOC4); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, rawindirectaccess_G8YTsBQ4KmIArrFr9cczJHg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* field0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* deref0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; deref0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), info0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*a0).typ, 43280); (*deref0).typ = (*LOC1).sons->data[((NI) 0)]; addson_gCCf68XrWL79bKes6htzFjQ(deref0, a0); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), info0); addson_gCCf68XrWL79bKes6htzFjQ(result0, deref0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC2); (*result0).typ = (*field0).typ; return result0; } N_NIMCALL(void, addvar_PhSnWtH9c5LFLMyViy9ciz8Q)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* vpart0; vpart0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*v0).info, ((NI) 3)); (*vpart0).kindU.S6.sons->data[((NI) 0)] = v0; (*vpart0).kindU.S6.sons->data[((NI) 1)] = emptynode_69ccLGuQ2mITw7zylZYtWcA; (*vpart0).kindU.S6.sons->data[((NI) 2)] = emptynode_69ccLGuQ2mITw7zylZYtWcA; addson_gCCf68XrWL79bKes6htzFjQ(father0, vpart0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indirectaccess_BThyTto7yf3pOLBIeNUX9bA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, NimStringDesc* b0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* deref0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tident_4umxGerWTHGPwUms7Yqu3g* bb0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; deref0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), info0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*a0).typ, 43280); (*deref0).typ = (*LOC1).sons->data[((NI) 0)]; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*deref0).typ, 43280); field0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; bb0 = getident_oH8GBf4tG3b1F5BIuNPwtA(b0); { while (1) { field0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*t0).n, bb0, ((NI) 0)); { if (!!((field0 == NIM_NIL))) goto LA6; goto LA2; } LA6: ; t0 = (*t0).sons->data[((NI) 0)]; { if (!(t0 == NIM_NIL)) goto LA10; goto LA2; } LA10: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 14682384); } } LA2: ; { NimStringDesc* LOC16; if (!!(!((field0 == NIM_NIL)))) goto LA14; LOC16 = (NimStringDesc*)0; LOC16 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_mTxj9crs9bTRS87wn5yEjeFA_5); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC16); } LA14: ; addson_gCCf68XrWL79bKes6htzFjQ(deref0, a0); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), info0); addson_gCCf68XrWL79bKes6htzFjQ(result0, deref0); LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC17); (*result0).typ = (*field0).typ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NimStringDesc* LOC1; NimStringDesc* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = nimIntToStr((*b0).Sup.id); LOC1 = rawNewString((*(*b0).name).s->Sup.len + LOC2->Sup.len + 0); appendString(LOC1, (*(*b0).name).s); appendString(LOC1, LOC2); result0 = indirectaccess_BThyTto7yf3pOLBIeNUX9bA(a0, LOC1, info0); return result0; } N_NIMCALL(void, adduniquefield_1CQ9cxECTcbSPI3pM9bWZPYA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tident_4umxGerWTHGPwUms7Yqu3g* fieldname0; NimStringDesc* LOC1; NimStringDesc* LOC2; LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = nimIntToStr((*s0).Sup.id); LOC1 = rawNewString((*(*s0).name).s->Sup.len + LOC2->Sup.len + 0); appendString(LOC1, (*(*s0).name).s); appendString(LOC1, LOC2); fieldname0 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC1); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC5; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; LOC5 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC5 = lookupinrecord_s51A17ot5EKQXx9bfMBO03w((*obj0).n, fieldname0); if (!(LOC5 == NIM_NIL)) goto LA6; field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), fieldname0, (*s0).owner, (*s0).info); t0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys((*s0).typ); (*field0).typ = t0; (*field0).position = sonslen_qPWPHw7WgJeEVYUdcaRIig((*obj0).n); LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ((*obj0).n, LOC8); } LA6: ; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getfieldfromobj_ew6R9a132KuZGJY10w29b9beg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_wc8zMqNh1bhSskgREHTNMQ, Tsym_AXG7xcvKqaxY6koRX1xkCw* v0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* fieldname0; NimStringDesc* LOC1; NimStringDesc* LOC2; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = nimIntToStr((*v0).Sup.id); LOC1 = rawNewString((*(*v0).name).s->Sup.len + LOC2->Sup.len + 0); appendString(LOC1, (*(*v0).name).s); appendString(LOC1, LOC2); fieldname0 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC1); t0 = t_wc8zMqNh1bhSskgREHTNMQ; { while (1) { result0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*t0).n, fieldname0, ((NI) 0)); { if (!!((result0 == NIM_NIL))) goto LA7; goto LA3; } LA7: ; t0 = (*t0).sons->data[((NI) 0)]; { if (!(t0 == NIM_NIL)) goto LA11; goto LA3; } LA11: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 14682384); } } LA3: ; return result0; } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = (*n0).kindU.S6.sons->data[i0]; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74), (*le0).info, ((NI) 2)); (*result0).kindU.S6.sons->data[((NI) 0)] = le0; (*result0).kindU.S6.sons->data[((NI) 1)] = ri0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lowerswap_ZXHtMZ0uz9cR0ZzQM8Y9cqUQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* temp0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; Tnode_bROa11lyF5vxEN9aYNbHmhw* tempasnode0; Tnode_bROa11lyF5vxEN9aYNbHmhw* vpart0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); temp0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), LOC1, owner0, (*n0).info); (*temp0).typ = (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ; (*temp0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); v0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n0).info); tempasnode0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(temp0); vpart0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*v0).info, ((NI) 3)); (*vpart0).kindU.S6.sons->data[((NI) 0)] = tempasnode0; (*vpart0).kindU.S6.sons->data[((NI) 1)] = emptynode_69ccLGuQ2mITw7zylZYtWcA; (*vpart0).kindU.S6.sons->data[((NI) 2)] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(n0, ((NI) 1)); addson_gCCf68XrWL79bKes6htzFjQ(v0, vpart0); add_gCCf68XrWL79bKes6htzFjQ_2(result0, v0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(n0, ((NI) 1)); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(n0, ((NI) 2)); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC2, LOC3); add_gCCf68XrWL79bKes6htzFjQ_2(result0, LOC4); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(n0, ((NI) 2)); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC5, tempasnode0); add_gCCf68XrWL79bKes6htzFjQ_2(result0, LOC6); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73), (*le0).info, ((NI) 2)); (*result0).kindU.S6.sons->data[((NI) 0)] = le0; (*result0).kindU.S6.sons->data[((NI) 1)] = ri0; return result0; } static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; result0 = (NI)0; { if (!((*n0).kindU.S6.sons == 0)) goto LA3; result0 = ((NI) 0); } goto LA1; LA3: ; { result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newtupleaccess_YpFi05FomczkERq9bsrJSpg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* tup0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; Tnode_bROa11lyF5vxEN9aYNbHmhw* lit0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*tup0).typ, 43280); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*tup0).info, (*LOC1).sons->data[i0]); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(tup0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC2); LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); lit0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), (*tup0).info, LOC3); (*lit0).kindU.S1.intval = ((NI64) (i0)); addson_gCCf68XrWL79bKes6htzFjQ(result0, lit0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lowertupleunpacking_ZXHtMZ0uz9cR0ZzQM8Y9cqUQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* value0; Tsym_AXG7xcvKqaxY6koRX1xkCw* temp0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; Tnode_bROa11lyF5vxEN9aYNbHmhw* tempasnode0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; value0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); temp0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 5), LOC1, owner0, (*value0).info); (*temp0).typ = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*value0).typ, 43280); (*temp0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); v0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*value0).info); tempasnode0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(temp0); addvar_PhSnWtH9c5LFLMyViy9ciz8Q(v0, tempasnode0); add_gCCf68XrWL79bKes6htzFjQ_2(result0, v0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2(tempasnode0, value0); add_gCCf68XrWL79bKes6htzFjQ_2(result0, LOC2); { NI i_kYfWPuxXFV9bS3QUU39ahXnA; NI HEX3Atmp_EcDmk6UNWU1j2ny9c0XsLBQ; NI LOC4; NI res_OcgV3ifd0kx7v9bhYu5CsCg; i_kYfWPuxXFV9bS3QUU39ahXnA = (NI)0; HEX3Atmp_EcDmk6UNWU1j2ny9c0XsLBQ = (NI)0; LOC4 = (NI)0; LOC4 = len_CdME9baJhvveuPEDZE9bXoxAparser(n0); HEX3Atmp_EcDmk6UNWU1j2ny9c0XsLBQ = (NI)(LOC4 - ((NI) 3)); res_OcgV3ifd0kx7v9bhYu5CsCg = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; if (!(res_OcgV3ifd0kx7v9bhYu5CsCg <= HEX3Atmp_EcDmk6UNWU1j2ny9c0XsLBQ)) goto LA6; i_kYfWPuxXFV9bS3QUU39ahXnA = res_OcgV3ifd0kx7v9bhYu5CsCg; { if (!((*(*n0).kindU.S6.sons->data[i_kYfWPuxXFV9bS3QUU39ahXnA]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA9; addvar_PhSnWtH9c5LFLMyViy9ciz8Q(v0, (*n0).kindU.S6.sons->data[i_kYfWPuxXFV9bS3QUU39ahXnA]); } LA9: ; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = newtupleaccess_YpFi05FomczkERq9bsrJSpg(tempasnode0, i_kYfWPuxXFV9bS3QUU39ahXnA); LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2((*n0).kindU.S6.sons->data[i_kYfWPuxXFV9bS3QUU39ahXnA], LOC11); add_gCCf68XrWL79bKes6htzFjQ_2(result0, LOC12); res_OcgV3ifd0kx7v9bhYu5CsCg += ((NI) 1); } LA6: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newtupleaccessraw_ehjDK7HX2UdJKcR0CJI89bw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* tup0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* lit0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*tup0).info); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(tup0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC1); lit0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), (*tup0).info); (*lit0).kindU.S1.intval = ((NI64) (i0)); addson_gCCf68XrWL79bKes6htzFjQ(result0, lit0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lowertupleunpackingforasgn_ZXHtMZ0uz9cR0ZzQM8Y9cqUQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* value0; Tsym_AXG7xcvKqaxY6koRX1xkCw* temp0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; Tnode_bROa11lyF5vxEN9aYNbHmhw* tempasnode0; NimStringDesc* LOC2; NimStringDesc* LOC3; Tident_4umxGerWTHGPwUms7Yqu3g* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* vpart0; Tnode_bROa11lyF5vxEN9aYNbHmhw* lhs0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; value0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); temp0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 5), LOC1, owner0, (*value0).info); v0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100), (*value0).info); LOC2 = (NimStringDesc*)0; LOC3 = (NimStringDesc*)0; LOC3 = nimIntToStr((*temp0).Sup.id); LOC2 = rawNewString(LOC3->Sup.len + 4); appendString(LOC2, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); appendString(LOC2, LOC3); LOC4 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC4 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC2); tempasnode0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC4, (*value0).info); vpart0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*tempasnode0).info, ((NI) 3)); (*vpart0).kindU.S6.sons->data[((NI) 0)] = tempasnode0; (*vpart0).kindU.S6.sons->data[((NI) 1)] = emptynode_69ccLGuQ2mITw7zylZYtWcA; (*vpart0).kindU.S6.sons->data[((NI) 2)] = value0; addson_gCCf68XrWL79bKes6htzFjQ(v0, vpart0); add_gCCf68XrWL79bKes6htzFjQ_2(result0, v0); lhs0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { NI i_Q7LJwL9b1zo4CE2KzqqAtHA; NI HEX3Atmp_6h4XDbaIdzGob6LW7lDrXw; NI LOC6; NI res_AV9am9czaJqCMEEjLFnHwAdQ; i_Q7LJwL9b1zo4CE2KzqqAtHA = (NI)0; HEX3Atmp_6h4XDbaIdzGob6LW7lDrXw = (NI)0; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAparser(lhs0); HEX3Atmp_6h4XDbaIdzGob6LW7lDrXw = (NI)(LOC6 - ((NI) 1)); res_AV9am9czaJqCMEEjLFnHwAdQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; if (!(res_AV9am9czaJqCMEEjLFnHwAdQ <= HEX3Atmp_6h4XDbaIdzGob6LW7lDrXw)) goto LA8; i_Q7LJwL9b1zo4CE2KzqqAtHA = res_AV9am9czaJqCMEEjLFnHwAdQ; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = newtupleaccessraw_ehjDK7HX2UdJKcR0CJI89bw(tempasnode0, i_Q7LJwL9b1zo4CE2KzqqAtHA); LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2((*lhs0).kindU.S6.sons->data[i_Q7LJwL9b1zo4CE2KzqqAtHA], LOC9); add_gCCf68XrWL79bKes6htzFjQ_2(result0, LOC10); res_AV9am9czaJqCMEEjLFnHwAdQ += ((NI) 1); } LA8: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintlit_sxRMpjUJwVxV9cljUZ80hqA)(NI64 value0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), value0); (*result0).typ = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genhigh_YFtQ0iYYu9b465v8gGsHgyQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; NI64 LOC7; LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 8431888); if (!((*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA4; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 8431888); LOC7 = (NI64)0; LOC7 = lastord_HUiBYxvKiECXCv8BzQNheg_2(LOC6); result0 = newintlit_sxRMpjUJwVxV9cljUZ80hqA(LOC7); } goto LA1; LA4: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC9; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, ((NI) 2)); (*result0).typ = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); LOC9 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC9 = getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_8), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 8)); (*result0).kindU.S6.sons->data[((NI) 0)] = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC9); (*result0).kindU.S6.sons->data[((NI) 1)] = n0; } LA1: ; return result0; } static N_INLINE(NIM_BOOL, isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = (t0 == NIM_NIL); if (LOC1) goto LA2; LOC1 = ((IL64(4611686018427388032) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ, spawnresult_Lwoxf3y9bzwRDFtj4JkXFtA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, NIM_BOOL inparallel0) { Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ result0; result0 = (Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen(t0); if (!LOC3) goto LA4; result0 = ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 0); } goto LA1; LA4: ; { NIM_BOOL LOC7; NIM_BOOL LOC9; LOC7 = (NIM_BOOL)0; LOC7 = inparallel0; if (!(LOC7)) goto LA8; LOC9 = (NIM_BOOL)0; LOC9 = containsgarbagecollectedref_3xW85al2Ic6K09avBGxLjZg(t0); LOC7 = !(LOC9); LA8: ; if (!LOC7) goto LA10; result0 = ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2); } goto LA1; LA10: ; { result0 = ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 1); } LA1: ; return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_loweringsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_loweringsDatInit000)(void) { }