/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #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 Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g; typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w; typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ; typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA; typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg; typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ; typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw; typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg; typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA; typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw; typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw; typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg; typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ; typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg; 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_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; 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; struct Cell_1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct Cellseq_Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512]; typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256]; struct Intset_EZObFrE3NC9bIb3YMkY9crZA { TY_lh2A89ahMmYg9bCmpVaplLbA data; }; struct Memregion_x81NhDv59b8ercDZ9bi85jyg { NI minlargeobj; NI maxlargeobj; TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks; Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem; NI currmem; NI maxmem; NI freemem; NI lastsize; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist; Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes; NIM_BOOL locked; NIM_BOOL blockchunksizeincrease; NI nextchunksize; }; struct Gcstat_0RwLoVBHZPfUAcLczmfQAg { NI stackscans; NI cyclecollections; NI maxthreshold; NI maxstacksize; NI maxstackcells; NI cycletablesize; NI64 maxpause; }; struct Cellset_jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; Pagedesc_fublkgIY4LG3mT51LU2WHg* head; Pagedesc_fublkgIY4LG3mT51LU2WHg** data; }; struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ { Gcstack_7fytPA5bBsob6See21YMRA* stack; void* stackbottom; NI cyclethreshold; Cellseq_Axo1XVm9aaQueTOldv8le5w zct; Cellseq_Axo1XVm9aaQueTOldv8le5w decstack; Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack; NI recgclock; Memregion_x81NhDv59b8ercDZ9bi85jyg region; Gcstat_0RwLoVBHZPfUAcLczmfQAg stat; Cellset_jG87P0AI9aZtss9ccTYBIISQ marked; Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots; }; 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; }; 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 NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set; typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; typedef NU8 Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA; typedef NU8 Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw; 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 Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w { NI prevsize; NI size; NIM_BOOL used; }; struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev; Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist; NI free; NI acc; NF data; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; 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 Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; 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_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); static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); 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_fPlwH3r9agN9aEHB6yCPMh0wsystem)(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_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(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_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(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); N_NIMCALL(Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ, spawnresult_Lwoxf3y9bzwRDFtj4JkXFtA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, NIM_BOOL inparallel0); N_NIMCALL(void, localerror_GarD0CQJ5aQhoHekHYinVQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createobj_tCygNbhBN9bFkvCkJXL9aWZg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, createcastexpr_aLEMtwqgJCsenNr5bah5Eg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* argsparam0, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0); N_NIMCALL(void, addfield_1CQ9cxECTcbSPI3pM9bWZPYA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, setupargsforconcurrency_Ibj4Q0RmqRhJ0zVq1Yo1Kg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* scratchobj0, Tnode_bROa11lyF5vxEN9aYNbHmhw* castexpr0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0, NIM_BOOL useshallowcopy0); N_NIMCALL(NIM_BOOL, typeneedsnodeepcopy_7ZMci7ton2I5C9csobGDrXQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_QGBwQUqb6mBwFGzp8OT14w); N_NIMCALL(void, setupargsforparallelism_Ibj4Q0RmqRhJ0zVq1Yo1Kg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n_POIRB7pshbJ3qpSVSJ9arHg, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* scratchobj0, Tnode_bROa11lyF5vxEN9aYNbHmhw* castexpr0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createmagic_3qzP4MECRIuWs9bfvISxW9cg)(NimStringDesc* name0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); N_NIMCALL(Tmagic_shZhZOdbVC5nnFvcXQAImg, getmagic_gSv3iFkSzJc9bXZaNBHR9bQA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* op0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genaddrof_mscWrSaTNlbCzPnbgRoB9aQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genhigh_YFtQ0iYYu9b465v8gGsHgyQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genderef_6kYWTmNg8xIE7i4Un9c2qBg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NI64, computesize_spMpEAO8ubfQavMigOxQdA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getroot_BnaFxv9aKPznc2S6FxqnKkw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2)(NimStringDesc* name0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, callproc_v025hRW9bDng9aZfkCnRdmlg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q)(NimStringDesc* name0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg10, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg20, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg30, Tnode_bROa11lyF5vxEN9aYNbHmhw* optionalargs0); N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createwrapperproc_NkLsQUwCZhAXN9c3JhfjhLw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* f0, Tsym_AXG7xcvKqaxY6koRX1xkCw* threadparam0, Tsym_AXG7xcvKqaxY6koRX1xkCw* argsparam0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* barrier0, Tnode_bROa11lyF5vxEN9aYNbHmhw* fv0, Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ spawnkind0); N_NIMCALL(Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA, flowvarkind_lfa1S0bAvrTOFcblCcj63g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NimStringDesc*, typetostring_iUZlBdvGqNPVN17wd9aVBNw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newprocnode_PcNymLorEQYsV8Qh55K4Ug)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* params0, Tnode_bROa11lyF5vxEN9aYNbHmhw* name0, Tnode_bROa11lyF5vxEN9aYNbHmhw* pattern0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Tnode_bROa11lyF5vxEN9aYNbHmhw* pragmas0, Tnode_bROa11lyF5vxEN9aYNbHmhw* exceptions0); extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; extern TY_YLg9aN9cjdxVYWdZ7YCb9batg* fileinfos_0nMtuXd9csTLLtuDok8ckXw; extern Tnode_bROa11lyF5vxEN9aYNbHmhw* emptynode_69ccLGuQ2mITw7zylZYtWcA; extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg; STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_2, "Env_", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_3, "???", 3); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_4, "_", 1); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_6, "lowerings.nim", 13); 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); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_mTxj9crs9bTRS87wn5yEjeFA_9 = {((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_6), ((NI) 547)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_mTxj9crs9bTRS87wn5yEjeFA_10 = {((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_6), ((NI) 550)} ; STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_11, "\'spawn\' must not be discarded", 29); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_12, "\'spawn\' takes a call expression", 31); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_13, "\'spawn\' takes a GC safe call expression", 39); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_14, "thread", 6); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_15, "args", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_16, "scratch", 7); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_17, "closure in spawn environment is not allowed", 43); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_18, "fn", 2); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_19, "iterator in spawn environment is not allowed", 44); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_20, "\'spawn\'ed function cannot have a \'var\' parameter", 48); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_21, "deepCopy", 8); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_22, "slice", 5); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_23, "Barrier", 7); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_24, "barrier", 7); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_25, "fv", 2); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_26, "nimFlowVarCreateSemaphore", 25); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_27, "barrierEnter", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_mTxj9crs9bTRS87wn5yEjeFA_28 = {((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_6), ((NI) 343)} ; STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_29, "owner", 5); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_30, "nimArgsPassingDone", 18); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_31, "cannot create a flowVar of type: ", 33); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_32, "data", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_33, "blob", 4); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_34, "GCref", 5); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_35, "nimFlowVarSignal", 16); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_36, "barrierLeave", 12); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_37, "Wrapper", 7); STRING_LITERAL(T_mTxj9crs9bTRS87wn5yEjeFA_38, "nimSpawn", 8); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!((src0 == NIM_NIL))) goto LA3; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); (*c0).refcount += ((NI) 8); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!(((*dest0) == NIM_NIL))) goto LA7; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA11: ; } LA7: ; (*dest0) = src0; } static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(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_fPlwH3r9agN9aEHB6yCPMh0wsystem(((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)); asgnRefNoCycle((void**) (&(*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)); asgnRefNoCycle((void**) (&(*s0).typ), result0); asgnRefNoCycle((void**) (&(*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 (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36))) 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); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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)); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 0)]), v0); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 1)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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_4mGh5VHoHoaSkXDYdG6pyAitersgen)(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)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), le0); asgnRefNoCycle((void**) (&(*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); asgnRefNoCycle((void**) (&(*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)); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 0)]), tempasnode0); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 1)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 2)]), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1))); addson_gCCf68XrWL79bKes6htzFjQ(v0, vpart0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, v0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC2, LOC3); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC4); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC5, tempasnode0); add_gCCf68XrWL79bKes6htzFjQ_3(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)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), le0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), ri0); return result0; } static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(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); asgnRefNoCycle((void**) (&(*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_3(result0, v0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2(tempasnode0, value0); add_gCCf68XrWL79bKes6htzFjQ_3(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_CdME9baJhvveuPEDZE9bXoxAlambdalifting(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_3(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)); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 0)]), tempasnode0); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 1)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 2)]), value0); addson_gCCf68XrWL79bKes6htzFjQ(v0, vpart0); add_gCCf68XrWL79bKes6htzFjQ_3(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_CdME9baJhvveuPEDZE9bXoxAlambdalifting(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_3(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); asgnRefNoCycle((void**) (&(*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)); asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); LOC9 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC9 = getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_8), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 8)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC9)); asgnRefNoCycle((void**) (&(*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 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7)); 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; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, createcastexpr_aLEMtwqgJCsenNr5bah5Eg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* argsparam0, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 61), (*argsparam0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, emptynode_69ccLGuQ2mITw7zylZYtWcA); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newsymnode_1ARBpggFQuvUDBVYjBelcw(argsparam0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC1); asgnRefNoCycle((void**) (&(*result0).typ), newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), (*objtype0).owner)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*result0).typ, objtype0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* obj0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; NimStringDesc* LOC1; NimStringDesc* LOC2; Tident_4umxGerWTHGPwUms7Yqu3g* LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*obj0).info); 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); LOC3 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC3 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC1); field0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*(*obj0).typ).n, LOC3, ((NI) 0)); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newsymnode_1ARBpggFQuvUDBVYjBelcw(obj0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC4); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC5); asgnRefNoCycle((void**) (&(*result0).typ), (*field0).typ); return result0; } N_NIMCALL(NIM_BOOL, typeneedsnodeepcopy_7ZMci7ton2I5C9csobGDrXQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_QGBwQUqb6mBwFGzp8OT14w) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NIM_BOOL LOC9; { result0 = (NIM_BOOL)0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t_QGBwQUqb6mBwFGzp8OT14w, 43280); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA7; t0 = (*t0).sons->data[((NI) 0)]; } LA7: ; LOC9 = (NIM_BOOL)0; LOC9 = containsgarbagecollectedref_3xW85al2Ic6K09avBGxLjZg(t0); result0 = !(LOC9); }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0, NIM_BOOL useshallowcopy0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* vpart0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 5), LOC1, owner0, (*varsection0).info); asgnRefNoCycle((void**) (&(*result0).typ), typ0); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); vpart0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*varsection0).info, ((NI) 3)); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(result0)); asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 1)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); { if (!(varinit0 == 0)) goto LA4; asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 2)]), v0); } goto LA2; LA4: ; { asgnRefNoCycle((void**) (&(*vpart0).kindU.S6.sons->data[((NI) 2)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA2: ; add_gCCf68XrWL79bKes6htzFjQ_3(varsection0, vpart0); { if (!!((varinit0 == NIM_NIL))) goto LA9; { NIM_BOOL LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC13 = (NIM_BOOL)0; LOC13 = useshallowcopy0; if (!(LOC13)) goto LA14; LOC13 = typeneedsnodeepcopy_7ZMci7ton2I5C9csobGDrXQ(typ0); LA14: ; if (!LOC13) goto LA15; LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = newsymnode_1ARBpggFQuvUDBVYjBelcw(result0); LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC17, v0); add_gCCf68XrWL79bKes6htzFjQ_3(varinit0, LOC18); } goto LA11; LA15: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* deepcopycall0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC20; deepcopycall0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*varinit0).info, ((NI) 3)); LOC20 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC20 = getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_21), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 209)); asgnRefNoCycle((void**) (&(*deepcopycall0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC20)); asgnRefNoCycle((void**) (&(*deepcopycall0).kindU.S6.sons->data[((NI) 1)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(result0)); asgnRefNoCycle((void**) (&(*deepcopycall0).kindU.S6.sons->data[((NI) 2)]), v0); add_gCCf68XrWL79bKes6htzFjQ_3(varinit0, deepcopycall0); } LA11: ; } LA9: ; return result0; } N_NIMCALL(void, setupargsforconcurrency_Ibj4Q0RmqRhJ0zVq1Yo1Kg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* scratchobj0, Tnode_bROa11lyF5vxEN9aYNbHmhw* castexpr0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* formals0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tident_4umxGerWTHGPwUms7Yqu3g* tmpname0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); formals0 = (*(*LOC1).typ).n; tmpname0 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); { NI i_aLd9aJ9bMumfcYpdEjJwSVwA; NI HEX3Atmp_yW0Sx2RXu5EQqtJJDN5H7A; NI LOC3; NI res_wUKviSGv136sFeIwklAKDw; i_aLd9aJ9bMumfcYpdEjJwSVwA = (NI)0; HEX3Atmp_yW0Sx2RXu5EQqtJJDN5H7A = (NI)0; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_yW0Sx2RXu5EQqtJJDN5H7A = (LOC3 - 1); res_wUKviSGv136sFeIwklAKDw = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tident_4umxGerWTHGPwUms7Yqu3g* fieldname0; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC25; Tsym_AXG7xcvKqaxY6koRX1xkCw* temp0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC26; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; if (!(res_wUKviSGv136sFeIwklAKDw <= HEX3Atmp_yW0Sx2RXu5EQqtJJDN5H7A)) goto LA5; i_aLd9aJ9bMumfcYpdEjJwSVwA = res_wUKviSGv136sFeIwklAKDw; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_aLd9aJ9bMumfcYpdEjJwSVwA); argtype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*LOC6).typ, 43280); { NIM_BOOL LOC9; NI LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; LOC9 = (NIM_BOOL)0; LOC10 = (NI)0; LOC10 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(formals0); LOC9 = (i_aLd9aJ9bMumfcYpdEjJwSVwA < LOC10); if (!(LOC9)) goto LA11; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(formals0, i_aLd9aJ9bMumfcYpdEjJwSVwA); LOC9 = ((*(*LOC12).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA11: ; if (!LOC9) goto LA13; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_aLd9aJ9bMumfcYpdEjJwSVwA); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC15).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_20)); } LA13: ; { NI LOC18; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(formals0); if (!(i_aLd9aJ9bMumfcYpdEjJwSVwA < LOC18)) goto LA19; LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC21 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(formals0, i_aLd9aJ9bMumfcYpdEjJwSVwA); fieldname0 = (*(*LOC21).kindU.S4.sym).name; } goto LA16; LA19: ; { fieldname0 = tmpname0; } LA16: ; field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), fieldname0, (*objtype0).owner, (*n0).info); asgnRefNoCycle((void**) (&(*field0).typ), argtype0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC23 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC24 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_aLd9aJ9bMumfcYpdEjJwSVwA); LOC25 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC25 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC23, LOC24); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC25); LOC26 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC26 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); temp0 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, varinit0, (*objtype0).owner, argtype0, LOC26, NIM_FALSE); LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = newsymnode_1ARBpggFQuvUDBVYjBelcw(temp0); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC27); res_wUKviSGv136sFeIwklAKDw += ((NI) 1); } LA5: ; } } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genaddrof_mscWrSaTNlbCzPnbgRoB9aQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63), (*n0).info, ((NI) 1)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), n0); asgnRefNoCycle((void**) (&(*result0).typ), newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), (*(*n0).typ).owner)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*result0).typ, (*n0).typ); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genderef_6kYWTmNg8xIE7i4Un9c2qBg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 43280); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n0).info, (*LOC1).sons->data[((NI) 0)]); add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getroot_BnaFxv9aKPznc2S6FxqnKkw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { { if (!((1051424 &(1U<<((NU)((*(*n0).kindU.S4.sym).kind)&31U)))!=0)) goto LA4; result0 = (*n0).kindU.S4.sym; } LA4: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46): { result0 = getroot_BnaFxv9aKPznc2S6FxqnKkw((*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60): { result0 = getroot_BnaFxv9aKPznc2S6FxqnKkw((*n0).kindU.S6.sons->data[((NI) 1)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32): { { Tmagic_shZhZOdbVC5nnFvcXQAImg LOC11; LOC11 = (Tmagic_shZhZOdbVC5nnFvcXQAImg)0; LOC11 = getmagic_gSv3iFkSzJc9bXZaNBHR9bQA(n0); if (!(LOC11 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 139))) goto LA12; result0 = getroot_BnaFxv9aKPznc2S6FxqnKkw((*n0).kindU.S6.sons->data[((NI) 1)]); } LA12: ; } break; default: { } break; } return result0; } N_NIMCALL(void, setupargsforparallelism_Ibj4Q0RmqRhJ0zVq1Yo1Kg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n_POIRB7pshbJ3qpSVSJ9arHg, Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* scratchobj0, Tnode_bROa11lyF5vxEN9aYNbHmhw* castexpr0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* formals0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tident_4umxGerWTHGPwUms7Yqu3g* tmpname0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_POIRB7pshbJ3qpSVSJ9arHg, ((NI) 0)); formals0 = (*(*LOC1).typ).n; tmpname0 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); { NI i_JGT1w8PQ3X0jUzmp9cjRGeg; NI HEX3Atmp_cyKhNiJ9cztLYa0aZb1ygPw; NI LOC3; NI res_gSDoXY2PVMJ6P5hhkuVsMQ; i_JGT1w8PQ3X0jUzmp9cjRGeg = (NI)0; HEX3Atmp_cyKhNiJ9cztLYa0aZb1ygPw = (NI)0; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n_POIRB7pshbJ3qpSVSJ9arHg); HEX3Atmp_cyKhNiJ9cztLYa0aZb1ygPw = (LOC3 - 1); res_gSDoXY2PVMJ6P5hhkuVsMQ = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; Tident_4umxGerWTHGPwUms7Yqu3g* fieldname0; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; if (!(res_gSDoXY2PVMJ6P5hhkuVsMQ <= HEX3Atmp_cyKhNiJ9cztLYa0aZb1ygPw)) goto LA5; i_JGT1w8PQ3X0jUzmp9cjRGeg = res_gSDoXY2PVMJ6P5hhkuVsMQ; n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_POIRB7pshbJ3qpSVSJ9arHg, i_JGT1w8PQ3X0jUzmp9cjRGeg); LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(formals0); if (!(i_JGT1w8PQ3X0jUzmp9cjRGeg < LOC9)) goto LA10; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(formals0, i_JGT1w8PQ3X0jUzmp9cjRGeg); LOC6 = (*LOC12).typ; } goto LA7; LA10: ; { LOC6 = (*n0).typ; } LA7: ; argtype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC6, 43280); { NI LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; LOC16 = (NI)0; LOC16 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(formals0); if (!(i_JGT1w8PQ3X0jUzmp9cjRGeg < LOC16)) goto LA17; LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(formals0, i_JGT1w8PQ3X0jUzmp9cjRGeg); fieldname0 = (*(*LOC19).kindU.S4.sym).name; } goto LA14; LA17: ; { fieldname0 = tmpname0; } LA14: ; field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), fieldname0, (*objtype0).owner, (*n0).info); { Tnode_bROa11lyF5vxEN9aYNbHmhw* slice0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC25; Tsym_AXG7xcvKqaxY6koRX1xkCw* fieldb0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC47; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocal_v6NQjab9aohQ9aWOedfDWyUw_2; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC48; if (!((*argtype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*argtype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA23; slice0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, ((NI) 4)); asgnRefNoCycle((void**) (&(*slice0).typ), (*n0).typ); LOC25 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC25 = createmagic_3qzP4MECRIuWs9bfvISxW9cg(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_22), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 139)); asgnRefNoCycle((void**) (&(*slice0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC25)); asgnRefNoCycle((void**) (&(*(*slice0).kindU.S6.sons->data[((NI) 0)]).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); fieldb0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), tmpname0, (*objtype0).owner, (*n0).info); asgnRefNoCycle((void**) (&(*fieldb0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, fieldb0); { Tmagic_shZhZOdbVC5nnFvcXQAImg LOC28; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC31; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC32; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; Tsym_AXG7xcvKqaxY6koRX1xkCw* fielda0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC35; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC36; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC39; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocal_v6NQjab9aohQ9aWOedfDWyUw; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; LOC28 = (Tmagic_shZhZOdbVC5nnFvcXQAImg)0; LOC28 = getmagic_gSv3iFkSzJc9bXZaNBHR9bQA(n0); if (!(LOC28 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 139))) goto LA29; LOC31 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC31 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); a0 = genaddrof_mscWrSaTNlbCzPnbgRoB9aQ(LOC31); asgnRefNoCycle((void**) (&(*field0).typ), (*a0).typ); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC32 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC32 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC32, a0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC33); fielda0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), tmpname0, (*objtype0).owner, (*n0).info); asgnRefNoCycle((void**) (&(*fielda0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, fielda0); LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, fielda0); LOC35 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC35 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC36 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC36 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC34, LOC35); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC36); LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, fieldb0); LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3)); LOC39 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC39 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC37, LOC38); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC39); LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, fielda0, (*n0).info); threadlocal_v6NQjab9aohQ9aWOedfDWyUw = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, NIM_NIL, (*objtype0).owner, (*fielda0).typ, LOC40, NIM_TRUE); asgnRefNoCycle((void**) (&(*slice0).kindU.S6.sons->data[((NI) 2)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocal_v6NQjab9aohQ9aWOedfDWyUw)); } goto LA26; LA29: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC42; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC44; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC45; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC46; a0 = genaddrof_mscWrSaTNlbCzPnbgRoB9aQ(n0); asgnRefNoCycle((void**) (&(*field0).typ), (*a0).typ); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC42 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC42 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC42, a0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC43); LOC44 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC44 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, fieldb0); LOC45 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC45 = genhigh_YFtQ0iYYu9b465v8gGsHgyQ(n0); LOC46 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC46 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC44, LOC45); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC46); asgnRefNoCycle((void**) (&(*slice0).kindU.S6.sons->data[((NI) 2)]), newintlit_sxRMpjUJwVxV9cljUZ80hqA(IL64(0))); } LA26: ; LOC47 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC47 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); asgnRefNoCycle((void**) (&(*slice0).kindU.S6.sons->data[((NI) 1)]), genderef_6kYWTmNg8xIE7i4Un9c2qBg(LOC47)); LOC48 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC48 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, fieldb0, (*n0).info); threadlocal_v6NQjab9aohQ9aWOedfDWyUw_2 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, NIM_NIL, (*objtype0).owner, (*fieldb0).typ, LOC48, NIM_TRUE); asgnRefNoCycle((void**) (&(*slice0).kindU.S6.sons->data[((NI) 3)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocal_v6NQjab9aohQ9aWOedfDWyUw_2)); add_gCCf68XrWL79bKes6htzFjQ_3(call0, slice0); } goto LA21; LA23: ; { NIM_BOOL LOC50; NI64 size0; NIM_BOOL LOC51; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC54; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC57; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC58; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocal_v6NQjab9aohQ9aWOedfDWyUw_3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC59; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC60; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; LOC50 = (NIM_BOOL)0; size0 = computesize_spMpEAO8ubfQavMigOxQdA_2(argtype0); LOC51 = (NIM_BOOL)0; LOC51 = (size0 < IL64(0)); if (LOC51) goto LA52; LOC51 = (IL64(16) < size0); LA52: ; LOC50 = LOC51; if (!(LOC50)) goto LA53; LOC54 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC54 = getroot_BnaFxv9aKPznc2S6FxqnKkw(n0); LOC50 = !((LOC54 == NIM_NIL)); LA53: ; if (!LOC50) goto LA55; a0 = genaddrof_mscWrSaTNlbCzPnbgRoB9aQ(n0); asgnRefNoCycle((void**) (&(*field0).typ), (*a0).typ); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC57 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC57 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC58 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC58 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC57, a0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC58); LOC59 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC59 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); threadlocal_v6NQjab9aohQ9aWOedfDWyUw_3 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, NIM_NIL, (*objtype0).owner, (*field0).typ, LOC59, NIM_TRUE); LOC60 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC60 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocal_v6NQjab9aohQ9aWOedfDWyUw_3); LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = genderef_6kYWTmNg8xIE7i4Un9c2qBg(LOC60); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC61); } goto LA21; LA55: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC63; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC64; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocal_v6NQjab9aohQ9aWOedfDWyUw_4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC65; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC66; asgnRefNoCycle((void**) (&(*field0).typ), argtype0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC63 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC63 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC64 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC64 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC63, n0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC64); LOC65 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC65 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); threadlocal_v6NQjab9aohQ9aWOedfDWyUw_4 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, varinit0, (*objtype0).owner, (*field0).typ, LOC65, NIM_TRUE); LOC66 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC66 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocal_v6NQjab9aohQ9aWOedfDWyUw_4); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC66); } LA21: ; res_gSDoXY2PVMJ6P5hhkuVsMQ += ((NI) 1); } LA5: ; } } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, callproc_v025hRW9bDng9aZfkCnRdmlg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*a0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, a0); asgnRefNoCycle((void**) (&(*result0).typ), (*(*a0).typ).sons->data[((NI) 0)]); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q)(NimStringDesc* name0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg10, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg20, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg30, Tnode_bROa11lyF5vxEN9aYNbHmhw* optionalargs0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg10).info); sym0 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(name0); { if (!(sym0 == NIM_NIL)) goto LA3; localerror_VpilfPWbplGz6ny7O9cfr2g((*arg10).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 67), name0); } goto LA1; LA3: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newsymnode_1ARBpggFQuvUDBVYjBelcw(sym0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); add_gCCf68XrWL79bKes6htzFjQ_3(result0, arg10); { if (!!((arg20 == NIM_NIL))) goto LA9; add_gCCf68XrWL79bKes6htzFjQ_3(result0, arg20); } LA9: ; { if (!!((arg30 == NIM_NIL))) goto LA13; add_gCCf68XrWL79bKes6htzFjQ_3(result0, arg30); } LA13: ; { if (!!((optionalargs0 == NIM_NIL))) goto LA17; { NI i_oOB1iMHfhut9aPv4qX3kgRg; NI HEX3Atmp_YV4oGtu4brVjFtBlas8bcw; NI LOC20; NI res_bpAAnw6TiJi7SamRPyUwCg; i_oOB1iMHfhut9aPv4qX3kgRg = (NI)0; HEX3Atmp_YV4oGtu4brVjFtBlas8bcw = (NI)0; LOC20 = (NI)0; LOC20 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(optionalargs0); HEX3Atmp_YV4oGtu4brVjFtBlas8bcw = (NI)(LOC20 - ((NI) 3)); res_bpAAnw6TiJi7SamRPyUwCg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23; if (!(res_bpAAnw6TiJi7SamRPyUwCg <= HEX3Atmp_YV4oGtu4brVjFtBlas8bcw)) goto LA22; i_oOB1iMHfhut9aPv4qX3kgRg = res_bpAAnw6TiJi7SamRPyUwCg; LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC23 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(optionalargs0, i_oOB1iMHfhut9aPv4qX3kgRg); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC23); res_bpAAnw6TiJi7SamRPyUwCg += ((NI) 1); } LA22: ; } } } LA17: ; asgnRefNoCycle((void**) (&(*result0).typ), (*(*sym0).typ).sons->data[((NI) 0)]); } LA1: ; return result0; } N_NIMCALL(Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA, flowvarkind_lfa1S0bAvrTOFcblCcj63g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA result0; result0 = (Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 43280); if (!((*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA4; result0 = ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 1); } goto LA1; LA4: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = containsgarbagecollectedref_3xW85al2Ic6K09avBGxLjZg(t0); if (!LOC7) goto LA8; result0 = ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 0); } goto LA1; LA8: ; { result0 = ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 2); } LA1: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createwrapperproc_NkLsQUwCZhAXN9c3JhfjhLw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* f0, Tsym_AXG7xcvKqaxY6koRX1xkCw* threadparam0, Tsym_AXG7xcvKqaxY6koRX1xkCw* argsparam0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0, Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0, Tnode_bROa11lyF5vxEN9aYNbHmhw* call0, Tnode_bROa11lyF5vxEN9aYNbHmhw* barrier0, Tnode_bROa11lyF5vxEN9aYNbHmhw* fv0, Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ spawnkind0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocalbarrier0; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadlocalprom0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC30; Tnode_bROa11lyF5vxEN9aYNbHmhw* params0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC75; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC76; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC77; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC78; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC79; NimStringDesc* name0; NimStringDesc* LOC80; NimStringDesc* LOC81; Tident_4umxGerWTHGPwUms7Yqu3g* LOC87; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC88; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; body0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*f0).info); threadlocalbarrier0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!!((barrier0 == NIM_NIL))) goto LA3; varsection20 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*barrier0).info); threadlocalbarrier0 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection20, NIM_NIL, (*argsparam0).owner, (*barrier0).typ, barrier0, NIM_FALSE); add_gCCf68XrWL79bKes6htzFjQ_3(body0, varsection20); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalbarrier0); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_27), LOC5, NIM_NIL, NIM_NIL, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC6); } LA3: ; threadlocalprom0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!(spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2))) goto LA9; threadlocalprom0 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, NIM_NIL, (*argsparam0).owner, (*fv0).typ, fv0, NIM_FALSE); } goto LA7; LA9: ; { if (!!((fv0 == NIM_NIL))) goto LA12; { NimStringDesc* LOC18; if (!!(((*(*fv0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)))) goto LA16; LOC18 = (NimStringDesc*)0; LOC18 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_mTxj9crs9bTRS87wn5yEjeFA_28); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC18); } LA16: ; threadlocalprom0 = addlocalvar_K2g9aY9cV9cfAsiohYf69bXqKw(varsection0, NIM_NIL, (*argsparam0).owner, (*fv0).typ, fv0, NIM_FALSE); } goto LA7; LA12: ; LA7: ; add_gCCf68XrWL79bKes6htzFjQ_3(body0, varsection0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, varinit0); { NIM_BOOL LOC21; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC25; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC26; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; LOC21 = (NIM_BOOL)0; LOC21 = !((fv0 == NIM_NIL)); if (!(LOC21)) goto LA22; LOC21 = !((spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2))); LA22: ; if (!LOC21) goto LA23; LOC25 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC25 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalprom0); LOC26 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC26 = indirectaccess_BThyTto7yf3pOLBIeNUX9bA(LOC25, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_29), (*fv0).info); LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadparam0); LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2(LOC26, LOC27); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC28); } LA23: ; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadparam0); LOC30 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC30 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_30), LOC29, NIM_NIL, NIM_NIL, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC30); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC35; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC36; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; if (!(spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2))) goto LA33; LOC35 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC35 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalprom0); LOC36 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC36 = genderef_6kYWTmNg8xIE7i4Un9c2qBg(LOC35); LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2(LOC36, call0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC37); } goto LA31; LA33: ; { Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA fk0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC47; NimStringDesc* LOC48; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC54; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC55; if (!!((fv0 == NIM_NIL))) goto LA39; fk0 = flowvarkind_lfa1S0bAvrTOFcblCcj63g((*(*fv0).typ).sons->data[((NI) 1)]); { NimStringDesc* LOC45; NimStringDesc* LOC46; if (!(fk0 == ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 0))) goto LA43; LOC45 = (NimStringDesc*)0; LOC46 = (NimStringDesc*)0; LOC46 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*fv0).typ).sons->data[((NI) 1)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC45 = rawNewString(LOC46->Sup.len + 33); appendString(LOC45, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_31)); appendString(LOC45, LOC46); localerror_GarD0CQJ5aQhoHekHYinVQ((*f0).info, LOC45); } LA43: ; LOC47 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC47 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalprom0); LOC48 = (NimStringDesc*)0; { if (!(fk0 == ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 1))) goto LA51; LOC48 = copyString(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_32)); } goto LA49; LA51: ; { LOC48 = copyString(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_33)); } LA49: ; LOC54 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC54 = indirectaccess_BThyTto7yf3pOLBIeNUX9bA(LOC47, LOC48, (*fv0).info); LOC55 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC55 = newasgnstmt_oVK45K4pj5z0BoUtKfLGGw_2(LOC54, call0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC55); { Tnode_bROa11lyF5vxEN9aYNbHmhw* increfcall0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC60; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; if (!(fk0 == ((Tflowvarkind_FT84kBBnjWu3wj9aoO8MaGA) 1))) goto LA58; increfcall0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fv0).info, ((NI) 2)); LOC60 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC60 = getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_34), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 43)); asgnRefNoCycle((void**) (&(*increfcall0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC60)); LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalprom0); asgnRefNoCycle((void**) (&(*increfcall0).kindU.S6.sons->data[((NI) 1)]), indirectaccess_BThyTto7yf3pOLBIeNUX9bA(LOC61, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_32), (*fv0).info)); add_gCCf68XrWL79bKes6htzFjQ_3(body0, increfcall0); } LA58: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC66; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC67; if (!(barrier0 == NIM_NIL)) goto LA64; LOC66 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC66 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalprom0); LOC67 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC67 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_35), LOC66, NIM_NIL, NIM_NIL, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC67); } LA64: ; } goto LA31; LA39: ; { add_gCCf68XrWL79bKes6htzFjQ_3(body0, call0); } LA31: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC73; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC74; if (!!((barrier0 == NIM_NIL))) goto LA71; LOC73 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC73 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadlocalbarrier0); LOC74 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC74 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_36), LOC73, NIM_NIL, NIM_NIL, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC74); } LA71: ; params0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), (*f0).info); add_gCCf68XrWL79bKes6htzFjQ_3(params0, emptynode_69ccLGuQ2mITw7zylZYtWcA); LOC75 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC75 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadparam0); add_gCCf68XrWL79bKes6htzFjQ_3(params0, LOC75); LOC76 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC76 = newsymnode_1ARBpggFQuvUDBVYjBelcw(argsparam0); add_gCCf68XrWL79bKes6htzFjQ_3(params0, LOC76); t0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25), (*threadparam0).owner); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(t0, NIM_NIL); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(t0, (*threadparam0).typ); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(t0, (*argsparam0).typ); asgnRefNoCycle((void**) (&(*t0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), (*f0).info)); LOC77 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC77 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*f0).info); add_gCCf68XrWL79bKes6htzFjQ_3((*t0).n, LOC77); LOC78 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC78 = newsymnode_1ARBpggFQuvUDBVYjBelcw(threadparam0); add_gCCf68XrWL79bKes6htzFjQ_3((*t0).n, LOC78); LOC79 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC79 = newsymnode_1ARBpggFQuvUDBVYjBelcw(argsparam0); add_gCCf68XrWL79bKes6htzFjQ_3((*t0).n, LOC79); LOC80 = (NimStringDesc*)0; LOC81 = (NimStringDesc*)0; { if (!((*f0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA84; LOC81 = copyString((*(*(*f0).kindU.S4.sym).name).s); } goto LA82; LA84: ; { LOC81 = copyString(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_7)); } LA82: ; LOC80 = rawNewString(LOC81->Sup.len + 7); appendString(LOC80, LOC81); appendString(LOC80, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_37)); name0 = LOC80; LOC87 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC87 = getident_oH8GBf4tG3b1F5BIuNPwtA(name0); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), LOC87, (*argsparam0).owner, (*f0).info); LOC88 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC88 = newsymnode_1ARBpggFQuvUDBVYjBelcw(result0); asgnRefNoCycle((void**) (&(*result0).ast), newprocnode_PcNymLorEQYsV8Qh55K4Ug(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79), (*f0).info, body0, params0, LOC88, emptynode_69ccLGuQ2mITw7zylZYtWcA, emptynode_69ccLGuQ2mITw7zylZYtWcA, emptynode_69ccLGuQ2mITw7zylZYtWcA, emptynode_69ccLGuQ2mITw7zylZYtWcA)); asgnRefNoCycle((void**) (&(*result0).typ), t0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, wrapprocforspawn_6fN2V7nvsTzAH5EnR9bU9aUw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tnode_bROa11lyF5vxEN9aYNbHmhw* spawnexpr0, Ttype_LTUWCZolpovw9cWE3JBWSUw* rettype0, Tnode_bROa11lyF5vxEN9aYNbHmhw* barrier0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dest0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; NI LOC1; Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ spawnkind0; Tsym_AXG7xcvKqaxY6koRX1xkCw* threadparam0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC32; Tsym_AXG7xcvKqaxY6koRX1xkCw* argsparam0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC33; Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* castexpr0; Tsym_AXG7xcvKqaxY6koRX1xkCw* scratchobj0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC35; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tnode_bROa11lyF5vxEN9aYNbHmhw* fn0; Tnode_bROa11lyF5vxEN9aYNbHmhw* varsection0; Tnode_bROa11lyF5vxEN9aYNbHmhw* varinit0; Tnode_bROa11lyF5vxEN9aYNbHmhw* barrierasexpr0; Tnode_bROa11lyF5vxEN9aYNbHmhw* fvfield0; Tnode_bROa11lyF5vxEN9aYNbHmhw* fvasexpr0; Tsym_AXG7xcvKqaxY6koRX1xkCw* wrapper0; NimStringDesc* LOC95; NI LOC96; NimStringDesc* LOC97; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC98; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC99; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC100; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC101; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (NI)0; LOC1 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(spawnexpr0); n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(spawnexpr0, (NI)(LOC1 - ((NI) 2))); spawnkind0 = spawnresult_Lwoxf3y9bzwRDFtj4JkXFtA(rettype0, !((barrier0 == NIM_NIL))); switch (spawnkind0) { case ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 0): { { NimStringDesc* LOC7; if (!!((dest0 == NIM_NIL))) goto LA5; LOC7 = (NimStringDesc*)0; LOC7 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_mTxj9crs9bTRS87wn5yEjeFA_9); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC7); } LA5: ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); } break; case ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 1): { { NimStringDesc* LOC13; if (!!((dest0 == NIM_NIL))) goto LA11; LOC13 = (NimStringDesc*)0; LOC13 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_mTxj9crs9bTRS87wn5yEjeFA_10); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC13); } LA11: ; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126), (*n0).info, rettype0); } break; case ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2): { { if (!(dest0 == NIM_NIL)) goto LA17; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_11)); } LA17: ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); } break; } { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)))) goto LA21; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_12)); goto BeforeRet; } LA21: ; { if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 24))&63U)))!=0)) goto LA25; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!((130 & (*(*LOC29).typ).flags) == 0)) goto LA30; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_13)); } LA30: ; } LA25: ; LOC32 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC32 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_14)); threadparam0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), LOC32, owner0, (*n0).info); LOC33 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC33 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_15)); argsparam0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), LOC33, owner0, (*n0).info); { Ttype_LTUWCZolpovw9cWE3JBWSUw* ptrtype0; ptrtype0 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26)); asgnRefNoCycle((void**) (&(*threadparam0).typ), ptrtype0); asgnRefNoCycle((void**) (&(*argsparam0).typ), ptrtype0); (*argsparam0).position = ((NI) 1); } objtype0 = createobj_tCygNbhBN9bFkvCkJXL9aWZg(owner0, (*n0).info); (*objtype0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))%(sizeof(NU32)*8)); castexpr0 = createcastexpr_aLEMtwqgJCsenNr5bah5Eg(argsparam0, objtype0); LOC35 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC35 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_16)); scratchobj0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), LOC35, owner0, (*n0).info); { Tnode_bROa11lyF5vxEN9aYNbHmhw* varsectionb0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; asgnRefNoCycle((void**) (&(*scratchobj0).typ), objtype0); (*scratchobj0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); varsectionb0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n0).info); LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = newsymnode_1ARBpggFQuvUDBVYjBelcw(scratchobj0); addvar_PhSnWtH9c5LFLMyViy9ciz8Q(varsectionb0, LOC37); add_gCCf68XrWL79bKes6htzFjQ_3(result0, varsectionb0); } call0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, (*n0).typ); fn0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { if (!((*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 155))) goto LA40; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_17)); } LA40: ; { NIM_BOOL LOC44; Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC48; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC49; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC50; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC51; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC52; LOC44 = (NIM_BOOL)0; LOC44 = ((*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC44)) goto LA45; LOC44 = ((241664 &(1U<<((NU)((*(*fn0).kindU.S4.sym).kind)&31U)))!=0); LA45: ; if (!!(LOC44)) goto LA46; LOC48 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC48 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); argtype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*LOC48).typ, 43280); LOC49 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC49 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_18)); field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), LOC49, owner0, (*n0).info); asgnRefNoCycle((void**) (&(*field0).typ), argtype0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC50 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC50 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC51 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC51 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC52 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC52 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC50, LOC51); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC52); fn0 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); } goto LA42; LA46: ; { NIM_BOOL LOC54; LOC54 = (NIM_BOOL)0; LOC54 = ((*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC54)) goto LA55; LOC54 = ((*(*fn0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); LA55: ; if (!LOC54) goto LA56; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_19)); } goto LA42; LA56: ; { if (!((*(*fn0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))) goto LA59; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_17)); } goto LA42; LA59: ; LA42: ; add_gCCf68XrWL79bKes6htzFjQ_3(call0, fn0); varsection0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*n0).info); varinit0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); { if (!(barrier0 == 0)) goto LA63; setupargsforconcurrency_Ibj4Q0RmqRhJ0zVq1Yo1Kg(n0, objtype0, scratchobj0, castexpr0, call0, varsection0, varinit0, result0); } goto LA61; LA63: ; { setupargsforparallelism_Ibj4Q0RmqRhJ0zVq1Yo1Kg_2(n0, objtype0, scratchobj0, castexpr0, call0, varsection0, varinit0, result0); } LA61: ; barrierasexpr0 = NIM_NIL; { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC70; Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC71; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC72; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC73; if (!!((barrier0 == NIM_NIL))) goto LA68; typ0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), owner0); LOC70 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC70 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_23)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(typ0, (*LOC70).typ); LOC71 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC71 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_24)); field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), LOC71, owner0, (*n0).info); asgnRefNoCycle((void**) (&(*field0).typ), typ0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); LOC72 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC72 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC73 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC73 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC72, barrier0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC73); barrierasexpr0 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); } LA68: ; fvfield0 = NIM_NIL; fvasexpr0 = NIM_NIL; { Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC78; NI LOC79; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC80; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC81; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC82; if (!(spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 1))) goto LA76; LOC78 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC78 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_25)); field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), LOC78, owner0, (*n0).info); asgnRefNoCycle((void**) (&(*field0).typ), rettype0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); fvfield0 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); fvasexpr0 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); LOC79 = (NI)0; LOC79 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(spawnexpr0); LOC80 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC80 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(spawnexpr0, (NI)(LOC79 - ((NI) 1))); LOC81 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC81 = callproc_v025hRW9bDng9aZfkCnRdmlg(LOC80); LOC82 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC82 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(fvfield0, LOC81); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC82); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC87; if (!(barrier0 == NIM_NIL)) goto LA85; LOC87 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC87 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_26), fvfield0, NIM_NIL, NIM_NIL, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC87); } LA85: ; } goto LA74; LA76: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC91; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC92; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC93; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC94; if (!(spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 2))) goto LA89; LOC91 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC91 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_25)); field0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), LOC91, owner0, (*n0).info); asgnRefNoCycle((void**) (&(*field0).typ), newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), (*objtype0).owner)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*field0).typ, rettype0); addfield_1CQ9cxECTcbSPI3pM9bWZPYA(objtype0, field0); fvasexpr0 = indirectaccess_SPIn9atMD6qDWTu3U9aH9aPyg(castexpr0, field0, (*n0).info); LOC92 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC92 = newdotexpr_KRmCe39ce09cu3RhBtWQqOtQ(scratchobj0, field0); LOC93 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC93 = genaddrof_mscWrSaTNlbCzPnbgRoB9aQ(dest0); LOC94 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC94 = newfastasgnstmt_oVK45K4pj5z0BoUtKfLGGw(LOC92, LOC93); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC94); } goto LA74; LA89: ; LA74: ; wrapper0 = createwrapperproc_NkLsQUwCZhAXN9c3JhfjhLw(fn0, threadparam0, argsparam0, varsection0, varinit0, call0, barrierasexpr0, fvasexpr0, spawnkind0); LOC95 = (NimStringDesc*)0; LOC96 = (NI)0; LOC96 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(spawnexpr0); LOC97 = (NimStringDesc*)0; LOC97 = nimIntToStr(LOC96); LOC95 = rawNewString(LOC97->Sup.len + 8); appendString(LOC95, ((NimStringDesc*) &T_mTxj9crs9bTRS87wn5yEjeFA_38)); appendString(LOC95, LOC97); LOC98 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC98 = newsymnode_1ARBpggFQuvUDBVYjBelcw(wrapper0); LOC99 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC99 = newsymnode_1ARBpggFQuvUDBVYjBelcw(scratchobj0); LOC100 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC100 = genaddrof_mscWrSaTNlbCzPnbgRoB9aQ(LOC99); LOC101 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC101 = callcodegenproc_lkSXgCTWeZ9bGjjSIzuQi1Q(LOC95, LOC98, LOC100, NIM_NIL, spawnexpr0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC101); { if (!(spawnkind0 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 1))) goto LA104; add_gCCf68XrWL79bKes6htzFjQ_3(result0, fvfield0); } LA104: ; }BeforeRet: ; return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_loweringsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_loweringsDatInit000)(void) { }