/* 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 #include #undef linux typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; 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_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g; typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ; typedef struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw; typedef struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ Tcontext_5TfOJKwTttj3W1t1tMzWUQ; typedef struct Tscope_1cQRXW6aAknk7ywAwjH3nw Tscope_1cQRXW6aAknk7ywAwjH3nw; typedef struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ Tproccon_s5jyYR8yL1QmFqiHICzU9aQ; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q; typedef struct TY_Mh9agqM29bm9aP5AUL1x7dZGA TY_Mh9agqM29bm9aP5AUL1x7dZGA; typedef struct Tctx_hJGtOysUvnnuB9cLutWG9a2w Tctx_hJGtOysUvnnuB9cLutWG9a2w; typedef struct TY_jWKvSdankQPoT5bw9cBU9aiw TY_jWKvSdankQPoT5bw9cBU9aiw; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ; typedef struct Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA; typedef struct TY_xITzrU1RhJLKwBlRCAbn9bA TY_xITzrU1RhJLKwBlRCAbn9bA; typedef struct Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg; typedef struct Genericctx_ldEK1fsP9cZbQbUrs7bxs0w Genericctx_ldEK1fsP9cZbQbUrs7bxs0w; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ; typedef struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ TY_uZlRb8w5pa9b16Yfjq9cGRXQ; typedef struct Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw; typedef struct EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A; typedef struct Templctx_nh9bf8hW4pDvkirLeE4rmdw Templctx_nh9bf8hW4pDvkirLeE4rmdw; typedef struct Slice_qL3WGViqT0p5sVr4YFHsLg Slice_qL3WGViqT0p5sVr4YFHsLg; typedef struct TY_YLg9aN9cjdxVYWdZ7YCb9batg TY_YLg9aN9cjdxVYWdZ7YCb9batg; typedef struct Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ; typedef struct TY_LViedqhb8iWVoqgZs5LifA TY_LViedqhb8iWVoqgZs5LifA; typedef struct Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ; typedef struct Exception Exception; typedef struct TSafePoint TSafePoint; typedef struct Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA; typedef struct Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Ttabiter_VYF5VQsIYEVaBL0fKZJkbg Ttabiter_VYF5VQsIYEVaBL0fKZJkbg; typedef struct Trodreader_16TURXdqtpMMssNVfU5WqQ Trodreader_16TURXdqtpMMssNVfU5WqQ; typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA; typedef struct Tindex_hUZsEw7f9bvoVPQYLWHrTDQ Tindex_hUZsEw7f9bvoVPQYLWHrTDQ; typedef struct Tiitable_2ud26DHRGdy6LEqDPifSOA Tiitable_2ud26DHRGdy6LEqDPifSOA; typedef struct TY_h0IAOvrRzVzO3NpUxaxxvQ TY_h0IAOvrRzVzO3NpUxaxxvQ; typedef struct Table_DYt7wxxRVZ9c5PDjh5cfgPA Table_DYt7wxxRVZ9c5PDjh5cfgPA; typedef struct TY_eBSwX9aa9c1W8S1FJPmehz9aQ TY_eBSwX9aa9c1W8S1FJPmehz9aQ; typedef struct Memfile_j4SnXNrJDFBxAz4BlbM9aIQ Memfile_j4SnXNrJDFBxAz4BlbM9aIQ; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ; typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg; typedef struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg Tidpair_AdFnD2YdADPeuJbG2YJ4vg; typedef struct TY_9bAGqSvkAaFL9bWjsEPslrFA TY_9bAGqSvkAaFL9bWjsEPslrFA; typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ; typedef struct TY_RsxI3z4wK8jTuZiO0576gQ TY_RsxI3z4wK8jTuZiO0576gQ; typedef struct Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA; typedef struct TY_XUtHSCESHcg7KVfuMIqQmw TY_XUtHSCESHcg7KVfuMIqQmw; typedef struct TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ; typedef struct TY_JokFGfUW6i9b6aeU7xu6xBw TY_JokFGfUW6i9b6aeU7xu6xBw; typedef struct TY_SlmU1Ju0WFHUWkihyHMVYg TY_SlmU1Ju0WFHUWkihyHMVYg; typedef struct TY_UCrBsiykDha2x4hr9aWPwKA TY_UCrBsiykDha2x4hr9aWPwKA; typedef struct Vmargs_0UUl6e5CNNQfMon2xW2bVA Vmargs_0UUl6e5CNNQfMon2xW2bVA; typedef struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ Tblock_2tJGcW69ahqq39a9bVJC1sqGQ; typedef struct TY_qwqHTkRvwhrRyENtudHQ7g TY_qwqHTkRvwhrRyENtudHQ7g; 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; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef N_NIMCALL_PTR(void, TY_T4eqaYlFJYZUv9aG9b1TV0bQ) (void); struct TNimObject { TNimType* m_type; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag; 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; }; 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; }; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; 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; }; struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g { TNimObject Sup; NIM_BOOL fromcache; }; struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail; NI counter; }; struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q { NI counter; TY_Mh9agqM29bm9aP5AUL1x7dZGA* data; }; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_AKW0Vo9cFIVu0NCvmOexsSA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); typedef NU16 Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_iQuMqQxTQ0KsiquHcemjUQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); typedef NU32 Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_C8AXaVscqGOxLOeiHy1lmw) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0); typedef N_NIMCALL_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, TY_bA9c5ClPJvgmXvNlbUiJQiQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); typedef struct { N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, void* ClEnv); void* ClEnv; } TY_rVRuvning49bS21o9c7OfIPQ; typedef struct { N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, void* ClEnv); void* ClEnv; } TY_jT9bmmdeK1mqhnuxic7a1jw; typedef NU8 Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ; typedef N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, TY_kd4mVSM3CyNW38z8itHZOA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0); struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tscope_1cQRXW6aAknk7ywAwjH3nw* currentscope; Tscope_1cQRXW6aAknk7ywAwjH3nw* importtable; Tscope_1cQRXW6aAknk7ywAwjH3nw* toplevelscope; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* p; TY_sksVpmPRIkNR9axiwtD1Guw* friendmodules; NI instcounter; Intset_PQrmFm4BXFkFSVOUl1ojSg ambiguoussymbols; NI intypeclass; NI ingenericcontext; NI inunrolledcontext; NI compilescontextid; NI compilescontextidgenerator; NI ingenericinst; TY_sksVpmPRIkNR9axiwtD1Guw* converters; TY_sksVpmPRIkNR9axiwtD1Guw* patterns; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw optionstack; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmapping; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw libs; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semtryexpr; TY_AKW0Vo9cFIVu0NCvmOexsSA semtryconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semoperand; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstboolexpr; TY_C8AXaVscqGOxLOeiHy1lmw semoverloadedcall; TY_bA9c5ClPJvgmXvNlbUiJQiQ semtypenode; TY_rVRuvning49bS21o9c7OfIPQ seminferredlambda; TY_jT9bmmdeK1mqhnuxic7a1jw semgenerateinstance; Intset_PQrmFm4BXFkFSVOUl1ojSg includedfiles; Tstrtable_f07aOS3dr28kGa5wcE29aFA userpragmas; Tctx_hJGtOysUvnnuB9cLutWG9a2w* evalcontext; Intset_PQrmFm4BXFkFSVOUl1ojSg unknownidents; TY_jWKvSdankQPoT5bw9cBU9aiw* generics; NI topstmts; NI lastgenericidx; NI hloloopdetector; NI inparallelstmt; TY_kd4mVSM3CyNW38z8itHZOA insttypeboundop; Tident_4umxGerWTHGPwUms7Yqu3g* selfname; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph; Tstrtable_f07aOS3dr28kGa5wcE29aFA signatures; NimStringDesc* recursivedep; }; typedef NU8 Tcommands_VH3ghgQVwLSg3krOAoXigw; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; 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 NU8 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg; typedef NU8 Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set; typedef NU8 Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ; struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* resultsym; Tsym_AXG7xcvKqaxY6koRX1xkCw* selfsym; NI nestedloopcounter; NI nestedblockcounter; NI intrystmt; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* next; NIM_BOOL wasforwarded; Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr; }; typedef NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set; typedef NU8 Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw_Set[20]; typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; typedef Tnode_bROa11lyF5vxEN9aYNbHmhw* TY_AB6yfoUgfWM2NtGe9bzkCmw[2]; typedef Ttype_LTUWCZolpovw9cWE3JBWSUw* TY_7uDK9cfu1yI54pcmOBIy9aqg[2]; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; typedef NU8 Timplication_t4F29a8ejY1DFQTYTML9c9byA; typedef NU8 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw; typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set; struct Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA { NI h; Tident_4umxGerWTHGPwUms7Yqu3g* name; }; typedef NU8 Toverloaditermode_xCku9a0wtzKQQBbzX1t6btg; struct Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ { Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA it; Tsym_AXG7xcvKqaxY6koRX1xkCw* m; Toverloaditermode_xCku9a0wtzKQQBbzX1t6btg mode; NI symchoiceindex; Tscope_1cQRXW6aAknk7ywAwjH3nw* scope; Intset_PQrmFm4BXFkFSVOUl1ojSg insymchoice; }; typedef NimStringDesc* TY_Re75IspeoxXy2oCZHwcRrA[2]; struct TY_XOVT24GHXwqiEj5GCsEGCA { NimStringDesc* Field0; NI Field1; }; typedef NU8 Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg; struct Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; NI exactmatches; NI genericmatches; NI subtypematches; NI intconvmatches; NI convmatches; Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg state; Ttype_LTUWCZolpovw9cWE3JBWSUw* callee; Tsym_AXG7xcvKqaxY6koRX1xkCw* calleesym; NI calleescope; Tnode_bROa11lyF5vxEN9aYNbHmhw* call; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q bindings; Tmagic_shZhZOdbVC5nnFvcXQAImg magic; NIM_BOOL basetypematch; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag fauxmatch; NIM_BOOL genericconverter; NIM_BOOL coercedistincts; NIM_BOOL typedescmatched; NIM_BOOL isnocall; NU8 mutabilityproblem; NI inheritancepenalty; TY_xITzrU1RhJLKwBlRCAbn9bA* errors; }; struct Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q typemap; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmap; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q localcache; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; NIM_BOOL allowmetatypes; NIM_BOOL skiptypedesc; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; NI recursionlimit; }; struct Genericctx_ldEK1fsP9cZbQbUrs7bxs0w { Intset_PQrmFm4BXFkFSVOUl1ojSg tomixin; NIM_BOOL cursorinbody; Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr; }; typedef NU8 Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set; typedef NU8 Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA; typedef NU8 Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA; struct Tscope_1cQRXW6aAknk7ywAwjH3nw { NI depthlevel; Tstrtable_f07aOS3dr28kGa5wcE29aFA symbols; Tscope_1cQRXW6aAknk7ywAwjH3nw* parent; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; typedef NU8 Tdistinctcompare_9bNKHGs63atuMFXnAleTveg; struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst; }; typedef NU8 Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set[34]; typedef NU8 Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ; typedef Tnode_bROa11lyF5vxEN9aYNbHmhw* TY_T6RKPw8xfAeNaoei9aZGzXg[3]; struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* Field0; NI Field1; }; typedef NU8 Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg; typedef Tident_4umxGerWTHGPwUms7Yqu3g* TY_CBfZt49asUfAsBVM7a3Rc9cw[8192]; struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw { TY_CBfZt49asUfAsBVM7a3Rc9cw buckets; NI wordcounter; Tident_4umxGerWTHGPwUms7Yqu3g* idanon; Tident_4umxGerWTHGPwUms7Yqu3g* iddelegator; Tident_4umxGerWTHGPwUms7Yqu3g* emptyident; }; typedef Ttype_LTUWCZolpovw9cWE3JBWSUw* TY_BF9aKj6RAH9ccQDWaEKQ1HOw[1]; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; typedef NU64 Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set; struct Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Toption_WspMeQySXNP2XoTWR5MTgg_Set options; Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA defaultcc; Tlib_4f9aBgmqEuj7uWJdBBGcRgA* dynlib; Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set notes; Tnode_bROa11lyF5vxEN9aYNbHmhw* otherpragmas; }; struct EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A { NI HEX3Astate; Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams492474; NimStringDesc* paramname492476; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info492477; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c492472; }; typedef struct { N_NIMCALL_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, ClPrc) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0, void* ClEnv); void* ClEnv; } TY_vxVBnBOAaRM9bGcKmG6S7Cw; typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_75) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_76) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_77) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_78) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_79) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_80) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_81) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); typedef N_CLOSURE_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, T_rF9caJawfOjYTjsgLVUSGFA_84) (Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0); struct Templctx_nh9bf8hW4pDvkirLeE4rmdw { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; Intset_PQrmFm4BXFkFSVOUl1ojSg tobind; Intset_PQrmFm4BXFkFSVOUl1ojSg tomixin; Intset_PQrmFm4BXFkFSVOUl1ojSg toinject; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; NIM_BOOL cursorinbody; Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr; }; typedef Tsym_AXG7xcvKqaxY6koRX1xkCw* TY_7qhf4tr0xwdx1ieevx3DVg[2]; struct Slice_qL3WGViqT0p5sVr4YFHsLg { NI a; NI b; }; typedef Tnode_bROa11lyF5vxEN9aYNbHmhw* TY_HxVE0mcM6xrWRkOnoIS9bbw[7]; typedef Tnode_bROa11lyF5vxEN9aYNbHmhw* TY_jlWPjgtbdjE069arIWHC9c9bg[1]; typedef NimStringDesc* TY_sMpvt1sOxOJ3LFGulnbeMQ[4]; typedef NU8 Tlocflag_o2bqJgR4ceIupnUSpxiudA; typedef NU8 Toption_WspMeQySXNP2XoTWR5MTgg; typedef NU16 Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA; typedef NU8 Tmagic_shZhZOdbVC5nnFvcXQAImg_Set[33]; typedef NU8 Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag; typedef NU8 Ttyperelation_1IMf5P083XuEtWGxYaIXyQ; typedef NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set; typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw; typedef NU8 Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w; struct Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ { NimStringDesc* fullpath; NimStringDesc* projpath; NimStringDesc* shortname; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* quotedname; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* quotedfullname; TY_LViedqhb8iWVoqgZs5LifA* lines; NimStringDesc* dirtyfile; }; typedef NimStringDesc* TY_1gf0WJETmt11u6s4GjKzfw[2]; typedef NU8 Tsideeffectanalysis_39b55cGxMJkG5uRuPt6svRw; typedef NimStringDesc* TY_24KAM9afIUgUaqBaEBB6r9bg[3]; struct Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ kind; Tsym_AXG7xcvKqaxY6koRX1xkCw* fn; Ttype_LTUWCZolpovw9cWE3JBWSUw* asgnfortype; NIM_BOOL recurse; }; typedef NU16 Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw; typedef NU8 Tconvstatus_GXWKwypnpPcXHHdgiz4mmw; typedef NU8 Terroroutput_Arf2Sd69cWst7QFd6o9cPEeg_Set; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv); void* ClEnv; } TY_KeeAOYBd84Ofsw6Y7LizaQ; struct TSafePoint { TSafePoint* prev; NI status; jmp_buf context; NIM_BOOL hasRaiseAction; TY_KeeAOYBd84Ofsw6Y7LizaQ raiseAction; }; typedef NU8 Tsymbinding_djea3jD0GJNy3LfTycW4Gw; typedef NU8 Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ; typedef N_CLOSURE_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, T_rF9caJawfOjYTjsgLVUSGFA_215) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); typedef NU8 Tparkind_halZ9aqjYDH0l2n5E6sCJdg; struct Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA { Ttype_LTUWCZolpovw9cWE3JBWSUw* tupletype; NI tupleindex; Tsym_AXG7xcvKqaxY6koRX1xkCw* field; NIM_BOOL replacebyfieldname; }; struct Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; Tmagic_shZhZOdbVC5nnFvcXQAImg m; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_P9bpkXeUSTn55zt9cNyjKJQA) (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, NI32 fileidx0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0); struct Ttabiter_VYF5VQsIYEVaBL0fKZJkbg { NI h; }; typedef N_CLOSURE_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, T_rF9caJawfOjYTjsgLVUSGFA_272) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, void* ClEnv); typedef N_CLOSURE_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, T_rF9caJawfOjYTjsgLVUSGFA_273) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, void* ClEnv); typedef NU8 Treasonforrecompile_CESX1DWEXOC2bslyDO2n5A; struct Tiitable_2ud26DHRGdy6LEqDPifSOA { NI counter; TY_h0IAOvrRzVzO3NpUxaxxvQ* data; }; struct Tindex_hUZsEw7f9bvoVPQYLWHrTDQ { NI lastidxkey; NI lastidxval; Tiitable_2ud26DHRGdy6LEqDPifSOA tab; NimStringDesc* r; NI offset; }; struct Table_DYt7wxxRVZ9c5PDjh5cfgPA { TY_eBSwX9aa9c1W8S1FJPmehz9aQ* data; NI counter; }; struct Memfile_j4SnXNrJDFBxAz4BlbM9aIQ { void* mem; NI size; int handle; }; struct Trodreader_16TURXdqtpMMssNVfU5WqQ { TNimObject Sup; NI pos; NCSTRING s; Toption_WspMeQySXNP2XoTWR5MTgg_Set options; Treasonforrecompile_CESX1DWEXOC2bslyDO2n5A reason; TY_48JTohSgTy339bRxHzUD8KA* moddeps; TY_48JTohSgTy339bRxHzUD8KA* files; NI dataidx; NI convertersidx; NI initidx; NI interfidx; NI compilerprocsidx; NI methodsidx; NimStringDesc* filename; Tindex_hUZsEw7f9bvoVPQYLWHrTDQ index; Tindex_hUZsEw7f9bvoVPQYLWHrTDQ imports; NI readerindex; NI line; NI moduleid; Table_DYt7wxxRVZ9c5PDjh5cfgPA syms; Memfile_j4SnXNrJDFBxAz4BlbM9aIQ memfile; TY_sksVpmPRIkNR9axiwtD1Guw* methods; NimStringDesc* origfile; NIM_BOOL inviewmode; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; }; 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; }; 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 Table_tfmlwa8ktiw8woWAs5vhtQ { TY_kxu4GK0onha2t9bo86mdVAg* data; NI counter; }; struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ { TY_sksVpmPRIkNR9axiwtD1Guw* modules; Tstrtable_f07aOS3dr28kGa5wcE29aFA packagesyms; Intset_PQrmFm4BXFkFSVOUl1ojSg deps; NIM_BOOL suggestmode; NIM_BOOL invalidtransitiveclosure; Table_tfmlwa8ktiw8woWAs5vhtQ incltomod; TY_48JTohSgTy339bRxHzUD8KA* importstack; TNimObject* backend; }; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key; TNimObject* val; }; typedef NU8 Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ; typedef NU8 Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set; struct Tctx_hJGtOysUvnnuB9cLutWG9a2w { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; TY_9bAGqSvkAaFL9bWjsEPslrFA* code; TY_dRkMGUPOSmkGlhHeIeiomQ* debug; Tnode_bROa11lyF5vxEN9aYNbHmhw* globals; Tnode_bROa11lyF5vxEN9aYNbHmhw* constants; TY_zuqP4Riz26Oi5fWgPYVEgA* types; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptiona; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptionb; NI exceptioninstr; PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ* prc; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tnode_bROa11lyF5vxEN9aYNbHmhw* callsite; Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ mode; Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set features; NIM_BOOL traceactive; NI loopiterations; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw comesfromheuristic; TY_RsxI3z4wK8jTuZiO0576gQ* callbacks; NimStringDesc* errorflag; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; }; struct Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA { NI key; NI val; }; struct TY_XUtHSCESHcg7KVfuMIqQmw { NI Field0; NI Field1; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field2; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; struct TY_xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; typedef NU8 Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ; struct TY_SlmU1Ju0WFHUWkihyHMVYg { NIM_BOOL Field0; Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ Field1; }; typedef TY_SlmU1Ju0WFHUWkihyHMVYg TY_ORKcvNw6ApGJhbot1dJ6oA[256]; struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ { TY_JokFGfUW6i9b6aeU7xu6xBw* blocks; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_ORKcvNw6ApGJhbot1dJ6oA slots; NI maxslots; }; typedef struct { N_NIMCALL_PTR(void, ClPrc) (Vmargs_0UUl6e5CNNQfMon2xW2bVA* args0, void* ClEnv); void* ClEnv; } TY_S09bPfanQx9bEvdh4862x8zw; struct TY_UCrBsiykDha2x4hr9aWPwKA { NimStringDesc* Field0; TY_S09bPfanQx9bEvdh4862x8zw Field1; }; struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* label; TY_qwqHTkRvwhrRyENtudHQ7g* fixups; }; struct Vmargs_0UUl6e5CNNQfMon2xW2bVA { NI ra; NI rb; NI rc; void* slots; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexception; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw currentlineinfo; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_DXS6mEo7PVUFJkirsQ9bNQA { TGenericSeq Sup; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE]; }; struct TY_jWKvSdankQPoT5bw9cBU9aiw { TGenericSeq Sup; Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE]; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_xITzrU1RhJLKwBlRCAbn9bA { TGenericSeq Sup; TY_uZlRb8w5pa9b16Yfjq9cGRXQ data[SEQ_DECL_SIZE]; }; struct TY_YLg9aN9cjdxVYWdZ7YCb9batg { TGenericSeq Sup; Tfileinfo_UOayjckboTXG9aVx8iKOs9aQ data[SEQ_DECL_SIZE]; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE]; }; struct TY_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; struct TY_Mh9agqM29bm9aP5AUL1x7dZGA { TGenericSeq Sup; Tidpair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE]; }; struct TY_LViedqhb8iWVoqgZs5LifA { TGenericSeq Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* data[SEQ_DECL_SIZE]; }; struct TY_48JTohSgTy339bRxHzUD8KA { TGenericSeq Sup; NI32 data[SEQ_DECL_SIZE]; }; struct TY_h0IAOvrRzVzO3NpUxaxxvQ { TGenericSeq Sup; Tiipair_Vwj9bWy1xJ8WVCE9ctkEPJDA data[SEQ_DECL_SIZE]; }; struct TY_eBSwX9aa9c1W8S1FJPmehz9aQ { TGenericSeq Sup; TY_XUtHSCESHcg7KVfuMIqQmw data[SEQ_DECL_SIZE]; }; struct TY_kxu4GK0onha2t9bo86mdVAg { TGenericSeq Sup; TY_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; }; struct TY_9bAGqSvkAaFL9bWjsEPslrFA { TGenericSeq Sup; NU32 data[SEQ_DECL_SIZE]; }; struct TY_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE]; }; struct TY_RsxI3z4wK8jTuZiO0576gQ { TGenericSeq Sup; TY_UCrBsiykDha2x4hr9aWPwKA data[SEQ_DECL_SIZE]; }; struct TY_JokFGfUW6i9b6aeU7xu6xBw { TGenericSeq Sup; Tblock_2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE]; }; struct TY_qwqHTkRvwhrRyENtudHQ7g { TGenericSeq Sup; NI data[SEQ_DECL_SIZE]; }; N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_2)(void); N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); 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); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_3)(void); N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, getident_oH8GBf4tG3b1F5BIuNPwtA)(NimStringDesc* identifier0); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_5)(void); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_6)(void); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_7)(void); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); N_NIMCALL(void*, newObjRC1)(TNimType* typ0, NI size0); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_8)(void); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_10)(void); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_12)(void); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newidentnode_G82iaTfj9aP4Nw5aup9b62iQ)(Tident_4umxGerWTHGPwUms7Yqu3g* ident0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw, unknownlineinfo_Ad9ctQofZYxhKVXoXjdL0Fw)(void); N_NIMCALL(Tcontext_5TfOJKwTttj3W1t1tMzWUQ*, newcontext_XzuICb0V9a0bYLPthaUvcSg)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0); N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprwithtype_tayBCUAEli3HMPwxdS9aMbg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpr_tayBCUAEli3HMPwxdS9aMbg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, suggestexpr_GPATGlMDRN5VZ5q4eCQYag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* node0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set flags0); N_NIMCALL(void, semcapturesym_wz9cxcPAng9cCy1HG0XN4ssw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsym_InSQ3LpBhnCqFgw1Hbb18Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, markused_Ue6rwV8sAT8uVT9cT5cip9aA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, inlineconst_7eGRXXWdaRx5r9aCyN8PHUwsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copytree_lz8T1F9c0YwEOpUnrAUYgjg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(void, localerror_GarD0CQJ5aQhoHekHYinVQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_fPlwH3r9agN9aEHB6yCPMh0wsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, typetostring_iUZlBdvGqNPVN17wd9aVBNw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_1ARBpggFQuvUDBVYjBelcw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_slQ2jWOFI1ND3N9c79b7b18g)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmacroexpr_woULc1D9b2DCEYOx5yRZXRg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, pushinfocontext_zQWo2MALtrYvLPyMtv28iA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, globalerror_VpilfPWbplGz6ny7O9cfr2g_3)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalmacrocall_NNZcYiEoPcdLz5gpQBCUgQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semaftermacrocall_InSQ3LpBhnCqFgw1Hbb18Q_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmodule_0lPlu1uOok1rRK50z1V70A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprnotype_NBTNEqzl5NBSHnN0VGYkSQ_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, discardcheck_kpkEIJf789bDnaDxYKwtuZw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0); N_NIMCALL(void, message_VpilfPWbplGz6ny7O9cfr2g_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(NIM_BOOL, implicitlydiscardable_J6cfuIanCXYEsLNE8M8o9cQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n_n3KTOUi9bAGI9cbZWtw9a7o1w); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, iscallexpr_63pt39coF5C8JoG0utNnwWg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, fixniltype_sIxO9bj7Xwv3qFTK7z9b5jSg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, isatom_NyXYMHACmbtWJZnWqE9cJCAparampatterns)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypenode_lOYiaJyT4uh4YNmn53vE6w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(void, checksonslen_rPu9akNNYZgL0UexjMvt0HA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI length0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semanontuple_lOYiaJyT4uh4YNmn53vE6w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newtypes_9cQrDprXawJ1DKOUTsPNMTg)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void, addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* son0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semrangeaux_lOYiaJyT4uh4YNmn53vE6w_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getsystype_dewjtBqyEbcVGQRaQFtDAw)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0); N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(NIM_BOOL, isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, enumhasholes_XI7vH8jtAcp7rWqTmfZOSg_5)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, hasgenericarguments_u68mEkLdR18iAnbsLA6Rgg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addson_gCCf68XrWL79bKes6htzFjQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, makestaticexpr_mlAsfDaGXMFtARnohF7MOA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Timplication_t4F29a8ejY1DFQTYTML9c9byA, weaklevalue_ZgzWfhdUsbwPI0319a0Xjbg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, freshtype_f2ol1IOOcvnz0vNKWZHCnAsem)(Ttype_LTUWCZolpovw9cWE3JBWSUw* res0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, copytype_50MJeIR3xcM7dF9b6Ly3suQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, NIM_BOOL keepid0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypeexpr_lOYiaJyT4uh4YNmn53vE6w_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_ufceDbWPhmzcbaDv9b7k9cjg, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, base_46gPaVDDGhiU69b2oKDJZuA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, errortype_ShA6p2jJG1xQ4GbGPvr38g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, considerquotedident_bi6H6x9cvavSxJocgYdA9bRw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makeandtype_TWs0zFG19bwRZYLu3ryNNEQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t10, Ttype_LTUWCZolpovw9cWE3JBWSUw* t20); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makeortype_TWs0zFG19bwRZYLu3ryNNEQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t10, Ttype_LTUWCZolpovw9cWE3JBWSUw* t20); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makenottype_jzHW69aScKPf5OXe8J61tsA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t10); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semanyref_D37UcvPnq8glOvYLKac7xg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_U9aprzxKaJYh2LcgUmR8w9cg, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag k0); N_NIMCALL(void, checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI length0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semwhen_r8HjfCfaaAHheABRntFqPg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL semcheck0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookup_IOsv2I6GLAg6uZx8BH20Hw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, commontype_L4h2iAoroCJWZ2uFM8A8GQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0, TY_zuqP4Riz26Oi5fWgPYVEgA* y0); 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(NI, len_gG7hUAX9cA629ahMLVL3xN4w_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(NIM_BOOL, isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, lastson_E41DMKHtT9c6sAMyyvhmSIw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, commonsuperclass_azGRUGuep6m80Ob3xHdYLQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(void, illformedast_DpsImAn3UbwOKcZFm2pVSg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, idsynchronizationpoint_GU7xhi8Sthx1AieMTTUZqQ)(NI idrange0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semtypeident_RiNpYDzSB8OUnjHue9b4s2g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, errorsym_IOsv2I6GLAg6uZx8BH20Hw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, copysym_KkocQl2VXhKLz8kG9aC7GEw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL keepid0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, initoverloaditer_9cKgCYMdPICI0In36EERMsA)(Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ* o0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2)(Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ* o0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semarray_lOYiaJyT4uh4YNmn53vE6w_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semarrayindex_8dfFYrOeVPnqx5CTOiEfvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, isrange_GZCDL1KLeVpc9b7cG4gxP7Asem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makerangewithstaticexpr_H8DcdUCos29ahaTnTQWv9b5g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makerangetype_dvifOZPMqHzaM6DkApBvxg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, NI64 first0, NI64 last0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* inttype0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semcontainer_IxLfSBG76m9bT0uF6TONY4g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, NimStringDesc* kindstr0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semrange_lOYiaJyT4uh4YNmn53vE6w_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_P57JkMtxHmrSmmqETRooHg, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semset_lOYiaJyT4uh4YNmn53vE6w_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(NI64, lengthord_HUiBYxvKiECXCv8BzQNheg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semordinal_lOYiaJyT4uh4YNmn53vE6w_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semvarargs_lOYiaJyT4uh4YNmn53vE6w_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getcurrowner_vtvHgJFBzj1VdwBSMUceQQ)(void); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtuple_lOYiaJyT4uh4YNmn53vE6w_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(void, initintset_a9a80eJplB17xrdZJ41Baww)(Intset_PQrmFm4BXFkFSVOUl1ojSg* Result); N_NOINLINE(void, chckNil)(void* p0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsymg_4zMCRU3VuII34h7KWa4igg)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(NimStringDesc*, HEX24_jjfNrJtm9cAyhDM03lwdhoA)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(NimStringDesc*, nsuToLowerAsciiStr)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI start0); N_NIMCALL(NimStringDesc*, copyStr)(NimStringDesc* s0, NI first0); N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsym_2uJTpCZGZAi7a4eAm1ds8Q)(Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, Tident_4umxGerWTHGPwUms7Yqu3g* name0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(NIM_BOOL, containsorincl_B0EhVMrh5BBBZOOtYjAvVg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgeneric_KbRgzAZelffU9cv9cB67vT3w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgenericparamininvocation_8dfFYrOeVPnqx5CTOiEfvA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, internalerror_5XY9cUy7hZmUusM38U9cYYdw)(NimStringDesc* errmsg0); N_NIMCALL(NimStringDesc*, HEX24_k53Ge4e9cDjc7y9c5uML7sPQ)(TY_XOVT24GHXwqiEj5GCsEGCA x0); N_NIMCALL(void, newcandidate_Ursq24ddLTYMobCFHSyzbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result); N_NIMCALL(void, matches_x3U2uVO0diqi4Z4tOU2y9aw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0); N_NIMCALL(NimStringDesc*, describeargs_m1uDwnBbJWJYjfhFqPUzpw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI startidx0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(NIM_BOOL, containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, instgenericcontainer_JFPab1Oaa8wRyjR9bH3QQKw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* header0, NIM_BOOL allowmetatypes0); N_NIMCALL(void, initidtable_9cUS2oaKn1IFXKjLdglPZHQ)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* x0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, replacetypevarst_0MFAr9a79bLFEM8gy9cdgtELQ)(Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg* cl0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, ismetatype_BP9bVN0WuPxtcisPwKXmzoQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmt_NBTNEqzl5NBSHnN0VGYkSQ_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags_eCcZIjc9avwiDEbq9aKTSLZg, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lookup_okiFfU8LR9apJ5YL9caXd29aA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, skipalias_ZtvadRR2a9bYV9bto55K079bQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchinscopes_QSW6N9asb3CJMR79bV8BqwHw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* s0); N_NIMCALL(NIM_BOOL, contains_sYBLNwnPJlAFi0nfWU79awg)(Intset_PQrmFm4BXFkFSVOUl1ojSg s0, NI key0); N_NIMCALL(void, errorundeclaredidentifier_UdgIujB9c9aSmUmE2IpJcLjQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* name0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, symchoice_kvfg9avzuPqhlyP5kQoSy6w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA r0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodeit_lbGnVdZM6n2HPza7jVIlww)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmtsymbol_lOHJGL576WgD3IkzW1l50A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evaltemplate_xOup9aA9cJdjuapy5rkGnHBQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* tmpl0, Tsym_AXG7xcvKqaxY6koRX1xkCw* gensymowner0, NIM_BOOL fromhlo0); N_NIMCALL(void, popinfocontext_GmmyRSXe1noER8ex1U9aGUA)(void); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fuzzylookup_k9c9aWs4nKYnIzd4jAjnCT5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_ZKP4jHC6z9abajP0WuW49c0w, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0, NIM_BOOL* ismacro0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdot_podnxPJ03c9c6ZNI9b2Xkrqw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmixinstmt_yB7qJYh9aH9cJ7wN3kjwrTGQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* tomixin0); N_NIMCALL(void, incl_iUpE9bYmIR0fROyJskQwN8g)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); static N_INLINE(NI, safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0); N_NIMCALL(Tscope_1cQRXW6aAknk7ywAwjH3nw*, openscope_en8ki68OmR49cqJSPN5rSJQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void, closescope_r2b7lx9cCbS9b0TH9b5UCNxAA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void, addtempdecl_zCs4p739b2m9cRi9auRLptiZg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsyms_4zMCRU3VuII34h7KWa4igg_2)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getidentnode_wWBimsBS4M6UZBvTRDlQTQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(void, adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getbody_eMf5HLowckpW9cDxAV9bNIZw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maybealiastype_9b8KQ4Nsc7irsi4WSz9bwapQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typeexpr0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(void, assigntype_50w9aT349c89bOXl19bOrS5HnA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* dest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semobjectnode_lOYiaJyT4uh4YNmn53vE6w_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypesornil_pLCdCGDuirMe9cspwviV9aVA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericinvocation_Owy9bB9b9cn8vzs5zLjRWumoQsem)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, addinheritedfields_iR5649a9a9cQVktNRacwZ0CHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0); N_NIMCALL(NI, sonslen_gG7hUAX9cA629ahMLVL3xN4w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(void, addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* rectype0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconstboolexpr_NBTNEqzl5NBSHnN0VGYkSQ_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fitnode_KLicmLLVSSbWTkeTAPc49cA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copynode_lz8T1F9c0YwEOpUnrAUYgjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indextypesmatch_W26LvxfTEV1CTaif6P5vhQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0); N_NIMCALL(void, initcandidate_R0iDmZjaDJEKlSDdgINtVg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tnode_bROa11lyF5vxEN9aYNbHmhw* argorig0); N_NIMCALL(void, instgenericconvertersarg_VXWuzBfroXU41p0pUFZiRA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, generateinstance_KtAmihMG1Kq6M7PWjOiVzA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); static N_INLINE(NIM_BOOL, istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); static N_INLINE(void, asgnRef)(void** dest0, void* src0); static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(void, pushowner_I2TXPZgEYX5SdpUVWDPIlQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*, new_WXvut0jf9avLrZqje29bbhTQ)(void); N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0); N_NIMCALL(TNimObject*, idtableget_D12lVDWWPrKae8szg3EYLw)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q t0, Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* p0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, rawpushproccon_bvkA8slTYt1UIXkpYpaKog)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(void, instantiateproctype_rwn7ignMLaWVaYB7Y2Mtsw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, inittypevars_B6DfgKqYd3MzIbY05bllqg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* p0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg* Result); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, instcopytype_b9aBYowK1Ij4sKZs0TgWHnA)(Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg* cl0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, shallowcopy_lz8T1F9c0YwEOpUnrAUYgjg_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(void, resetidtable_9cUS2oaKn1IFXKjLdglPZHQ_2)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* x0); N_NIMCALL(void, propagatetoowner_25RD9cAXWAJ2zW7s6mQQfCw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* owner0, Ttype_LTUWCZolpovw9cWE3JBWSUw* elem0); N_NIMCALL(void, erasevoidparams_IjFFjY79a5Qy1exgpfVgQ4g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, skipintliteralparams_SWD6AyXwYcQVjtguU79adwQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, maybeaddresult_bWT3VHZBqg9cw54r2vaGxQQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addresult_IHjwgZPSHiFfjDFWOdBcKw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsymkind_cNCW9acsSznmEccl1fgQwkw owner0); N_NIMCALL(void, addparamorresult_FOp9bL9bFlPARYIAEVRKKiMQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, findenforcedstatictype_ybd0mLe4g6BC9aX9c4v0CEUw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_z5MX2PKSS3YgPrY5m1guuw); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2)(NimStringDesc* name0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsyssym_shbCpG9bVTG0JrTOcXxC2hQ)(NimStringDesc* name0); N_NIMCALL(void, addresultnode_KpXrxZxDEqEzAegpvzmW3g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, genericcacheget_78gU3L89b5rb4P5xYh2ryrQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA entry0, NI id0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_8Lfd9cW8bn5vR0HyDvQO6Hw)(TY_DXS6mEo7PVUFJkirsQ9bNQA* x0, TY_DXS6mEo7PVUFJkirsQ9bNQA* y0); N_NIMCALL(NIM_BOOL, sameinstantiation_bGmhq9bb8pFOkYidfiwlp5w)(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA a0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA b0); N_NIMCALL(NIM_BOOL, comparetypes_Wiat9a9c5vPvjDreVawQ2qgA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0, Tdistinctcompare_9bNKHGs63atuMFXnAleTveg cmp0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(void, rawhandleself_bvkA8slTYt1UIXkpYpaKog_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(void, addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0); N_NIMCALL(NIM_BOOL, strtableincl_ZkoOMnVPhudcLs4AfKupyg)(Tstrtable_f07aOS3dr28kGa5wcE29aFA* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* n0, NIM_BOOL onconflictkeepold0); N_NIMCALL(void, safeadd_159bXvKbDCwtLAAM9au9cb2iw)(TY_DXS6mEo7PVUFJkirsQ9bNQA** x0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* y0); N_NIMCALL(void, makeinstpair_RpGZEAIRDxgVM19cI9c0QsAg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst0, Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ* Result); N_NIMCALL(void, pragma_7200QCbjfWhEBN4qPDke4w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0); N_NIMCALL(void, instantiatebody_7iqryuy4VMp9bDHA6A9bRVhg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* params0, Tsym_AXG7xcvKqaxY6koRX1xkCw* result0, Tsym_AXG7xcvKqaxY6koRX1xkCw* orig0); N_NIMCALL(void, idtableput_3gLsywwJ9bZDaf06DfKpYbw)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* t0, Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key0, TNimObject* val0); N_NIMCALL(void, freshgensyms_bFJbycFDZ3XpUVhXiArocA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tsym_AXG7xcvKqaxY6koRX1xkCw* orig0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* symmap0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_jIQp9ciM8if1a6TX6toZelw)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NI children0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasgn_41mPO3XBCUDPZnbaNrwpNw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ mode0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, builtinfieldaccess_tayBCUAEli3HMPwxdS9aMbg_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(NIM_BOOL, istypeexpr_J6cfuIanCXYEsLNE8M8o9cQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* list0, Tident_4umxGerWTHGPwUms7Yqu3g* ident0, NI start0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, readtypeparameter_TvQjUVfPN0Fx1AnuRaAIWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tident_4umxGerWTHGPwUms7Yqu3g* paramname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, linkto_b9b70m1Lgc2LtJbgX5XIacw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newtypewithsons_7xhH3IRNjYY0XJGePt8pLA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, TY_zuqP4Riz26Oi5fWgPYVEgA* sons0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* r0, Tident_4umxGerWTHGPwUms7Yqu3g* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw** check0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createsettype_plHcQPiBH1JTCciuvfL1cg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* basetype0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, makederef_nRsa9acFWDI6GmzVZLXX3CQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, propertywriteaccess_U6sqJc7yI2A2XTLF5KaRdQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnode_o9aHrUvOCIeQhfywzvo7yOA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0); N_NIMCALL(void, resolveoverloads_JHQgKsoQ8WidCfHzthgn5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, TY_xITzrU1RhJLKwBlRCAbn9bA** errors0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result); N_NIMCALL(void, pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* headsymbol0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* initialbinding0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* best0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* alt0, TY_xITzrU1RhJLKwBlRCAbn9bA** errors0); N_NIMCALL(NI, lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ)(Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ* o0); N_NIMCALL(void, initcandidate_k2gpOBVyx13JjcoIpvVYvQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0, Tnode_bROa11lyF5vxEN9aYNbHmhw* binding0, NI calleescope0); N_NIMCALL(void, determinetype_ReFYHO8NcVlF9aFYTz4SpBA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocaux_2X4w7TX75QUfTLhnxQFKJA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0, Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg phase0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocannotation_csqD9cOcsNb9cr0UKA0e9bfxg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* prc0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupmacro_RiNpYDzSB8OUnjHue9b4s2g_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchinscopes_kxXHmjdxa9arjdS9cPDK45zg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* s0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copyexcept_snlvQwXgyq2kcUxt2HHdjw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentdef_qqiCDzCWiApL1VOjVbfHrw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentwithpragma_nAR1sRY4lA5SigHzFvAJYw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set allowed0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentvis_nAR1sRY4lA5SigHzFvAJYw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set allowed0); static N_INLINE(void, suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL isdecl0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, setgenericparamsmisc_NBTNEqzl5NBSHnN0VGYkSQ_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericparamlist_FHnQxPg6tiMHsFOOdAhreA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* father0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgenericconstraints_5ooSsK0APtGEtU9bQWYt5IA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newtree_4bkTFXme4frVOAuq2YEc4g)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw** children0, NI children0Len0); N_NIMCALL(void, semparamlist_Qyh9a7LvbGI5OBxQHRRO9bxA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semproctypenode_DPcKBU2kSAxDqsoFxpLplA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, NIM_BOOL istype0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newproctype_ND9cPmmyWE5euXT1SokYu8A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*, lastoptionentry_rRajvbtDjsI4JkDGyW0Whg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semparamtype_B9ar1oMmulfISxO5D79aHtFw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw** constraint0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semnodekindconstraints_oHADKQ703A40xFUb2Or4EQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* p0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, strtableget_lwInE2j9aCwWqT2bvslVRNA)(Tstrtable_f07aOS3dr28kGa5wcE29aFA t0, Tident_4umxGerWTHGPwUms7Yqu3g* name0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw prockind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Ttype_LTUWCZolpovw9cWE3JBWSUw* paramtype0, NimStringDesc* paramname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NIM_BOOL anon0); static N_NIMCALL(void, Marker_TY_6kNGFy25odmjALIosriC8A)(void* p, NI op); N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0); N_CLOSURE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0, void* ClEnv); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempattern_NBTNEqzl5NBSHnN0VGYkSQ_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, flattenstmts_kDuk7Mp6Hb4CD2EwZbGQ3g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempatternbody_DuioLh4uofptxEKissr2sw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, handlesym_cmAGnia0diq5kyGR1J6vTg)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newparam_II9bVRochsBSrAInVYdTjew)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembindstmt_XWJ5OQVWh6L1jl3Wk49cjSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* tobind0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, expectparam_DuioLh4uofptxEKissr2sw_2)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, stupidstmtlistexpr_J6cfuIanCXYEsLNE8M8o9cQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforproc_XUBQS3wiYN5kYQxrNN9awNQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0); N_NIMCALL(void, addinterfaceoverloadablesymat_9bOlLzLejs1B7Z9asqeMQ3Sw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(void, addinterfacedeclat_9bOlLzLejs1B7Z9asqeMQ3Sw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(void, implicitpragmas_7200QCbjfWhEBN4qPDke4w_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0); N_NIMCALL(NimStringDesc*, HEX24_yjUDf1xsp2Vnrl7HYmqNww)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, wrongredefinition_unQWmvfLcyA9aecDjdh60gw)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* s0); N_NIMCALL(void, addgenericparamlisttoscope_jzk1KGIc0vzv6pth3zm9bkw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addparams_zCs4p739b2m9cRi9auRLptiZg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); static N_INLINE(NIM_BOOL, importantcomments_9bOOl1CRXwH84L9baCwIFbjgsem)(void); N_NIMCALL(void, popowner_YTPTto4OU9aNWE72yJP9aDwA)(void); N_NIMCALL(void, semoverride_bWT3VHZBqg9cw54r2vaGxQQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s0); N_NIMCALL(void, dodestructorstuff_bWT3VHZBqg9cw54r2vaGxQQ_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, instantiatedestructor_b04wmJZNmRs48ayVXpmKbg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); static N_INLINE(NIM_BOOL, contains_PqsDMdHhk9cJF69aC69c5ANwQsem)(Tsym_AXG7xcvKqaxY6koRX1xkCw** a0, NI a0Len0, Tsym_AXG7xcvKqaxY6koRX1xkCw* item0); static N_INLINE(NI, find_gsOl1vJ45BaXu3la9akzypQsem)(Tsym_AXG7xcvKqaxY6koRX1xkCw** a0, NI a0Len0, Tsym_AXG7xcvKqaxY6koRX1xkCw* item0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, generatedestructor_q9aUa7mSzBRQqNAqOunEafw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_Lrpi2N0XDlmkUBCjTBEG7Q)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* x0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroyfieldorfields_Gqld9bmSKJp9bGOxrF1lOcQg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroycase_kSQ2ySz59csmlzmjQf4NNFg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0); N_NIMCALL(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*, HEX5BHEX5D_Gp1eO9bAFjBxVwyUqF7LQ9cg)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0); static N_INLINE(Slice_qL3WGViqT0p5sVr4YFHsLg, HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands)(NI a0, NI b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnode_IgnRxkID5wXTWvTZf9ct0rA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroysym_SMmNNDLLucLH71S4LhUeXg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, symnodefromtype_DeEWfPdY8tVw1fEFm9c2MQw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, symfromtype_syrl4ZPOuPsz59auSN3kZPw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makevartype_mDAs5V37nZYC3ByzC3o7dQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* basetype0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semproc_NBTNEqzl5NBSHnN0VGYkSQ_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); static N_INLINE(NIM_BOOL, contains_jPdUhZfr9a8sH2V3ZBDljzwrst)(NimStringDesc** a0, NI a0Len0, NimStringDesc* item0); static N_INLINE(NI, find_9basNl9bVqn7SOf9bgUeI8TEQrst)(NimStringDesc** a0, NI a0Len0, NimStringDesc* item0); N_NIMCALL(void, pushproccon_bvkA8slTYt1UIXkpYpaKog_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); static N_INLINE(void, paramstypecheck_x1Ba9c12ovxmcPsmA8sLtBwsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(void, typeallowedcheck_NYdMxmPuqrY45Z2ld0gWSA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowed_bHa9arT9b20nGEtBco5rXr1g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlo_NBTNEqzl5NBSHnN0VGYkSQ_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, applypatterns_NBTNEqzl5NBSHnN0VGYkSQ_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, applyrule_v5cxwOMnA2zwCd20yxVqYA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalpattern_RgqrZiIC0vQ89cL3BwhccgA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdirectop_tayBCUAEli3HMPwxdS9aMbg_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, aftercallactions_9bA5HQzp5SlBuAZ9a1ZzejHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, semfinishoperands_2Z5wP9b7ccKTpEqqJS9aAdvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, activate_KpXrxZxDEqEzAegpvzmW3g_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, isarrayconstr_kR3j4BVoX6LmX0p7IycneQsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, changetype_REwyfGkprno5W0Lbgq59aKA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* newtype0, NIM_BOOL check0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, elemtype_46gPaVDDGhiU69b2oKDJZuA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, globalerror_GarD0CQJ5aQhoHekHYinVQ_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0); N_NIMCALL(NI64, firstord_HUiBYxvKiECXCv8BzQNheg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, lastord_HUiBYxvKiECXCv8BzQNheg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0); N_NIMCALL(void, analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag, isassignable_8crr7O0lq2HvOQtYO2ruzQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0); N_NIMCALL(Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag, isassignable_KOwAOGLDd1pP23MT9bwF88w)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0); N_NIMCALL(void, semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_Hp2U59bQhyxJW9aAFC6MB3Pg); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipconv_6rsSLwtlU9c53a6w69be5JlQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, performprocvarcheck_R8jreTzhKkfgsSbPlOBSjg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, analyseifaddresstaken_NBTNEqzl5NBSHnN0VGYkSQ_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, magicsafteroverloadresolution_tayBCUAEli3HMPwxdS9aMbg_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semaddr_g9ay67gfQCKqn9akofTrVvgQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makeptrtype_mDAs5V37nZYC3ByzC3o7dQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* basetype0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypeof_NBTNEqzl5NBSHnN0VGYkSQ_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrget_tayBCUAEli3HMPwxdS9aMbg_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsubscript_tayBCUAEli3HMPwxdS9aMbg_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semderef_NBTNEqzl5NBSHnN0VGYkSQ_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NI64, getordvalue_MzTDl1zEXJLD4sql7PhCwA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsymgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s_6jxbuMcvvuBtB13HXrI7jw); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericsym_pBlmzERbp9c9aZrZG8goa4Fw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, typerel_0fsYV9bVZA2eXpHTIQspjZA)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* aorig0, NIM_BOOL dobind0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericinsterror_wWBimsBS4M6UZBvTRDlQTQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, bracketnotfounderror_jzk1KGIc0vzv6pth3zm9bkw_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, HEX24_qX5C9b0n9bOP7jk69amC8dA7A_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, notfounderror_9bDm9a7ORnmiOGvzQ3VQdKpA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_OeSegLcUPv9b8m9cqgt0uRLQ, TY_xITzrU1RhJLKwBlRCAbn9bA* errors0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NimStringDesc*, msgkindtostring_kJEp1LOlREvndFddptY76g)(Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw kind0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); N_NIMCALL(NimStringDesc*, getprocheader_9c0TLKVGuRBEJe67tk7UlpA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrput_tayBCUAEli3HMPwxdS9aMbg_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipaddr_8hC5GzyZwRmEI0dwiPCejwsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasgnopr_NBTNEqzl5NBSHnN0VGYkSQ_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semispartof_tayBCUAEli3HMPwxdS9aMbg_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w, ispartof_1otDDZAmvFsmbqPyFytXFg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintnodet_JZNvh7BkCiDOBsJlOc7TSA)(NI64 intval0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypetraits_NBTNEqzl5NBSHnN0VGYkSQ_18)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evaltypetrait_4kGu3wU0dV2TmQ5Jz7P9auw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* trait0, Ttype_LTUWCZolpovw9cWE3JBWSUw* operand0, Tsym_AXG7xcvKqaxY6koRX1xkCw* context0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newstrnode_8GaTnuPqpzGLNcerzDOURQ)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NimStringDesc* strval0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintnode_v2VGJAZNfKPVngZCqEXQtA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NI64 intval0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newstrnodet_s9bBacfAl4uY8dfeXxOyllg)(NimStringDesc* strval0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, seminstantiationinfo_NBTNEqzl5NBSHnN0VGYkSQ_19)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NI, expectintlit_r9bOd8UfOvwbOc6mAjM1LCA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw, getinfocontext_dGOV06h8ZBXswh1nR1J9bmQ)(NI index0); N_NIMCALL(NimStringDesc*, tofullpath_7s19cb7WBgztz9aqEBzwwuqA)(NI32 fileidx0); static N_INLINE(NI, tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semord_NBTNEqzl5NBSHnN0VGYkSQ_20)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semlowhigh_S9brLJW1Nbrxs3E5z3cKFKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semshallowcopy_tayBCUAEli3HMPwxdS9aMbg_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembindsym_NBTNEqzl5NBSHnN0VGYkSQ_21)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, errornode_mlAsfDaGXMFtARnohF7MOA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsideeffectanalysis_39b55cGxMJkG5uRuPt6svRw, checkforsideeffects_jZznHOk1Ngn1sF9cFDMhw5A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0); N_NIMCALL(NIM_BOOL, isstrangearray_fy4A4jKItIru9cA42oefOdg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_hW7Gtgg9bqWUqQzaLYG38Yg); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ)(NimStringDesc* name0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); N_NIMCALL(TY_AKW0Vo9cFIVu0NCvmOexsSA, getplugin_pMDBLRQbm0gZ0UsFk9bp9aVw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalatcompiletime_NBTNEqzl5NBSHnN0VGYkSQ_22)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getconstexpr_G9ctFSfrtNtfjHempqC6sgg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getintervaltype_9cQNumAPrt6V9bLg9aUMQse9bA)(Tmagic_shZhZOdbVC5nnFvcXQAImg m0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, isgenericroutine_djUd579cPfs7OC9aZ8QT9cItg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalstaticexpr_aYkCxVNU4XgpwnpIBuyO0A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tnode_bROa11lyF5vxEN9aYNbHmhw* e0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* evaluated0, Tnode_bROa11lyF5vxEN9aYNbHmhw* eorig0); N_NIMCALL(void, annotatetype_7COu9arEnQ1XMww311ztLAg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalconstexpr_ibIdTJgCiL68euIFHqOBEg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tnode_bROa11lyF5vxEN9aYNbHmhw* e0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, commonoptimizations_5FZnA6Yh1gIqCYb06v9bsUg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, transformbody_J5txp2NXODCe0Qzl9bJjNzA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0); N_NIMCALL(void, fixupinstantiatedsymbols_ReFYHO8NcVlF9aFYTz4SpBA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); static N_INLINE(void, popproccon_JpIn6HCQok16g8frnWqg6Qsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void, semborrow_hrnIK9aWjFDPZdzaXSY74gA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforborrowproc_gWIz8wKaDNivIpQWSwfgEA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* startscope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, baseofdistinct_0fL9bitLvV2esIMBn1vciqg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, sideeffectscheck_K9azjGQymtuOxoOP6mI4DTQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_3iaa3QVHZI9bDjRnXEL1LQQ)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0, TY_xITzrU1RhJLKwBlRCAbn9bA* y0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw)(TY_xITzrU1RhJLKwBlRCAbn9bA* x0, TY_xITzrU1RhJLKwBlRCAbn9bA* y0); N_NIMCALL(void, safeadd_tcVXv8mF8bwxGJHbyFs27g)(TY_xITzrU1RhJLKwBlRCAbn9bA** x0, TY_uZlRb8w5pa9b16Yfjq9cGRXQ y0); N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0); N_NIMCALL(NI, cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* b0); N_NIMCALL(TY_xITzrU1RhJLKwBlRCAbn9bA*, initcandidatesymbols_YOzWuz7vSPabnl25P6NJzg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* headsymbol0, Tnode_bROa11lyF5vxEN9aYNbHmhw* initialbinding0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* best0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* alt0, Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ* o0); N_NIMCALL(void, insert_sdPxAA6tJBXORWiLIJmHnQ)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* item0, NI i0); N_NIMCALL(void, delete_CLZdKKlcUPYhcUpOnWP7ag)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** x0, NI i0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, withinfo_wk4l6Hy9b7hKypvyN5K2D3A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ)(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0, Tnode_bROa11lyF5vxEN9aYNbHmhw** b0, NI b0Len0); static N_INLINE(NimStringDesc*, HEX5BHEX5D_Sq9b57KCLKZryBwyHy49aBswcommands)(NimStringDesc* s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_WPWyPKk58Cr5a6XFFviMjg, NI last0); N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0); N_NIMCALL(NIM_BOOL, samemethoddispatcher_IphA9b0ComRsuy5xnuiQxdw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semresolvedcall_m9amGO7HG9aemg5IK8uJc48Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0); N_NIMCALL(void, instgenericconverterssons_EwuactWQjAA3w0a2KoHSXA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0); static N_INLINE(NIM_BOOL, canderef_kR3j4BVoX6LmX0p7IycneQ_2sem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryderef_nRsa9acFWDI6GmzVZLXX3CQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, dottransformation_NBTNEqzl5NBSHnN0VGYkSQ_23)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tident_4umxGerWTHGPwUms7Yqu3g* ident0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lowertupleunpackingforasgn_ZXHtMZ0uz9cR0ZzQM8Y9cqUQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, cmptypes_FaOaPySakBuGGYvKQQE5NQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(void, typemismatch_ScpDxXjg7tRc9a9aUBDo3etA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* actual0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, overloadedasgn_06nxIJKdZx87XBkRWF0ziQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dest0, Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getasgnorliftbody_ZypZ9aCne7BffHiYksGZF7w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, liftbody_ZypZ9aCne7BffHiYksGZF7w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newproctype_I9bAXjwGwgxKz0YcijVmlpw)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(void, addparam_6oagvneQDsH4MxBzmLpSeQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* proctype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0); N_NIMCALL(void, liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(void, defaultop_cM9akSoiYQhG0CB89c1gCu9cQ)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgnstmt_xZKC0wGy2jBnytvrjhvjwg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newseqcall_uNmtw9cYGlT8wDlUsYjwWug)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genbuiltin_uhdEnW4ktaJanEro9b55r9aQ)(Tmagic_shZhZOdbVC5nnFvcXQAImg magic0, NimStringDesc* name0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createmagic_3qzP4MECRIuWs9bfvISxW9cg)(NimStringDesc* name0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, declarecounter_nJ7Gsh0pZucXzWHqJotPDQ)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, NI64 first0); N_NIMCALL(void, addvar_jL9bJgH5XKoCe4JnOTo4Edw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0, Tnode_bROa11lyF5vxEN9aYNbHmhw* value0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintlit_sxRMpjUJwVxV9cljUZ80hqA)(NI64 value0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genwhileloop_4KADwrzdXdnyOKZgTaLMng)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dest0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genhigh_YFtQ0iYYu9b465v8gGsHgyQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, at_5mq8udVqKve5KAljlqLnqg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0, Ttype_LTUWCZolpovw9cWE3JBWSUw* elemtype0); N_NIMCALL(void, addincstmt_jnmt1i2PGvvEggAbuhu2jw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0); N_NIMCALL(NIM_BOOL, consideroverloadedop_cBUcxC8VE2M7r4dQjB1ONw)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdestructorcall_zWNGz8pttqR439bhBe6mPaw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgncall_9a9cFSXcCLwp3uWuX9a3G7Jvw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genaddr_jk7mSBC0iEwUIXuy7ZHV8Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdeepcopycall_Luft9a0OjHWuUcYHITvxRhw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(void, liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, dotfield_0MpefbpO9cFMqpPH9arTDA5Q)(Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0); N_NIMCALL(void, illformedastlocal_DpsImAn3UbwOKcZFm2pVSg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, liftbodytup_NIcNtlvmCE8s9aXf79bbFfTw_2)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newderef_HtAG89bn1UDHEhRcS27NOXQlocals)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(void, asgntoresultvar_QSxi1OxNDZVQMvONPeD0mgsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(Tsym_AXG7xcvKqaxY6koRX1xkCw*, pop_mA1eT6kISPgp1oy9bdDHO4Atransf)(TY_sksVpmPRIkNR9axiwtD1Guw** s0); N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0); N_NIMCALL(void, finishmethod_ReFYHO8NcVlF9aFYTz4SpBA_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(NIM_BOOL, hasobjparam_7x647vd4Aiq6RPSC5HCqMQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, methoddef_RBScY1GpdCG6tkZ3MVBFgw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL fromcache0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skiphiddensubconv_uuBrjinRrhSs9bvaSDP4XtQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, assign_a2uuNOWD29cFDODAp4nip0A)(Intset_PQrmFm4BXFkFSVOUl1ojSg* dest0, Intset_PQrmFm4BXFkFSVOUl1ojSg src0); N_NIMCALL(void, semrecordcase_8cj8AMGU4HNKVJnccjqagw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* rectype0); N_NIMCALL(void, semcasebranch_Hp1LLYCqSOjFmp7QOVdlsw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* branch0, NI branchindex0, NI64* covered0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcasebranchrange_5M59by6wB79c6D1pVpd2oIOw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembranchrange_hswIb7oi9akA7QiDdvMG8wA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipconvtaketype_6rsSLwtlU9c53a6w69be5JlQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, emptyrange_GLYFox9ciWitxKuirhftGHg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(void, delson_9c9c9b4wX9aUbrl9bXf1tGC9acyw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, NI idx0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcasebranchsetelem_5M59by6wB79c6D1pVpd2oIOw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0); N_NIMCALL(void, checkforoverlap_pkZ9aMpMr6HPZmTxtRJqlEg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, NI currentex0, NI branchindex0); N_NIMCALL(NIM_BOOL, overlap_GLYFox9ciWitxKuirhftGHg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(Ropeobj_HF4qJnb6xiOddgPmsxodtQ*, rope_53CHEX05HP0HacydnwoUYg)(NimStringDesc* s0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypeclass_lOYiaJyT4uh4YNmn53vE6w_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(void, safeadd_VD4SAHgDoDEHV5x9bi89cbwA)(TY_zuqP4Riz26Oi5fWgPYVEgA** x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semvartype_lOYiaJyT4uh4YNmn53vE6w_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semdistinct_lOYiaJyT4uh4YNmn53vE6w_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semproctypewithscope_kTKSeKYZsBbo9an4k2wSxLw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0); N_NIMCALL(void, seteffectsforproctype_s1u9bAYWpYT5mKbooolvSuA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, haspragma_JViD3fSNjxPl61dYtezU6A)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw pragma0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semenum_lOYiaJyT4uh4YNmn53vE6w_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(void, strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA)(Tstrtable_f07aOS3dr28kGa5wcE29aFA* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semstmtlisttype_lOYiaJyT4uh4YNmn53vE6w_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semblocktype_lOYiaJyT4uh4YNmn53vE6w_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, wrapincomesfrom_YbfXH27kQZj5oIysAn7Rfg)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tnode_bROa11lyF5vxEN9aYNbHmhw* res0); N_NOINLINE(void, raiseassert_PpfSiTIeNpMAb9a5o6SglJw_2)(NimStringDesc* msg0); static N_INLINE(void, markindirect_O6Goi0HOTgd4UUjew33hWwsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, setintlittype_FeEpI5unbdG6fIWSkDktYQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* result0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getfloatlittype_Nf3A6zHXUGTpIeip8JVyDg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* literal0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semfieldaccess_tayBCUAEli3HMPwxdS9aMbg_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconv_NBTNEqzl5NBSHnN0VGYkSQ_26)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, maybelifttype_ZjrentwOCaxAZXvd9adaBZA)(Ttype_LTUWCZolpovw9cWE3JBWSUw** t0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, inferwithmetatype_zxcTA9cfDCRYoPTKthQbpVQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, NIM_BOOL coercedistincts0); N_NIMCALL(Tconvstatus_GXWKwypnpPcXHHdgiz4mmw, checkconvertible_wEOZJi37IDVoHBUIR9aqU5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* castdest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0); N_NIMCALL(Tconvstatus_GXWKwypnpPcXHHdgiz4mmw, checkconversionbetweenobjects_lp7WRXiyZWtabcFiipqOkQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* castdest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0, NI pointers0); N_NIMCALL(NI, inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(void, errorusequalifier_9cGfUAm9aoATyTJ1builOBlA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semobjconstr_tayBCUAEli3HMPwxdS9aMbg_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, checkinitialized_hXJdeRPGsZ9ca8uIo1z8TEA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg ids0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmagic_InSQ3LpBhnCqFgw1Hbb18Q_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdefined_L11TTu9cTLKTiOotbD8R7mg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL onlycurrentscope0); N_NIMCALL(NIM_BOOL, isdefined_rrIlGPFUdgeaN36zhjolNA)(Tident_4umxGerWTHGPwUms7Yqu3g* symbol0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupfordefined_edtQLdIqzC1ARTuDjrAPGQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL onlycurrentscope0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupfordefined_F2apxA1mUDws3z1jxnN0Ag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* i0, NIM_BOOL onlycurrentscope0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, localsearchinscope_QSW6N9asb3CJMR79bV8BqwHw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, setms_A4JTgeIWVdD5h3XlOxJe9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcompiles_tayBCUAEli3HMPwxdS9aMbg_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryexpr_tayBCUAEli3HMPwxdS9aMbg_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(NI, getinfocontextlen_0lkQdWPL9cInSudoB8uZo6g)(void); static N_INLINE(void, pushSafePoint)(TSafePoint* s0); static N_INLINE(void, popSafePoint)(void); N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj0, TNimType* subclass0); static N_INLINE(Exception*, getCurrentException)(void); static N_INLINE(NimStringDesc*, getcurrentexceptionmsg_fOe1OXzHoGbgrd7IEmbp5Qsem)(void); static N_INLINE(void, popCurrentException)(void); N_NIMCALL(void, reraiseException)(void); N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0); N_NIMCALL(void, setinfocontextlen_CUC2nrYwUx4AGmcsbz84aA)(NI L0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsizeof_NBTNEqzl5NBSHnN0VGYkSQ_27)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semis_NBTNEqzl5NBSHnN0VGYkSQ_28)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, maketypesymnode_WUfNJViYK5FzDoEUa9alPdA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, isopimpl_NBTNEqzl5NBSHnN0VGYkSQ_29)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semof_NBTNEqzl5NBSHnN0VGYkSQ_30)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpandtoast_kHFc9cr2wdNLpv7n2WlVNHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* magicsym0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpandtoast_NBTNEqzl5NBSHnN0VGYkSQ_31)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, expectmacroortemplatecall_RiNpYDzSB8OUnjHue9b4s2g_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, systypefromname_vnIahA154tB9cPaKezatdMg)(NimStringDesc* name0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semquoteast_NBTNEqzl5NBSHnN0VGYkSQ_32)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, expectstring_LIpc2D29b1eS7UhahrSyd9ag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_Is5GCt3b4LOnz2UmtrOrUA); N_NIMCALL(TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*, newseq_kRt1ZLhQ6puUVenSqCOflw)(NI len0); N_NIMCALL(void, processquotations_i1sR47bJ6BvKTcOVKaBDAQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, NimStringDesc* op0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** quotes0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** ids0); N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s0, NimStringDesc* prefix0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newanonsym_QipBhfSaFRMFgMeAMVX7CA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplatedef_NBTNEqzl5NBSHnN0VGYkSQ_33)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodydirty_DuioLh4uofptxEKissr2sw_3)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbody_DuioLh4uofptxEKissr2sw_4)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplsymbol_pBlmzERbp9c9aZrZG8goa4Fw_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, openscope_0Es23PZ9cl46kbzD1369aKcw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0); N_NIMCALL(void, closescope_v8rOnBcZIF3O8b3uSd4HeA)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodyscope_DuioLh4uofptxEKissr2sw_5)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw k0); N_NIMCALL(Tsymbinding_djea3jD0GJNy3LfTycW4Gw, symbinding_NA0Thw35VzKPau46ha9a0iA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw, whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q)(Tident_4umxGerWTHGPwUms7Yqu3g* id0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, onlyreplaceparams_DuioLh4uofptxEKissr2sw_6)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getidentnode_DuioLh4uofptxEKissr2sw_7)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, istemplparam_hvqHvanyIpU9arLUwYZORaAsem)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA)(Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* s0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newgensym_r2NfOr29cEs43xP6uab9cing)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0); N_NIMCALL(void, semtemplsomedecl_7l8P1u9cbRbmxfIqmTswe6Q)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, NI start0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw k0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semroutineintemplname_DuioLh4uofptxEKissr2sw_8)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodysons_DuioLh4uofptxEKissr2sw_9)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, oprisroof_J6cfuIanCXYEsLNE8M8o9cQ_4)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, symtabreplace_9cpa7CNz9cHIC1kkUdx2eSyA)(Tstrtable_f07aOS3dr28kGa5wcE29aFA* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prevsym0, Tsym_AXG7xcvKqaxY6koRX1xkCw* newsym0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmagicsym_69c7ZmRTkaoYtVdPjKLzpQw)(Tmagic_shZhZOdbVC5nnFvcXQAImg magic0); N_NIMCALL(Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ, spawnresult_Lwoxf3y9bzwRDFtj4JkXFtA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, NIM_BOOL inparallel0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createflowvar_U6wGZVTfeqrv5dW9bsdFbzQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, instantiatecreateflowvarcall_Jtpsdsv9cwZBeaYZYn880hQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semindirectop_tayBCUAEli3HMPwxdS9aMbg_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, bracketedmacro_4upU8VPtO27qlx0mUpqMvw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembracketedmacro_py69bxemGqgzlydF9aY45Dow)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* outer0, Tnode_bROa11lyF5vxEN9aYNbHmhw* inner0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(void, semopaux_jzk1KGIc0vzv6pth3zm9bkw_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, resolveindirectcall_QYnFewAtuE9an9ayFshT0m2Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, overloadedcallopr_NBTNEqzl5NBSHnN0VGYkSQ_34)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, shouldbebracketexpr_J6cfuIanCXYEsLNE8M8o9cQ_5)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, setgenericparams_jzk1KGIc0vzv6pth3zm9bkw_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrayaccess_tayBCUAEli3HMPwxdS9aMbg_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tparkind_halZ9aqjYDH0l2n5E6sCJdg, checkpar_I2pC6ZV7iVgsU6TPfhel9ag)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtuplepositionsconstr_tayBCUAEli3HMPwxdS9aMbg_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(NIM_BOOL, istupletype_J6cfuIanCXYEsLNE8M8o9cQ_6)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtuplefieldsconstr_tayBCUAEli3HMPwxdS9aMbg_18)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsetconstr_NBTNEqzl5NBSHnN0VGYkSQ_35)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrayconstr_tayBCUAEli3HMPwxdS9aMbg_19)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semlambda_tayBCUAEli3HMPwxdS9aMbg_20)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdo_tayBCUAEli3HMPwxdS9aMbg_21)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcast_NBTNEqzl5NBSHnN0VGYkSQ_36)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, iscastable_T9ai5JTa2Z7UigFsx5Dce0Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* dst0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0); N_NIMCALL(NI64, computesize_spMpEAO8ubfQavMigOxQdA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semif_NBTNEqzl5NBSHnN0VGYkSQ_37)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprbranch_NBTNEqzl5NBSHnN0VGYkSQ_38)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(void, semdestructorcheck_9cNKx7gmG1plo0hCFv2igQgsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtableconstr_NBTNEqzl5NBSHnN0VGYkSQ_40)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstaticexpr_NBTNEqzl5NBSHnN0VGYkSQ_41)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semblock_NBTNEqzl5NBSHnN0VGYkSQ_42)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmtlist_tayBCUAEli3HMPwxdS9aMbg_22)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtry_NBTNEqzl5NBSHnN0VGYkSQ_43)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semraise_NBTNEqzl5NBSHnN0VGYkSQ_44)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semvarorlet_6Rdn0jKaIRKP81jsTLDciw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0); N_NIMCALL(void, suggeststmt_Ph9cBAfASttahD6s5CLnVLQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, hasempty_5I3J6n6miHdpMvPTN5LLlg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(void, newsons_W9cZG9c5PyHYZPzxHXuunFyQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, NI length0); N_NIMCALL(void, addtovarsection_1P9cxy7K9aYCKpI3Hq3meVDg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** result0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* identdefs0); N_NIMCALL(NIM_BOOL, isdiscardunderscore_3N9bG4OBX9bg2lFhd1W0U9a2Q)(Tsym_AXG7xcvKqaxY6koRX1xkCw* v0); N_NIMCALL(void, addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, findshadowedvar_tsBK9cTUQnkrYM5djcp9bFSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* v0); N_NIMCALL(NIM_BOOL, identwithin_RJOjUwBqKr7t2kf40zrBUQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tident_4umxGerWTHGPwUms7Yqu3g* s0); N_NIMCALL(void, adddefer_CqlvgNCidVFKYsST5paG1w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** result0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, createdestructorcall_EyqK0myjaccLDtTGAkOTLg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, checknilable_oe9a8GRc7SIjkJMiSnlFq9aA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* v0); N_NIMCALL(void, setupcompiletimevar_JttNQ9bYthz62RVe5YmEhDA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconst_NBTNEqzl5NBSHnN0VGYkSQ_45)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fitremovehiddenconv_ymAzTgGsRQNxT0HuncQRvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newfloatnode_TjQAA1fOcrmI6Hb9bZNtixw)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NF floatval0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypesection_NBTNEqzl5NBSHnN0VGYkSQ_46)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, typesectionleftsidepass_jzk1KGIc0vzv6pth3zm9bkw_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, typesectionrightsidepass_jzk1KGIc0vzv6pth3zm9bkw_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, processmagictype_1tobamGWqMm6thgsi7nVfg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* m0); N_NIMCALL(void, setmagictype_VaNrb4YvEOm283Ncs60FoA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, NI size0); N_NIMCALL(void, typesectionfinalpass_jzk1KGIc0vzv6pth3zm9bkw_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, checkconstructedtype_DjnhSDYiTT9aAcoOKm9bgFaQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(void, checkformetafields_sIxO9bj7Xwv3qFTK7z9b5jSg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdiscard_NBTNEqzl5NBSHnN0VGYkSQ_47)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semwhile_NBTNEqzl5NBSHnN0VGYkSQ_48)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembreakorcontinue_NBTNEqzl5NBSHnN0VGYkSQ_49)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semfor_NBTNEqzl5NBSHnN0VGYkSQ_50)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprnoderef_tayBCUAEli3HMPwxdS9aMbg_23)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, symforvar_RiNpYDzSB8OUnjHue9b4s2g_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addforvardecl_ANKAQsuRDXngtFN9a1A0ssw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* v0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semforfields_S9brLJW1Nbrxs3E5z3cKFKQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, instfieldloopbody_NWigU6dr5apz5g827GjO4w)(Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* forloop0); N_NIMCALL(void, semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ)(Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* forloop0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0); N_NIMCALL(NIM_BOOL, containsnode_vtJbTerB9bjOPfqY2DqeCGA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw_Set kinds0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, implicititerator_wAlljPu84JgBnwPuO8vnew)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, NimStringDesc* it0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcase_NBTNEqzl5NBSHnN0VGYkSQ_52)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NI64, tocover_uIOiDSjVsbr9bojwUw6gHqA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semreturn_NBTNEqzl5NBSHnN0VGYkSQ_53)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semusing_NBTNEqzl5NBSHnN0VGYkSQ_54)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasm_9cBgg4Puq9bFcIkNEVHBNwHg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* con0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_CHAR, pragmaasm_zyWdzlRcExhyQ9bpGo9bo4Kw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasmoremit_tiG8Ac9cad9bFkIVsa5UVeKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* con0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_CHAR marker0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semyield_NBTNEqzl5NBSHnN0VGYkSQ_55)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, semyieldvarresult_uQJWAzMlSbxmsX6ar9aXgKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* restype0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semiterator_NBTNEqzl5NBSHnN0VGYkSQ_56)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmethod_NBTNEqzl5NBSHnN0VGYkSQ_57)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, safeadd_XuI5bupZeUeWgjk44qSPBA)(TY_iGkpo9aKQdr3NWelKC4cnJA** x0, TY_a09bGTAl9ceOKTAytYdkbyKg y0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconverterdef_NBTNEqzl5NBSHnN0VGYkSQ_58)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addconverter_sNqlDRI9cQLfS9anVD2PODVw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* conv0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmacrodef_NBTNEqzl5NBSHnN0VGYkSQ_59)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalimport_rlI2ulrJgB3tjNcA8reHfg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalimportexcept_rlI2ulrJgB3tjNcA8reHfg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalfrom_rlI2ulrJgB3tjNcA8reHfg_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalinclude_NBTNEqzl5NBSHnN0VGYkSQ_60)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NI32, checkmodulename_Kg51K0T2kZ3LqXLFR6u83g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL dolocalerror0); N_NIMCALL(void, excl_iUpE9bYmIR0fROyJskQwN8g_2)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexport_NBTNEqzl5NBSHnN0VGYkSQ_61)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, inittabiter_4ygtuv45J5xOJG1H4GUF9bA)(Ttabiter_VYF5VQsIYEVaBL0fKZJkbg* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, nextiter_MtRRPpsZix0WHVpZVShg0A)(Ttabiter_VYF5VQsIYEVaBL0fKZJkbg* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempragmablock_NBTNEqzl5NBSHnN0VGYkSQ_62)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw, whichpragma_tadMdqrtQd2cek9aFwyE1XQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, setline_gL7xhcfcqoUeyaVAD42DxA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstaticstmt_NBTNEqzl5NBSHnN0VGYkSQ_63)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, evalstaticstmt_LZ2ELQMlHR1ojZf552D15A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0, Tnode_bROa11lyF5vxEN9aYNbHmhw* e0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_JLrVYZ9bD3rT9ae9c3QGG3gSQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw a0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryconstexpr_NBTNEqzl5NBSHnN0VGYkSQ_64)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoperand_tayBCUAEli3HMPwxdS9aMbg_24)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, seminferredlambda_QUV6OylBtL7lAQC9aqBSTVw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_byz5Vkv9a0r3pb9bAOFiZ0qQ); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, replacetypesinbody_B4zyXrESj1hI8fRLnmKryA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* p0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, insttypeboundop_z7CQkFe9cVhDFxoWtJhu5Aw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0); N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_nghaS9a3K4tKKg9bBWPvZ9a7w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmtandgenerategenerics_NBTNEqzl5NBSHnN0VGYkSQ_65)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, isimportsystemstmt_OiccTa3ruRNl9anoSqZh2Sg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, importallsymbols_v9bYwKRWh0kA7lMQcI9bUxDw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* frommod0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semalltypesections_NBTNEqzl5NBSHnN0VGYkSQ_66)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, gatherstmts_TGqo1OiePDZaLPP7BAu5gg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0); N_NIMCALL(void, addcodeforgenerics_jzk1KGIc0vzv6pth3zm9bkw_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlostmt_NBTNEqzl5NBSHnN0VGYkSQ_67)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, buildechostmt_NBTNEqzl5NBSHnN0VGYkSQ_68)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, appendtomodule_a9a13ptcv0XxCkQAcqYrozA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, transformstmt_oFnKjjDP89cQdiW2R6xJh6Q_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, recovercontext_Q86WPqYQzpDHXTptcEdXFQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj0, TNimType* subclass0, TNimType** cache0); N_NOINLINE(NIM_BOOL, isobjslowpath_k9bdq9bQE075AR7scLFt5wIg)(TNimType* obj0, TNimType* subclass0, TNimType** cache0); N_NIMCALL(void, rawclosescope_xwamnOIxoPUrnfhDEzqSwQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); Ttype_LTUWCZolpovw9cWE3JBWSUw* commontypebegin_5IYyOwx7aTjCCrOoOI3Czg; extern TNimType NTI_1EooIlSGbJRPSt3SfQJd7Q; extern TNimType NTI_LTUWCZolpovw9cWE3JBWSUw; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; Tident_4umxGerWTHGPwUms7Yqu3g* typedescid_iEM3AJ1dWH9cllAYCN9bR0Wg; extern TNimType NTI_1nh2T19a2BrGbBBQRS39bxRw; Ttype_LTUWCZolpovw9cWE3JBWSUw* enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg; Tsym_AXG7xcvKqaxY6koRX1xkCw* analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ; extern TNimType NTI_83n62yi1b9bgUtRR9axFWW9ag; Tsym_AXG7xcvKqaxY6koRX1xkCw* destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag; extern TNimType NTI_AXG7xcvKqaxY6koRX1xkCw; Tident_4umxGerWTHGPwUms7Yqu3g* destructorname_kp9b9bPYJfu4p3PE2q9aRyqZQ; Tident_4umxGerWTHGPwUms7Yqu3g* destructorparam_RZeMbj6q0movCinJndkybg; Tnode_bROa11lyF5vxEN9aYNbHmhw* destructorpragma_6zxt5AwQFrL9cd9bToeKD9cAw; extern TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q; extern Tcommands_VH3ghgQVwLSg3krOAoXigw gcmd_0oKScFtMiSKnjiHF9cU9c5GQ; extern NI evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA; extern TNimType NTI_bROa11lyF5vxEN9aYNbHmhw; extern TNimType NTI_cNCW9acsSznmEccl1fgQwkw; extern TNimType NTI_zuqP4Riz26Oi5fWgPYVEgA; extern TNimType NTI_GJ8qR6LTU9bYLzfOArsHTSg; extern Tnode_bROa11lyF5vxEN9aYNbHmhw* emptynode_69ccLGuQ2mITw7zylZYtWcA; extern Tsym_AXG7xcvKqaxY6koRX1xkCw* opcontains_fo9avnO4EeI9a0JW1JwmdMJA; extern Tsym_AXG7xcvKqaxY6koRX1xkCw* opnot_2zvmXY9boCxoQRE3yP6cC2g; extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ; TNimType NTI_EBHdDiOwpaTTLyX3BFJg2A; extern TNimType NTI_xHTZrq9aYs6boc9bCba0JbpQ; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; extern TNimType NTI_T9c3PM9bs7WZ4LIQfEici9cZw; extern TNimType NTI_QxKU6hUjq23Dy0KTbUHAjg; TNimType NTI_6kNGFy25odmjALIosriC8A; extern Toption_WspMeQySXNP2XoTWR5MTgg_Set goptions_KL5B8sF4szIsM2AXCWFsIw; extern NIM_BOOL gexperimentalmode_6soUgFI6y4OEq35jrgN9chQ; extern Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set gnotes_ra0BBMaJz6cOxn1JA3c6Bg; extern TNimType NTI_xITzrU1RhJLKwBlRCAbn9bA; extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg; extern TY_YLg9aN9cjdxVYWdZ7YCb9batg* fileinfos_0nMtuXd9csTLLtuDok8ckXw; extern TNimType NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA; extern NI gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ; extern NI gerrormax_3SQ5c6N518fjbsvI7YHFOA; extern TY_sksVpmPRIkNR9axiwtD1Guw* gowners_Mqav72yFEOYlyvIu4zynTg; extern Terroroutput_Arf2Sd69cWst7QFd6o9cPEeg_Set erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ; extern TNimType NTI_jWKvSdankQPoT5bw9cBU9aiw; extern TSafePoint* exchandler_rqLlY5bs9atDw2OXYqJEn5g; extern TNimType NTI_YAlYTV9cm9c08Uxrh3d9aczDg; extern Exception* currexception_9bVPeDJlYTi9bQApZpfH8wjg; extern TNimType NTI_shZhZOdbVC5nnFvcXQAImg; extern Tsym_AXG7xcvKqaxY6koRX1xkCw* systemmodule_zVRpbHNEGZHBIbdtvq2fVg; extern Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw gcodegenlineinfo_YdxwnIsjmcdfqhWBgk9bHYA; extern NI ptrsize_3AYcIlvHY9bTK1eNdc8MESQ; extern TNimType NTI_9a3YiReNVD0IJHWFKgXRe9ag; extern NI intsize_a1bNgZBNVciKYuzCi2sD5A; extern NI floatsize_9aPM39cxaqttCZlYIk3psY3g; extern TY_P9bpkXeUSTn55zt9cNyjKJQA gincludefile_xRgu8Wul7H8ptXIl9aVbwIw; extern NI gmainpackageid_9cwEOFAmQDogkWTNLtVENxw; extern Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set gmainpackagenotes_g0SF5CYRDJtnU59byFMXYHg; extern Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA_Set Foreignpackagenotes_5QHXi4dPy9aohMG3tPKFteA; extern TNimType NTI_ByzMaSugmuAYKl2YCjqKtg; static TNimType* Nim_OfCheck_CACHE280[2]; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_4, "typedesc", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_9, "destroy_", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_11, "this_", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_13, "destructor", 10); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_14, "sem.myOpen", 10); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_15, "constant of type \'", 18); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_16, "\' has no value", 14); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_17, "", 0); static NIM_CONST Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw_Set T_rF9caJawfOjYTjsgLVUSGFA_18 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xE0, 0x11, 0x02, 0x0C, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_19, "value of type \'", 15); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_20, "\' has to be discarded; for a function call use ()", 49); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_21, "[]", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_22, "invalid type", 12); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_23, "|", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_24, "region needs to be an object type", 33); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_25, "openarray", 9); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_26, "range", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_27, "set", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_28, "ordinal", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_29, "seq", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_30, "varargs", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_31, "cannot use symbol of kind \'", 27); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_32, "\' as a \'", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_33, "\'", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_34, "cannot instantiate the \'$1\' $2", 30); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_36, "semtypes.nim", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_35 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_36), ((NI) 1059)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_37, "cannot instantiate ", 19); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_38, "\012got: (", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_39, ")\012but expected: (", 17); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_40, ")", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_41, "^", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_42, "{}", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_43, "{}=", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_44, "[]=", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_45, "result", 6); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_46 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_36), ((NI) 1295)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_47, "object", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_48, "addInheritedFieldsAux", 21); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_49, "addInheritedFieldsAux(record case branch)", 41); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_50, "addInheritedFieldsAux()", 23); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_51, "semObjectNode", 13); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_53, "seminst.nim", 11); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_52 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_53), ((NI) 231)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_54, "nesting too deep", 16); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_55 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_53), ((NI) 252)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_56 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_53), ((NI) 57)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_57 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_53), ((NI) 59)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_58 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_53), ((NI) 195)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_59, "result", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_60, "NimNode", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_61, "NimNode", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_62, "PNimrodNode", 11); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_63 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xA3, 0xDF, 0x0B, 0x00, 0xC6, 0xFF, 0x00, 0x80, 0x10, 0xCC, 0x00, 0x18, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_65, "semexprs.nim", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_64 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 911)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_66, "()", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_67, "export", 6); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_68 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01} ; static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_69 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xB0, 0x23, 0xC1, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x98, 0x58, 0x00, 0x10, 0x01, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00} ; static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_70 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0xB0, 0x23, 0x01, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_71, "\':\' expected", 12); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_72, "typeless parameters are obsolete", 32); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_74, ":type", 5); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_82 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_36), ((NI) 861)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_83 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_36), ((NI) 866)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_85, "invalid return type: \'stmt\'", 27); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_86, "*", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_87, "**", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_88, "~", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_89, "\' from ", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_90, "semProcAux", 10); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_91, "destroy", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_92, "=destroy", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_93, "deepcopy", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_94, "=deepcopy", 9); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_95, "=", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_96, "nimDestroyRange", 15); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_98, "semdestruct.nim", 15); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_97 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_98), ((NI) 114)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_99 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_98), ((NI) 105)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_100 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_98), ((NI) 152)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_101, "AnonType", 8); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_102 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xA3, 0xDF, 0x09, 0x00, 0xC6, 0xFF, 0x00, 0x80, 0x10, 0xCC, 0x00, 0x18, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_103, "use the {.experimental.} pragma to enable destructors", 53); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_104, "cannot bind another \'deepCopy\' to: ", 35); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_105, "cannot bind \'deepCopy\' to: ", 27); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_106, "signature for \'deepCopy\' must be proc[T: ptr|ref](x: T): T", 58); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_107, "cannot bind another \'=\' to: ", 28); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_108, "signature for \'=\' must be proc[T: object](x: var T; y: T)", 57); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_109, "\'destroy\' or \'deepCopy\' expected for \'override\'", 47); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_111, ".", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_112, ".()", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_113, ".=", 2); NIM_CONST TY_sMpvt1sOxOJ3LFGulnbeMQ T_rF9caJawfOjYTjsgLVUSGFA_110 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_111), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_112), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_113), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_66)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_114, "overloaded \'.\' and \'()\' operators are now .experimental; ", 57); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_115, "invalid type: \'", 15); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_116, "\' in this context: \'", 20); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_118, "hlo.nim", 7); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_117 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_118), ((NI) 15)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_119, "no tuple type for constructor", 29); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_120, "invalid tuple constructor", 25); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_121, "unknown identifier: ", 20); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_122, "cannot convert ", 15); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_123, " to ", 4); static NIM_CONST Tmagic_shZhZOdbVC5nnFvcXQAImg_Set T_rF9caJawfOjYTjsgLVUSGFA_124 = { 0x00, 0x00, 0x04, 0xEC, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_125, "analyseIfAddressTaken", 21); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_126, "unsafeAddr", 10); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_127, "cannot instantiate: ", 20); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_128, "; got ", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_129, " type(s) but expected ", 22); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_130, "[]", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_131, "could not resolve: ", 19); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_132, ", ", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_133, "\012", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_134, "for a \'var\' type a variable needs to be passed, but \'", 53); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_135, "\' is immutable\012", 15); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_137, "semmagic.nim", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_136 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_137), ((NI) 106)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_138, "name", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_139, "arity", 5); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_140 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_137), ((NI) 101)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_141, "???", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_142, "low", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_143, "high", 4); NIM_CONST TY_1gf0WJETmt11u6s4GjKzfw optostr_x47hvY2ezR4p9cvQjupSCVQ = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_142), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_143)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_144, "no surrounding array access context for \'^\'", 43); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_145, "invalid context for \'^\' as \'$#\' has side effects", 48); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_146, "invalid context for \'^\' as len!=high+1 for \'$#\'", 47); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_147, "len", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_148, "\'$#\' has to be of an ordinal type for \'^\'", 41); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_149, "-", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_150, "cannot find plugin ", 19); static NIM_CONST Tmagic_shZhZOdbVC5nnFvcXQAImg_Set T_rF9caJawfOjYTjsgLVUSGFA_151 = { 0x71, 0x00, 0x00, 0x1E, 0xFE, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x3F, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_152, " --> \'", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_153, "\'.closure\' calling convention for top level routines is invalid", 63); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_154 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_156, "semcall.nim", 11); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_155 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_156), ((NI) 222)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_157 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_156), ((NI) 243)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_158, ".=", 2); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_159 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_156), ((NI) 274)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_160, "ambiguous call", 14); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_161, "(", 1); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_162 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_156), ((NI) 364)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_163, "semOverloadedCallAnalyseEffects", 31); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_164, "[]=", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_165, "{}=", 3); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_166 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 1388)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_167, ":lifted=", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_168, "dest", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_169, "src", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_170, "newSeq", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_171, "len", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_172, ":tmp", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_173, "<=", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_174, "inc", 3); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_175, "cannot lift assignment operator to \'case\' object", 48); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_176, "deepCopy", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_177, "cannot copy openArray", 21); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_178, "assignment requested for type: ", 31); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_179, "liftBodyAux", 11); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_180, "semRecordNodeAux", 16); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_181, "semRecordCase: discriminant is no symbol", 40); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_182, "low(", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_183, ") must be 0 for discriminant", 28); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_184, "dummy", 5); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_185 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0xB0, 0x6F, 0x85, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x40, 0x18, 0x58, 0x20, 0x01, 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x60, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_186, "use \'concept\' instead; \'generic\'", 32); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_187 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xC4, 0xFF, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_188 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 975)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_189 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 980)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_190, "illegal context for \'nimvm\' magic", 33); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_191, "f == s ", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_192, "bind", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_193, ":anon", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_194, "object constructor needs an object type", 39); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_195, "checkInitialized", 16); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_196, "field not initialized: ", 23); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_197, "defined", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_198, "obsolete usage of \'defined\', use \'declared\' instead", 51); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_200, "sizeof", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_201, "is", 2); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_202 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 300)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_203, "closure", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_204, "of", 2); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_205 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 1600)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_206 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_65), ((NI) 1638)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_207, "``", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_208, "block", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_209, "typed", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_210, "untyped", 7); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_211 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x02, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_212, "use the {.experimental.} pragma to enable \'parallel\'", 52); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_213, "FlowVar", 7); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_214, "nimCreateFlowVar", 16); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_216, ")\012", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_217, "{}", 2); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_218, "semExpr() to implement", 22); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_219 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xB0, 0xA1, 0x4F, 0x00, 0x00, 0xC2, 0xFF, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x82, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_220, "use \'defer\'; standalone \'finally\'", 33); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_221, "use an explicit \'try\'; standalone \'except\'", 42); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_222, "type class predicate failed", 27); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_223, "\'typedesc\' metatype is not valid here; typed \'=\' instead of \':\'" "?", 64); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_224, "tuple", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_225, "_", 1); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_226, "invalid type for const: ", 24); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_227, "only .partial objects can be extended", 37); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_228, "auto", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_229, "expr", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_230, "stmt", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_232, "semstmts.nim", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_231 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_232), ((NI) 764)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_233 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_232), ((NI) 765)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_234, ":ObjectType", 11); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_rF9caJawfOjYTjsgLVUSGFA_235 = {((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_232), ((NI) 795)} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_236, "\'continue\' cannot have a label", 30); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_237, "true", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_238, "true", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_239, "no object or tuple type", 23); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_240, "Field", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_241, "\'continue\' not supported in a \'fields\' loop", 43); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_242, "parallel \'fields\' iterator does not work for \'case\' objects", 59); static NIM_CONST Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw_Set T_rF9caJawfOjYTjsgLVUSGFA_243 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_244, "items", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_245, "pairs", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_246, "use \'else: discard\'; non-ordinal case without \'else\'", 52); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_247, "\'return\'", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_248, "using", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_249, "use the {.experimental.} pragma to enable \'using\'", 49); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_250, "\'using\' section must have a type", 32); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_251, "\'using\' sections cannot contain assignments", 43); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_252, "semYield", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_253, "tuple constructor", 17); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_254, "yield statement must yield a value", 34); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_255 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0xBC, 0xFF, 0x13, 0x00, 0xFC, 0x7F, 0xA8, 0x32, 0xE3, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00} ; static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_256 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xB0, 0xA3, 0x06, 0x08, 0x00, 0xC2, 0xFF, 0x00, 0x80, 0x10, 0xC0, 0x00, 0x18, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_257, "iterator", 8); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_258, "inline iterators are not first-class / cannot be assigned to va" "riables", 70); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_259, "method", 6); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_260 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xEF, 0xA3, 0xDF, 0x0B, 0x00, 0xC6, 0xFF, 0x00, 0x80, 0x10, 0xCC, 0x00, 0x18, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_261, "generic method not attachable to object type", 44); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_262, "converter", 9); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_263 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0xB4, 0x23, 0x82, 0x08, 0x00, 0xC2, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_264, "macro", 5); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_265, "import", 6); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_266, "from", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_267, "cannot export: ", 15); static NIM_CONST Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set T_rF9caJawfOjYTjsgLVUSGFA_268 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_269, "\'defer\' takes a \'void\' expression", 33); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_271, "cannot infer type of parameter: ", 32); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_274, "defer statement not supported at top level", 42); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_275, "no code for ", 12); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_276, "echo", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_277, "echo", 4); STRING_LITERAL(T_rF9caJawfOjYTjsgLVUSGFA_280, "n is not nil", 12); static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_2)(void) { nimGCvisit((void*)commontypebegin_5IYyOwx7aTjCCrOoOI3Czg, 0); } 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_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_3)(void) { nimGCvisit((void*)typedescid_iEM3AJ1dWH9cllAYCN9bR0Wg, 0); } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_5)(void) { nimGCvisit((void*)enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg, 0); } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_6)(void) { nimGCvisit((void*)analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ, 0); } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_7)(void) { nimGCvisit((void*)destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag, 0); } static N_INLINE(void, nimGCunrefNoCycle)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_8)(void) { nimGCvisit((void*)destructorname_kp9b9bPYJfu4p3PE2q9aRyqZQ, 0); } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_10)(void) { nimGCvisit((void*)destructorparam_RZeMbj6q0movCinJndkybg, 0); } static N_NIMCALL(void, T_rF9caJawfOjYTjsgLVUSGFA_12)(void) { nimGCvisit((void*)destructorpragma_6zxt5AwQFrL9cd9bToeKD9cAw, 0); } 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; } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, inlineconst_7eGRXXWdaRx5r9aCyN8PHUwsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*s0).ast); { NimStringDesc* LOC5; NimStringDesc* LOC6; if (!(result0 == 0)) goto LA3; LOC5 = (NimStringDesc*)0; LOC6 = (NimStringDesc*)0; LOC6 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*s0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC5 = rawNewString(LOC6->Sup.len + 32); appendString(LOC5, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_15)); appendString(LOC5, LOC6); appendString(LOC5, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_16)); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC5); result0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(s0); } goto LA1; LA3: ; { asgnRefNoCycle((void**) (&(*result0).typ), (*s0).typ); (*result0).info = (*n0).info; } LA1: ; 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; } 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(NIM_BOOL, implicitlydiscardable_J6cfuIanCXYEsLNE8M8o9cQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n_n3KTOUi9bAGI9cbZWtw9a7o1w) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; NIM_BOOL LOC3; NIM_BOOL LOC4; result0 = (NIM_BOOL)0; n0 = n_n3KTOUi9bAGI9cbZWtw9a7o1w; { while (1) { if (!((T_rF9caJawfOjYTjsgLVUSGFA_18[(NU)((*n0).kind)>>3] &(1U<<((NU)((*n0).kind)&7U)))!=0)) goto LA2; n0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); } LA2: ; } LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = iscallexpr_63pt39coF5C8JoG0utNnwWg(n0); if (!(LOC4)) goto LA5; LOC4 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC3 = (((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))&31U)))!=0); LA6: ; result0 = LOC3; return result0; } static N_INLINE(NIM_BOOL, isatom_NyXYMHACmbtWJZnWqE9cJCAparampatterns)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; NIM_BOOL LOC1; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = (((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) <= (*n0).kind); if (!(LOC1)) goto LA2; LOC1 = ((*n0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(void, fixniltype_sIxO9bj7Xwv3qFTK7z9b5jSg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isatom_NyXYMHACmbtWJZnWqE9cJCAparampatterns(n0); if (!LOC3) goto LA4; { NIM_BOOL LOC8; NimStringDesc* LOC12; LOC8 = (NIM_BOOL)0; LOC8 = !(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))); if (!(LOC8)) goto LA9; LOC8 = !(((*n0).typ == NIM_NIL)); LA9: ; if (!LOC8) goto LA10; LOC12 = (NimStringDesc*)0; LOC12 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*n0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 143), LOC12); } LA10: ; } goto LA1; LA4: ; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA14; (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115); { Tnode_bROa11lyF5vxEN9aYNbHmhw* it_FMwO19cziF75a9bBuScQJv9aQ; it_FMwO19cziF75a9bBuScQJv9aQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_zWyEs6CZtHtY6yatuQvQjg; NI HEX3Atmp_DHDD7IMHZbLVGnuvDDzUGw; NI LOC18; NI res_OolznGfaA5fnqkjnZjc9cBA; i_zWyEs6CZtHtY6yatuQvQjg = (NI)0; HEX3Atmp_DHDD7IMHZbLVGnuvDDzUGw = (NI)0; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_DHDD7IMHZbLVGnuvDDzUGw = (LOC18 - 1); res_OolznGfaA5fnqkjnZjc9cBA = ((NI) 0); { while (1) { if (!(res_OolznGfaA5fnqkjnZjc9cBA <= HEX3Atmp_DHDD7IMHZbLVGnuvDDzUGw)) goto LA20; i_zWyEs6CZtHtY6yatuQvQjg = res_OolznGfaA5fnqkjnZjc9cBA; it_FMwO19cziF75a9bBuScQJv9aQ = (*n0).kindU.S6.sons->data[i_zWyEs6CZtHtY6yatuQvQjg]; fixniltype_sIxO9bj7Xwv3qFTK7z9b5jSg(it_FMwO19cziF75a9bBuScQJv9aQ); res_OolznGfaA5fnqkjnZjc9cBA += ((NI) 1); } LA20: ; } } } } goto LA1; LA14: ; LA1: ; asgnRefNoCycle((void**) (&(*n0).typ), NIM_NIL); } N_NIMCALL(void, discardcheck_kpkEIJf789bDnaDxYKwtuZw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { { { if (!(((NI) 0) < (*c0).intypeclass)) goto LA3; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = !(((*result0).typ == NIM_NIL)); if (!(LOC7)) goto LA8; LOC7 = !(((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62))); LA8: ; if (!LOC7) goto LA9; { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA13; asgnRefNoCycle((void**) (&(*result0).typ), NIM_NIL); message_VpilfPWbplGz6ny7O9cfr2g_2((*result0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 249), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA11; LA13: ; { NIM_BOOL LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; LOC16 = (NIM_BOOL)0; LOC16 = implicitlydiscardable_J6cfuIanCXYEsLNE8M8o9cQ(result0); if (!LOC16) goto LA17; n0 = result0; asgnRefNoCycle((void**) (&(*result0).typ), NIM_NIL); { while (1) { if (!((T_rF9caJawfOjYTjsgLVUSGFA_18[(NU)((*n0).kind)>>3] &(1U<<((NU)((*n0).kind)&7U)))!=0)) goto LA20; n0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); asgnRefNoCycle((void**) (&(*n0).typ), NIM_NIL); } LA20: ; } } goto LA11; LA17: ; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = !(((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50))); if (!(LOC22)) goto LA23; LOC22 = !((gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 19))); LA23: ; if (!LOC22) goto LA24; { if (!((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA28; fixniltype_sIxO9bj7Xwv3qFTK7z9b5jSg(result0); message_VpilfPWbplGz6ny7O9cfr2g_2((*result0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 249), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA26; LA28: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; n0 = result0; { while (1) { if (!((T_rF9caJawfOjYTjsgLVUSGFA_18[(NU)((*n0).kind)>>3] &(1U<<((NU)((*n0).kind)&7U)))!=0)) goto LA32; n0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); } LA32: ; } { NimStringDesc* LOC37; NimStringDesc* LOC38; if (!((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA35; LOC37 = (NimStringDesc*)0; LOC38 = (NimStringDesc*)0; LOC38 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*result0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC37 = rawNewString(LOC38->Sup.len + 64); appendString(LOC37, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_19)); appendString(LOC37, LOC38); appendString(LOC37, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_20)); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC37); } goto LA33; LA35: ; { NimStringDesc* LOC40; LOC40 = (NimStringDesc*)0; LOC40 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*result0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 143), LOC40); } LA33: ; } LA26: ; } goto LA11; LA24: ; LA11: ; } LA9: ; }BeforeRet: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprnotype_NBTNEqzl5NBSHnN0VGYkSQ_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, 8); discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, result0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexprnotype_NBTNEqzl5NBSHnN0VGYkSQ_3(c0, n0); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!(prev0 == NIM_NIL)) goto LA3; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(kind0, c0); } goto LA1; LA3: ; { result0 = prev0; { if (!((*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA8; (*result0).kind = kind0; } LA8: ; } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semanontuple_lOYiaJyT4uh4YNmn53vE6w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 0))) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA4: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18), prev0, c0); { NI i_06J2MnqWTrYxaeaeOevbCw; NI HEX3Atmp_MprNeKWawcIOOfQS7D19aTw; NI LOC7; NI res_Xfn1d0QsmQHSArPsAFumVg; i_06J2MnqWTrYxaeaeOevbCw = (NI)0; HEX3Atmp_MprNeKWawcIOOfQS7D19aTw = (NI)0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_MprNeKWawcIOOfQS7D19aTw = (NI)(LOC7 - ((NI) 1)); res_Xfn1d0QsmQHSArPsAFumVg = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC10; if (!(res_Xfn1d0QsmQHSArPsAFumVg <= HEX3Atmp_MprNeKWawcIOOfQS7D19aTw)) goto LA9; i_06J2MnqWTrYxaeaeOevbCw = res_Xfn1d0QsmQHSArPsAFumVg; LOC10 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC10 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[i_06J2MnqWTrYxaeaeOevbCw], NIM_NIL); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC10); res_Xfn1d0QsmQHSArPsAFumVg += ((NI) 1); } LA9: ; } } return result0; } static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } 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(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semrangeaux_lOYiaJyT4uh4YNmn53vE6w_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; TY_AB6yfoUgfWM2NtGe9bzkCmw range0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; TY_7uDK9cfu1yI54pcmOBIy9aqg ranget0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 3)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20), prev0, c0); asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44), (*n0).info)); { NIM_BOOL LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; LOC3 = (NIM_BOOL)0; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC3 = ((*LOC4).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (LOC3) goto LA5; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC3 = ((*LOC6).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA5: ; if (!LOC3) goto LA7; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 109), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA7: ; memset((void*)range0, 0, sizeof(range0)); LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); range0[(((NI) 0))- 0] = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, LOC9, 32); LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); range0[(((NI) 1))- 0] = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, LOC10, 32); memset((void*)ranget0, 0, sizeof(ranget0)); { NI i_Huxq3ZlgqBNbHUfCtdLkxA; NI res_Plm6QuVnjREjhWQTVRMZZQ; i_Huxq3ZlgqBNbHUfCtdLkxA = (NI)0; res_Plm6QuVnjREjhWQTVRMZZQ = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC14; if (!(res_Plm6QuVnjREjhWQTVRMZZQ <= ((NI) 1))) goto LA13; i_Huxq3ZlgqBNbHUfCtdLkxA = res_Plm6QuVnjREjhWQTVRMZZQ; LOC14 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC14 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*range0[(i_Huxq3ZlgqBNbHUfCtdLkxA)- 0]).typ, IL64(576460752303423488)); ranget0[(i_Huxq3ZlgqBNbHUfCtdLkxA)- 0] = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC14); res_Plm6QuVnjREjhWQTVRMZZQ += ((NI) 1); } LA13: ; } } { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC17; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC18; NIM_BOOL LOC19; LOC17 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC17 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ranget0[(((NI) 0))- 0], 1048576); LOC18 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC18 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ranget0[(((NI) 1))- 0], 1048576); LOC19 = (NIM_BOOL)0; LOC19 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(LOC17, LOC18, 0); if (!!(LOC19)) goto LA20; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 131), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA15; LA20: ; { NIM_BOOL LOC23; LOC23 = (NIM_BOOL)0; LOC23 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(ranget0[(((NI) 0))- 0]); if (!!(LOC23)) goto LA24; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA15; LA24: ; { NIM_BOOL LOC27; LOC27 = (NIM_BOOL)0; LOC27 = enumhasholes_XI7vH8jtAcp7rWqTmfZOSg_5(ranget0[(((NI) 0))- 0]); if (!LOC27) goto LA28; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 149), (*(*(*ranget0[(((NI) 0))- 0]).sym).name).s); } goto LA15; LA28: ; LA15: ; { NI i_Huxq3ZlgqBNbHUfCtdLkxA_2; NI res_Plm6QuVnjREjhWQTVRMZZQ_2; i_Huxq3ZlgqBNbHUfCtdLkxA_2 = (NI)0; res_Plm6QuVnjREjhWQTVRMZZQ_2 = ((NI) 0); { while (1) { if (!(res_Plm6QuVnjREjhWQTVRMZZQ_2 <= ((NI) 1))) goto LA32; i_Huxq3ZlgqBNbHUfCtdLkxA_2 = res_Plm6QuVnjREjhWQTVRMZZQ_2; { NIM_BOOL LOC35; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; LOC35 = (NIM_BOOL)0; LOC35 = hasgenericarguments_u68mEkLdR18iAnbsLA6Rgg_2(range0[(i_Huxq3ZlgqBNbHUfCtdLkxA_2)- 0]); if (!LOC35) goto LA36; LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = makestaticexpr_mlAsfDaGXMFtARnohF7MOA(c0, range0[(i_Huxq3ZlgqBNbHUfCtdLkxA_2)- 0]); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC38); } goto LA33; LA36: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, range0[(i_Huxq3ZlgqBNbHUfCtdLkxA_2)- 0]); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC40); } LA33: ; res_Plm6QuVnjREjhWQTVRMZZQ_2 += ((NI) 1); } LA32: ; } } { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC44; Timplication_t4F29a8ejY1DFQTYTML9c9byA LOC45; LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*result0).n, ((NI) 0)); LOC44 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC44 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*result0).n, ((NI) 1)); LOC45 = (Timplication_t4F29a8ejY1DFQTYTML9c9byA)0; LOC45 = weaklevalue_ZgzWfhdUsbwPI0319a0Xjbg(LOC43, LOC44); if (!(LOC45 == ((Timplication_t4F29a8ejY1DFQTYTML9c9byA) 1))) goto LA46; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 109), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA46: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, ranget0[(((NI) 0))- 0]); return result0; } static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, freshtype_f2ol1IOOcvnz0vNKWZHCnAsem)(Ttype_LTUWCZolpovw9cWE3JBWSUw* res0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!(prev0 == 0)) goto LA3; result0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(res0, (*res0).owner, NIM_FALSE); } goto LA1; LA3: ; { result0 = res0; } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypeexpr_lOYiaJyT4uh4YNmn53vE6w_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_ufceDbWPhmzcbaDv9b7k9cjg, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; n0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n_ufceDbWPhmzcbaDv9b7k9cjg, 32); { if (!((*(*n0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3; result0 = base_46gPaVDDGhiU69b2oKDJZuA((*n0).typ); { NIM_BOOL LOC7; NIM_BOOL LOC8; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC8 = !((prev0 == NIM_NIL)); if (!(LOC8)) goto LA9; LOC8 = !(((*prev0).sym == NIM_NIL)); LA9: ; LOC7 = LOC8; if (!(LOC7)) goto LA10; LOC7 = ((*result0).sym == 0); LA10: ; if (!LOC7) goto LA11; asgnRefNoCycle((void**) (&(*result0).sym), (*prev0).sym); asgnRefNoCycle((void**) (&(*(*result0).sym).typ), result0); } LA11: ; } goto LA1; LA3: ; { NimStringDesc* LOC14; LOC14 = (NimStringDesc*)0; LOC14 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), LOC14); result0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag k0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51), c0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(k0, c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC1); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semanyref_D37UcvPnq8glOvYLKac7xg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_U9aprzxKaJYh2LcgUmR8w9cg, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n_U9aprzxKaJYh2LcgUmR8w9cg); if (!(LOC3 < ((NI) 1))) goto LA4; result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, kind0); } goto LA1; LA4: ; { NI iscall0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; NIM_BOOL isnilable0; iscall0 = ((*n_U9aprzxKaJYh2LcgUmR8w9cg).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n_U9aprzxKaJYh2LcgUmR8w9cg).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n_U9aprzxKaJYh2LcgUmR8w9cg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_U9aprzxKaJYh2LcgUmR8w9cg, ((NI) 0)); if (!((*LOC9).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA10; n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_U9aprzxKaJYh2LcgUmR8w9cg, ((NI) 0)); } goto LA7; LA10: ; { n0 = n_U9aprzxKaJYh2LcgUmR8w9cg; } LA7: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, LOC13, NIM_NIL); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(kind0, prev0, c0); isnilable0 = NIM_FALSE; { NI i_81yICYQNOdUk6PBx81mLdQ; NI HEX3Atmp_BkPABZph9aYs9cqtEqGnF3pA; NI LOC15; NI res_8rdux1i5LU57M9bxXdBMELw; i_81yICYQNOdUk6PBx81mLdQ = (NI)0; HEX3Atmp_BkPABZph9aYs9cqtEqGnF3pA = (NI)0; LOC15 = (NI)0; LOC15 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_BkPABZph9aYs9cqtEqGnF3pA = (NI)(LOC15 - ((NI) 2)); res_8rdux1i5LU57M9bxXdBMELw = ((NI) (iscall0)); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* ni0; if (!(res_8rdux1i5LU57M9bxXdBMELw <= HEX3Atmp_BkPABZph9aYs9cqtEqGnF3pA)) goto LA17; i_81yICYQNOdUk6PBx81mLdQ = res_8rdux1i5LU57M9bxXdBMELw; ni0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_81yICYQNOdUk6PBx81mLdQ); { if (!((*ni0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA20; isnilable0 = NIM_TRUE; } goto LA18; LA20: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* region0; region0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, ni0, NIM_NIL); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(region0, 2064); if (!!(((*LOC25).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*LOC25).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA26; LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_81yICYQNOdUk6PBx81mLdQ); message_VpilfPWbplGz6ny7O9cfr2g_2((*LOC28).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_24)); } LA26: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, region0); } LA18: ; res_8rdux1i5LU57M9bxXdBMELw += ((NI) 1); } LA17: ; } } addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, commontype_L4h2iAoroCJWZ2uFM8A8GQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* b0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!(x0 == NIM_NIL)) goto LA3; result0 = x0; goto BeforeRet; } LA3: ; { if (!(y0 == NIM_NIL)) goto LA7; result0 = y0; goto BeforeRet; } LA7: ; a0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 2064); b0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 2064); result0 = x0; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA11; result0 = y0; } goto LA9; LA11: ; { if (!((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA14; result0 = x0; } goto LA9; LA14: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA17; result0 = a0; } goto LA9; LA17: ; { if (!((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA20; result0 = b0; } goto LA9; LA20: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA23; { NIM_BOOL LOC27; LOC27 = (NIM_BOOL)0; LOC27 = HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng((*a0).sons, NIM_NIL); if (!LOC27) goto LA28; result0 = a0; } goto LA25; LA28: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC31; result0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8), (*a0).owner); LOC31 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC31 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), (*a0).owner); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC31); } LA25: ; } goto LA9; LA23: ; { NIM_BOOL LOC33; NI idx0; LOC33 = (NIM_BOOL)0; LOC33 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24)); if (!(LOC33)) goto LA34; LOC33 = ((*a0).kind == (*b0).kind); LA34: ; if (!LOC33) goto LA35; idx0 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16)); { if (!((*(*a0).sons->data[idx0]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA39; result0 = y0; goto BeforeRet; } LA39: ; } goto LA9; LA35: ; { NIM_BOOL LOC42; NIM_BOOL LOC43; NI LOC46; NI LOC47; Ttype_LTUWCZolpovw9cWE3JBWSUw* nt0; LOC42 = (NIM_BOOL)0; LOC43 = (NIM_BOOL)0; LOC43 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC43)) goto LA44; LOC43 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); LA44: ; LOC42 = LOC43; if (!(LOC42)) goto LA45; LOC46 = (NI)0; LOC46 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC47 = (NI)0; LOC47 = len_gG7hUAX9cA629ahMLVL3xN4w_2(b0); LOC42 = (LOC46 == LOC47); LA45: ; if (!LOC42) goto LA48; nt0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI i_2vl4o9cdGcva7jK9af4KwIdQ; NI HEX3Atmp_p39cGnmwQZadthtqt5gA1nQ; NI LOC51; NI res_f8VNmK8jgf1vMPkbR7bK1A; i_2vl4o9cdGcva7jK9af4KwIdQ = (NI)0; HEX3Atmp_p39cGnmwQZadthtqt5gA1nQ = (NI)0; LOC51 = (NI)0; LOC51 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); HEX3Atmp_p39cGnmwQZadthtqt5gA1nQ = (LOC51 - 1); res_f8VNmK8jgf1vMPkbR7bK1A = ((NI) 0); { while (1) { NIM_BOOL aempty0; NIM_BOOL bempty0; if (!(res_f8VNmK8jgf1vMPkbR7bK1A <= HEX3Atmp_p39cGnmwQZadthtqt5gA1nQ)) goto LA53; i_2vl4o9cdGcva7jK9af4KwIdQ = res_f8VNmK8jgf1vMPkbR7bK1A; aempty0 = isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3((*a0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]); bempty0 = isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3((*b0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]); { if (!!((aempty0 == bempty0))) goto LA56; { if (!(nt0 == 0)) goto LA60; nt0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(a0, (*a0).owner, NIM_FALSE); } LA60: ; { if (!aempty0) goto LA64; asgnRefNoCycle((void**) (&(*nt0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]), (*b0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]); } goto LA62; LA64: ; { asgnRefNoCycle((void**) (&(*nt0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]), (*a0).sons->data[i_2vl4o9cdGcva7jK9af4KwIdQ]); } LA62: ; } LA56: ; res_f8VNmK8jgf1vMPkbR7bK1A += ((NI) 1); } LA53: ; } } { if (!!((nt0 == 0))) goto LA69; result0 = nt0; } LA69: ; } goto LA9; LA48: ; { NIM_BOOL LOC72; LOC72 = (NIM_BOOL)0; LOC72 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20)); if (!(LOC72)) goto LA73; LOC72 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20)); LA73: ; if (!LOC72) goto LA74; { NIM_BOOL LOC78; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC81; LOC78 = (NIM_BOOL)0; LOC78 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(a0, b0, 0); if (!!(LOC78)) goto LA79; LOC81 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC81 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 1048576); result0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC81); } LA79: ; } goto LA9; LA74: ; { Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag k0; k0 = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0); { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA85; k0 = (*a0).kind; { if (!!(((*b0).kind == (*a0).kind))) goto LA89; result0 = x0; goto BeforeRet; } LA89: ; a0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(a0); b0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(b0); } LA85: ; { NIM_BOOL LOC93; LOC93 = (NIM_BOOL)0; LOC93 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC93)) goto LA94; LOC93 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); LA94: ; if (!LOC93) goto LA95; result0 = commonsuperclass_azGRUGuep6m80Ob3xHdYLQ(a0, b0); { NIM_BOOL LOC99; LOC99 = (NIM_BOOL)0; LOC99 = (result0 == 0); if (LOC99) goto LA100; LOC99 = (result0 == a0); LA100: ; if (!LOC99) goto LA101; result0 = x0; goto BeforeRet; } LA101: ; { if (!(result0 == b0)) goto LA105; result0 = y0; goto BeforeRet; } LA105: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* r0; if (!!((k0 == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA109; r0 = result0; result0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(k0, (*r0).owner); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, r0); } LA109: ; } LA95: ; } LA9: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semwhen_r8HjfCfaaAHheABRntFqPg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL semcheck0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NIM_BOOL whennimvm0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = NIM_NIL; whennimvm0 = NIM_FALSE; typ0 = commontypebegin_5IYyOwx7aTjCCrOoOI3Czg; { NIM_BOOL LOC3; NIM_BOOL LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* exprnode0; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = (((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0) == ((NI) 2)); if (!(LOC4)) goto LA5; LOC4 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86)); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88)); LA6: ; if (!LOC3) goto LA7; exprnode0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)]; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC13; if (!((*exprnode0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11; LOC13 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC13 = lookup_IOsv2I6GLAg6uZx8BH20Hw_2(c0, exprnode0); whennimvm0 = ((*LOC13).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 261)); } goto LA9; LA11: ; { if (!((*exprnode0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA15; whennimvm0 = ((*(*exprnode0).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 261)); } goto LA9; LA15: ; LA9: ; { if (!whennimvm0) goto LA19; (*n0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 8))%(sizeof(NU16)*8)); } LA19: ; } LA7: ; { NI i_EC6uRqlXQtV50vxJ9aS9caXA; NI HEX3Atmp_rOv64lWIWtZOwiaru4fBhQ; NI LOC22; NI res_YI6lJOjeiHqW3MY6g25svQ; i_EC6uRqlXQtV50vxJ9aS9caXA = (NI)0; HEX3Atmp_rOv64lWIWtZOwiaru4fBhQ = (NI)0; LOC22 = (NI)0; LOC22 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_rOv64lWIWtZOwiaru4fBhQ = (NI)(LOC22 - ((NI) 1)); res_YI6lJOjeiHqW3MY6g25svQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_YI6lJOjeiHqW3MY6g25svQ <= HEX3Atmp_rOv64lWIWtZOwiaru4fBhQ)) goto LA24; i_EC6uRqlXQtV50vxJ9aS9caXA = res_YI6lJOjeiHqW3MY6g25svQ; it0 = (*n0).kindU.S6.sons->data[i_EC6uRqlXQtV50vxJ9aS9caXA]; switch ((*it0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 49): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(it0, ((NI) 2)); { if (!whennimvm0) goto LA28; { if (!semcheck0) goto LA32; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 1)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*it0).kindU.S6.sons->data[((NI) 1)], 0)); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*it0).kindU.S6.sons->data[((NI) 1)]).typ); } LA32: ; result0 = n0; } goto LA26; LA28: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; e0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*it0).kindU.S6.sons->data[((NI) 0)]); { if (!!(((*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA37; } goto LA35; LA37: ; { NIM_BOOL LOC40; LOC40 = (NIM_BOOL)0; LOC40 = !(((*e0).kindU.S1.intval == IL64(0))); if (!(LOC40)) goto LA41; LOC40 = (result0 == NIM_NIL); LA41: ; if (!LOC40) goto LA42; { if (!semcheck0) goto LA46; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*it0).kindU.S6.sons->data[((NI) 1)], 0); } goto LA44; LA46: ; { result0 = (*it0).kindU.S6.sons->data[((NI) 1)]; } LA44: ; } goto LA35; LA42: ; LA35: ; } LA26: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 50): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(it0, ((NI) 1)); { NIM_BOOL LOC52; LOC52 = (NIM_BOOL)0; LOC52 = (result0 == NIM_NIL); if (LOC52) goto LA53; LOC52 = whennimvm0; LA53: ; if (!LOC52) goto LA54; { if (!semcheck0) goto LA58; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*it0).kindU.S6.sons->data[((NI) 0)], 0)); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*it0).kindU.S6.sons->data[((NI) 0)]).typ); } LA58: ; { if (!(result0 == NIM_NIL)) goto LA62; result0 = (*it0).kindU.S6.sons->data[((NI) 0)]; } LA62: ; } LA54: ; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } res_YI6lJOjeiHqW3MY6g25svQ += ((NI) 1); } LA24: ; } } { if (!(result0 == NIM_NIL)) goto LA67; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n0).info); } LA67: ; { if (!whennimvm0) goto LA71; asgnRefNoCycle((void**) (&(*result0).typ), typ0); } LA71: ; idsynchronizationpoint_GU7xhi8Sthx1AieMTTUZqQ(((NI) 200)); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semtypeident_RiNpYDzSB8OUnjHue9b4s2g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3; result0 = (*n0).kindU.S4.sym; } goto LA1; LA3: ; { result0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n0, 3); { if (!!((result0 == NIM_NIL))) goto LA8; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, result0); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = ((*result0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); if (!(LOC12)) goto LA13; LOC12 = ((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA13: ; if (!LOC12) goto LA14; { Tsym_AXG7xcvKqaxY6koRX1xkCw* bound0; if (!(((NI) 0) < (*c0).ingenericinst)) goto LA18; bound0 = (*(*(*result0).typ).sons->data[((NI) 0)]).sym; { if (!!((bound0 == NIM_NIL))) goto LA22; result0 = bound0; goto BeforeRet; } LA22: ; goto BeforeRet; } LA18: ; { if (!((*(*result0).typ).sym == NIM_NIL)) goto LA26; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); goto BeforeRet; } LA26: ; result0 = copysym_KkocQl2VXhKLz8kG9aC7GEw((*(*result0).typ).sym, NIM_FALSE); asgnRefNoCycle((void**) (&(*result0).typ), copytype_50MJeIR3xcM7dF9b6Ly3suQ((*result0).typ, (*(*result0).typ).owner, NIM_TRUE)); (*(*result0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))%(sizeof(NU32)*8)); } LA14: ; { if (!((*result0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4))) goto LA30; { NIM_BOOL LOC34; NIM_BOOL LOC35; NI LOC37; LOC34 = (NIM_BOOL)0; LOC35 = (NIM_BOOL)0; LOC35 = ((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(LOC35)) goto LA36; LOC37 = (NI)0; LOC37 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*result0).typ); LOC35 = (LOC37 == ((NI) 0)); LA36: ; LOC34 = LOC35; if (!(LOC34)) goto LA38; LOC34 = (((*(*result0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0); LA38: ; if (!LOC34) goto LA39; (*result0).kind = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); (*(*result0).typ).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25)) % (sizeof(NU32)*8))); goto BeforeRet; } goto LA32; LA39: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); goto BeforeRet; } LA32: ; } LA30: ; { Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ ov0; Tsym_AXG7xcvKqaxY6koRX1xkCw* amb0; if (!!(((*result0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)))) goto LA44; memset((void*)(&ov0), 0, sizeof(ov0)); amb0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&ov0), c0, n0); { while (1) { NIM_BOOL LOC48; LOC48 = (NIM_BOOL)0; LOC48 = !((amb0 == NIM_NIL)); if (!(LOC48)) goto LA49; LOC48 = !(((*amb0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7))); LA49: ; if (!LOC48) goto LA47; amb0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&ov0), c0, n0); } LA47: ; } { if (!!((amb0 == NIM_NIL))) goto LA52; result0 = amb0; } goto LA50; LA52: ; { { if (!!(((*result0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA57; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA57: ; result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); goto BeforeRet; } LA50: ; } LA44: ; { Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw oldinfo0; if (!!(((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA61; oldinfo0 = (*n0).info; genericReset((void*)(&(*n0)), (&NTI_bROa11lyF5vxEN9aYNbHmhw)); (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3); asgnRefNoCycle((void**) (&(*n0).kindU.S4.sym), result0); (*n0).info = oldinfo0; asgnRefNoCycle((void**) (&(*n0).typ), (*result0).typ); } LA61: ; } goto LA6; LA8: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 20), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); } LA6: ; } LA1: ; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, isrange_GZCDL1KLeVpc9b7cG4gxP7Asem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { 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 LA3; { NIM_BOOL LOC7; NIM_BOOL LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; NIM_BOOL LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC8 = ((*LOC9).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); if (!(LOC8)) goto LA10; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC8 = ((*(*LOC11).kindU.S5.ident).Sup.id == ((NI) 75)); LA10: ; LOC7 = LOC8; if (LOC7) goto LA12; LOC13 = (NIM_BOOL)0; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC13 = ((*LOC14).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*LOC14).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57)); if (!(LOC13)) goto LA15; LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC16, ((NI) 1)); LOC13 = ((*(*(*LOC17).kindU.S4.sym).name).Sup.id == ((NI) 75)); LA15: ; LOC7 = LOC13; LA12: ; if (!LOC7) goto LA18; result0 = NIM_TRUE; } LA18: ; } LA3: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semarrayindex_8dfFYrOeVPnqx5CTOiEfvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem(n0); if (!LOC3) goto LA4; result0 = semrangeaux_lOYiaJyT4uh4YNmn53vE6w_3(c0, n0, NIM_NIL); } goto LA1; LA4: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; e0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 32); { if (!((*(*e0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA9; result0 = makerangewithstaticexpr_H8DcdUCos29ahaTnTQWv9b5g(c0, (*(*e0).typ).n); } goto LA7; LA9: ; { if (!((*e0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*e0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA12; result0 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), (NI64)((*e0).kindU.S1.intval - IL64(1)), (*n0).info, (*e0).typ); } goto LA7; LA12: ; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = ((*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC15)) goto LA16; LOC15 = ((*(*e0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)); LA16: ; if (!LOC15) goto LA17; { if (!!(((*(*e0).kindU.S4.sym).ast == NIM_NIL))) goto LA21; result0 = semarrayindex_8dfFYrOeVPnqx5CTOiEfvA(c0, (*(*e0).kindU.S4.sym).ast); goto BeforeRet; } LA21: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; NIM_BOOL LOC26; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = lastson_E41DMKHtT9c6sAMyyvhmSIw((*e0).typ); LOC26 = (NIM_BOOL)0; LOC26 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(LOC25); if (!!(LOC26)) goto LA27; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); localerror_VpilfPWbplGz6ny7O9cfr2g((*LOC29).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA27: ; result0 = makerangewithstaticexpr_H8DcdUCos29ahaTnTQWv9b5g(c0, e0); { if (!(((NI) 0) < (*c0).ingenericcontext)) goto LA32; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))%(sizeof(NU32)*8)); } LA32: ; } goto LA7; LA17: ; { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = ((*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)); if (!(LOC35)) goto LA36; LOC35 = hasgenericarguments_u68mEkLdR18iAnbsLA6Rgg_2(e0); LA36: ; if (!LOC35) goto LA37; { NIM_BOOL LOC41; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC44; LOC41 = (NIM_BOOL)0; LOC41 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2((*e0).typ); if (!!(LOC41)) goto LA42; LOC44 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC44 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); localerror_VpilfPWbplGz6ny7O9cfr2g((*LOC44).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA42: ; result0 = makerangewithstaticexpr_H8DcdUCos29ahaTnTQWv9b5g(c0, e0); } goto LA7; LA37: ; { if (!((*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA46; result0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*e0).typ, 256); } goto LA7; LA46: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; x0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, e0); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC53; if (!((*x0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*x0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA51; LOC53 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC53 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*x0).typ, 256); result0 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), (NI64)((*x0).kindU.S1.intval - IL64(1)), (*n0).info, LOC53); } goto LA49; LA51: ; { result0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*x0).typ, 256); } LA49: ; } LA7: ; } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semarray_lOYiaJyT4uh4YNmn53vE6w_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; base0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* indx0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Ttype_LTUWCZolpovw9cWE3JBWSUw* indxb0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 3))) goto LA4; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); indx0 = semarrayindex_8dfFYrOeVPnqx5CTOiEfvA(c0, LOC6); indxb0 = indx0; { if (!((*indxb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*indxb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4))) goto LA9; indxb0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(indxb0); } LA9: ; { if (!!(((*indxb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*indxb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59) || (*indxb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60)))) goto LA13; { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(indxb0); if (!!(LOC17)) goto LA18; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA15; LA18: ; { NIM_BOOL LOC21; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC24; NimStringDesc* LOC25; LOC21 = (NIM_BOOL)0; LOC21 = enumhasholes_XI7vH8jtAcp7rWqTmfZOSg_5(indxb0); if (!LOC21) goto LA22; LOC24 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC24 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(indxb0, 1048576); LOC25 = (NimStringDesc*)0; LOC25 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(LOC24, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 149), LOC25); } goto LA15; LA22: ; LA15: ; } LA13: ; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 2)], NIM_NIL); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16), prev0, c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, indx0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } goto LA1; LA4: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 176), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semcontainer_IxLfSBG76m9bT0uF6TONY4g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, NimStringDesc* kindstr0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(kind0, prev0, c0); { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 2))) goto LA4; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); { NimStringDesc* LOC10; if (!((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA8; LOC10 = (NimStringDesc*)0; LOC10 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(base0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 193), LOC10); } LA8: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } goto LA1; LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC12; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 175), kindstr0); LOC12 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC12 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC12); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semrange_lOYiaJyT4uh4YNmn53vE6w_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_P57JkMtxHmrSmmqETRooHg, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = NIM_NIL; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_P57JkMtxHmrSmmqETRooHg); if (!(LOC3 == ((NI) 2))) goto LA4; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; NIM_BOOL LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_P57JkMtxHmrSmmqETRooHg, ((NI) 1)); LOC9 = (NIM_BOOL)0; LOC9 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem(LOC8); if (!LOC9) goto LA10; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_P57JkMtxHmrSmmqETRooHg, ((NI) 1)); result0 = semrangeaux_lOYiaJyT4uh4YNmn53vE6w_3(c0, LOC12, prev0); n0 = (*result0).n; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*n0).kindU.S6.sons->data[((NI) 0)]).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15)); if (!(LOC15)) goto LA16; LOC15 = (IL64(0) < (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S1.intval); LA16: ; if (!LOC15) goto LA17; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8)); } goto LA13; LA17: ; { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*n0).kindU.S6.sons->data[((NI) 1)]).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15)); if (!(LOC20)) goto LA21; LOC20 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S1.intval < IL64(0)); LA21: ; if (!LOC20) goto LA22; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8)); } goto LA13; LA22: ; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*n0).kindU.S6.sons->data[((NI) 0)]).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18)); if (!(LOC25)) goto LA26; LOC25 = (0.0 < (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S2.floatval); LA26: ; if (!LOC25) goto LA27; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8)); } goto LA13; LA27: ; { NIM_BOOL LOC30; LOC30 = (NIM_BOOL)0; LOC30 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*(*n0).kindU.S6.sons->data[((NI) 1)]).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18)); if (!(LOC30)) goto LA31; LOC30 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S2.floatval < 0.0); LA31: ; if (!LOC30) goto LA32; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8)); } goto LA13; LA32: ; LA13: ; } goto LA6; LA10: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n_P57JkMtxHmrSmmqETRooHg).kindU.S6.sons->data[((NI) 0)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 99), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } LA6: ; } goto LA1; LA4: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n_P57JkMtxHmrSmmqETRooHg).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 175), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_26)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semset_lOYiaJyT4uh4YNmn53vE6w_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19), prev0, c0); { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 2))) goto LA4; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); { if (!((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4))) goto LA8; base0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(base0); } LA8: ; { if (!!(((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA12; { NIM_BOOL LOC16; LOC16 = (NIM_BOOL)0; LOC16 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(base0); if (!!(LOC16)) goto LA17; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA14; LA17: ; { NI64 LOC20; LOC20 = (NI64)0; LOC20 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(base0); if (!(IL64(65536) < LOC20)) goto LA21; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 122), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA14; LA21: ; LA14: ; } LA12: ; } goto LA1; LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC24; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 175), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_27)); LOC24 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC24 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC24); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semordinal_lOYiaJyT4uh4YNmn53vE6w_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15), prev0, c0); { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 2))) goto LA4; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); { if (!!(((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA8; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(base0); if (!!(LOC12)) goto LA13; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA13: ; } LA8: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } goto LA1; LA4: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 175), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_28)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semvarargs_lOYiaJyT4uh4YNmn53vE6w_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48), prev0, c0); { NIM_BOOL LOC3; NI LOC4; NI LOC6; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; LOC3 = (NIM_BOOL)0; LOC4 = (NI)0; LOC4 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC3 = (LOC4 == ((NI) 2)); if (LOC3) goto LA5; LOC6 = (NI)0; LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC3 = (LOC6 == ((NI) 3)); LA5: ; if (!LOC3) goto LA7; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); { NI LOC11; Tident_4umxGerWTHGPwUms7Yqu3g* LOC14; LOC11 = (NI)0; LOC11 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC11 == ((NI) 3))) goto LA12; LOC14 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC14 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[((NI) 2)]); asgnRefNoCycle((void**) (&(*result0).n), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC14, (*(*n0).kindU.S6.sons->data[((NI) 2)]).info)); } LA12: ; } goto LA1; LA7: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC16; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 175), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_30)); LOC16 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC16 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC16); } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, HEX24_jjfNrJtm9cAyhDM03lwdhoA)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { NimStringDesc* result0; NimStringDesc* LOC1; result0 = (NimStringDesc*)0; LOC1 = (NimStringDesc*)0; LOC1 = copyStr(reprEnum((NI)kind0, (&NTI_cNCW9acsSznmEccl1fgQwkw)), ((NI) 2)); result0 = nsuToLowerAsciiStr(LOC1); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsymg_4zMCRU3VuII34h7KWa4igg)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3; result0 = (*n0).kindU.S4.sym; { NimStringDesc* LOC9; NimStringDesc* LOC10; NimStringDesc* LOC11; if (!!(((*result0).kind == kind0))) goto LA7; LOC9 = (NimStringDesc*)0; LOC10 = (NimStringDesc*)0; LOC10 = HEX24_jjfNrJtm9cAyhDM03lwdhoA((*result0).kind); LOC11 = (NimStringDesc*)0; LOC11 = HEX24_jjfNrJtm9cAyhDM03lwdhoA(kind0); LOC9 = rawNewString(LOC10->Sup.len + LOC11->Sup.len + 36); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_31)); appendString(LOC9, LOC10); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_32)); appendString(LOC9, LOC11); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_33)); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC9); } LA7: ; asgnRefNoCycle((void**) (&(*result0).owner), getcurrowner_vtvHgJFBzj1VdwBSMUceQQ()); } goto LA1; LA3: ; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC13; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC14; LOC13 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC13 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); LOC14 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC14 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(kind0, LOC13, LOC14, (*n0).info); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtuple_lOYiaJyT4uh4YNmn53vE6w_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Intset_PQrmFm4BXFkFSVOUl1ojSg check0; NI counter0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; typ0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18), prev0, c0); asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info)); memset((void*)(&check0), 0, sizeof(check0)); chckNil((void*)(&check0)); memset((void*)(&check0), 0, sizeof(check0)); initintset_a9a80eJplB17xrdZJ41Baww((&check0)); counter0 = ((NI) 0); { NI i_7kj7NgMU9bqNiQ5WBT9bCqwA; NI HEX3Atmp_4S14AoBlMCqvBq86EstTjw; NI HEX3Atmp_4S14AoBlMCqvBq86EstTjw_2; NI LOC2; NI res_fnVjNPN6GPQXrnEI9b0NTlg; i_7kj7NgMU9bqNiQ5WBT9bCqwA = (NI)0; HEX3Atmp_4S14AoBlMCqvBq86EstTjw = (NI)0; HEX3Atmp_4S14AoBlMCqvBq86EstTjw_2 = (NI)0; HEX3Atmp_4S14AoBlMCqvBq86EstTjw = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42)); LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_4S14AoBlMCqvBq86EstTjw_2 = (NI)(LOC2 - ((NI) 1)); res_fnVjNPN6GPQXrnEI9b0NTlg = ((NI) (HEX3Atmp_4S14AoBlMCqvBq86EstTjw)); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI length0; if (!(res_fnVjNPN6GPQXrnEI9b0NTlg <= HEX3Atmp_4S14AoBlMCqvBq86EstTjw_2)) goto LA4; i_7kj7NgMU9bqNiQ5WBT9bCqwA = res_fnVjNPN6GPQXrnEI9b0NTlg; a0 = (*n0).kindU.S6.sons->data[i_7kj7NgMU9bqNiQ5WBT9bCqwA]; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA7; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA7: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], NIM_NIL); } goto LA9; LA11: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); typ0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA9: ; { if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA16; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 178), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA16: ; { NI j_P0Nw6O7O8qOSHR9aqC7L9biA; NI HEX3Atmp_4S14AoBlMCqvBq86EstTjw_3; NI res_fnVjNPN6GPQXrnEI9b0NTlg_2; j_P0Nw6O7O8qOSHR9aqC7L9biA = (NI)0; HEX3Atmp_4S14AoBlMCqvBq86EstTjw_3 = (NI)0; HEX3Atmp_4S14AoBlMCqvBq86EstTjw_3 = (NI)(length0 - ((NI) 3)); res_fnVjNPN6GPQXrnEI9b0NTlg_2 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* field0; if (!(res_fnVjNPN6GPQXrnEI9b0NTlg_2 <= HEX3Atmp_4S14AoBlMCqvBq86EstTjw_3)) goto LA20; j_P0Nw6O7O8qOSHR9aqC7L9biA = res_fnVjNPN6GPQXrnEI9b0NTlg_2; field0 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), (*a0).kindU.S6.sons->data[j_P0Nw6O7O8qOSHR9aqC7L9biA], c0); asgnRefNoCycle((void**) (&(*field0).typ), typ0); (*field0).position = counter0; counter0 += ((NI) 1); { NIM_BOOL LOC23; LOC23 = (NIM_BOOL)0; LOC23 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&check0), (*(*field0).name).Sup.id); if (!LOC23) goto LA24; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[j_P0Nw6O7O8qOSHR9aqC7L9biA]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 41), (*(*field0).name).s); } goto LA21; LA24: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = newsymnode_1ARBpggFQuvUDBVYjBelcw(field0); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC27); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, typ0); } LA21: ; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 8))) goto LA30; } LA30: ; res_fnVjNPN6GPQXrnEI9b0NTlg_2 += ((NI) 1); } LA20: ; } } res_fnVjNPN6GPQXrnEI9b0NTlg += ((NI) 1); } LA4: ; } } { NI LOC34; LOC34 = (NI)0; LOC34 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*result0).n); if (!(LOC34 == ((NI) 0))) goto LA35; asgnRefNoCycle((void**) (&(*result0).n), NIM_NIL); } LA35: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgenericparamininvocation_8dfFYrOeVPnqx5CTOiEfvA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, instgenericcontainer_JFPab1Oaa8wRyjR9bH3QQKw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* header0, NIM_BOOL allowmetatypes0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg cl0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; memset((void*)(&cl0), 0, sizeof(cl0)); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&cl0.symmap)); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&cl0.typemap)); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&cl0.localcache)); cl0.info = info0; cl0.c = c0; cl0.allowmetatypes = allowmetatypes0; result0 = replacetypevarst_0MFAr9a79bLFEM8gy9cdgtELQ((&cl0), header0); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgeneric_KbRgzAZelffU9cv9cB67vT3w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { TY_Re75IspeoxXy2oCZHwcRrA LOC5; NimStringDesc* LOC6; NimStringDesc* LOC7; if (!((*s0).typ == NIM_NIL)) goto LA3; memset((void*)LOC5, 0, sizeof(LOC5)); LOC5[0] = copyString((*(*s0).name).s); LOC6 = (NimStringDesc*)0; LOC6 = copyStr(reprEnum((NI)(*s0).kind, (&NTI_cNCW9acsSznmEccl1fgQwkw)), ((NI) 2)); LOC5[1] = nsuToLowerAsciiStr(LOC6); LOC7 = (NimStringDesc*)0; LOC7 = nsuFormatOpenArray(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_34), LOC5, 2); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC7); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); goto BeforeRet; } LA3: ; t0 = (*s0).typ; { NIM_BOOL LOC10; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC12; LOC10 = (NIM_BOOL)0; LOC10 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54)); if (!(LOC10)) goto LA11; LOC12 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC12 = base_46gPaVDDGhiU69b2oKDJZuA(t0); LOC10 = ((*LOC12).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)); LA11: ; if (!LOC10) goto LA13; t0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); } LA13: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9), prev0, c0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, t0); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA17; { NI i_E7dNQqEiPIWPlj9cBZSbh7Q; NI HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw; NI LOC20; NI res_uoyZmPsFqrket4y9aHGGwKA; i_E7dNQqEiPIWPlj9cBZSbh7Q = (NI)0; HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw = (NI)0; LOC20 = (NI)0; LOC20 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw = (NI)(LOC20 - ((NI) 1)); res_uoyZmPsFqrket4y9aHGGwKA = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* elem0; if (!(res_uoyZmPsFqrket4y9aHGGwKA <= HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw)) goto LA22; i_E7dNQqEiPIWPlj9cBZSbh7Q = res_uoyZmPsFqrket4y9aHGGwKA; elem0 = semgenericparamininvocation_8dfFYrOeVPnqx5CTOiEfvA_2(c0, (*n0).kindU.S6.sons->data[i_E7dNQqEiPIWPlj9cBZSbh7Q]); { if (!(elem0 == 0)) goto LA25; { NimStringDesc* LOC31; if (!NIM_TRUE) goto LA29; LOC31 = (NimStringDesc*)0; LOC31 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_35); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC31); } LA29: ; rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, elem0); } goto LA23; LA25: ; { addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, elem0); } LA23: ; res_uoyZmPsFqrket4y9aHGGwKA += ((NI) 1); } LA22: ; } } goto BeforeRet; } goto LA15; LA17: ; { if (!!(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA34; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 159), (*(*s0).name).s); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); goto BeforeRet; } goto LA15; LA34: ; { Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; NIM_BOOL isconcrete0; memset((void*)(&m0), 0, sizeof(m0)); chckNil((void*)(&m0)); memset((void*)(&m0), 0, sizeof(m0)); newcandidate_Ursq24ddLTYMobCFHSyzbQ(c0, t0, (&m0)); m0.isnocall = NIM_TRUE; LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); matches_x3U2uVO0diqi4Z4tOU2y9aw_2(c0, n0, LOC37, (&m0)); { NIM_BOOL LOC40; NimStringDesc* err0; NimStringDesc* LOC44; NimStringDesc* LOC45; NimStringDesc* LOC46; NimStringDesc* LOC47; LOC40 = (NIM_BOOL)0; LOC40 = !((m0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1))); if (!(LOC40)) goto LA41; LOC40 = !(m0.typedescmatched); LA41: ; if (!LOC40) goto LA42; LOC44 = (NimStringDesc*)0; LOC45 = (NimStringDesc*)0; LOC45 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC46 = (NimStringDesc*)0; LOC46 = describeargs_m1uDwnBbJWJYjfhFqPUzpw(c0, n0, ((NI) 1), ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC47 = (NimStringDesc*)0; LOC47 = describeargs_m1uDwnBbJWJYjfhFqPUzpw(c0, (*t0).n, ((NI) 0), ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC44 = rawNewString(LOC45->Sup.len + LOC46->Sup.len + LOC47->Sup.len + 44); appendString(LOC44, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_37)); appendString(LOC44, LOC45); appendString(LOC44, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_38)); appendString(LOC44, LOC46); appendString(LOC44, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_39)); appendString(LOC44, LOC47); appendString(LOC44, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_40)); err0 = LOC44; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), err0); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); goto BeforeRet; } LA42: ; isconcrete0 = NIM_TRUE; { NI i_E7dNQqEiPIWPlj9cBZSbh7Q_2; NI HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw_2; NI LOC49; NI res_uoyZmPsFqrket4y9aHGGwKA_2; i_E7dNQqEiPIWPlj9cBZSbh7Q_2 = (NI)0; HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw_2 = (NI)0; LOC49 = (NI)0; LOC49 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(m0.call); HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw_2 = (LOC49 - 1); res_uoyZmPsFqrket4y9aHGGwKA_2 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC52; if (!(res_uoyZmPsFqrket4y9aHGGwKA_2 <= HEX3Atmp_ih1Lz3v2H0JPCFnXjVpq9bw_2)) goto LA51; i_E7dNQqEiPIWPlj9cBZSbh7Q_2 = res_uoyZmPsFqrket4y9aHGGwKA_2; LOC52 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC52 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(m0.call, i_E7dNQqEiPIWPlj9cBZSbh7Q_2); typ0 = (*LOC52).typ; { NIM_BOOL LOC55; LOC55 = (NIM_BOOL)0; LOC55 = ((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); if (!(LOC55)) goto LA56; LOC55 = ((*(*typ0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)); LA56: ; if (!LOC55) goto LA57; isconcrete0 = NIM_FALSE; { if (!(typ0 == 0)) goto LA61; { NimStringDesc* LOC67; if (!NIM_TRUE) goto LA65; LOC67 = (NimStringDesc*)0; LOC67 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_35); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC67); } LA65: ; rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, typ0); } goto LA59; LA61: ; { addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, typ0); } LA59: ; } goto LA53; LA57: ; { typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 256); { NIM_BOOL LOC72; LOC72 = (NIM_BOOL)0; LOC72 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA(typ0); if (!LOC72) goto LA73; isconcrete0 = NIM_FALSE; } LA73: ; { if (!(typ0 == 0)) goto LA77; { NimStringDesc* LOC83; if (!NIM_TRUE) goto LA81; LOC83 = (NimStringDesc*)0; LOC83 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_35); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC83); } LA81: ; rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, typ0); } goto LA75; LA77: ; { addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, typ0); } LA75: ; } LA53: ; res_uoyZmPsFqrket4y9aHGGwKA_2 += ((NI) 1); } LA51: ; } } { if (!isconcrete0) goto LA87; { NIM_BOOL LOC91; LOC91 = (NIM_BOOL)0; LOC91 = ((*s0).ast == NIM_NIL); if (!(LOC91)) goto LA92; LOC91 = !(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54))); LA92: ; if (!LOC91) goto LA93; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), (*(*s0).name).s); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } goto LA89; LA93: ; { result0 = instgenericcontainer_JFPab1Oaa8wRyjR9bH3QQKw(c0, (*n0).info, result0, NIM_FALSE); } LA89: ; } LA87: ; } LA15: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, symchoice_kvfg9avzuPqhlyP5kQoSy6w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA r0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* a0; Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ o0; NI i0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; a0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&o0), 0, sizeof(o0)); i0 = ((NI) 0); a0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&o0), c0, n0); { while (1) { if (!!((a0 == NIM_NIL))) goto LA2; { if (!!(((*a0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA5; i0 += ((NI) 1); { if (!(((NI) 1) < i0)) goto LA9; goto LA1; } LA9: ; } LA5: ; a0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, n0); } LA2: ; } LA1: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = (i0 <= ((NI) 1)); if (!(LOC13)) goto LA14; LOC13 = !((r0 == ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2))); LA14: ; if (!LOC13) goto LA15; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); } goto LA11; LA15: ; { Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = (r0 == ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); if (LOC20) goto LA21; LOC20 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45)); LA21: ; if (!LOC20) goto LA22; kind0 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56); } goto LA18; LA22: ; { kind0 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57); } LA18: ; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(kind0, (*n0).info, LOC25); a0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&o0), c0, n0); { while (1) { if (!!((a0 == NIM_NIL))) goto LA27; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC32; if (!!(((*a0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA30; (*a0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); LOC32 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC32 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(a0, (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC32); } LA30: ; a0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, n0); } LA27: ; } } LA11: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); pushinfocontext_zQWo2MALtrYvLPyMtv28iA((*n0).info); LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); result0 = evaltemplate_xOup9aA9cJdjuapy5rkGnHBQ(n0, s0, LOC1, ((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&15U)))!=0)); { if (!!(((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 9))&15U)))!=0))) goto LA4; result0 = semaftermacrocall_InSQ3LpBhnCqFgw1Hbb18Q_2(c0, result0, s0, flags0); } LA4: ; popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmtsymbol_lOHJGL576WgD3IkzW1l50A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0): { result0 = n0; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6): { result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1)); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { { NIM_BOOL LOC6; NI LOC8; LOC6 = (NIM_BOOL)0; LOC6 = ((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0); if (!(LOC6)) goto LA7; LOC8 = (NI)0; LOC8 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC6 = (LOC8 == ((NI) 1)); LA7: ; if (!LOC6) goto LA9; result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, 512); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, 0, ctx0); } goto LA4; LA9: ; { result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1)); } LA4: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { { NIM_BOOL LOC15; NI LOC17; LOC15 = (NIM_BOOL)0; LOC15 = ((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0); if (!(LOC15)) goto LA16; LOC17 = (NI)0; LOC17 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC15 = (LOC17 == ((NI) 1)); LA16: ; if (!LOC15) goto LA18; result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, n0, s0, 512); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, 0, ctx0); } goto LA13; LA18: ; { result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1)); } LA13: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4): { { NIM_BOOL LOC24; LOC24 = (NIM_BOOL)0; LOC24 = !(((*s0).typ == NIM_NIL)); if (!(LOC24)) goto LA25; LOC24 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)); LA25: ; if (!LOC24) goto LA26; { if (!!(((*(*s0).typ).n == NIM_NIL))) goto LA30; result0 = (*(*s0).typ).n; } goto LA28; LA30: ; { result0 = n0; } LA28: ; } goto LA22; LA26: ; { result0 = newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*n0).info); } LA22: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3): { result0 = n0; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { { NIM_BOOL LOC38; LOC38 = (NIM_BOOL)0; LOC38 = !(((*s0).typ == NIM_NIL)); if (!(LOC38)) goto LA39; LOC38 = (((*(*s0).typ).flags & 25165824) == 0); LA39: ; if (!LOC38) goto LA40; result0 = newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*n0).info); } goto LA36; LA40: ; { result0 = n0; } LA36: ; } break; default: { result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lookup_okiFfU8LR9apJ5YL9caXd29aA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* ident0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; ident0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(c0, ident0); s0 = skipalias_ZtvadRR2a9bYV9bto55K079bQ(LOC1, n0); { if (!(s0 == NIM_NIL)) goto LA4; { NIM_BOOL LOC8; NIM_BOOL LOC9; LOC8 = (NIM_BOOL)0; LOC9 = (NIM_BOOL)0; LOC9 = contains_sYBLNwnPJlAFi0nfWU79awg((*ctx0).tomixin, (*ident0).Sup.id); LOC8 = !(LOC9); if (!(LOC8)) goto LA10; LOC8 = !(((flags0 &(1U<<((NU)(((Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0)); LA10: ; if (!LOC8) goto LA11; errorundeclaredidentifier_UdgIujB9c9aSmUmE2IpJcLjQ(c0, (*n0).info, (*ident0).s); } LA11: ; } goto LA2; LA4: ; { { if (!((flags0 &(1U<<((NU)(((Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0)) goto LA16; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); } goto LA14; LA16: ; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = contains_sYBLNwnPJlAFi0nfWU79awg((*ctx0).tomixin, (*(*s0).name).Sup.id); if (!LOC19) goto LA20; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2)); } goto LA14; LA20: ; { result0 = semgenericstmtsymbol_lOHJGL576WgD3IkzW1l50A(c0, n0, s0, ctx0); } LA14: ; } LA2: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdot_podnxPJ03c9c6ZNI9b2Xkrqw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*n0).kindU.S6.sons->data[((NI) 0)]); add_gCCf68XrWL79bKes6htzFjQ_3(result0, b0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fuzzylookup_k9c9aWs4nKYnIzd4jAjnCT5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_ZKP4jHC6z9abajP0WuW49c0w, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0, NIM_BOOL* ismacro0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set luf0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_KWVnmJ59auc1ttVuHhbuhxg; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((flags0 &(1U<<((NU)(((Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0))) goto LA3; luf0 = 6; } goto LA1; LA3: ; { luf0 = 4; } LA1: ; s_KWVnmJ59auc1ttVuHhbuhxg = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n_ZKP4jHC6z9abajP0WuW49c0w, luf0); { if (!!((s_KWVnmJ59auc1ttVuHhbuhxg == NIM_NIL))) goto LA8; result0 = semgenericstmtsymbol_lOHJGL576WgD3IkzW1l50A(c0, n_ZKP4jHC6z9abajP0WuW49c0w, s_KWVnmJ59auc1ttVuHhbuhxg, ctx0); } goto LA6; LA8: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Tident_4umxGerWTHGPwUms7Yqu3g* ident0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC11; asgnRefNoCycle((void**) (&(*n_ZKP4jHC6z9abajP0WuW49c0w).kindU.S6.sons->data[((NI) 0)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n_ZKP4jHC6z9abajP0WuW49c0w).kindU.S6.sons->data[((NI) 0)], flags0, ctx0)); result0 = n_ZKP4jHC6z9abajP0WuW49c0w; n0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_ZKP4jHC6z9abajP0WuW49c0w, ((NI) 1)); ident0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); LOC11 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC11 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(c0, ident0); s0 = skipalias_ZtvadRR2a9bYV9bto55K079bQ(LOC11, n0); { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = !((s0 == NIM_NIL)); if (!(LOC14)) goto LA15; LOC14 = ((258048 &(1U<<((NU)((*s0).kind)&31U)))!=0); LA15: ; if (!LOC14) goto LA16; (*ismacro0) = ((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; if (!((flags0 &(1U<<((NU)(((Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0)) goto LA20; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); result0 = newdot_podnxPJ03c9c6ZNI9b2Xkrqw(result0, LOC22); } goto LA18; LA20: ; { NIM_BOOL LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; LOC24 = (NIM_BOOL)0; LOC24 = contains_sYBLNwnPJlAFi0nfWU79awg((*ctx0).tomixin, (*(*s0).name).Sup.id); if (!LOC24) goto LA25; LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2)); result0 = newdot_podnxPJ03c9c6ZNI9b2Xkrqw(result0, LOC27); } goto LA18; LA25: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* syms0; syms0 = semgenericstmtsymbol_lOHJGL576WgD3IkzW1l50A(c0, n0, s0, ctx0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* choice0; if (!((*syms0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA31; choice0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2)); (*choice0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56); result0 = newdot_podnxPJ03c9c6ZNI9b2Xkrqw(result0, choice0); } goto LA29; LA31: ; { result0 = newdot_podnxPJ03c9c6ZNI9b2Xkrqw(result0, syms0); } LA29: ; } LA18: ; } LA16: ; } LA6: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmixinstmt_yB7qJYh9aH9cJ7wN3kjwrTGQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* tomixin0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_5VDlT9b6fOez0NV5N9bEpR1g; NI HEX3Atmp_wX19arFAgIWLNt9cxEjoTCZA; NI LOC2; NI res_xZTCfdFtLXCRW5mWREsFNA; i_5VDlT9b6fOez0NV5N9bEpR1g = (NI)0; HEX3Atmp_wX19arFAgIWLNt9cxEjoTCZA = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_wX19arFAgIWLNt9cxEjoTCZA = (LOC2 - 1); res_xZTCfdFtLXCRW5mWREsFNA = ((NI) 0); { while (1) { Tident_4umxGerWTHGPwUms7Yqu3g* LOC5; if (!(res_xZTCfdFtLXCRW5mWREsFNA <= HEX3Atmp_wX19arFAgIWLNt9cxEjoTCZA)) goto LA4; i_5VDlT9b6fOez0NV5N9bEpR1g = res_xZTCfdFtLXCRW5mWREsFNA; LOC5 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC5 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[i_5VDlT9b6fOez0NV5N9bEpR1g]); incl_iUpE9bYmIR0fROyJskQwN8g(tomixin0, (*LOC5).Sup.id); res_xZTCfdFtLXCRW5mWREsFNA += ((NI) 1); } LA4: ; } } result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n0).info); return result0; } static N_INLINE(NI, safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; result0 = (NI)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)); if (LOC3) goto LA4; LOC3 = ((*n0).kindU.S6.sons == 0); LA4: ; if (!LOC3) goto LA5; result0 = ((NI) 0); } goto LA1; LA5: ; { result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, n0, flags0, ctx0); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsyms_4zMCRU3VuII34h7KWa4igg_2)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC2; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); LOC2 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC2 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(kind0, LOC1, LOC2, (*n0).info); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getidentnode_wWBimsBS4M6UZBvTRDlQTQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): { result0 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*n0).kindU.S6.sons->data[((NI) 1)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { result0 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = n0; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); result0 = n0; } break; } return result0; } N_NIMCALL(void, addtempdecl_zCs4p739b2m9cRi9auRLptiZg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ(n0); s0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC1, c0); addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw(c0, s0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags_eCcZIjc9avwiDEbq9aKTSLZg, Genericctx_ldEK1fsP9cZbQbUrs7bxs0w* ctx0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { result0 = lookup_okiFfU8LR9apJ5YL9caXd29aA_2(c0, n0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { NIM_BOOL dummy0; dummy0 = (NIM_BOOL)0; result0 = fuzzylookup_k9c9aWs4nKYnIzd4jAjnCT5w(c0, n0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0, (&dummy0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55): { result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 0)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 1), ctx0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 123): { result0 = semmixinstmt_yB7qJYh9aH9cJ7wN3kjwrTGQ(c0, n0, (&(*ctx0).tomixin)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28): { Tnode_bROa11lyF5vxEN9aYNbHmhw* fn0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; NI first0; NIM_BOOL mixincontext0; Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA_Set flags0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); fn0 = (*n0).kindU.S6.sons->data[((NI) 0)]; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, fn0, 0); { NIM_BOOL LOC9; NIM_BOOL LOC10; NIM_BOOL LOC11; Tident_4umxGerWTHGPwUms7Yqu3g* LOC15; NIM_BOOL LOC16; NimStringDesc* LOC19; LOC9 = (NIM_BOOL)0; LOC10 = (NIM_BOOL)0; LOC11 = (NIM_BOOL)0; LOC11 = (s0 == NIM_NIL); if (!(LOC11)) goto LA12; LOC11 = !(((flags_eCcZIjc9avwiDEbq9aKTSLZg &(1U<<((NU)(((Tsemgenericflag_awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0)); LA12: ; LOC10 = LOC11; if (!(LOC10)) goto LA13; LOC10 = ((*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53)); LA13: ; LOC9 = LOC10; if (!(LOC9)) goto LA14; LOC15 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC15 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(fn0); LOC16 = (NIM_BOOL)0; LOC16 = contains_sYBLNwnPJlAFi0nfWU79awg((*ctx0).tomixin, (*LOC15).Sup.id); LOC9 = !(LOC16); LA14: ; if (!LOC9) goto LA17; LOC19 = (NimStringDesc*)0; LOC19 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(fn0, 0); errorundeclaredidentifier_UdgIujB9c9aSmUmE2IpJcLjQ(c0, (*n0).info, LOC19); } LA17: ; first0 = ((NI) 0); mixincontext0 = NIM_FALSE; { Tnode_bROa11lyF5vxEN9aYNbHmhw* sc0; Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA LOC24; if (!!((s0 == NIM_NIL))) goto LA22; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); mixincontext0 = ((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 1) || (*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 2) || (*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 3)); LOC24 = (Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA)0; { NIM_BOOL LOC27; LOC27 = (NIM_BOOL)0; LOC27 = contains_sYBLNwnPJlAFi0nfWU79awg((*ctx0).tomixin, (*(*s0).name).Sup.id); if (!LOC27) goto LA28; LOC24 = ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2); } goto LA25; LA28: ; { LOC24 = ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1); } LA25: ; sc0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, fn0, s0, LOC24); switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { { NIM_BOOL LOC34; NIM_BOOL LOC35; NIM_BOOL LOC37; NI LOC38; NI LOC41; LOC34 = (NIM_BOOL)0; LOC35 = (NIM_BOOL)0; LOC35 = ((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0); if (!(LOC35)) goto LA36; LOC37 = (NIM_BOOL)0; LOC38 = (NI)0; LOC38 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC37 = (LOC38 == ((NI) 1)); if (LOC37) goto LA39; LOC37 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))&31U)))!=0); LA39: ; LOC35 = LOC37; LA36: ; LOC34 = LOC35; if (!(LOC34)) goto LA40; LOC41 = (NI)0; LOC41 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(sc0); LOC34 = (LOC41 <= ((NI) 1)); LA40: ; if (!LOC34) goto LA42; result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, n0, s0, 512); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); } goto LA32; LA42: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), sc0); result0 = n0; } LA32: ; mixincontext0 = NIM_TRUE; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { { NIM_BOOL LOC48; NIM_BOOL LOC49; NIM_BOOL LOC51; NI LOC52; NI LOC55; LOC48 = (NIM_BOOL)0; LOC49 = (NIM_BOOL)0; LOC49 = ((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0); if (!(LOC49)) goto LA50; LOC51 = (NIM_BOOL)0; LOC52 = (NI)0; LOC52 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC51 = (LOC52 == ((NI) 1)); if (LOC51) goto LA53; LOC51 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))&31U)))!=0); LA53: ; LOC49 = LOC51; LA50: ; LOC48 = LOC49; if (!(LOC48)) goto LA54; LOC55 = (NI)0; LOC55 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(sc0); LOC48 = (LOC55 <= ((NI) 1)); LA54: ; if (!LOC48) goto LA56; result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, 512); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); } goto LA46; LA56: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), sc0); result0 = n0; } LA46: ; mixincontext0 = NIM_TRUE; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3): { } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6): { asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), sc0); { NIM_BOOL LOC63; NIM_BOOL LOC64; NI LOC66; LOC63 = (NIM_BOOL)0; LOC64 = (NIM_BOOL)0; LOC64 = !(((*ctx0).bracketexpr == NIM_NIL)); if (!(LOC64)) goto LA65; LOC66 = (NI)0; LOC66 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC64 = (LOC66 == ((NI) 2)); LA65: ; LOC63 = LOC64; if (!(LOC63)) goto LA67; LOC63 = eqStrings((*(*s0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_41)); LA67: ; if (!LOC63) goto LA68; add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*ctx0).bracketexpr); } LA68: ; first0 = ((NI) 1); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4): { asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*fn0).info)); first0 = ((NI) 1); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { { NIM_BOOL LOC74; LOC74 = (NIM_BOOL)0; LOC74 = !(((*s0).typ == NIM_NIL)); if (!(LOC74)) goto LA75; LOC74 = !(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))); LA75: ; if (!LOC74) goto LA76; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*fn0).info)); first0 = ((NI) 1); } LA76: ; } break; default: { asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*fn0).info)); first0 = ((NI) 1); } break; } } goto LA20; LA22: ; { if (!((*fn0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA80; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), fuzzylookup_k9c9aWs4nKYnIzd4jAjnCT5w(c0, fn0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0, (&mixincontext0))); first0 = ((NI) 1); } goto LA20; LA80: ; LA20: ; { if (!mixincontext0) goto LA84; flags0 = (flags_eCcZIjc9avwiDEbq9aKTSLZg | 4); } goto LA82; LA84: ; { flags0 = flags_eCcZIjc9avwiDEbq9aKTSLZg; } LA82: ; { NI i_VWu89a4wjzXOutQDtofTp5A; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA; NI LOC88; NI res_OrvJ3pj9aKpP74LFsmzj2EQ; i_VWu89a4wjzXOutQDtofTp5A = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA = (NI)0; LOC88 = (NI)0; LOC88 = sonslen_qPWPHw7WgJeEVYUdcaRIig(result0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA = (NI)(LOC88 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ = first0; { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA)) goto LA90; i_VWu89a4wjzXOutQDtofTp5A = res_OrvJ3pj9aKpP74LFsmzj2EQ; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*result0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A], flags0, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ += ((NI) 1); } LA90: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC92; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC93; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC92 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC92 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_42)); LOC93 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC93 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC92, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC93); { NI i_VWu89a4wjzXOutQDtofTp5A_2; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_2; NI i_VWu89a4wjzXOutQDtofTp5A_3; i_VWu89a4wjzXOutQDtofTp5A_2 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_2 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_VWu89a4wjzXOutQDtofTp5A_3 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC97; if (!(i_VWu89a4wjzXOutQDtofTp5A_3 < HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_2)) goto LA96; i_VWu89a4wjzXOutQDtofTp5A_2 = i_VWu89a4wjzXOutQDtofTp5A_3; LOC97 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC97 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_VWu89a4wjzXOutQDtofTp5A_2); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC97); i_VWu89a4wjzXOutQDtofTp5A_3 += ((NI) 1); } LA96: ; } } result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC99; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC100; Tnode_bROa11lyF5vxEN9aYNbHmhw* old_yY1j4iW5dNpnIY8NGEJl9bQ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC99 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC99 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_21)); LOC100 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC100 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC99, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC100); { NI i_VWu89a4wjzXOutQDtofTp5A_4; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_3; NI i_VWu89a4wjzXOutQDtofTp5A_5; i_VWu89a4wjzXOutQDtofTp5A_4 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_3 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_VWu89a4wjzXOutQDtofTp5A_5 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC104; if (!(i_VWu89a4wjzXOutQDtofTp5A_5 < HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_3)) goto LA103; i_VWu89a4wjzXOutQDtofTp5A_4 = i_VWu89a4wjzXOutQDtofTp5A_5; LOC104 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC104 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_VWu89a4wjzXOutQDtofTp5A_4); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC104); i_VWu89a4wjzXOutQDtofTp5A_5 += ((NI) 1); } LA103: ; } } old_yY1j4iW5dNpnIY8NGEJl9bQ = (*ctx0).bracketexpr; unsureAsgnRef((void**) (&(*ctx0).bracketexpr), (*n0).kindU.S6.sons->data[((NI) 0)]); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); unsureAsgnRef((void**) (&(*ctx0).bracketexpr), old_yY1j4iW5dNpnIY8NGEJl9bQ); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74): { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw k0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); a0 = (*n0).kindU.S6.sons->data[((NI) 0)]; b0 = (*n0).kindU.S6.sons->data[((NI) 1)]; k0 = (*a0).kind; switch (k0) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC107; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC108; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC107 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC107 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_43)); LOC108 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC108 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC107, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC108); { NI i_VWu89a4wjzXOutQDtofTp5A_6; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_4; NI i_VWu89a4wjzXOutQDtofTp5A_7; i_VWu89a4wjzXOutQDtofTp5A_6 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_4 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_4 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); i_VWu89a4wjzXOutQDtofTp5A_7 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC112; if (!(i_VWu89a4wjzXOutQDtofTp5A_7 < HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_4)) goto LA111; i_VWu89a4wjzXOutQDtofTp5A_6 = i_VWu89a4wjzXOutQDtofTp5A_7; LOC112 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC112 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, i_VWu89a4wjzXOutQDtofTp5A_6); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC112); i_VWu89a4wjzXOutQDtofTp5A_7 += ((NI) 1); } LA111: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(result0, b0); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC114; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC115; Tnode_bROa11lyF5vxEN9aYNbHmhw* old_yY1j4iW5dNpnIY8NGEJl9bQ_2; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC114 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC114 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_44)); LOC115 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC115 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC114, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC115); { NI i_VWu89a4wjzXOutQDtofTp5A_8; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_5; NI i_VWu89a4wjzXOutQDtofTp5A_9; i_VWu89a4wjzXOutQDtofTp5A_8 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_5 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_5 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); i_VWu89a4wjzXOutQDtofTp5A_9 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC119; if (!(i_VWu89a4wjzXOutQDtofTp5A_9 < HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_5)) goto LA118; i_VWu89a4wjzXOutQDtofTp5A_8 = i_VWu89a4wjzXOutQDtofTp5A_9; LOC119 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC119 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, i_VWu89a4wjzXOutQDtofTp5A_8); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC119); i_VWu89a4wjzXOutQDtofTp5A_9 += ((NI) 1); } LA118: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(result0, b0); old_yY1j4iW5dNpnIY8NGEJl9bQ_2 = (*ctx0).bracketexpr; unsureAsgnRef((void**) (&(*ctx0).bracketexpr), (*a0).kindU.S6.sons->data[((NI) 0)]); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, result0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0); unsureAsgnRef((void**) (&(*ctx0).bracketexpr), old_yY1j4iW5dNpnIY8NGEJl9bQ_2); } break; default: { { NI i_VWu89a4wjzXOutQDtofTp5A_10; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_6; NI LOC122; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_2; i_VWu89a4wjzXOutQDtofTp5A_10 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_6 = (NI)0; LOC122 = (NI)0; LOC122 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_6 = (NI)(LOC122 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_2 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_2 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_6)) goto LA124; i_VWu89a4wjzXOutQDtofTp5A_10 = res_OrvJ3pj9aKpP74LFsmzj2EQ_2; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_10]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_10], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_2 += ((NI) 1); } LA124: ; } } } break; } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92): { { NI i_VWu89a4wjzXOutQDtofTp5A_11; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_7; NI LOC127; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_3; i_VWu89a4wjzXOutQDtofTp5A_11 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_7 = (NI)0; LOC127 = (NI)0; LOC127 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_7 = (NI)(LOC127 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_3 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_3 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_7)) goto LA129; i_VWu89a4wjzXOutQDtofTp5A_11 = res_OrvJ3pj9aKpP74LFsmzj2EQ_3; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_11]), semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_11], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_3 += ((NI) 1); } LA129: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 93): { { NI i_VWu89a4wjzXOutQDtofTp5A_12; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_8; NI LOC132; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_4; i_VWu89a4wjzXOutQDtofTp5A_12 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_8 = (NI)0; LOC132 = (NI)0; LOC132 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_8 = (NI)(LOC132 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_4 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_4 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_8)) goto LA134; i_VWu89a4wjzXOutQDtofTp5A_12 = res_OrvJ3pj9aKpP74LFsmzj2EQ_4; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_12]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_12], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 4), ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_4 += ((NI) 1); } LA134: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96): { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC136; LOC136 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC136 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); { NI i_VWu89a4wjzXOutQDtofTp5A_13; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_9; NI LOC138; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_5; i_VWu89a4wjzXOutQDtofTp5A_13 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_9 = (NI)0; LOC138 = (NI)0; LOC138 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_9 = (NI)(LOC138 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_5 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_5 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_9)) goto LA140; i_VWu89a4wjzXOutQDtofTp5A_13 = res_OrvJ3pj9aKpP74LFsmzj2EQ_5; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_13]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_13], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_5 += ((NI) 1); } LA140: ; } } closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97): { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC142; LOC142 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC142 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 0)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { NI i_VWu89a4wjzXOutQDtofTp5A_14; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_10; NI LOC144; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_6; i_VWu89a4wjzXOutQDtofTp5A_14 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_10 = (NI)0; LOC144 = (NI)0; LOC144 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_10 = (NI)(LOC144 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_6 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_6 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_10)) goto LA146; i_VWu89a4wjzXOutQDtofTp5A_14 = res_OrvJ3pj9aKpP74LFsmzj2EQ_6; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_14]; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 1)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { NI j_Uj4aoPJxv3i9anYWq3LPwGQ; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_11; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_7; j_Uj4aoPJxv3i9anYWq3LPwGQ = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_11 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_11 = (NI)(L0 - ((NI) 2)); res_OrvJ3pj9aKpP74LFsmzj2EQ_7 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_7 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_11)) goto LA149; j_Uj4aoPJxv3i9anYWq3LPwGQ = res_OrvJ3pj9aKpP74LFsmzj2EQ_7; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_7 += ((NI) 1); } LA149: ; } } asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_6 += ((NI) 1); } LA146: ; } } closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 94): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 95): { NI L0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC151; L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC151 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC151 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { NI i_VWu89a4wjzXOutQDtofTp5A_15; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_12; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_8; i_VWu89a4wjzXOutQDtofTp5A_15 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_12 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_12 = (NI)(L0 - ((NI) 3)); res_OrvJ3pj9aKpP74LFsmzj2EQ_8 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_8 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_12)) goto LA154; i_VWu89a4wjzXOutQDtofTp5A_15 = res_OrvJ3pj9aKpP74LFsmzj2EQ_8; addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_15], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 20)); res_OrvJ3pj9aKpP74LFsmzj2EQ_8 += ((NI) 1); } LA154: ; } } asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 112): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 127): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 129): { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC156; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC156 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC156 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA159; addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 21)); } LA159: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 1)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 106): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3(c0, (*n0).kindU.S6.sons->data[((NI) 0)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { NI i_VWu89a4wjzXOutQDtofTp5A_16; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_13; NI LOC163; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_9; i_VWu89a4wjzXOutQDtofTp5A_16 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_13 = (NI)0; LOC163 = (NI)0; LOC163 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_13 = (NI)(LOC163 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_9 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_9 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_13)) goto LA165; i_VWu89a4wjzXOutQDtofTp5A_16 = res_OrvJ3pj9aKpP74LFsmzj2EQ_9; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_16]; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 1)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { NI j_Uj4aoPJxv3i9anYWq3LPwGQ_2; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_14; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_10; j_Uj4aoPJxv3i9anYWq3LPwGQ_2 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_14 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_14 = (NI)(L0 - ((NI) 2)); res_OrvJ3pj9aKpP74LFsmzj2EQ_10 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_10 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_14)) goto LA168; j_Uj4aoPJxv3i9anYWq3LPwGQ_2 = res_OrvJ3pj9aKpP74LFsmzj2EQ_10; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ_2]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ_2], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_10 += ((NI) 1); } LA168: ; } } asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_9 += ((NI) 1); } LA165: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100): { { NI i_VWu89a4wjzXOutQDtofTp5A_17; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_15; NI LOC171; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_11; i_VWu89a4wjzXOutQDtofTp5A_17 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_15 = (NI)0; LOC171 = (NI)0; LOC171 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_15 = (NI)(LOC171 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_11 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_11 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_15)) goto LA173; i_VWu89a4wjzXOutQDtofTp5A_17 = res_OrvJ3pj9aKpP74LFsmzj2EQ_11; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_17]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA177; goto LA174; } LA177: ; { NIM_BOOL LOC181; LOC181 = (NIM_BOOL)0; LOC181 = !(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35))); if (!(LOC181)) goto LA182; LOC181 = !(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36))); LA182: ; if (!LOC181) goto LA183; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA183: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { NI j_Uj4aoPJxv3i9anYWq3LPwGQ_3; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_16; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_12; j_Uj4aoPJxv3i9anYWq3LPwGQ_3 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_16 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_16 = (NI)(L0 - ((NI) 3)); res_OrvJ3pj9aKpP74LFsmzj2EQ_12 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC188; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_12 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_16)) goto LA187; j_Uj4aoPJxv3i9anYWq3LPwGQ_3 = res_OrvJ3pj9aKpP74LFsmzj2EQ_12; LOC188 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC188 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ_3]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC188, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8)); res_OrvJ3pj9aKpP74LFsmzj2EQ_12 += ((NI) 1); } LA187: ; } } } LA174: ; res_OrvJ3pj9aKpP74LFsmzj2EQ_11 += ((NI) 1); } LA173: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75): { { NI i_VWu89a4wjzXOutQDtofTp5A_18; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_17; NI LOC191; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_13; i_VWu89a4wjzXOutQDtofTp5A_18 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_17 = (NI)0; LOC191 = (NI)0; LOC191 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_17 = (NI)(LOC191 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_13 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_13 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_17)) goto LA193; i_VWu89a4wjzXOutQDtofTp5A_18 = res_OrvJ3pj9aKpP74LFsmzj2EQ_13; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_18]; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA196; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA196: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); { NI j_Uj4aoPJxv3i9anYWq3LPwGQ_4; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_18; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_14; j_Uj4aoPJxv3i9anYWq3LPwGQ_4 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_18 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_18 = (NI)(L0 - ((NI) 3)); res_OrvJ3pj9aKpP74LFsmzj2EQ_14 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC201; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_14 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_18)) goto LA200; j_Uj4aoPJxv3i9anYWq3LPwGQ_4 = res_OrvJ3pj9aKpP74LFsmzj2EQ_14; LOC201 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC201 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ_4]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC201, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); res_OrvJ3pj9aKpP74LFsmzj2EQ_14 += ((NI) 1); } LA200: ; } } res_OrvJ3pj9aKpP74LFsmzj2EQ_13 += ((NI) 1); } LA193: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 101): { { NI i_VWu89a4wjzXOutQDtofTp5A_19; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_19; NI LOC204; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_15; i_VWu89a4wjzXOutQDtofTp5A_19 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_19 = (NI)0; LOC204 = (NI)0; LOC204 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_19 = (NI)(LOC204 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_15 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_15 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_19)) goto LA206; i_VWu89a4wjzXOutQDtofTp5A_19 = res_OrvJ3pj9aKpP74LFsmzj2EQ_15; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC216; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_19]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA210; goto LA207; } LA210: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA214; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA214: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); LOC216 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC216 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*a0).kindU.S6.sons->data[((NI) 0)]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC216, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[((NI) 1)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[((NI) 2)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); } LA207: ; res_OrvJ3pj9aKpP74LFsmzj2EQ_15 += ((NI) 1); } LA206: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98): { { NI i_VWu89a4wjzXOutQDtofTp5A_20; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_20; NI LOC219; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_16; i_VWu89a4wjzXOutQDtofTp5A_20 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_20 = (NI)0; LOC219 = (NI)0; LOC219 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_20 = (NI)(LOC219 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_16 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_16 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_20)) goto LA221; i_VWu89a4wjzXOutQDtofTp5A_20 = res_OrvJ3pj9aKpP74LFsmzj2EQ_16; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC231; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_20]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA225; goto LA222; } LA225: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA229; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA229: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); LOC231 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC231 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*a0).kindU.S6.sons->data[((NI) 0)]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC231, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); } LA222: ; res_OrvJ3pj9aKpP74LFsmzj2EQ_16 += ((NI) 1); } LA221: ; } } { NI i_VWu89a4wjzXOutQDtofTp5A_21; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_21; NI LOC233; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_17; i_VWu89a4wjzXOutQDtofTp5A_21 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_21 = (NI)0; LOC233 = (NI)0; LOC233 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_21 = (NI)(LOC233 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_17 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_17 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_21)) goto LA235; i_VWu89a4wjzXOutQDtofTp5A_21 = res_OrvJ3pj9aKpP74LFsmzj2EQ_17; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_21]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA239; goto LA236; } LA239: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA243; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA243: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC249; if (!!(((*(*a0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA247; LOC249 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC249 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[((NI) 1)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[((NI) 2)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } goto LA245; LA247: ; { asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[((NI) 2)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); } LA245: ; } LA236: ; res_OrvJ3pj9aKpP74LFsmzj2EQ_17 += ((NI) 1); } LA235: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150): { { NI LOC254; LOC254 = (NI)0; LOC254 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(((NI) 0) < LOC254)) goto LA255; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA259; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 0)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); } LA259: ; { NI i_VWu89a4wjzXOutQDtofTp5A_22; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_22; NI LOC262; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_18; i_VWu89a4wjzXOutQDtofTp5A_22 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_22 = (NI)0; LOC262 = (NI)0; LOC262 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_22 = (NI)(LOC262 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_18 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC268; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC269; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_18 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_22)) goto LA264; i_VWu89a4wjzXOutQDtofTp5A_22 = res_OrvJ3pj9aKpP74LFsmzj2EQ_18; a0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*(*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_22]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 151): { a0 = (*(*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_22]).kindU.S6.sons->data[((NI) 0)]; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_22]; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } LOC268 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC268 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ(a0); LOC269 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC269 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC268, c0); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, LOC269); res_OrvJ3pj9aKpP74LFsmzj2EQ_18 += ((NI) 1); } LA264: ; } } } LA255: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 134): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 135): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA274; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 0)], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); } LA274: ; { NI i_VWu89a4wjzXOutQDtofTp5A_23; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_23; NI LOC277; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_19; i_VWu89a4wjzXOutQDtofTp5A_23 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_23 = (NI)0; LOC277 = (NI)0; LOC277 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_23 = (NI)(LOC277 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_19 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_19 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_23)) goto LA279; i_VWu89a4wjzXOutQDtofTp5A_23 = res_OrvJ3pj9aKpP74LFsmzj2EQ_19; a0 = (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_23]; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA282; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA282: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))], (flags_eCcZIjc9avwiDEbq9aKTSLZg | 2), ctx0)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { NI j_Uj4aoPJxv3i9anYWq3LPwGQ_5; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_24; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_20; j_Uj4aoPJxv3i9anYWq3LPwGQ_5 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_24 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_24 = (NI)(L0 - ((NI) 3)); res_OrvJ3pj9aKpP74LFsmzj2EQ_20 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC287; if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_20 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_24)) goto LA286; j_Uj4aoPJxv3i9anYWq3LPwGQ_5 = res_OrvJ3pj9aKpP74LFsmzj2EQ_20; LOC287 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC287 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*a0).kindU.S6.sons->data[j_Uj4aoPJxv3i9anYWq3LPwGQ_5]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC287, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); res_OrvJ3pj9aKpP74LFsmzj2EQ_20 += ((NI) 1); } LA286: ; } } res_OrvJ3pj9aKpP74LFsmzj2EQ_19 += ((NI) 1); } LA279: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 80): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 82): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 83): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52): { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC294; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC293; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA291; LOC293 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC293 = getidentnode_wWBimsBS4M6UZBvTRDlQTQ((*n0).kindU.S6.sons->data[((NI) 0)]); addtempdecl_zCs4p739b2m9cRi9auRLptiZg(c0, LOC293, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); } LA291: ; LOC294 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC294 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 2)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 3)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA297; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC303; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC304; if (!!(((*(*(*n0).kindU.S6.sons->data[((NI) 3)]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA301; LOC303 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC303 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_45)); LOC304 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC304 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC303, NIM_NIL, (*n0).info); addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw(c0, LOC304); } LA301: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 3)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 3)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); } LA297: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 4)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 4)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); body0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA307; s0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { NIM_BOOL LOC311; LOC311 = (NIM_BOOL)0; LOC311 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0); if (!(LOC311)) goto LA312; LOC311 = ((*s0).ast == NIM_NIL); LA312: ; if (!LOC311) goto LA313; body0 = (*n0).kindU.S6.sons->data[((NI) 6)]; } goto LA309; LA313: ; { body0 = getbody_eMf5HLowckpW9cDxAV9bNIZw(s0); } LA309: ; } goto LA305; LA307: ; { body0 = (*n0).kindU.S6.sons->data[((NI) 6)]; } LA305: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), semgenericstmtscope_okiFfU8LR9apJ5YL9caXd29aA_3(c0, body0, flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[((NI) 1)], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); } break; default: { { NI i_VWu89a4wjzXOutQDtofTp5A_24; NI HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_25; NI LOC321; NI res_OrvJ3pj9aKpP74LFsmzj2EQ_21; i_VWu89a4wjzXOutQDtofTp5A_24 = (NI)0; HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_25 = (NI)0; LOC321 = (NI)0; LOC321 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_25 = (NI)(LOC321 - ((NI) 1)); res_OrvJ3pj9aKpP74LFsmzj2EQ_21 = ((NI) 0); { while (1) { if (!(res_OrvJ3pj9aKpP74LFsmzj2EQ_21 <= HEX3Atmp_zh1j9aN7yhadLeN0vGCzGnA_25)) goto LA323; i_VWu89a4wjzXOutQDtofTp5A_24 = res_OrvJ3pj9aKpP74LFsmzj2EQ_21; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_24]), semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, (*n0).kindU.S6.sons->data[i_VWu89a4wjzXOutQDtofTp5A_24], flags_eCcZIjc9avwiDEbq9aKTSLZg, ctx0)); res_OrvJ3pj9aKpP74LFsmzj2EQ_21 += ((NI) 1); } LA323: ; } } } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericstmt_NBTNEqzl5NBSHnN0VGYkSQ_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Genericctx_ldEK1fsP9cZbQbUrs7bxs0w ctx0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&ctx0), 0, sizeof(ctx0)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.tomixin)); result0 = semgenericstmt_okiFfU8LR9apJ5YL9caXd29aA(c0, n0, 0, (&ctx0)); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maybealiastype_9b8KQ4Nsc7irsi4WSz9bwapQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typeexpr0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*typeexpr0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*typeexpr0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*typeexpr0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); if (!(LOC3)) goto LA4; LOC3 = !((prev0 == NIM_NIL)); LA4: ; if (!LOC3) goto LA5; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, typeexpr0); asgnRefNoCycle((void**) (&(*result0).sym), (*prev0).sym); assigntype_50w9aT349c89bOXl19bOrS5HnA(prev0, result0); } LA5: ; return result0; } static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericinvocation_Owy9bB9b9cn8vzs5zLjRWumoQsem)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = t0; { if (!((*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA3; result0 = (*result0).sons->data[((NI) 0)]; } LA3: ; { while (1) { if (!((*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4))) goto LA6; result0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(result0); } LA6: ; } return result0; } N_NIMCALL(void, addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA4; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_48)); } LA4: ; addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w(c0, check0, pos0, (*n0).kindU.S6.sons->data[((NI) 0)]); { NI i_ka4WLxVE1f6Lqc4CIpDq2g; NI HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g; NI LOC7; NI res_qb2KsM59bjeN1nyrMOhj9bgg; i_ka4WLxVE1f6Lqc4CIpDq2g = (NI)0; HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g = (NI)0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g = (NI)(LOC7 - ((NI) 1)); res_qb2KsM59bjeN1nyrMOhj9bgg = ((NI) 1); { while (1) { if (!(res_qb2KsM59bjeN1nyrMOhj9bgg <= HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g)) goto LA9; i_ka4WLxVE1f6Lqc4CIpDq2g = res_qb2KsM59bjeN1nyrMOhj9bgg; switch ((*(*n0).kindU.S6.sons->data[i_ka4WLxVE1f6Lqc4CIpDq2g]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_ka4WLxVE1f6Lqc4CIpDq2g]); addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w(c0, check0, pos0, LOC11); } break; default: { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_49)); } break; } res_qb2KsM59bjeN1nyrMOhj9bgg += ((NI) 1); } LA9: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_ka4WLxVE1f6Lqc4CIpDq2g_2; NI HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g_2; NI LOC15; NI res_qb2KsM59bjeN1nyrMOhj9bgg_2; i_ka4WLxVE1f6Lqc4CIpDq2g_2 = (NI)0; HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g_2 = (NI)0; LOC15 = (NI)0; LOC15 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g_2 = (NI)(LOC15 - ((NI) 1)); res_qb2KsM59bjeN1nyrMOhj9bgg_2 = ((NI) 0); { while (1) { if (!(res_qb2KsM59bjeN1nyrMOhj9bgg_2 <= HEX3Atmp_IuN9abgFjU2Q3EBoV6wKA7g_2)) goto LA17; i_ka4WLxVE1f6Lqc4CIpDq2g_2 = res_qb2KsM59bjeN1nyrMOhj9bgg_2; addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w(c0, check0, pos0, (*n0).kindU.S6.sons->data[i_ka4WLxVE1f6Lqc4CIpDq2g_2]); res_qb2KsM59bjeN1nyrMOhj9bgg_2 += ((NI) 1); } LA17: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { incl_iUpE9bYmIR0fROyJskQwN8g(check0, (*(*(*n0).kindU.S4.sym).name).Sup.id); (*pos0) += ((NI) 1); } break; default: { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_50)); } break; } } N_NIMCALL(void, addinheritedfields_iR5649a9a9cQVktNRacwZ0CHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0) { { NIM_BOOL LOC3; NI LOC4; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC8; LOC3 = (NIM_BOOL)0; LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(obj0); LOC3 = (((NI) 0) < LOC4); if (!(LOC3)) goto LA5; LOC3 = !(((*obj0).sons->data[((NI) 0)] == NIM_NIL)); LA5: ; if (!LOC3) goto LA6; LOC8 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC8 = skipgenericinvocation_Owy9bB9b9cn8vzs5zLjRWumoQsem((*obj0).sons->data[((NI) 0)]); addinheritedfields_iR5649a9a9cQVktNRacwZ0CHQ(c0, check0, pos0, LOC8); } LA6: ; addinheritedfieldsaux_Tx5KVo1SLYn3aZZczc9cw0w(c0, check0, pos0, (*obj0).n); } static N_INLINE(NIM_BOOL, istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((*(*c0).currentscope).depthlevel <= ((NI) 2)); return result0; } static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { (*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8))); } static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(void, asgnRef)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC5; if (!!((src0 == NIM_NIL))) goto LA3; LOC5 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC5 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC5); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10; if (!!(((*dest0) == NIM_NIL))) goto LA8; LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC10); } LA8: ; (*dest0) = src0; } N_NIMCALL(void, rawpushproccon_bvkA8slTYt1UIXkpYpaKog)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* x0; x0 = (Tproccon_s5jyYR8yL1QmFqiHICzU9aQ*)0; x0 = (Tproccon_s5jyYR8yL1QmFqiHICzU9aQ*) newObj((&NTI_GJ8qR6LTU9bYLzfOArsHTSg), sizeof(Tproccon_s5jyYR8yL1QmFqiHICzU9aQ)); asgnRefNoCycle((void**) (&(*x0).owner), owner0); asgnRef((void**) (&(*x0).next), (*c0).p); asgnRef((void**) (&(*c0).p), x0); } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, findenforcedstatictype_ybd0mLe4g6BC9aX9c4v0CEUw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_z5MX2PKSS3YgPrY5m1guuw) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*t_z5MX2PKSS3YgPrY5m1guuw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA3; result0 = t_z5MX2PKSS3YgPrY5m1guuw; goto BeforeRet; } LA3: ; { if (!((*t_z5MX2PKSS3YgPrY5m1guuw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55))) goto LA7; { Ttype_LTUWCZolpovw9cWE3JBWSUw* s_uR4LIvUpdmBBJIWLmtc1cw; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg; NI i_lbxlq7hGNCVFp9cPuV7ozLQ; NI L_ItTqw5xUdqLRNTm9a60ZfRg; s_uR4LIvUpdmBBJIWLmtc1cw = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg = (*t_z5MX2PKSS3YgPrY5m1guuw).sons; i_lbxlq7hGNCVFp9cPuV7ozLQ = ((NI) 0); L_ItTqw5xUdqLRNTm9a60ZfRg = (HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg ? HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg->Sup.len : 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!(i_lbxlq7hGNCVFp9cPuV7ozLQ < L_ItTqw5xUdqLRNTm9a60ZfRg)) goto LA11; s_uR4LIvUpdmBBJIWLmtc1cw = HEX3Atmp_9cD1n4ckqENkwnkZqovTCCg->data[i_lbxlq7hGNCVFp9cPuV7ozLQ]; t0 = findenforcedstatictype_ybd0mLe4g6BC9aX9c4v0CEUw(s_uR4LIvUpdmBBJIWLmtc1cw); { if (!!((t0 == NIM_NIL))) goto LA14; result0 = t0; goto BeforeRet; } LA14: ; i_lbxlq7hGNCVFp9cPuV7ozLQ += ((NI) 1); } LA11: ; } } } LA7: ; }BeforeRet: ; return result0; } N_NIMCALL(void, addparamorresult_FOp9bL9bFlPARYIAEVRKKiMQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { { Ttype_LTUWCZolpovw9cWE3JBWSUw* statictype0; if (!(kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16))) goto LA3; statictype0 = findenforcedstatictype_ybd0mLe4g6BC9aX9c4v0CEUw((*param0).typ); { Tsym_AXG7xcvKqaxY6koRX1xkCw* a0; if (!!((statictype0 == NIM_NIL))) goto LA7; a0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(param0, NIM_FALSE); asgnRefNoCycle((void**) (&(*a0).typ), base_46gPaVDDGhiU69b2oKDJZuA(statictype0)); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, a0); } goto LA5; LA7: ; { if (!((*(*param0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA10; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, param0); } goto LA5; LA10: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* nn0; Tsym_AXG7xcvKqaxY6koRX1xkCw* a0; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC15; LOC15 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC15 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_60)); if (!!((LOC15 == NIM_NIL))) goto LA16; nn0 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_61)); } goto LA13; LA16: ; { nn0 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_62)); } LA13: ; a0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(param0, NIM_FALSE); asgnRefNoCycle((void**) (&(*a0).typ), (*nn0).typ); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, a0); } LA5: ; } goto LA1; LA3: ; { { if (!!((((*param0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA22; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, param0); } LA22: ; } LA1: ; } N_NIMCALL(void, addresult_IHjwgZPSHiFfjDFWOdBcKw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsymkind_cNCW9acsSznmEccl1fgQwkw owner0) { { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC5; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC6; if (!!((t0 == NIM_NIL))) goto LA3; LOC5 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC5 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_59)); LOC6 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC6 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); s0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11), LOC5, LOC6, info0); asgnRefNoCycle((void**) (&(*s0).typ), t0); (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); addparamorresult_FOp9bL9bFlPARYIAEVRKKiMQ(c0, s0, owner0); asgnRefNoCycle((void**) (&(*(*c0).p).resultsym), s0); } LA3: ; } N_NIMCALL(void, addresultnode_KpXrxZxDEqEzAegpvzmW3g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; if (!!(((*(*c0).p).resultsym == NIM_NIL))) goto LA3; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*c0).p).resultsym); addson_gCCf68XrWL79bKes6htzFjQ(n0, LOC5); } LA3: ; } N_NIMCALL(void, maybeaddresult_bWT3VHZBqg9cw54r2vaGxQQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = !(((*(*s0).typ).sons->data[((NI) 0)] == NIM_NIL)); if (!(LOC3)) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); if (!(LOC5)) goto LA6; LOC5 = !(((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))); LA6: ; LOC3 = !(LOC5); LA4: ; if (!LOC3) goto LA7; addresult_IHjwgZPSHiFfjDFWOdBcKw(c0, (*(*s0).typ).sons->data[((NI) 0)], (*n0).info, (*s0).kind); addresultnode_KpXrxZxDEqEzAegpvzmW3g(c0, n0); } LA7: ; } N_NIMCALL(void, instantiateproctype_rwn7ignMLaWVaYB7Y2Mtsw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Trepltypevars_gMP9b9b8d4Uze3mE5G9aP9afmg cl0; Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* originalparams0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; pushinfocontext_zQWo2MALtrYvLPyMtv28iA(info0); memset((void*)(&cl0), 0, sizeof(cl0)); chckNil((void*)(&cl0)); memset((void*)(&cl0), 0, sizeof(cl0)); inittypevars_B6DfgKqYd3MzIbY05bllqg(c0, pt0, info0, NIM_NIL, (&cl0)); result0 = instcopytype_b9aBYowK1Ij4sKZs0TgWHnA((&cl0), (*prc0).typ); originalparams0 = (*result0).n; asgnRefNoCycle((void**) (&(*result0).n), shallowcopy_lz8T1F9c0YwEOpUnrAUYgjg_3(originalparams0)); { NI i_M0qgxbWSwH9cxTb1VTC3QBQ; NI HEX3Atmp_WsqylDIRWEUwYvZKiy5JWw; NI LOC2; NI res_E7o4oVTeE9cM6YuG9ad9cUchw; i_M0qgxbWSwH9cxTb1VTC3QBQ = (NI)0; HEX3Atmp_WsqylDIRWEUwYvZKiy5JWw = (NI)0; LOC2 = (NI)0; LOC2 = len_gG7hUAX9cA629ahMLVL3xN4w_2(result0); HEX3Atmp_WsqylDIRWEUwYvZKiy5JWw = (LOC2 - 1); res_E7o4oVTeE9cM6YuG9ad9cUchw = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* oldparam0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; if (!(res_E7o4oVTeE9cM6YuG9ad9cUchw <= HEX3Atmp_WsqylDIRWEUwYvZKiy5JWw)) goto LA4; i_M0qgxbWSwH9cxTb1VTC3QBQ = res_E7o4oVTeE9cM6YuG9ad9cUchw; { if (!(((NI) 1) < i_M0qgxbWSwH9cxTb1VTC3QBQ)) goto LA7; resetidtable_9cUS2oaKn1IFXKjLdglPZHQ_2((&cl0.symmap)); resetidtable_9cUS2oaKn1IFXKjLdglPZHQ_2((&cl0.localcache)); } LA7: ; asgnRefNoCycle((void**) (&(*result0).sons->data[i_M0qgxbWSwH9cxTb1VTC3QBQ]), replacetypevarst_0MFAr9a79bLFEM8gy9cdgtELQ((&cl0), (*result0).sons->data[i_M0qgxbWSwH9cxTb1VTC3QBQ])); propagatetoowner_25RD9cAXWAJ2zW7s6mQQfCw(result0, (*result0).sons->data[i_M0qgxbWSwH9cxTb1VTC3QBQ]); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; NimStringDesc* LOC14; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(originalparams0, i_M0qgxbWSwH9cxTb1VTC3QBQ); if (!!(((*LOC11).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12; LOC14 = (NimStringDesc*)0; LOC14 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_58); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC14); } LA12: ; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(originalparams0, i_M0qgxbWSwH9cxTb1VTC3QBQ); oldparam0 = (*LOC15).kindU.S4.sym; param0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(oldparam0, NIM_FALSE); asgnRefNoCycle((void**) (&(*param0).owner), prc0); asgnRefNoCycle((void**) (&(*param0).typ), (*result0).sons->data[i_M0qgxbWSwH9cxTb1VTC3QBQ]); { if (!!(((*oldparam0).ast == NIM_NIL))) goto LA18; asgnRefNoCycle((void**) (&(*param0).ast), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*param0).typ, (*oldparam0).ast)); } LA18: ; asgnRefNoCycle((void**) (&(*(*result0).n).kindU.S6.sons->data[i_M0qgxbWSwH9cxTb1VTC3QBQ]), newsymnode_1ARBpggFQuvUDBVYjBelcw(param0)); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, param0); res_E7o4oVTeE9cM6YuG9ad9cUchw += ((NI) 1); } LA4: ; } } resetidtable_9cUS2oaKn1IFXKjLdglPZHQ_2((&cl0.symmap)); resetidtable_9cUS2oaKn1IFXKjLdglPZHQ_2((&cl0.localcache)); asgnRefNoCycle((void**) (&(*result0).sons->data[((NI) 0)]), replacetypevarst_0MFAr9a79bLFEM8gy9cdgtELQ((&cl0), (*result0).sons->data[((NI) 0)])); LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(originalparams0, ((NI) 0)); asgnRefNoCycle((void**) (&(*(*result0).n).kindU.S6.sons->data[((NI) 0)]), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC20)); erasevoidparams_IjFFjY79a5Qy1exgpfVgQ4g(result0); skipintliteralparams_SWD6AyXwYcQVjtguU79adwQ(result0); asgnRefNoCycle((void**) (&(*prc0).typ), result0); maybeaddresult_bWT3VHZBqg9cw54r2vaGxQQ(c0, prc0, (*prc0).ast); popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); } N_NIMCALL(NIM_BOOL, sameinstantiation_bGmhq9bb8pFOkYidfiwlp5w)(Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA a0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA b0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!((a0.concretetypes ? a0.concretetypes->Sup.len : 0) == (b0.concretetypes ? b0.concretetypes->Sup.len : 0))) goto LA3; { NI i_maUTo3ONE5xgUU23zLEIhw; NI HEX3Atmp_ncih4TxkAKlZ6fByQajUlA; NI res_XK8C7x9bMH6z1udqwRiru6w; i_maUTo3ONE5xgUU23zLEIhw = (NI)0; HEX3Atmp_ncih4TxkAKlZ6fByQajUlA = (NI)0; HEX3Atmp_ncih4TxkAKlZ6fByQajUlA = (a0.concretetypes ? (a0.concretetypes->Sup.len-1) : -1); res_XK8C7x9bMH6z1udqwRiru6w = ((NI) 0); { while (1) { if (!(res_XK8C7x9bMH6z1udqwRiru6w <= HEX3Atmp_ncih4TxkAKlZ6fByQajUlA)) goto LA7; i_maUTo3ONE5xgUU23zLEIhw = res_XK8C7x9bMH6z1udqwRiru6w; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = comparetypes_Wiat9a9c5vPvjDreVawQ2qgA(a0.concretetypes->data[i_maUTo3ONE5xgUU23zLEIhw], b0.concretetypes->data[i_maUTo3ONE5xgUU23zLEIhw], ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 0), 4); if (!!(LOC10)) goto LA11; goto BeforeRet; } LA11: ; res_XK8C7x9bMH6z1udqwRiru6w += ((NI) 1); } LA7: ; } } result0 = NIM_TRUE; } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, genericcacheget_78gU3L89b5rb4P5xYh2ryrQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym0, Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA entry0, NI id0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = HEX3DHEX3D_8Lfd9cW8bn5vR0HyDvQO6Hw((*genericsym0).kindU.S2.procinstcache, NIM_NIL); if (!!(LOC3)) goto LA4; { Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst_ngzzHVBcQtbBxxI5OfZviw; TY_DXS6mEo7PVUFJkirsQ9bNQA* HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw; NI i_GVhL2iTbZj9bVMYr1fIpCnA; NI L_AY8RpKa3GvRp39c9cC9cXdIgQ; inst_ngzzHVBcQtbBxxI5OfZviw = (Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA*)0; HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw = (TY_DXS6mEo7PVUFJkirsQ9bNQA*)0; HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw = (*genericsym0).kindU.S2.procinstcache; i_GVhL2iTbZj9bVMYr1fIpCnA = ((NI) 0); L_AY8RpKa3GvRp39c9cC9cXdIgQ = (HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw ? HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw->Sup.len : 0); { while (1) { if (!(i_GVhL2iTbZj9bVMYr1fIpCnA < L_AY8RpKa3GvRp39c9cC9cXdIgQ)) goto LA8; inst_ngzzHVBcQtbBxxI5OfZviw = HEX3Atmp_vJhIfVTJsXADyqeiZbuzKw->data[i_GVhL2iTbZj9bVMYr1fIpCnA]; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = ((*inst_ngzzHVBcQtbBxxI5OfZviw).compilesid == id0); if (!(LOC11)) goto LA12; LOC11 = sameinstantiation_bGmhq9bb8pFOkYidfiwlp5w(entry0, (*inst_ngzzHVBcQtbBxxI5OfZviw)); LA12: ; if (!LOC11) goto LA13; result0 = (*inst_ngzzHVBcQtbBxxI5OfZviw).sym; goto BeforeRet; } LA13: ; i_GVhL2iTbZj9bVMYr1fIpCnA += ((NI) 1); } LA8: ; } } } LA4: ; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0) { NIM_BOOL result0; NI fmoduleid0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = getmodule_0lPlu1uOok1rRK50z1V70A(f0); fmoduleid0 = (*LOC1).Sup.id; LOC2 = (NIM_BOOL)0; LOC2 = (((*f0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); if (LOC2) goto LA3; LOC2 = (fmoduleid0 == (*(*c0).module).Sup.id); LA3: ; result0 = LOC2; { Tsym_AXG7xcvKqaxY6koRX1xkCw* module_W8Ke1hI9b9bLBFpzkxUtWOZQ; TY_sksVpmPRIkNR9axiwtD1Guw* HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g; NI i_npzQ8UQv9cbzFxOCk5ZY7Hw; NI L_KCapER9aqnRg2ofs0G3tJyQ; module_W8Ke1hI9b9bLBFpzkxUtWOZQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g = (TY_sksVpmPRIkNR9axiwtD1Guw*)0; HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g = (*c0).friendmodules; i_npzQ8UQv9cbzFxOCk5ZY7Hw = ((NI) 0); L_KCapER9aqnRg2ofs0G3tJyQ = (HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g ? HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g->Sup.len : 0); { while (1) { if (!(i_npzQ8UQv9cbzFxOCk5ZY7Hw < L_KCapER9aqnRg2ofs0G3tJyQ)) goto LA6; module_W8Ke1hI9b9bLBFpzkxUtWOZQ = HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g->data[i_npzQ8UQv9cbzFxOCk5ZY7Hw]; { if (!(fmoduleid0 == (*module_W8Ke1hI9b9bLBFpzkxUtWOZQ).Sup.id)) goto LA9; result0 = NIM_TRUE; goto LA4; } LA9: ; i_npzQ8UQv9cbzFxOCk5ZY7Hw += ((NI) 1); } LA6: ; } } LA4: ; return result0; } N_NIMCALL(void, addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_AUjXUhJ29bBT9bdNhHPEqD7w; NI HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q; NI LOC3; NI res_9aXSTsP2N7NoMGrdF0NIDoQ; i_AUjXUhJ29bBT9bdNhHPEqD7w = (NI)0; HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q = (NI)0; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q = (NI)(LOC3 - ((NI) 1)); res_9aXSTsP2N7NoMGrdF0NIDoQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!(res_9aXSTsP2N7NoMGrdF0NIDoQ <= HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q)) goto LA5; i_AUjXUhJ29bBT9bdNhHPEqD7w = res_9aXSTsP2N7NoMGrdF0NIDoQ; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_AUjXUhJ29bBT9bdNhHPEqD7w); addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2(c0, LOC6); res_9aXSTsP2N7NoMGrdF0NIDoQ += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { { NI LOC10; LOC10 = (NI)0; LOC10 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(((NI) 0) < LOC10)) goto LA11; addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); } LA11: ; { NI i_AUjXUhJ29bBT9bdNhHPEqD7w_2; NI HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q_2; NI LOC14; NI res_9aXSTsP2N7NoMGrdF0NIDoQ_2; i_AUjXUhJ29bBT9bdNhHPEqD7w_2 = (NI)0; HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q_2 = (NI)0; LOC14 = (NI)0; LOC14 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q_2 = (NI)(LOC14 - ((NI) 1)); res_9aXSTsP2N7NoMGrdF0NIDoQ_2 = ((NI) 1); { while (1) { if (!(res_9aXSTsP2N7NoMGrdF0NIDoQ_2 <= HEX3Atmp_TsaAZPp9bWxomMzQEJ4HY2Q_2)) goto LA16; i_AUjXUhJ29bBT9bdNhHPEqD7w_2 = res_9aXSTsP2N7NoMGrdF0NIDoQ_2; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23; LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_AUjXUhJ29bBT9bdNhHPEqD7w_2); if (!((*LOC19).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85) || (*LOC19).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA20; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_AUjXUhJ29bBT9bdNhHPEqD7w_2); LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC23 = lastson_esDJA7239bJDiq4UrX9aHCjg(LOC22); addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2(c0, LOC23); } LA20: ; res_9aXSTsP2N7NoMGrdF0NIDoQ_2 += ((NI) 1); } LA16: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; f0 = (*n0).kindU.S4.sym; { NIM_BOOL LOC27; NIM_BOOL LOC31; LOC27 = (NIM_BOOL)0; LOC27 = ((*f0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18)); if (!(LOC27)) goto LA28; LOC27 = fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch(c0, f0); LA28: ; if (!LOC27) goto LA29; LOC31 = (NIM_BOOL)0; LOC31 = strtableincl_ZkoOMnVPhudcLs4AfKupyg((&(*(*c0).currentscope).symbols), f0, NIM_TRUE); (*f0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); } LA29: ; } break; default: { } break; } } N_NIMCALL(void, rawhandleself_bvkA8slTYt1UIXkpYpaKog_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { { NIM_BOOL LOC3; NIM_BOOL LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* params0; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = !(((*c0).selfname == NIM_NIL)); if (!(LOC4)) goto LA5; LOC4 = ((126976 &(1U<<((NU)((*owner0).kind)&31U)))!=0); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC3 = !(((*owner0).typ == NIM_NIL)); LA6: ; if (!LOC3) goto LA7; params0 = (*(*owner0).typ).n; { NI LOC11; Tsym_AXG7xcvKqaxY6koRX1xkCw* arg0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; LOC11 = (NI)0; LOC11 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); if (!(((NI) 1) < LOC11)) goto LA12; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, ((NI) 1)); arg0 = (*LOC14).kindU.S4.sym; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!((*(*arg0).name).Sup.id == (*(*c0).selfname).Sup.id)) goto LA17; asgnRefNoCycle((void**) (&(*(*c0).p).selfsym), arg0); (*arg0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))%(sizeof(NU32)*8)); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*(*c0).p).selfsym).typ, 14723344); { while (1) { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA20; addobjfieldstolocalscope_KpXrxZxDEqEzAegpvzmW3g_2(c0, (*t0).n); { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA23; goto LA19; } LA23: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); } LA20: ; } LA19: ; } LA17: ; } LA12: ; } LA7: ; } N_NIMCALL(void, freshgensyms_bFJbycFDZ3XpUVhXiArocA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tsym_AXG7xcvKqaxY6koRX1xkCw* orig0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* symmap0) { { NIM_BOOL LOC3; NIM_BOOL LOC4; NIM_BOOL LOC7; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tsym_AXG7xcvKqaxY6koRX1xkCw* x0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC11; TNimObject* LOC12; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC4)) goto LA5; LOC4 = (((*(*n0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC7 = (NIM_BOOL)0; LOC7 = ((*(*n0).kindU.S4.sym).owner == orig0); if (LOC7) goto LA8; LOC7 = ((*(*(*n0).kindU.S4.sym).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 23)); LA8: ; LOC3 = LOC7; LA6: ; if (!LOC3) goto LA9; s0 = (*n0).kindU.S4.sym; LOC11 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC11 = &s0->Sup; LOC12 = (TNimObject*)0; LOC12 = idtableget_D12lVDWWPrKae8szg3EYLw((*symmap0), LOC11); x0 = ((Tsym_AXG7xcvKqaxY6koRX1xkCw*) (LOC12)); { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC17; TNimObject* LOC18; if (!(x0 == NIM_NIL)) goto LA15; x0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(s0, NIM_FALSE); asgnRefNoCycle((void**) (&(*x0).owner), owner0); LOC17 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC17 = &s0->Sup; LOC18 = (TNimObject*)0; LOC18 = &x0->Sup.Sup; idtableput_3gLsywwJ9bZDaf06DfKpYbw(symmap0, LOC17, LOC18); } LA15: ; asgnRefNoCycle((void**) (&(*n0).kindU.S4.sym), x0); } goto LA1; LA9: ; { { NI i_W9a8qEMjNY6BnwOnSbZtCDQ; NI HEX3Atmp_MaxU9aiE8uu9b8t6N1TmtuLg; NI LOC21; NI res_wc69aqqWBtoaS9coOKUI1fNw; i_W9a8qEMjNY6BnwOnSbZtCDQ = (NI)0; HEX3Atmp_MaxU9aiE8uu9b8t6N1TmtuLg = (NI)0; LOC21 = (NI)0; LOC21 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_MaxU9aiE8uu9b8t6N1TmtuLg = (LOC21 - 1); res_wc69aqqWBtoaS9coOKUI1fNw = ((NI) 0); { while (1) { if (!(res_wc69aqqWBtoaS9coOKUI1fNw <= HEX3Atmp_MaxU9aiE8uu9b8t6N1TmtuLg)) goto LA23; i_W9a8qEMjNY6BnwOnSbZtCDQ = res_wc69aqqWBtoaS9coOKUI1fNw; freshgensyms_bFJbycFDZ3XpUVhXiArocA((*n0).kindU.S6.sons->data[i_W9a8qEMjNY6BnwOnSbZtCDQ], owner0, orig0, symmap0); res_wc69aqqWBtoaS9coOKUI1fNw += ((NI) 1); } LA23: ; } } } LA1: ; } 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(NIM_BOOL, istypeexpr_J6cfuIanCXYEsLNE8M8o9cQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132): { result0 = NIM_TRUE; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); } break; default: { result0 = NIM_FALSE; } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, readtypeparameter_TvQjUVfPN0Fx1AnuRaAIWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tident_4umxGerWTHGPwUms7Yqu3g* paramname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* ty0; Ttype_LTUWCZolpovw9cWE3JBWSUw* tbody0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA3; ty0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(typ0); } goto LA1; LA3: ; { { NimStringDesc* LOC10; if (!!(((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54)))) goto LA8; LOC10 = (NimStringDesc*)0; LOC10 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_64); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC10); } LA8: ; ty0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3((*typ0).sons->data[((NI) 1)]); } LA1: ; tbody0 = (*ty0).sons->data[((NI) 0)]; { NI s_R76W1pOe8KUwrLZYCKF6Hg; NI HEX3Atmp_QcGH9b8r3etdnq6LpbG2FDA; NI LOC12; NI res_eobwcRpgXKQkwIUH3fgvsQ; s_R76W1pOe8KUwrLZYCKF6Hg = (NI)0; HEX3Atmp_QcGH9b8r3etdnq6LpbG2FDA = (NI)0; LOC12 = (NI)0; LOC12 = len_gG7hUAX9cA629ahMLVL3xN4w_2(tbody0); HEX3Atmp_QcGH9b8r3etdnq6LpbG2FDA = (NI)(LOC12 - ((NI) 2)); res_eobwcRpgXKQkwIUH3fgvsQ = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* tparam0; if (!(res_eobwcRpgXKQkwIUH3fgvsQ <= HEX3Atmp_QcGH9b8r3etdnq6LpbG2FDA)) goto LA14; s_R76W1pOe8KUwrLZYCKF6Hg = res_eobwcRpgXKQkwIUH3fgvsQ; tparam0 = (*tbody0).sons->data[s_R76W1pOe8KUwrLZYCKF6Hg]; { Ttype_LTUWCZolpovw9cWE3JBWSUw* rawtyp0; if (!((*(*(*tparam0).sym).name).Sup.id == (*paramname0).Sup.id)) goto LA17; rawtyp0 = (*ty0).sons->data[(NI)(s_R76W1pOe8KUwrLZYCKF6Hg + ((NI) 1))]; { if (!((*rawtyp0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA21; result0 = (*rawtyp0).n; goto BeforeRet; } goto LA19; LA21: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* foundtyp0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC24; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC25; foundtyp0 = maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, rawtyp0); LOC24 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC24 = copysym_KkocQl2VXhKLz8kG9aC7GEw((*tparam0).sym, NIM_FALSE); LOC25 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC25 = linkto_b9b70m1Lgc2LtJbgX5XIacw(LOC24, foundtyp0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(LOC25, info0); goto BeforeRet; } LA19: ; } LA17: ; res_eobwcRpgXKQkwIUH3fgvsQ += ((NI) 1); } LA14: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createsettype_plHcQPiBH1JTCciuvfL1cg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* basetype0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, basetype0); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* r0, Tident_4umxGerWTHGPwUms7Yqu3g* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw** check0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; result0 = NIM_NIL; switch ((*r0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_VvMBw8sP88pUXcse0WR4PQ; NI HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ; NI LOC3; NI res_Xr3a9bk9bbIoWQc30KbOozCg; i_VvMBw8sP88pUXcse0WR4PQ = (NI)0; HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(r0); HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ = (NI)(LOC3 - ((NI) 1)); res_Xr3a9bk9bbIoWQc30KbOozCg = ((NI) 0); { while (1) { if (!(res_Xr3a9bk9bbIoWQc30KbOozCg <= HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ)) goto LA5; i_VvMBw8sP88pUXcse0WR4PQ = res_Xr3a9bk9bbIoWQc30KbOozCg; result0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, (*r0).kindU.S6.sons->data[i_VvMBw8sP88pUXcse0WR4PQ], field0, check0); { if (!!((result0 == NIM_NIL))) goto LA8; goto BeforeRet; } LA8: ; res_Xr3a9bk9bbIoWQc30KbOozCg += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { Ttype_LTUWCZolpovw9cWE3JBWSUw* settype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* s0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(r0, ((NI) 2)); { if (!!(((*(*r0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13; illformedast_DpsImAn3UbwOKcZFm2pVSg(r0); } LA13: ; result0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, (*r0).kindU.S6.sons->data[((NI) 0)], field0, check0); { if (!!((result0 == NIM_NIL))) goto LA17; goto BeforeRet; } LA17: ; settype0 = createsettype_plHcQPiBH1JTCciuvfL1cg(c0, (*(*r0).kindU.S6.sons->data[((NI) 0)]).typ); s0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39), (*r0).info, settype0); { NI i_VvMBw8sP88pUXcse0WR4PQ_2; NI HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_2; NI LOC20; NI res_Xr3a9bk9bbIoWQc30KbOozCg_2; i_VvMBw8sP88pUXcse0WR4PQ_2 = (NI)0; HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_2 = (NI)0; LOC20 = (NI)0; LOC20 = sonslen_qPWPHw7WgJeEVYUdcaRIig(r0); HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_2 = (NI)(LOC20 - ((NI) 1)); res_Xr3a9bk9bbIoWQc30KbOozCg_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_Xr3a9bk9bbIoWQc30KbOozCg_2 <= HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_2)) goto LA22; i_VvMBw8sP88pUXcse0WR4PQ_2 = res_Xr3a9bk9bbIoWQc30KbOozCg_2; it0 = (*r0).kindU.S6.sons->data[i_VvMBw8sP88pUXcse0WR4PQ_2]; switch ((*it0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24; LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC24 = lastson_esDJA7239bJDiq4UrX9aHCjg(it0); result0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, LOC24, field0, check0); { if (!(result0 == NIM_NIL)) goto LA27; { NI j_dbMehAafL9cVu9cB017fPhvg; NI HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_3; NI LOC30; NI res_Xr3a9bk9bbIoWQc30KbOozCg_3; j_dbMehAafL9cVu9cB017fPhvg = (NI)0; HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_3 = (NI)0; LOC30 = (NI)0; LOC30 = sonslen_qPWPHw7WgJeEVYUdcaRIig(it0); HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_3 = (NI)(LOC30 - ((NI) 2)); res_Xr3a9bk9bbIoWQc30KbOozCg_3 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; if (!(res_Xr3a9bk9bbIoWQc30KbOozCg_3 <= HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_3)) goto LA32; j_dbMehAafL9cVu9cB017fPhvg = res_Xr3a9bk9bbIoWQc30KbOozCg_3; LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*it0).kindU.S6.sons->data[j_dbMehAafL9cVu9cB017fPhvg]); addson_gCCf68XrWL79bKes6htzFjQ(s0, LOC33); res_Xr3a9bk9bbIoWQc30KbOozCg_3 += ((NI) 1); } LA32: ; } } } goto LA25; LA27: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* inexpr0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC44; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC45; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC46; { if (!((*check0) == NIM_NIL)) goto LA37; unsureAsgnRef((void**) (&(*check0)), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n0).info)); addson_gCCf68XrWL79bKes6htzFjQ((*check0), emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA37: ; s0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n0).info, settype0); { NI j_dbMehAafL9cVu9cB017fPhvg_2; NI HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_4; NI LOC40; NI res_Xr3a9bk9bbIoWQc30KbOozCg_4; j_dbMehAafL9cVu9cB017fPhvg_2 = (NI)0; HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_4 = (NI)0; LOC40 = (NI)0; LOC40 = sonslen_qPWPHw7WgJeEVYUdcaRIig(it0); HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_4 = (NI)(LOC40 - ((NI) 2)); res_Xr3a9bk9bbIoWQc30KbOozCg_4 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; if (!(res_Xr3a9bk9bbIoWQc30KbOozCg_4 <= HEX3Atmp_k6kLScoJ9b9bffrfYkUC1HbQ_4)) goto LA42; j_dbMehAafL9cVu9cB017fPhvg_2 = res_Xr3a9bk9bbIoWQc30KbOozCg_4; LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*it0).kindU.S6.sons->data[j_dbMehAafL9cVu9cB017fPhvg_2]); addson_gCCf68XrWL79bKes6htzFjQ(s0, LOC43); res_Xr3a9bk9bbIoWQc30KbOozCg_4 += ((NI) 1); } LA42: ; } } LOC44 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC44 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); inexpr0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC44); LOC45 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC45 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(opcontains_fo9avnO4EeI9a0JW1JwmdMJA, (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, LOC45); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, s0); LOC46 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC46 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*r0).kindU.S6.sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, LOC46); addson_gCCf68XrWL79bKes6htzFjQ((*check0), inexpr0); goto BeforeRet; } LA25: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC48; LOC48 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC48 = lastson_esDJA7239bJDiq4UrX9aHCjg(it0); result0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, LOC48, field0, check0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* inexpr0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC57; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC58; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC59; Tnode_bROa11lyF5vxEN9aYNbHmhw* notexpr0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC60; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; if (!!((result0 == NIM_NIL))) goto LA51; { if (!((*check0) == NIM_NIL)) goto LA55; unsureAsgnRef((void**) (&(*check0)), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n0).info)); addson_gCCf68XrWL79bKes6htzFjQ((*check0), emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA55: ; LOC57 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC57 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); inexpr0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC57); LOC58 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC58 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(opcontains_fo9avnO4EeI9a0JW1JwmdMJA, (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, LOC58); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, s0); LOC59 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC59 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*r0).kindU.S6.sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(inexpr0, LOC59); LOC60 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC60 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); notexpr0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC60); LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(opnot_2zvmXY9boCxoQRE3yP6cC2g, (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(notexpr0, LOC61); addson_gCCf68XrWL79bKes6htzFjQ(notexpr0, inexpr0); addson_gCCf68XrWL79bKes6htzFjQ((*check0), notexpr0); goto BeforeRet; } LA51: ; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(it0); } break; } res_Xr3a9bk9bbIoWQc30KbOozCg_2 += ((NI) 1); } LA22: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { { if (!((*(*(*r0).kindU.S4.sym).name).Sup.id == (*field0).Sup.id)) goto LA66; result0 = (*r0).kindU.S4.sym; } LA66: ; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, makederef_nRsa9acFWDI6GmzVZLXX3CQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 2064); result0 = n0; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA3; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n0).info, (*t0).sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 2064); } LA3: ; { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* basetyp0; if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA6; a0 = result0; basetyp0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n0).info, basetyp0); addson_gCCf68XrWL79bKes6htzFjQ(result0, a0); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(basetyp0, 2064); } LA6: ; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, builtinfieldaccess_tayBCUAEli3HMPwxdS9aMbg_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tident_4umxGerWTHGPwUms7Yqu3g* i0; Ttype_LTUWCZolpovw9cWE3JBWSUw* ty0; Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; Tnode_bROa11lyF5vxEN9aYNbHmhw* check0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n0, 7); { if (!!((s0 == NIM_NIL))) goto LA3; { if (!((258112 &(1U<<((NU)((*s0).kind)&31U)))!=0)) goto LA7; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11; result0 = semsym_InSQ3LpBhnCqFgw1Hbb18Q(c0, n0, s0, flags0); } LA11: ; } goto LA5; LA7: ; { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, s0); result0 = semsym_InSQ3LpBhnCqFgw1Hbb18Q(c0, n0, s0, flags0); } LA5: ; goto BeforeRet; } LA3: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], (flags0 | 32))); i0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[((NI) 1)]); ty0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ; f0 = NIM_NIL; result0 = NIM_NIL; { NIM_BOOL LOC16; NIM_BOOL LOC18; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC20; LOC16 = (NIM_BOOL)0; LOC16 = istypeexpr_J6cfuIanCXYEsLNE8M8o9cQ_2((*n0).kindU.S6.sons->data[((NI) 0)]); if (LOC16) goto LA17; LOC18 = (NIM_BOOL)0; LOC18 = ((*ty0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); if (!(LOC18)) goto LA19; LOC20 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC20 = base_46gPaVDDGhiU69b2oKDJZuA(ty0); LOC18 = !(((*LOC20).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))); LA19: ; LOC16 = LOC18; LA17: ; if (!LOC16) goto LA21; { if (!((*ty0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA25; ty0 = base_46gPaVDDGhiU69b2oKDJZuA(ty0); } LA25: ; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ty0, 14680080); switch ((*ty0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { { while (1) { if (!!((ty0 == NIM_NIL))) goto LA29; f0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*ty0).n, i0, ((NI) 0)); { if (!!((f0 == NIM_NIL))) goto LA32; goto LA28; } LA32: ; ty0 = (*ty0).sons->data[((NI) 0)]; } LA29: ; } LA28: ; { if (!!((f0 == NIM_NIL))) goto LA36; result0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(f0); (*result0).info = (*n0).info; asgnRefNoCycle((void**) (&(*result0).typ), ty0); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, f0); goto BeforeRet; } LA36: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): { result0 = readtypeparameter_TvQjUVfPN0Fx1AnuRaAIWg(c0, ty0, i0, (*n0).info); goto BeforeRet; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { NIM_BOOL LOC42; LOC42 = (NIM_BOOL)0; LOC42 = !(((*ty0).n == NIM_NIL)); if (!(LOC42)) goto LA43; LOC42 = ((*(*ty0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138)); LA43: ; if (!LOC42) goto LA44; { Tnode_bROa11lyF5vxEN9aYNbHmhw* field_3XgYy43sUOFVNy9cPs0lReQ; Tnode_bROa11lyF5vxEN9aYNbHmhw* HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ; field_3XgYy43sUOFVNy9cPs0lReQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ = (*ty0).n; { NI i_L56a3vPOQ1Nok3LyE8SZxQ; NI HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ_2; NI LOC48; NI res_EysUnOd8Ieuy5fYt49b7aEg; i_L56a3vPOQ1Nok3LyE8SZxQ = (NI)0; HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ_2 = (NI)0; LOC48 = (NI)0; LOC48 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ); HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ_2 = (LOC48 - 1); res_EysUnOd8Ieuy5fYt49b7aEg = ((NI) 0); { while (1) { if (!(res_EysUnOd8Ieuy5fYt49b7aEg <= HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ_2)) goto LA50; i_L56a3vPOQ1Nok3LyE8SZxQ = res_EysUnOd8Ieuy5fYt49b7aEg; field_3XgYy43sUOFVNy9cPs0lReQ = (*HEX3Atmp_rMMeAQgRwAZi3xn8cqA9bsQ).kindU.S6.sons->data[i_L56a3vPOQ1Nok3LyE8SZxQ]; { TY_zuqP4Riz26Oi5fWgPYVEgA* LOC55; TY_7uDK9cfu1yI54pcmOBIy9aqg LOC56; if (!((*(*field_3XgYy43sUOFVNy9cPs0lReQ).kindU.S4.sym).name == i0)) goto LA53; LOC55 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC55 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 2); memset((void*)LOC56, 0, sizeof(LOC56)); LOC56[0] = ty0; LOC56[1] = (*(*field_3XgYy43sUOFVNy9cPs0lReQ).kindU.S4.sym).typ; asgnRefNoCycle((void**) (&LOC55->data[0]), LOC56[0]); asgnRefNoCycle((void**) (&LOC55->data[1]), LOC56[1]); asgnRefNoCycle((void**) (&(*n0).typ), newtypewithsons_7xhH3IRNjYY0XJGePt8pLA(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61), LOC55)); asgnRefNoCycle((void**) (&(*(*n0).typ).n), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0)); result0 = n0; goto BeforeRet; } LA53: ; res_EysUnOd8Ieuy5fYt49b7aEg += ((NI) 1); } LA50: ; } } } } LA44: ; } break; default: { goto BeforeRet; } break; } ty0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ; result0 = NIM_NIL; goto BeforeRet; } LA21: ; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ty0, 14682128); { while (1) { if (!(((*ty0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 27))&31U)))!=0)) goto LA59; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ty0, 8192); } LA59: ; } check0 = NIM_NIL; { if (!((*ty0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA62; { while (1) { check0 = NIM_NIL; f0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, (*ty0).n, i0, &check0); { if (!!((f0 == NIM_NIL))) goto LA68; goto LA64; } LA68: ; { if (!((*ty0).sons->data[((NI) 0)] == NIM_NIL)) goto LA72; goto LA64; } LA72: ; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*ty0).sons->data[((NI) 0)], 14682384); } } LA64: ; { if (!!((f0 == NIM_NIL))) goto LA76; { NIM_BOOL LOC80; LOC80 = (NIM_BOOL)0; LOC80 = fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch(c0, f0); if (!LOC80) goto LA81; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, f0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), makederef_nRsa9acFWDI6GmzVZLXX3CQ((*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(f0)); asgnRefNoCycle((void**) (&(*n0).typ), (*f0).typ); { if (!(check0 == NIM_NIL)) goto LA85; result0 = n0; } goto LA83; LA85: ; { asgnRefNoCycle((void**) (&(*check0).kindU.S6.sons->data[((NI) 0)]), n0); asgnRefNoCycle((void**) (&(*check0).typ), (*n0).typ); result0 = check0; } LA83: ; } LA81: ; } LA76: ; } goto LA60; LA62: ; { NIM_BOOL LOC89; LOC89 = (NIM_BOOL)0; LOC89 = ((*ty0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC89)) goto LA90; LOC89 = !(((*ty0).n == NIM_NIL)); LA90: ; if (!LOC89) goto LA91; f0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*ty0).n, i0, ((NI) 0)); { if (!!((f0 == NIM_NIL))) goto LA95; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, f0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), makederef_nRsa9acFWDI6GmzVZLXX3CQ((*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(f0)); asgnRefNoCycle((void**) (&(*n0).typ), (*f0).typ); result0 = n0; } LA95: ; } goto LA60; LA91: ; LA60: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!(result0 == NIM_NIL)) goto LA99; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 14680080); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54))) goto LA103; result0 = readtypeparameter_TvQjUVfPN0Fx1AnuRaAIWg(c0, t0, i0, (*n0).info); } LA103: ; } LA99: ; }BeforeRet: ; return result0; } static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) { (*dest0).data[((*dest0).Sup.len)- 0] = c0; (*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0; (*dest0).Sup.len += ((NI) 1); } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupmacro_RiNpYDzSB8OUnjHue9b4s2g_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3; result0 = (*n0).kindU.S4.sym; { if (!!(((196608 &(1U<<((NU)((*result0).kind)&31U)))!=0))) goto LA7; result0 = NIM_NIL; } LA7: ; } goto LA1; LA3: ; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC10; LOC10 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC10 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); result0 = searchinscopes_kxXHmjdxa9arjdS9cPDK45zg(c0, LOC10, 196608); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copyexcept_snlvQwXgyq2kcUxt2HHdjw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); { NI j_TkFHGrkkhX0LNEsBAHKTIg; NI HEX3Atmp_r1jIy9cyoZl7g8waNxK72xw; NI LOC2; NI res_dA27eLyDs9afSdnh1HdotSA; j_TkFHGrkkhX0LNEsBAHKTIg = (NI)0; HEX3Atmp_r1jIy9cyoZl7g8waNxK72xw = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_r1jIy9cyoZl7g8waNxK72xw = (LOC2 - 1); res_dA27eLyDs9afSdnh1HdotSA = ((NI) 0); { while (1) { if (!(res_dA27eLyDs9afSdnh1HdotSA <= HEX3Atmp_r1jIy9cyoZl7g8waNxK72xw)) goto LA4; j_TkFHGrkkhX0LNEsBAHKTIg = res_dA27eLyDs9afSdnh1HdotSA; { if (!!((j_TkFHGrkkhX0LNEsBAHKTIg == i0))) goto LA7; add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*n0).kindU.S6.sons->data[j_TkFHGrkkhX0LNEsBAHKTIg]); } LA7: ; res_dA27eLyDs9afSdnh1HdotSA += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocannotation_csqD9cOcsNb9cr0UKA0e9bfxg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* prc0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; n0 = (*prc0).kindU.S6.sons->data[((NI) 4)]; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (n0 == NIM_NIL); if (LOC3) goto LA4; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; { NI i_zKkiuxMmpdzUXAQiMj9chDA; NI HEX3Atmp_YRQe9cQI7e7Fx9bmqLgtMzfQ; NI LOC8; NI res_MZkT5kDkQeBNlhoZnEwENQ; i_zKkiuxMmpdzUXAQiMj9chDA = (NI)0; HEX3Atmp_YRQe9cQI7e7Fx9bmqLgtMzfQ = (NI)0; LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_YRQe9cQI7e7Fx9bmqLgtMzfQ = (LOC8 - 1); res_MZkT5kDkQeBNlhoZnEwENQ = ((NI) 0); { while (1) { if (!(res_MZkT5kDkQeBNlhoZnEwENQ <= HEX3Atmp_YRQe9cQI7e7Fx9bmqLgtMzfQ)) goto LA10; i_zKkiuxMmpdzUXAQiMj9chDA = res_MZkT5kDkQeBNlhoZnEwENQ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; Tnode_bROa11lyF5vxEN9aYNbHmhw* key0; Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; it0 = (*n0).kindU.S6.sons->data[i_zKkiuxMmpdzUXAQiMj9chDA]; { if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA14; key0 = (*it0).kindU.S6.sons->data[((NI) 0)]; } goto LA12; LA14: ; { key0 = it0; } LA12: ; m0 = lookupmacro_RiNpYDzSB8OUnjHue9b4s2g_2(c0, key0); { if (!(m0 == NIM_NIL)) goto LA19; { NIM_BOOL LOC23; LOC23 = (NIM_BOOL)0; LOC23 = ((*key0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); if (!(LOC23)) goto LA24; LOC23 = ((*(*key0).kindU.S5.ident).Sup.id == ((NI) 90)); LA24: ; if (!LOC23) goto LA25; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC29; LOC29 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC29 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*prc0).kindU.S6.sons->data[((NI) 0)]); if (!eqStrings((*LOC29).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_66))) goto LA30; asgnRefNoCycle((void**) (&(*prc0).kindU.S6.sons->data[((NI) 0)]), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ((*(*c0).cache).iddelegator, (*prc0).info)); asgnRefNoCycle((void**) (&(*prc0).kindU.S6.sons->data[((NI) 4)]), copyexcept_snlvQwXgyq2kcUxt2HHdjw(n0, i_zKkiuxMmpdzUXAQiMj9chDA)); } goto LA27; LA30: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*prc0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 203), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA27: ; } LA25: ; goto LA11; } LA19: ; x0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = newsymnode_1ARBpggFQuvUDBVYjBelcw(m0); add_gCCf68XrWL79bKes6htzFjQ_3(x0, LOC33); asgnRefNoCycle((void**) (&(*prc0).kindU.S6.sons->data[((NI) 4)]), copyexcept_snlvQwXgyq2kcUxt2HHdjw(n0, i_zKkiuxMmpdzUXAQiMj9chDA)); { if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA36; add_gCCf68XrWL79bKes6htzFjQ_3(x0, (*it0).kindU.S6.sons->data[((NI) 1)]); } LA36: ; add_gCCf68XrWL79bKes6htzFjQ_3(x0, prc0); result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, x0); { NIM_BOOL LOC40; NIM_BOOL LOC41; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC45; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC48; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC49; LOC40 = (NIM_BOOL)0; LOC41 = (NIM_BOOL)0; LOC41 = ((*result0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*result0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*result0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79) && (*result0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84)); if (!(LOC41)) goto LA42; LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, ((NI) 0)); LOC41 = ((*LOC43).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA42: ; LOC40 = LOC41; if (!(LOC40)) goto LA44; LOC45 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC45 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, ((NI) 4)); LOC40 = !(((*LOC45).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); LA44: ; if (!LOC40) goto LA46; LOC48 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC48 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, ((NI) 0)); LOC49 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC49 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, ((NI) 4)); pragma_7200QCbjfWhEBN4qPDke4w(c0, (*LOC48).kindU.S4.sym, LOC49, validpragmas0); } LA46: ; goto BeforeRet; } LA11: ; res_MZkT5kDkQeBNlhoZnEwENQ += ((NI) 1); } LA10: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentvis_nAR1sRY4lA5SigHzFvAJYw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set allowed0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA3; { NI LOC7; Tident_4umxGerWTHGPwUms7Yqu3g* v0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC7 == ((NI) 2))) goto LA8; result0 = newsymg_4zMCRU3VuII34h7KWa4igg(kind0, (*n0).kindU.S6.sons->data[((NI) 1)], c0); v0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[((NI) 0)]); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = ((allowed0 &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); if (!(LOC12)) goto LA13; LOC12 = ((*v0).Sup.id == ((NI) 76)); LA13: ; if (!LOC12) goto LA14; (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))%(sizeof(NU32)*8)); } goto LA10; LA14: ; { { if (!!(((allowed0 &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0))) goto LA19; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_67)); } goto LA17; LA19: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; NimStringDesc* LOC23; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC23 = (NimStringDesc*)0; LOC23 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC22, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 177), LOC23); } LA17: ; } LA10: ; } goto LA5; LA8: ; { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA5: ; } goto LA1; LA3: ; { result0 = newsymg_4zMCRU3VuII34h7KWa4igg(kind0, n0, c0); } LA1: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentwithpragma_nAR1sRY4lA5SigHzFvAJYw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set allowed0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = semidentvis_nAR1sRY4lA5SigHzFvAJYw_2(c0, kind0, (*n0).kindU.S6.sons->data[((NI) 0)], allowed0); switch (kind0) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18): { pragma_7200QCbjfWhEBN4qPDke4w(c0, result0, (*n0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_68); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8): { pragma_7200QCbjfWhEBN4qPDke4w(c0, result0, (*n0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_69); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9): { pragma_7200QCbjfWhEBN4qPDke4w(c0, result0, (*n0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_69); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10): { pragma_7200QCbjfWhEBN4qPDke4w(c0, result0, (*n0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_70); } break; default: { } break; } } goto LA1; LA3: ; { result0 = semidentvis_nAR1sRY4lA5SigHzFvAJYw_2(c0, kind0, n0, allowed0); } LA1: ; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 8))) goto LA14; } LA14: ; return result0; } static N_INLINE(void, suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL isdecl0) { } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, semidentdef_qqiCDzCWiApL1VOjVbfHrw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!LOC3) goto LA4; result0 = semidentwithpragma_nAR1sRY4lA5SigHzFvAJYw(c0, kind0, n0, 2); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8)); } goto LA1; LA4: ; { result0 = semidentwithpragma_nAR1sRY4lA5SigHzFvAJYw(c0, kind0, n0, 0); { if (!((*(*result0).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA9; (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8)); } LA9: ; } LA1: ; suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem((*n0).info, result0, NIM_TRUE); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semgenericconstraints_5ooSsK0APtGEtU9bQWYt5IA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* x0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC1; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC2; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC1 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC2, 0, sizeof(LOC2)); LOC2[0] = x0; asgnRefNoCycle((void**) (&LOC1->data[0]), LOC2[0]); result0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12), LOC1); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semgenericparamlist_FHnQxPg6tiMHsFOOdAhreA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* father0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); goto BeforeRet; } LA3: ; { NI i_vU0f889aPOWDs5eTK5sttEA; NI HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA; NI LOC6; NI res_fNNjtwz4uG7oKAIr9bOXsPA; i_vU0f889aPOWDs5eTK5sttEA = (NI)0; HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA = (NI)0; LOC6 = (NI)0; LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA = (NI)(LOC6 - ((NI) 1)); res_fNNjtwz4uG7oKAIr9bOXsPA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; NI LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint0; NI LOC20; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; if (!(res_fNNjtwz4uG7oKAIr9bOXsPA <= HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA)) goto LA8; i_vU0f889aPOWDs5eTK5sttEA = res_fNNjtwz4uG7oKAIr9bOXsPA; a0 = (*n0).kindU.S6.sons->data[i_vU0f889aPOWDs5eTK5sttEA]; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA11; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA11: ; L0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); LOC13 = (NI)0; { if (!NIM_FALSE) goto LA16; LOC13 = ((NI) -1); } goto LA14; LA16: ; { NI LOC19; LOC19 = (NI)0; LOC19 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); LOC13 = (NI)(LOC19 + ((NI) -1)); } LA14: ; def0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, LOC13); LOC20 = (NI)0; { if (!NIM_FALSE) goto LA23; LOC20 = ((NI) -2); } goto LA21; LA23: ; { NI LOC26; LOC26 = (NI)0; LOC26 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); LOC20 = (NI)(LOC26 + ((NI) -2)); } LA21: ; constraint0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, LOC20); typ0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!(((*constraint0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, constraint0, NIM_NIL); { NIM_BOOL LOC33; NI LOC35; LOC33 = (NIM_BOOL)0; LOC33 = !(((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))); if (LOC33) goto LA34; LOC35 = (NI)0; LOC35 = len_gG7hUAX9cA629ahMLVL3xN4w_2(typ0); LOC33 = (LOC35 == ((NI) 0)); LA34: ; if (!LOC33) goto LA36; { if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA40; { TY_zuqP4Riz26Oi5fWgPYVEgA* LOC46; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC47; if (!((*(*typ0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA44; LOC46 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC46 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC47, 0, sizeof(LOC47)); LOC47[0] = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); asgnRefNoCycle((void**) (&LOC46->data[0]), LOC47[0]); typ0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8), LOC46); } LA44: ; } goto LA38; LA40: ; { typ0 = semgenericconstraints_5ooSsK0APtGEtU9bQWYt5IA(c0, typ0); } LA38: ; } LA36: ; } LA29: ; { if (!!(((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51; def0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, def0); { if (!(typ0 == NIM_NIL)) goto LA55; { TY_zuqP4Riz26Oi5fWgPYVEgA* LOC61; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC62; if (!!(((*(*def0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA59; LOC61 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC61 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC62, 0, sizeof(LOC62)); LOC62[0] = (*def0).typ; asgnRefNoCycle((void**) (&LOC61->data[0]), LOC62[0]); typ0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), LOC61); } LA59: ; } goto LA53; LA55: ; { asgnRefNoCycle((void**) (&(*def0).typ), skiptypes_pLCdCGDuirMe9cspwviV9aVA((*def0).typ, 256)); { NIM_BOOL LOC66; LOC66 = (NIM_BOOL)0; LOC66 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA((*def0).typ); if (!!(LOC66)) goto LA67; def0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, def0); } LA67: ; } LA53: ; } LA51: ; { if (!(typ0 == NIM_NIL)) goto LA71; typ0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12), c0); { if (!(father0 == NIM_NIL)) goto LA75; (*typ0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))%(sizeof(NU32)*8)); } LA75: ; } LA71: ; (*typ0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 23))%(sizeof(NU32)*8)); { NI j_Gp0NWHCTsQ4WJ9bO71l7fbw; NI HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA_2; NI res_fNNjtwz4uG7oKAIr9bOXsPA_2; j_Gp0NWHCTsQ4WJ9bO71l7fbw = (NI)0; HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA_2 = (NI)0; HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA_2 = (NI)(L0 - ((NI) 3)); res_fNNjtwz4uG7oKAIr9bOXsPA_2 = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* finaltype0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC102; if (!(res_fNNjtwz4uG7oKAIr9bOXsPA_2 <= HEX3Atmp_Kqi19cKOOw5oZQhlRWxl5CA_2)) goto LA79; j_Gp0NWHCTsQ4WJ9bO71l7fbw = res_fNNjtwz4uG7oKAIr9bOXsPA_2; { if (!(j_Gp0NWHCTsQ4WJ9bO71l7fbw == ((NI) 0))) goto LA82; finaltype0 = typ0; } goto LA80; LA82: ; { finaltype0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(typ0, (*typ0).owner, NIM_FALSE); } LA80: ; { NIM_BOOL LOC87; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC91; LOC87 = (NIM_BOOL)0; LOC87 = ((*finaltype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)); if (LOC87) goto LA88; LOC87 = (((*typ0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0); LA88: ; if (!LOC87) goto LA89; LOC91 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC91 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4), (*a0).kindU.S6.sons->data[j_Gp0NWHCTsQ4WJ9bO71l7fbw], c0); s0 = linkto_b9b70m1Lgc2LtJbgX5XIacw(LOC91, finaltype0); } goto LA85; LA89: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC93; LOC93 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC93 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), (*a0).kindU.S6.sons->data[j_Gp0NWHCTsQ4WJ9bO71l7fbw], c0); s0 = linkto_b9b70m1Lgc2LtJbgX5XIacw(LOC93, finaltype0); } LA85: ; { if (!!(((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA96; asgnRefNoCycle((void**) (&(*s0).ast), def0); } LA96: ; { if (!!((father0 == NIM_NIL))) goto LA100; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(father0, (*s0).typ); } LA100: ; (*s0).position = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); LOC102 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC102 = newsymnode_1ARBpggFQuvUDBVYjBelcw(s0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC102); { if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA105; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, s0); } LA105: ; res_fNNjtwz4uG7oKAIr9bOXsPA_2 += ((NI) 1); } LA79: ; } } res_fNNjtwz4uG7oKAIr9bOXsPA += ((NI) 1); } LA8: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, setgenericparamsmisc_NBTNEqzl5NBSHnN0VGYkSQ_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; orig0 = (*n0).kindU.S6.sons->data[((NI) 2)]; result0 = semgenericparamlist_FHnQxPg6tiMHsFOOdAhreA(c0, orig0, NIM_NIL); { TY_AB6yfoUgfWM2NtGe9bzkCmw LOC5; if (!((*(*n0).kindU.S6.sons->data[((NI) 5)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3; memset((void*)LOC5, 0, sizeof(LOC5)); LOC5[0] = emptynode_69ccLGuQ2mITw7zylZYtWcA; LOC5[1] = orig0; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 5)]), newtree_4bkTFXme4frVOAuq2YEc4g(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), LOC5, 2)); } goto LA1; LA3: ; { asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 5)]).kindU.S6.sons->data[((NI) 1)]), orig0); } LA1: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), result0); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newproctype_ND9cPmmyWE5euXT1SokYu8A)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25), prev0, c0); LOC1 = (Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*)0; LOC1 = lastoptionentry_rRajvbtDjsI4JkDGyW0Whg(c0); (*result0).callconv = (*LOC1).defaultcc; asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), info0)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, NIM_NIL); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), info0); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC2); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semparamtype_B9ar1oMmulfISxO5D79aHtFw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw** constraint0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40))) goto LA3; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); unsureAsgnRef((void**) (&(*constraint0)), semnodekindconstraints_oHADKQ703A40xFUb2Or4EQ(n0)); } goto LA1; LA3: ; { result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); } LA1: ; return result0; } static N_NIMCALL(void, Marker_TY_6kNGFy25odmjALIosriC8A)(void* p, NI op) { EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A* a; a = (EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A*)p; nimGCvisit((void*)(*a).genericparams492474, op); nimGCvisit((void*)(*a).paramname492476, op); nimGCvisit((void*)(*a).c492472, op); } N_CLOSURE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typeclass0, Tident_4umxGerWTHGPwUms7Yqu3g* typid0, void* ClEnv) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A* HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA; Tident_4umxGerWTHGPwUms7Yqu3g* finaltypid0; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC28; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA = (EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A*) ClEnv; { if (!((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; { if (!!((typid0 == NIM_NIL))) goto LA7; finaltypid0 = typid0; } goto LA5; LA7: ; { NimStringDesc* LOC10; LOC10 = (NimStringDesc*)0; LOC10 = rawNewString((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).paramname492476->Sup.len + 5); appendString(LOC10, (*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).paramname492476); appendString(LOC10, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_74)); finaltypid0 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC10); } LA5: ; { NI i_HViR1VUHcG8L57M7BCsCGA; NI HEX3Atmp_WQJbGzM3JdRNO1Q2DLXp9ag; NI LOC12; NI res_WlEaEVPwbx3GWWp8H18Nwg; i_HViR1VUHcG8L57M7BCsCGA = (NI)0; HEX3Atmp_WQJbGzM3JdRNO1Q2DLXp9ag = (NI)0; LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474); HEX3Atmp_WQJbGzM3JdRNO1Q2DLXp9ag = (NI)(LOC12 - ((NI) 1)); res_WlEaEVPwbx3GWWp8H18Nwg = ((NI) 0); { while (1) { if (!(res_WlEaEVPwbx3GWWp8H18Nwg <= HEX3Atmp_WQJbGzM3JdRNO1Q2DLXp9ag)) goto LA14; i_HViR1VUHcG8L57M7BCsCGA = res_WlEaEVPwbx3GWWp8H18Nwg; { if (!((*(*(*(*(*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474).kindU.S6.sons->data[i_HViR1VUHcG8L57M7BCsCGA]).kindU.S4.sym).name).Sup.id == (*finaltypid0).Sup.id)) goto LA17; result0 = (*(*(*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474).kindU.S6.sons->data[i_HViR1VUHcG8L57M7BCsCGA]).typ; goto BeforeRet; } LA17: ; res_WlEaEVPwbx3GWWp8H18Nwg += ((NI) 1); } LA14: ; } } { if (!!(((*typeclass0).sym == NIM_NIL))) goto LA21; owner0 = (*typeclass0).sym; } goto LA19; LA21: ; { owner0 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); } LA19: ; s0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), finaltypid0, owner0, (*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).info492477); { if (!(typid0 == NIM_NIL)) goto LA26; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))%(sizeof(NU32)*8)); } LA26: ; LOC28 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC28 = linkto_b9b70m1Lgc2LtJbgX5XIacw(s0, typeclass0); (*typeclass0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 24))%(sizeof(NU32)*8)); (*s0).position = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474); LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = newsymnode_1ARBpggFQuvUDBVYjBelcw(s0); addson_gCCf68XrWL79bKes6htzFjQ((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).genericparams492474, LOC29); result0 = typeclass0; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2((*HEX3Aenvp_JOE5L2RO3TfX0G3cUuvEwA).c492472, s0); }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw prockind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Ttype_LTUWCZolpovw9cWE3JBWSUw* paramtype0, NimStringDesc* paramname0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NIM_BOOL anon0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A* HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; NimStringDesc* LOC1; Tident_4umxGerWTHGPwUms7Yqu3g* paramtypid0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ = (EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A*)0; HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ = (EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A*) newObj((&NTI_6kNGFy25odmjALIosriC8A), sizeof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A)); asgnRef((void**) (&(*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472), c0); asgnRefNoCycle((void**) (&(*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474), genericparams0); LOC1 = (NimStringDesc*)0; LOC1 = (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476; (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476 = copyStringRC1(paramname0); if (LOC1) nimGCunrefNoCycle(LOC1); (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477 = info0; { if (!(paramtype0 == NIM_NIL)) goto LA4; goto BeforeRet; } LA4: ; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = !(anon0); if (!(LOC8)) goto LA9; LOC8 = !(((*paramtype0).sym == NIM_NIL)); LA9: ; if (!LOC8) goto LA10; paramtypid0 = (*(*paramtype0).sym).name; } goto LA6; LA10: ; { paramtypid0 = NIM_NIL; } LA6: ; switch ((*paramtype0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC14; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC15; memset((void*)(&LOC14), 0, sizeof(LOC14)); LOC14.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC14.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; LOC15 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC15 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12), (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472); result0 = LOC14.ClEnv? LOC14.ClPrc(LOC15, NIM_NIL, LOC14.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_75)(LOC14.ClPrc))(LOC15, NIM_NIL); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted_v5ydk4l9beGgMyoYMYlniww; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC37; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC38; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC39; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC40; { if (!!(((*paramtype0).n == NIM_NIL))) goto LA19; goto BeforeRet; } LA19: ; { if (!(((*paramtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))&31U)))!=0)) goto LA23; goto BeforeRet; } LA23: ; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = base_46gPaVDDGhiU69b2oKDJZuA(paramtype0); lifted_v5ydk4l9beGgMyoYMYlniww = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, LOC25, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_FALSE); { if (!!((lifted_v5ydk4l9beGgMyoYMYlniww == NIM_NIL))) goto LA28; base0 = lifted_v5ydk4l9beGgMyoYMYlniww; } goto LA26; LA28: ; { base0 = base_46gPaVDDGhiU69b2oKDJZuA(paramtype0); } LA26: ; { NIM_BOOL LOC33; LOC33 = (NIM_BOOL)0; LOC33 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(base0); if (!(LOC33)) goto LA34; LOC33 = (prockind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16)); LA34: ; if (!LOC33) goto LA35; localerror_VpilfPWbplGz6ny7O9cfr2g((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 205), (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476); } LA35: ; memset((void*)(&LOC37), 0, sizeof(LOC37)); LOC37.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC37.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; LOC38 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC38 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC39, 0, sizeof(LOC39)); LOC39[0] = base0; asgnRefNoCycle((void**) (&LOC38->data[0]), LOC39[0]); LOC40 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC40 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), LOC38); result0 = LOC37.ClEnv? LOC37.ClPrc(LOC40, paramtypid0, LOC37.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_76)(LOC37.ClPrc))(LOC40, paramtypid0); (*result0).flags = ((*result0).flags | 4194816); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { { TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC55; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC56; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC57; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC58; if (!!((((*paramtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))&31U)))!=0))) goto LA44; { NIM_BOOL LOC48; NIM_BOOL LOC49; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC50; LOC48 = (NIM_BOOL)0; LOC49 = (NIM_BOOL)0; LOC50 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC50 = base_46gPaVDDGhiU69b2oKDJZuA(paramtype0); LOC49 = ((*LOC50).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)); if (!(LOC49)) goto LA51; LOC49 = !((paramtypid0 == NIM_NIL)); LA51: ; LOC48 = LOC49; if (!(LOC48)) goto LA52; LOC48 = ((*paramtypid0).Sup.id == (*typedescid_iEM3AJ1dWH9cllAYCN9bR0Wg).Sup.id); LA52: ; if (!LOC48) goto LA53; paramtypid0 = NIM_NIL; } LA53: ; memset((void*)(&LOC55), 0, sizeof(LOC55)); LOC55.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC55.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; LOC56 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC56 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC57, 0, sizeof(LOC57)); LOC57[0] = base_46gPaVDDGhiU69b2oKDJZuA(paramtype0); asgnRefNoCycle((void**) (&LOC56->data[0]), LOC57[0]); LOC58 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC58 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8), LOC56); result0 = LOC55.ClEnv? LOC55.ClPrc(LOC58, paramtypid0, LOC55.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_77)(LOC55.ClPrc))(LOC58, paramtypid0); } LA44: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { { NI LOC62; LOC62 = (NI)0; LOC62 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(paramtype0); if (!(LOC62 == ((NI) 1))) goto LA63; result0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, (*paramtype0).sons->data[((NI) 0)], (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_TRUE); } LA63: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { NIM_BOOL LOC68; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC70; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC73; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC74; TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC75; LOC68 = (NIM_BOOL)0; LOC68 = ((*paramtype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24)); if (!(LOC68)) goto LA69; LOC70 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC70 = lastson_E41DMKHtT9c6sAMyyvhmSIw(paramtype0); LOC68 = ((*LOC70).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)); LA69: ; if (!LOC68) goto LA71; LOC73 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC73 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC74, 0, sizeof(LOC74)); LOC74[0] = newtypes_9cQrDprXawJ1DKOUTsPNMTg((*paramtype0).kind, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472); asgnRefNoCycle((void**) (&LOC73->data[0]), LOC74[0]); typ0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51), LOC73); memset((void*)(&LOC75), 0, sizeof(LOC75)); LOC75.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC75.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; result0 = LOC75.ClEnv? LOC75.ClPrc(typ0, paramtypid0, LOC75.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_78)(LOC75.ClPrc))(typ0, paramtypid0); } goto LA66; LA71: ; { { NI i_zVD00A8DiIqr2b0BLpONgg; NI HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw; NI LOC78; NI res_3KKy9af1zDug2btai9aCj6xg; i_zVD00A8DiIqr2b0BLpONgg = (NI)0; HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw = (NI)0; LOC78 = (NI)0; LOC78 = len_gG7hUAX9cA629ahMLVL3xN4w_2(paramtype0); HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw = (LOC78 - 1); res_3KKy9af1zDug2btai9aCj6xg = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; if (!(res_3KKy9af1zDug2btai9aCj6xg <= HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw)) goto LA80; i_zVD00A8DiIqr2b0BLpONgg = res_3KKy9af1zDug2btai9aCj6xg; { NimStringDesc* LOC85; if (!((*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg] == paramtype0)) goto LA83; LOC85 = (NimStringDesc*)0; LOC85 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(paramtype0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 126), LOC85); } LA83: ; lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, (*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg], (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_FALSE); { if (!!((lifted0 == NIM_NIL))) goto LA88; asgnRefNoCycle((void**) (&(*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg]), lifted0); result0 = paramtype0; } LA88: ; res_3KKy9af1zDug2btai9aCj6xg += ((NI) 1); } LA80: ; } } } LA66: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): { Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC109; TY_7uDK9cfu1yI54pcmOBIy9aqg LOC110; TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC111; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9), (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, paramtype0); { NI i_zVD00A8DiIqr2b0BLpONgg_2; NI HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_2; NI LOC92; NI res_3KKy9af1zDug2btai9aCj6xg_2; i_zVD00A8DiIqr2b0BLpONgg_2 = (NI)0; HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_2 = (NI)0; LOC92 = (NI)0; LOC92 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(paramtype0); HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_2 = (NI)(LOC92 - ((NI) 2)); res_3KKy9af1zDug2btai9aCj6xg_2 = ((NI) 0); { while (1) { if (!(res_3KKy9af1zDug2btai9aCj6xg_2 <= HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_2)) goto LA94; i_zVD00A8DiIqr2b0BLpONgg_2 = res_3KKy9af1zDug2btai9aCj6xg_2; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC99; if (!((*(*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_2]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA97; x0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(emptynode_69ccLGuQ2mITw7zylZYtWcA); asgnRefNoCycle((void**) (&(*x0).typ), (*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_2]); LOC99 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC99 = maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, x0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC99); } goto LA95; LA97: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC101; LOC101 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC101 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58), (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC101); } LA95: ; res_3KKy9af1zDug2btai9aCj6xg_2 += ((NI) 1); } LA94: ; } } { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC104; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC107; TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC108; LOC104 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC104 = lastson_E41DMKHtT9c6sAMyyvhmSIw(paramtype0); if (!((*LOC104).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA105; (*result0).kind = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53); LOC107 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC107 = lastson_E41DMKHtT9c6sAMyyvhmSIw(paramtype0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC107); memset((void*)(&LOC108), 0, sizeof(LOC108)); LOC108.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC108.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; result0 = LOC108.ClEnv? LOC108.ClPrc(result0, paramtypid0, LOC108.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_79)(LOC108.ClPrc))(result0, paramtypid0); goto BeforeRet; } LA105: ; x0 = instgenericcontainer_JFPab1Oaa8wRyjR9bH3QQKw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, (*(*paramtype0).sym).info, result0, NIM_TRUE); LOC109 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC109 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 2); memset((void*)LOC110, 0, sizeof(LOC110)); LOC110[0] = paramtype0; LOC110[1] = x0; asgnRefNoCycle((void**) (&LOC109->data[0]), LOC110[0]); asgnRefNoCycle((void**) (&LOC109->data[1]), LOC110[1]); result0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54), LOC109); memset((void*)(&LOC111), 0, sizeof(LOC111)); LOC111.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC111.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; result0 = LOC111.ClEnv? LOC111.ClPrc(result0, paramtypid0, LOC111.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_80)(LOC111.ClPrc))(result0, paramtypid0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): { Ttype_LTUWCZolpovw9cWE3JBWSUw* liftbody0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC134; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC115; Ttype_LTUWCZolpovw9cWE3JBWSUw* cp0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC118; TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC119; LOC115 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC115 = lastson_E41DMKHtT9c6sAMyyvhmSIw(paramtype0); if (!((*LOC115).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA116; LOC118 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC118 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); cp0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(paramtype0, LOC118, NIM_FALSE); (*cp0).kind = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53); memset((void*)(&LOC119), 0, sizeof(LOC119)); LOC119.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC119.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; result0 = LOC119.ClEnv? LOC119.ClPrc(cp0, paramtypid0, LOC119.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_81)(LOC119.ClPrc))(cp0, paramtypid0); goto BeforeRet; } LA116: ; { NI i_zVD00A8DiIqr2b0BLpONgg_3; NI HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_3; NI LOC121; NI res_3KKy9af1zDug2btai9aCj6xg_3; i_zVD00A8DiIqr2b0BLpONgg_3 = (NI)0; HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_3 = (NI)0; LOC121 = (NI)0; LOC121 = len_gG7hUAX9cA629ahMLVL3xN4w_2(paramtype0); HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_3 = (NI)(LOC121 - ((NI) 2)); res_3KKy9af1zDug2btai9aCj6xg_3 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; if (!(res_3KKy9af1zDug2btai9aCj6xg_3 <= HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_3)) goto LA123; i_zVD00A8DiIqr2b0BLpONgg_3 = res_3KKy9af1zDug2btai9aCj6xg_3; lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, (*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_3], (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_FALSE); { if (!!((lifted0 == NIM_NIL))) goto LA126; asgnRefNoCycle((void**) (&(*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_3]), lifted0); result0 = paramtype0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC130; NimStringDesc* LOC133; LOC130 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC130 = lastson_E41DMKHtT9c6sAMyyvhmSIw(result0); if (!!((((*LOC130).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 19))&31U)))!=0))) goto LA131; LOC133 = (NimStringDesc*)0; LOC133 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_82); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC133); } LA131: ; } LA126: ; res_3KKy9af1zDug2btai9aCj6xg_3 += ((NI) 1); } LA123: ; } } LOC134 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC134 = lastson_E41DMKHtT9c6sAMyyvhmSIw(paramtype0); liftbody0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, LOC134, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_TRUE); { if (!!((liftbody0 == NIM_NIL))) goto LA137; result0 = liftbody0; { NimStringDesc* LOC143; if (!!((((*result0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 19))&31U)))!=0))) goto LA141; LOC143 = (NimStringDesc*)0; LOC143 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_83); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC143); } LA141: ; } LA137: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): { { NI i_zVD00A8DiIqr2b0BLpONgg_4; NI HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_4; NI LOC146; NI res_3KKy9af1zDug2btai9aCj6xg_4; i_zVD00A8DiIqr2b0BLpONgg_4 = (NI)0; HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_4 = (NI)0; LOC146 = (NI)0; LOC146 = len_gG7hUAX9cA629ahMLVL3xN4w_2(paramtype0); HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_4 = (LOC146 - 1); res_3KKy9af1zDug2btai9aCj6xg_4 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; if (!(res_3KKy9af1zDug2btai9aCj6xg_4 <= HEX3Atmp_PBfaat6db9c1YbtXZJfQ8Pw_4)) goto LA148; i_zVD00A8DiIqr2b0BLpONgg_4 = res_3KKy9af1zDug2btai9aCj6xg_4; lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).c492472, prockind0, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).genericparams492474, (*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_4], (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).paramname492476, (*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, NIM_FALSE); { if (!!((lifted0 == NIM_NIL))) goto LA151; asgnRefNoCycle((void**) (&(*paramtype0).sons->data[i_zVD00A8DiIqr2b0BLpONgg_4]), lifted0); } LA151: ; res_3KKy9af1zDug2btai9aCj6xg_4 += ((NI) 1); } LA148: ; } } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): { TY_vxVBnBOAaRM9bGcKmG6S7Cw LOC154; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC155; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC156; memset((void*)(&LOC154), 0, sizeof(LOC154)); LOC154.ClPrc = addimplicitgenericimpl_MrXmxeuOdQNK9bBUKXkhrog; LOC154.ClEnv = HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ; LOC155 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC155 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); LOC156 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC156 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(paramtype0, LOC155, NIM_TRUE); result0 = LOC154.ClEnv? LOC154.ClPrc(LOC156, paramtypid0, LOC154.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_84)(LOC154.ClPrc))(LOC156, paramtypid0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*HEX3Aenv_RCC9aSgREXjvhb0wcqg5EhQ).info492477, (*paramtype0).sym); { if (!(((*paramtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0)) goto LA160; (*paramtype0).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25)) % (sizeof(NU32)*8))); (*(*paramtype0).sym).kind = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); } LA160: ; } break; default: { } break; } }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semproctypenode_DPcKBU2kSAxDqsoFxpLplA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, NIM_BOOL istype0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Intset_PQrmFm4BXFkFSVOUl1ojSg cl0; Intset_PQrmFm4BXFkFSVOUl1ojSg check0; NI counter0; Ttype_LTUWCZolpovw9cWE3JBWSUw* r0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; memset((void*)(&cl0), 0, sizeof(cl0)); checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); result0 = newproctype_ND9cPmmyWE5euXT1SokYu8A(c0, (*n0).info, prev0); { NIM_BOOL LOC3; NI LOC5; LOC3 = (NIM_BOOL)0; LOC3 = !((genericparams0 == NIM_NIL)); if (!(LOC3)) goto LA4; LOC5 = (NI)0; LOC5 = sonslen_qPWPHw7WgJeEVYUdcaRIig(genericparams0); LOC3 = (LOC5 == ((NI) 0)); LA4: ; if (!LOC3) goto LA6; chckNil((void*)(&cl0)); memset((void*)(&cl0), 0, sizeof(cl0)); initintset_a9a80eJplB17xrdZJ41Baww((&cl0)); } LA6: ; memset((void*)(&check0), 0, sizeof(check0)); chckNil((void*)(&check0)); memset((void*)(&check0), 0, sizeof(check0)); initintset_a9a80eJplB17xrdZJ41Baww((&check0)); counter0 = ((NI) 0); { NI i_gJVQoDYlVmKg64q23C5mTA; NI HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw; NI LOC9; NI res_SF9c6bNvgZf9cYeU1sqffhEw; i_gJVQoDYlVmKg64q23C5mTA = (NI)0; HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw = (NI)0; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw = (NI)(LOC9 - ((NI) 1)); res_SF9c6bNvgZf9cYeU1sqffhEw = ((NI) 1); { while (1) { if (!(res_SF9c6bNvgZf9cYeU1sqffhEw <= HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw)) goto LA11; i_gJVQoDYlVmKg64q23C5mTA = res_SF9c6bNvgZf9cYeU1sqffhEw; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint0; NI length0; NIM_BOOL hastype0; NIM_BOOL hasdefault0; a0 = (*n0).kindU.S6.sons->data[i_gJVQoDYlVmKg64q23C5mTA]; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA15; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC19)) goto LA20; LOC19 = (((*(*a0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))&31U)))!=0); LA20: ; if (!LOC19) goto LA21; goto LA12; } LA21: ; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA15: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); typ0 = NIM_NIL; def0 = NIM_NIL; constraint0 = NIM_NIL; length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); hastype0 = !(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); hasdefault0 = !(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); { if (!hastype0) goto LA25; typ0 = semparamtype_B9ar1oMmulfISxO5D79aHtFw(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], &constraint0); } LA25: ; { if (!hasdefault0) goto LA29; def0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], 0); { if (!(typ0 == NIM_NIL)) goto LA33; typ0 = (*def0).typ; } goto LA31; LA33: ; { if (!!((def0 == NIM_NIL))) goto LA36; { NIM_BOOL LOC40; LOC40 = (NIM_BOOL)0; LOC40 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA(typ0); if (!!(LOC40)) goto LA41; def0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, def0); } LA41: ; } goto LA31; LA36: ; LA31: ; } LA29: ; { NIM_BOOL LOC45; LOC45 = (NIM_BOOL)0; LOC45 = !(hastype0); if (!(LOC45)) goto LA46; LOC45 = !(hasdefault0); LA46: ; if (!LOC45) goto LA47; { if (!istype0) goto LA51; localerror_GarD0CQJ5aQhoHekHYinVQ((*a0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_71)); } LA51: ; { if (!((196608 &(1U<<((NU)(kind0)&31U)))!=0)) goto LA55; typ0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6), c0); } LA55: ; } goto LA43; LA47: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC58; LOC58 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC58 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 2064); if (!((*LOC58).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA59; goto LA12; } goto LA43; LA59: ; LA43: ; { NI j_zUcfudPWWgJ9alLCStawqsQ; NI HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_2; NI res_SF9c6bNvgZf9cYeU1sqffhEw_2; j_zUcfudPWWgJ9alLCStawqsQ = (NI)0; HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_2 = (NI)0; HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_2 = (NI)(length0 - ((NI) 3)); res_SF9c6bNvgZf9cYeU1sqffhEw_2 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* arg0; Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; Ttype_LTUWCZolpovw9cWE3JBWSUw* finaltype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC93; if (!(res_SF9c6bNvgZf9cYeU1sqffhEw_2 <= HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_2)) goto LA63; j_zUcfudPWWgJ9alLCStawqsQ = res_SF9c6bNvgZf9cYeU1sqffhEw_2; arg0 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), (*a0).kindU.S6.sons->data[j_zUcfudPWWgJ9alLCStawqsQ], c0); { NIM_BOOL LOC66; NIM_BOOL LOC67; Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; LOC66 = (NIM_BOOL)0; LOC67 = (NIM_BOOL)0; LOC67 = !(hastype0); if (!(LOC67)) goto LA68; LOC67 = !(hasdefault0); LA68: ; LOC66 = LOC67; if (!(LOC66)) goto LA69; LOC66 = !(((196608 &(1U<<((NU)(kind0)&31U)))!=0)); LA69: ; if (!LOC66) goto LA70; param0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*c0).signatures, (*arg0).name); { if (!!((param0 == NIM_NIL))) goto LA74; typ0 = (*param0).typ; } goto LA72; LA74: ; { localerror_GarD0CQJ5aQhoHekHYinVQ((*a0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_72)); typ0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA72: ; } LA70: ; lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw(c0, kind0, genericparams0, typ0, (*(*arg0).name).s, (*arg0).info, NIM_FALSE); { if (!!((lifted0 == NIM_NIL))) goto LA79; finaltype0 = lifted0; } goto LA77; LA79: ; { finaltype0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(typ0); } LA77: ; asgnRefNoCycle((void**) (&(*arg0).typ), finaltype0); (*arg0).position = counter0; asgnRefNoCycle((void**) (&(*arg0).constraint), constraint0); counter0 += ((NI) 1); { NIM_BOOL LOC84; LOC84 = (NIM_BOOL)0; LOC84 = !((def0 == NIM_NIL)); if (!(LOC84)) goto LA85; LOC84 = !(((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); LA85: ; if (!LOC84) goto LA86; asgnRefNoCycle((void**) (&(*arg0).ast), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(def0)); } LA86: ; { NIM_BOOL LOC90; LOC90 = (NIM_BOOL)0; LOC90 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&check0), (*(*arg0).name).Sup.id); if (!LOC90) goto LA91; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[j_zUcfudPWWgJ9alLCStawqsQ]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 41), (*(*arg0).name).s); } LA91: ; LOC93 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC93 = newsymnode_1ARBpggFQuvUDBVYjBelcw(arg0); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC93); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, finaltype0); addparamorresult_FOp9bL9bFlPARYIAEVRKKiMQ(c0, arg0, kind0); { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 8))) goto LA96; } LA96: ; res_SF9c6bNvgZf9cYeU1sqffhEw_2 += ((NI) 1); } LA63: ; } } } LA12: ; res_SF9c6bNvgZf9cYeU1sqffhEw += ((NI) 1); } LA11: ; } } r0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA100; r0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); } LA100: ; { if (!!((r0 == NIM_NIL))) goto LA104; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC108; LOC108 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC108 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(r0, 2064); if (!!(((*LOC108).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62)))) goto LA109; { if (!((*r0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58))) goto LA113; r0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6), c0); } goto LA111; LA113: ; { if (!!(((*r0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA116; { NIM_BOOL LOC120; Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; LOC120 = (NIM_BOOL)0; LOC120 = ((*r0).sym == NIM_NIL); if (LOC120) goto LA121; LOC120 = !((((*(*r0).sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))&31U)))!=0)); LA121: ; if (!LOC120) goto LA122; lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw(c0, kind0, genericparams0, r0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_45), (*(*n0).kindU.S6.sons->data[((NI) 0)]).info, NIM_FALSE); { if (!!((lifted0 == NIM_NIL))) goto LA126; r0 = lifted0; (*r0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 10))%(sizeof(NU32)*8)); } LA126: ; } LA122: ; r0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(r0); { if (!(kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))) goto LA130; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))%(sizeof(NU32)*8)); } LA130: ; } goto LA111; LA116: ; LA111: ; asgnRefNoCycle((void**) (&(*result0).sons->data[((NI) 0)]), r0); asgnRefNoCycle((void**) (&(*(*result0).n).typ), r0); } LA109: ; } LA104: ; { if (!!((genericparams0 == NIM_NIL))) goto LA134; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n_2Qeo43Cx2qvQM7uUtarfpQ; n_2Qeo43Cx2qvQM7uUtarfpQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_gJVQoDYlVmKg64q23C5mTA_2; NI HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_3; NI LOC138; NI res_SF9c6bNvgZf9cYeU1sqffhEw_3; i_gJVQoDYlVmKg64q23C5mTA_2 = (NI)0; HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_3 = (NI)0; LOC138 = (NI)0; LOC138 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(genericparams0); HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_3 = (LOC138 - 1); res_SF9c6bNvgZf9cYeU1sqffhEw_3 = ((NI) 0); { while (1) { if (!(res_SF9c6bNvgZf9cYeU1sqffhEw_3 <= HEX3Atmp_JR8QkAHYkCvzFI5CkPaysw_3)) goto LA140; i_gJVQoDYlVmKg64q23C5mTA_2 = res_SF9c6bNvgZf9cYeU1sqffhEw_3; n_2Qeo43Cx2qvQM7uUtarfpQ = (*genericparams0).kindU.S6.sons->data[i_gJVQoDYlVmKg64q23C5mTA_2]; { if (!(((*(*(*n_2Qeo43Cx2qvQM7uUtarfpQ).kindU.S4.sym).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0)) goto LA143; (*(*n_2Qeo43Cx2qvQM7uUtarfpQ).kindU.S4.sym).kind = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); (*(*(*n_2Qeo43Cx2qvQM7uUtarfpQ).kindU.S4.sym).typ).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25)) % (sizeof(NU32)*8))); } LA143: ; res_SF9c6bNvgZf9cYeU1sqffhEw_3 += ((NI) 1); } LA140: ; } } } } LA134: ; return result0; } N_NIMCALL(void, semparamlist_Qyh9a7LvbGI5OBxQHRRO9bxA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* genericparams0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { asgnRefNoCycle((void**) (&(*s0).typ), semproctypenode_DPcKBU2kSAxDqsoFxpLplA(c0, n0, genericparams0, NIM_NIL, (*s0).kind, NIM_FALSE)); { if (!!(((196608 &(1U<<((NU)((*s0).kind)&31U)))!=0))) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = !(((*(*s0).typ).sons->data[((NI) 0)] == NIM_NIL)); if (!(LOC7)) goto LA8; LOC7 = ((*(*(*s0).typ).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7)); LA8: ; if (!LOC7) goto LA9; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_85)); } LA9: ; } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newparam_II9bVRochsBSrAInVYdTjew)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* x0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); x0 = (*(*(*(*(*c0).owner).typ).n).kindU.S6.sons->data[(NI)((*s0).position + ((NI) 1))]).kindU.S4.sym; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(x0, (*n0).info); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, handlesym_cmAGnia0diq5kyGR1J6vTg)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { if (!!((s0 == NIM_NIL))) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = ((*s0).owner == (*c0).owner); if (!(LOC7)) goto LA8; LOC7 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA8: ; if (!LOC7) goto LA9; result0 = newparam_II9bVRochsBSrAInVYdTjew(c0, n0, s0); } goto LA5; LA9: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC12) goto LA13; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); } goto LA5; LA13: ; { NIM_BOOL LOC16; NIM_BOOL LOC18; NI LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23; LOC16 = (NIM_BOOL)0; LOC16 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17)); if (!(LOC16)) goto LA17; LOC18 = (NIM_BOOL)0; LOC19 = (NI)0; LOC19 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC18 = (LOC19 == ((NI) 1)); if (LOC18) goto LA20; LOC18 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))&31U)))!=0); LA20: ; LOC16 = LOC18; LA17: ; if (!LOC16) goto LA21; LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC23 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3((*c0).c, n0, s0, 512); result0 = sempatternbody_DuioLh4uofptxEKissr2sw(c0, LOC23); } goto LA5; LA21: ; { } LA5: ; } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembindstmt_XWJ5OQVWh6L1jl3Wk49cjSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* tobind0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_ub9cD6X1Dthuj6w8bIZXXxA; NI HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw; NI LOC2; NI res_F1G3p3t6fFXtiVuBoGVhxw; i_ub9cD6X1Dthuj6w8bIZXXxA = (NI)0; HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw = (LOC2 - 1); res_F1G3p3t6fFXtiVuBoGVhxw = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!(res_F1G3p3t6fFXtiVuBoGVhxw <= HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw)) goto LA4; i_ub9cD6X1Dthuj6w8bIZXXxA = res_F1G3p3t6fFXtiVuBoGVhxw; a0 = (*n0).kindU.S6.sons->data[i_ub9cD6X1Dthuj6w8bIZXXxA]; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, a0, 2); { Tnode_bROa11lyF5vxEN9aYNbHmhw* sc0; if (!!((s0 == NIM_NIL))) goto LA7; sc0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); { if (!((*sc0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11; incl_iUpE9bYmIR0fROyJskQwN8g(tobind0, (*(*sc0).kindU.S4.sym).Sup.id); } goto LA9; LA11: ; { { Tnode_bROa11lyF5vxEN9aYNbHmhw* x_fw4t7XT9cpQ9bttPROceBoVA; x_fw4t7XT9cpQ9bttPROceBoVA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_ub9cD6X1Dthuj6w8bIZXXxA_2; NI HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw_2; NI LOC16; NI res_F1G3p3t6fFXtiVuBoGVhxw_2; i_ub9cD6X1Dthuj6w8bIZXXxA_2 = (NI)0; HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw_2 = (NI)0; LOC16 = (NI)0; LOC16 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(sc0); HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw_2 = (LOC16 - 1); res_F1G3p3t6fFXtiVuBoGVhxw_2 = ((NI) 0); { while (1) { if (!(res_F1G3p3t6fFXtiVuBoGVhxw_2 <= HEX3Atmp_BEjf9c8uW0iZ2OLkdXpNFDw_2)) goto LA18; i_ub9cD6X1Dthuj6w8bIZXXxA_2 = res_F1G3p3t6fFXtiVuBoGVhxw_2; x_fw4t7XT9cpQ9bttPROceBoVA = (*sc0).kindU.S6.sons->data[i_ub9cD6X1Dthuj6w8bIZXXxA_2]; incl_iUpE9bYmIR0fROyJskQwN8g(tobind0, (*(*x_fw4t7XT9cpQ9bttPROceBoVA).kindU.S4.sym).Sup.id); res_F1G3p3t6fFXtiVuBoGVhxw_2 += ((NI) 1); } LA18: ; } } } } LA9: ; } goto LA5; LA7: ; { illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA5: ; res_F1G3p3t6fFXtiVuBoGVhxw += ((NI) 1); } LA4: ; } } result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n0).info); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, expectparam_DuioLh4uofptxEKissr2sw_2)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { NIM_BOOL LOC3; NIM_BOOL LOC4; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = !((s0 == NIM_NIL)); if (!(LOC4)) goto LA5; LOC4 = ((*s0).owner == (*c0).owner); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC3 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA6: ; if (!LOC3) goto LA7; result0 = newparam_II9bVRochsBSrAInVYdTjew(c0, n0, s0); } goto LA1; LA7: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 170), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = n0; } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, stupidstmtlistexpr_J6cfuIanCXYEsLNE8M8o9cQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI i_aR9ab4iDM3aSGLghk84KLZw; NI HEX3Atmp_ipOk5IPWG4tHnnxCq12CoA; NI LOC2; NI res_ecTSKLUk3t4K200Fv9bsKwg; i_aR9ab4iDM3aSGLghk84KLZw = (NI)0; HEX3Atmp_ipOk5IPWG4tHnnxCq12CoA = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_ipOk5IPWG4tHnnxCq12CoA = (NI)(LOC2 - ((NI) 2)); res_ecTSKLUk3t4K200Fv9bsKwg = ((NI) 0); { while (1) { if (!(res_ecTSKLUk3t4K200Fv9bsKwg <= HEX3Atmp_ipOk5IPWG4tHnnxCq12CoA)) goto LA4; i_aR9ab4iDM3aSGLghk84KLZw = res_ecTSKLUk3t4K200Fv9bsKwg; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_aR9ab4iDM3aSGLghk84KLZw); if (!!(((*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA8; result0 = NIM_FALSE; goto BeforeRet; } LA8: ; res_ecTSKLUk3t4K200Fv9bsKwg += ((NI) 1); } LA4: ; } } result0 = NIM_TRUE; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempatternbody_DuioLh4uofptxEKissr2sw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); result0 = handlesym_cmAGnia0diq5kyGR1J6vTg(c0, n0, s0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 122): { result0 = sembindstmt_XWJ5OQVWh6L1jl3Wk49cjSQ((*c0).c, n0, (&(*c0).tobind)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { { NI LOC7; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!!((LOC7 == ((NI) 2)))) goto LA8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 170), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA5; LA8: ; { if (!((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), expectparam_DuioLh4uofptxEKissr2sw_2(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); } goto LA5; LA11: ; { NIM_BOOL LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* opr0; LOC14 = (NIM_BOOL)0; LOC14 = ((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30)); if (!(LOC14)) goto LA15; LOC14 = ((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); LA15: ; if (!LOC14) goto LA16; opr0 = (*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 0)]; { if (!eqStrings((*(*opr0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_23))) goto LA20; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 1)]), expectparam_DuioLh4uofptxEKissr2sw_2(c0, (*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 1)])); } goto LA18; LA20: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 170), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA18: ; } goto LA5; LA16: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 170), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA5: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126): { { NIM_BOOL LOC27; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC30; LOC27 = (NIM_BOOL)0; LOC27 = stupidstmtlistexpr_J6cfuIanCXYEsLNE8M8o9cQ_3(n0); if (!LOC27) goto LA28; LOC30 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC30 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); result0 = sempatternbody_DuioLh4uofptxEKissr2sw(c0, LOC30); } goto LA25; LA28: ; { { NI i_SBBktLDz1cF8zAf1kRM9axA; NI HEX3Atmp_udZLxWqAXQy27lgH5EguVQ; NI LOC33; NI res_ZeJUr29cFVieEpgbfhPWjCQ; i_SBBktLDz1cF8zAf1kRM9axA = (NI)0; HEX3Atmp_udZLxWqAXQy27lgH5EguVQ = (NI)0; LOC33 = (NI)0; LOC33 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_udZLxWqAXQy27lgH5EguVQ = (NI)(LOC33 - ((NI) 1)); res_ZeJUr29cFVieEpgbfhPWjCQ = ((NI) 0); { while (1) { if (!(res_ZeJUr29cFVieEpgbfhPWjCQ <= HEX3Atmp_udZLxWqAXQy27lgH5EguVQ)) goto LA35; i_SBBktLDz1cF8zAf1kRM9axA = res_ZeJUr29cFVieEpgbfhPWjCQ; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA])); res_ZeJUr29cFVieEpgbfhPWjCQ += ((NI) 1); } LA35: ; } } } LA25: ; } 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): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, (*n0).kindU.S6.sons->data[((NI) 0)], 0); { if (!!((s0 == NIM_NIL))) goto LA39; { NIM_BOOL LOC43; LOC43 = (NIM_BOOL)0; LOC43 = ((*s0).owner == (*c0).owner); if (!(LOC43)) goto LA44; LOC43 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA44: ; if (!LOC43) goto LA45; } goto LA41; LA45: ; { NIM_BOOL LOC48; LOC48 = (NIM_BOOL)0; LOC48 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC48) goto LA49; } goto LA41; LA49: ; { NIM_BOOL LOC52; NIM_BOOL LOC54; NI LOC55; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC59; LOC52 = (NIM_BOOL)0; LOC52 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17)); if (!(LOC52)) goto LA53; LOC54 = (NIM_BOOL)0; LOC55 = (NI)0; LOC55 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC54 = (LOC55 == ((NI) 1)); if (LOC54) goto LA56; LOC54 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))&31U)))!=0); LA56: ; LOC52 = LOC54; LA53: ; if (!LOC52) goto LA57; LOC59 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC59 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3((*c0).c, n0, s0, 512); result0 = sempatternbody_DuioLh4uofptxEKissr2sw(c0, LOC59); goto BeforeRet; } goto LA41; LA57: ; LA41: ; } LA39: ; { NIM_BOOL LOC62; Tnode_bROa11lyF5vxEN9aYNbHmhw* opr0; LOC62 = (NIM_BOOL)0; LOC62 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29)); if (!(LOC62)) goto LA63; LOC62 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); LA63: ; if (!LOC62) goto LA64; opr0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { NIM_BOOL LOC68; NI LOC72; LOC68 = (NIM_BOOL)0; LOC68 = eqStrings((*(*opr0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_86)); if (LOC68) goto LA69; LOC68 = eqStrings((*(*opr0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_87)); LA69: ; if (!LOC68) goto LA70; LOC72 = (NI)0; LOC72 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n0).info, LOC72); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), opr0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 2)]), expectparam_DuioLh4uofptxEKissr2sw_2(c0, (*n0).kindU.S6.sons->data[((NI) 2)])); goto BeforeRet; } goto LA66; LA70: ; { NI LOC76; if (!eqStrings((*(*opr0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_23))) goto LA74; LOC76 = (NI)0; LOC76 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n0).info, LOC76); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), opr0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 2)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 2)])); goto BeforeRet; } goto LA66; LA74: ; LA66: ; } LA64: ; { NIM_BOOL LOC79; Tnode_bROa11lyF5vxEN9aYNbHmhw* opr0; LOC79 = (NIM_BOOL)0; LOC79 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30)); if (!(LOC79)) goto LA80; LOC79 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); LA80: ; if (!LOC79) goto LA81; opr0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { NI LOC87; if (!eqStrings((*(*opr0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_88))) goto LA85; LOC87 = (NI)0; LOC87 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n0).info, LOC87); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), opr0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); goto BeforeRet; } LA85: ; } LA81: ; { NI i_SBBktLDz1cF8zAf1kRM9axA_2; NI HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_2; NI LOC89; NI res_ZeJUr29cFVieEpgbfhPWjCQ_2; i_SBBktLDz1cF8zAf1kRM9axA_2 = (NI)0; HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_2 = (NI)0; LOC89 = (NI)0; LOC89 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_2 = (NI)(LOC89 - ((NI) 1)); res_ZeJUr29cFVieEpgbfhPWjCQ_2 = ((NI) 0); { while (1) { if (!(res_ZeJUr29cFVieEpgbfhPWjCQ_2 <= HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_2)) goto LA91; i_SBBktLDz1cF8zAf1kRM9axA_2 = res_ZeJUr29cFVieEpgbfhPWjCQ_2; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA_2]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA_2])); res_ZeJUr29cFVieEpgbfhPWjCQ_2 += ((NI) 1); } LA91: ; } } } break; default: { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA96; { NIM_BOOL LOC100; LOC100 = (NIM_BOOL)0; LOC100 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC100) goto LA101; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); goto BeforeRet; } goto LA98; LA101: ; { result0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ((*s0).name, (*n0).info); goto BeforeRet; } LA98: ; } LA96: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37): { { NI LOC107; LOC107 = (NI)0; LOC107 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC107 == ((NI) 1))) goto LA108; result0 = sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); goto BeforeRet; } LA108: ; } break; default: { } break; } { NI i_SBBktLDz1cF8zAf1kRM9axA_3; NI HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_3; NI LOC112; NI res_ZeJUr29cFVieEpgbfhPWjCQ_3; i_SBBktLDz1cF8zAf1kRM9axA_3 = (NI)0; HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_3 = (NI)0; LOC112 = (NI)0; LOC112 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_3 = (NI)(LOC112 - ((NI) 1)); res_ZeJUr29cFVieEpgbfhPWjCQ_3 = ((NI) 0); { while (1) { if (!(res_ZeJUr29cFVieEpgbfhPWjCQ_3 <= HEX3Atmp_udZLxWqAXQy27lgH5EguVQ_3)) goto LA114; i_SBBktLDz1cF8zAf1kRM9axA_3 = res_ZeJUr29cFVieEpgbfhPWjCQ_3; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA_3]), sempatternbody_DuioLh4uofptxEKissr2sw(c0, (*n0).kindU.S6.sons->data[i_SBBktLDz1cF8zAf1kRM9axA_3])); res_ZeJUr29cFVieEpgbfhPWjCQ_3 += ((NI) 1); } LA114: ; } } } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempattern_NBTNEqzl5NBSHnN0VGYkSQ_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; Templctx_nh9bf8hW4pDvkirLeE4rmdw ctx0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); memset((void*)(&ctx0), 0, sizeof(ctx0)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.tobind)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.tomixin)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.toinject)); ctx0.c = c0; ctx0.owner = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = sempatternbody_DuioLh4uofptxEKissr2sw((&ctx0), n0); result0 = flattenstmts_kDuk7Mp6Hb4CD2EwZbGQ3g(LOC2); { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA5; { NI LOC9; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); if (!(LOC9 == ((NI) 1))) goto LA10; result0 = (*result0).kindU.S6.sons->data[((NI) 0)]; } goto LA7; LA10: ; { NI LOC13; LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); if (!(LOC13 == ((NI) 0))) goto LA14; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 170), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA7; LA14: ; LA7: ; } LA5: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(void, addgenericparamlisttoscope_jzk1KGIc0vzv6pth3zm9bkw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA3: ; { NI i_rhtDoebzyszTyjS10eSgDg; NI HEX3Atmp_ImWeqSs14Sh9ciGuyqt9aQuQ; NI LOC6; NI res_kQVODgUfayW9cjz1p9b4st0A; i_rhtDoebzyszTyjS10eSgDg = (NI)0; HEX3Atmp_ImWeqSs14Sh9ciGuyqt9aQuQ = (NI)0; LOC6 = (NI)0; LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_ImWeqSs14Sh9ciGuyqt9aQuQ = (NI)(LOC6 - ((NI) 1)); res_kQVODgUfayW9cjz1p9b4st0A = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!(res_kQVODgUfayW9cjz1p9b4st0A <= HEX3Atmp_ImWeqSs14Sh9ciGuyqt9aQuQ)) goto LA8; i_rhtDoebzyszTyjS10eSgDg = res_kQVODgUfayW9cjz1p9b4st0A; a0 = (*n0).kindU.S6.sons->data[i_rhtDoebzyszTyjS10eSgDg]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, (*a0).kindU.S4.sym); } goto LA9; LA11: ; { illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA9: ; res_kQVODgUfayW9cjz1p9b4st0A += ((NI) 1); } LA8: ; } } } N_NIMCALL(void, addparams_zCs4p739b2m9cRi9auRLptiZg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { { NI i_R3cCpgc4hikmMmZeB4J29bg; NI HEX3Atmp_Ym9bR9bdgQmy4W28p76hEeOw; NI LOC2; NI res_CLLrxOUg9cY8aWMkLjEgejg; i_R3cCpgc4hikmMmZeB4J29bg = (NI)0; HEX3Atmp_Ym9bR9bdgQmy4W28p76hEeOw = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_Ym9bR9bdgQmy4W28p76hEeOw = (NI)(LOC2 - ((NI) 1)); res_CLLrxOUg9cY8aWMkLjEgejg = ((NI) 1); { while (1) { if (!(res_CLLrxOUg9cY8aWMkLjEgejg <= HEX3Atmp_Ym9bR9bdgQmy4W28p76hEeOw)) goto LA4; i_R3cCpgc4hikmMmZeB4J29bg = res_CLLrxOUg9cY8aWMkLjEgejg; { if (!((*(*n0).kindU.S6.sons->data[i_R3cCpgc4hikmMmZeB4J29bg]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7; addparamorresult_FOp9bL9bFlPARYIAEVRKKiMQ(c0, (*(*n0).kindU.S6.sons->data[i_R3cCpgc4hikmMmZeB4J29bg]).kindU.S4.sym, kind0); } goto LA5; LA7: ; { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA5: ; res_CLLrxOUg9cY8aWMkLjEgejg += ((NI) 1); } LA4: ; } } } static N_INLINE(NIM_BOOL, importantcomments_9bOOl1CRXwH84L9baCwIFbjgsem)(void) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((33280 &(1U<<((NU)(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ)&31U)))!=0); return result0; } static N_INLINE(NI, find_gsOl1vJ45BaXu3la9akzypQsem)(Tsym_AXG7xcvKqaxY6koRX1xkCw** a0, NI a0Len0, Tsym_AXG7xcvKqaxY6koRX1xkCw* item0) { NI result0; { result0 = (NI)0; { Tsym_AXG7xcvKqaxY6koRX1xkCw* i_PK51OczLhe60IMTnpDtj2Q; NI i_PK51OczLhe60IMTnpDtj2Q_2; i_PK51OczLhe60IMTnpDtj2Q = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; i_PK51OczLhe60IMTnpDtj2Q_2 = ((NI) 0); { while (1) { if (!(i_PK51OczLhe60IMTnpDtj2Q_2 < a0Len0)) goto LA3; i_PK51OczLhe60IMTnpDtj2Q = a0[i_PK51OczLhe60IMTnpDtj2Q_2]; { if (!(i_PK51OczLhe60IMTnpDtj2Q == item0)) goto LA6; goto BeforeRet; } LA6: ; result0 += ((NI) 1); i_PK51OczLhe60IMTnpDtj2Q_2 += ((NI) 1); } LA3: ; } } result0 = ((NI) -1); }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, contains_PqsDMdHhk9cJF69aC69c5ANwQsem)(Tsym_AXG7xcvKqaxY6koRX1xkCw** a0, NI a0Len0, Tsym_AXG7xcvKqaxY6koRX1xkCw* item0) { NIM_BOOL result0; NI LOC1; { result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = find_gsOl1vJ45BaXu3la9akzypQsem(a0, a0Len0, item0); result0 = (((NI) 0) <= LOC1); goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(Slice_qL3WGViqT0p5sVr4YFHsLg, HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands)(NI a0, NI b0) { Slice_qL3WGViqT0p5sVr4YFHsLg result0; memset((void*)(&result0), 0, sizeof(result0)); result0.a = a0; result0.b = b0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroycase_kSQ2ySz59csmlzmjQf4NNFg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI nontrivialfields0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC1; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC2; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; nontrivialfields0 = ((NI) 0); LOC1 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC1 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 0); result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97), (*n0).info, LOC1, NIM_NIL); LOC2 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC2 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC3, 0, sizeof(LOC3)); LOC3[0] = holder0; LOC3[1] = (*n0).kindU.S6.sons->data[((NI) 0)]; asgnRefNoCycle((void**) (&LOC2->data[0]), LOC3[0]); asgnRefNoCycle((void**) (&LOC2->data[1]), LOC3[1]); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n0).info, LOC2, NIM_NIL); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC4); { NI i_OrIjC9cMZti9aL4RuKdsmRFQ; NI HEX3Atmp_zcvnFFgD5e9amBnpoJcnaDQ; NI LOC6; NI res_LiywkmYvOoJMv8z9bcJ9baLA; i_OrIjC9cMZti9aL4RuKdsmRFQ = (NI)0; HEX3Atmp_zcvnFFgD5e9amBnpoJcnaDQ = (NI)0; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_zcvnFFgD5e9amBnpoJcnaDQ = (NI)(LOC6 - ((NI) 1)); res_LiywkmYvOoJMv8z9bcJ9baLA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* ni0; Tnode_bROa11lyF5vxEN9aYNbHmhw* casebranch0; NI LOC9; Slice_qL3WGViqT0p5sVr4YFHsLg LOC10; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC11; Tnode_bROa11lyF5vxEN9aYNbHmhw* stmt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; if (!(res_LiywkmYvOoJMv8z9bcJ9baLA <= HEX3Atmp_zcvnFFgD5e9amBnpoJcnaDQ)) goto LA8; i_OrIjC9cMZti9aL4RuKdsmRFQ = res_LiywkmYvOoJMv8z9bcJ9baLA; ni0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_OrIjC9cMZti9aL4RuKdsmRFQ); LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(ni0); LOC10 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), (NI)(LOC9 - ((NI) 2))); LOC11 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC11 = HEX5BHEX5D_Gp1eO9bAFjBxVwyUqF7LQ9cg((*ni0).kindU.S6.sons, LOC10); casebranch0 = newnode_o9aHrUvOCIeQhfywzvo7yOA((*ni0).kind, (*ni0).info, LOC11, NIM_NIL); LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = lastson_esDJA7239bJDiq4UrX9aHCjg(ni0); stmt0 = destroyfieldorfields_Gqld9bmSKJp9bGOxrF1lOcQg(c0, LOC12, holder0); { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC17; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; if (!(stmt0 == NIM_NIL)) goto LA15; LOC17 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC17 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 0); LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*ni0).info, LOC17, NIM_NIL); addson_gCCf68XrWL79bKes6htzFjQ(casebranch0, LOC18); } goto LA13; LA15: ; { NI LOC20; addson_gCCf68XrWL79bKes6htzFjQ(casebranch0, stmt0); LOC20 = (NI)0; LOC20 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(stmt0); nontrivialfields0 += LOC20; } LA13: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, casebranch0); res_LiywkmYvOoJMv8z9bcJ9baLA += ((NI) 1); } LA8: ; } } { if (!(nontrivialfields0 == ((NI) 0))) goto LA23; result0 = NIM_NIL; } LA23: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroysym_SMmNNDLLucLH71S4LhUeXg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* destructablet0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; destructablet0 = instantiatedestructor_b04wmJZNmRs48ayVXpmKbg(c0, (*field0).typ); { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC5; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC6; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC7; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC8; if (!!((destructablet0 == NIM_NIL))) goto LA3; LOC5 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC5 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC6, 0, sizeof(LOC6)); LOC6[0] = usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ((*destructablet0).destructor); LOC7 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC7 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC8, 0, sizeof(LOC8)); LOC8[0] = holder0; LOC8[1] = usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ(field0); asgnRefNoCycle((void**) (&LOC7->data[0]), LOC8[0]); asgnRefNoCycle((void**) (&LOC7->data[1]), LOC8[1]); LOC6[1] = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*field0).info, LOC7, NIM_NIL); asgnRefNoCycle((void**) (&LOC5->data[0]), LOC6[0]); asgnRefNoCycle((void**) (&LOC5->data[1]), LOC6[1]); result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*field0).info, LOC5, NIM_NIL); } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, destroyfieldorfields_Gqld9bmSKJp9bGOxrF1lOcQg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* field0, Tnode_bROa11lyF5vxEN9aYNbHmhw* holder0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*field0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { Tnode_bROa11lyF5vxEN9aYNbHmhw* stmt_9cQtU3R43YgMl1Sb5ayEqzA; stmt_9cQtU3R43YgMl1Sb5ayEqzA = destroycase_kSQ2ySz59csmlzmjQf4NNFg(c0, field0, holder0); { if (!!((stmt_9cQtU3R43YgMl1Sb5ayEqzA == NIM_NIL))) goto LA4; { if (!(result0 == NIM_NIL)) goto LA8; result0 = newnode_IgnRxkID5wXTWvTZf9ct0rA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); } LA8: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, stmt_9cQtU3R43YgMl1Sb5ayEqzA); } LA4: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tnode_bROa11lyF5vxEN9aYNbHmhw* stmt_9cQtU3R43YgMl1Sb5ayEqzA_2; stmt_9cQtU3R43YgMl1Sb5ayEqzA_2 = destroysym_SMmNNDLLucLH71S4LhUeXg(c0, (*field0).kindU.S4.sym, holder0); { if (!!((stmt_9cQtU3R43YgMl1Sb5ayEqzA_2 == NIM_NIL))) goto LA13; { if (!(result0 == NIM_NIL)) goto LA17; result0 = newnode_IgnRxkID5wXTWvTZf9ct0rA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); } LA17: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, stmt_9cQtU3R43YgMl1Sb5ayEqzA_2); } LA13: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* son_N7zydrxioY6kHedFF0i2rQ; son_N7zydrxioY6kHedFF0i2rQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_tHCNrjkx09atNS2bthHSAzw; NI HEX3Atmp_D9cBzk9bKB6qpyA5jHlesliA; NI LOC22; NI res_4pC09asWnoUPnDxet65ZBtw; i_tHCNrjkx09atNS2bthHSAzw = (NI)0; HEX3Atmp_D9cBzk9bKB6qpyA5jHlesliA = (NI)0; LOC22 = (NI)0; LOC22 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(field0); HEX3Atmp_D9cBzk9bKB6qpyA5jHlesliA = (LOC22 - 1); res_4pC09asWnoUPnDxet65ZBtw = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* stmt_9cQtU3R43YgMl1Sb5ayEqzA_3; if (!(res_4pC09asWnoUPnDxet65ZBtw <= HEX3Atmp_D9cBzk9bKB6qpyA5jHlesliA)) goto LA24; i_tHCNrjkx09atNS2bthHSAzw = res_4pC09asWnoUPnDxet65ZBtw; son_N7zydrxioY6kHedFF0i2rQ = (*field0).kindU.S6.sons->data[i_tHCNrjkx09atNS2bthHSAzw]; stmt_9cQtU3R43YgMl1Sb5ayEqzA_3 = destroyfieldorfields_Gqld9bmSKJp9bGOxrF1lOcQg(c0, son_N7zydrxioY6kHedFF0i2rQ, holder0); { if (!!((stmt_9cQtU3R43YgMl1Sb5ayEqzA_3 == NIM_NIL))) goto LA27; { if (!(result0 == NIM_NIL)) goto LA31; result0 = newnode_IgnRxkID5wXTWvTZf9ct0rA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); } LA31: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, stmt_9cQtU3R43YgMl1Sb5ayEqzA_3); } LA27: ; res_4pC09asWnoUPnDxet65ZBtw += ((NI) 1); } LA24: ; } } } } break; default: { { NimStringDesc* LOC38; if (!NIM_TRUE) goto LA36; LOC38 = (NimStringDesc*)0; LOC38 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_99); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC38); } LA36: ; } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, generatedestructor_q9aUa7mSzBRQqNAqOunEafw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* destructedobj0; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw LOC12; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*t0).n == NIM_NIL); if (LOC3) goto LA4; LOC3 = HEX3DHEX3D_Lrpi2N0XDlmkUBCjTBEG7Q((*(*t0).n).kindU.S6.sons, NIM_NIL); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; { NimStringDesc* LOC11; if (!!(((*(*t0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA9; LOC11 = (NimStringDesc*)0; LOC11 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_97); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC11); } LA9: ; LOC12 = unknownlineinfo_Ad9ctQofZYxhKVXoXjdL0Fw(); destructedobj0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(destructorparam_RZeMbj6q0movCinJndkybg, LOC12); result0 = destroyfieldorfields_Gqld9bmSKJp9bGOxrF1lOcQg(c0, (*t0).n, destructedobj0); }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, symfromtype_syrl4ZPOuPsz59auSN3kZPw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC5; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!!(((*t0).sym == NIM_NIL))) goto LA3; result0 = (*t0).sym; goto BeforeRet; } LA3: ; LOC5 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC5 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_101)); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), LOC5, (*t0).owner, info0); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))%(sizeof(NU32)*8)); asgnRefNoCycle((void**) (&(*result0).typ), t0); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, symnodefromtype_DeEWfPdY8tVw1fEFm9c2MQw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = symfromtype_syrl4ZPOuPsz59auSN3kZPw(t0, info0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(LOC1, info0); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, t0)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semproc_NBTNEqzl5NBSHnN0VGYkSQ_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), T_rF9caJawfOjYTjsgLVUSGFA_102, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 0)); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, instantiatedestructor_b04wmJZNmRs48ayVXpmKbg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typeholdinguserdefinition0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; t0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(typ0); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA3; typeholdinguserdefinition0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); } goto LA1; LA3: ; { typeholdinguserdefinition0 = t0; } LA1: ; { if (!!(((*typeholdinguserdefinition0).destructor == NIM_NIL))) goto LA8; { TY_7qhf4tr0xwdx1ieevx3DVg LOC12; NIM_BOOL LOC13; memset((void*)LOC12, 0, sizeof(LOC12)); LOC12[0] = analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ; LOC12[1] = destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag; LOC13 = (NIM_BOOL)0; LOC13 = contains_PqsDMdHhk9cJF69aC69c5ANwQsem(LOC12, 2, (*typeholdinguserdefinition0).destructor); if (!!(LOC13)) goto LA14; result0 = typeholdinguserdefinition0; goto BeforeRet; } goto LA10; LA14: ; { result0 = NIM_NIL; goto BeforeRet; } LA10: ; } LA8: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 2064); switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { asgnRefNoCycle((void**) (&(*t0).destructor), analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC20; LOC20 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC20 = instantiatedestructor_b04wmJZNmRs48ayVXpmKbg(c0, (*t0).sons->data[((NI) 0)]); if (!!((LOC20 == NIM_NIL))) goto LA21; asgnRefNoCycle((void**) (&(*t0).destructor), getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_96))); result0 = t0; goto BeforeRet; } goto LA18; LA21: ; { result0 = NIM_NIL; goto BeforeRet; } LA18: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { Tnode_bROa11lyF5vxEN9aYNbHmhw* generated0; asgnRefNoCycle((void**) (&(*t0).destructor), analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ); generated0 = generatedestructor_q9aUa7mSzBRQqNAqOunEafw(c0, t0); { Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw i0; Tnode_bROa11lyF5vxEN9aYNbHmhw* fulldef0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC34; TY_HxVE0mcM6xrWRkOnoIS9bbw LOC35; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC36; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC37; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC38; TY_T6RKPw8xfAeNaoei9aZGzXg LOC39; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC40; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC41; TY_jlWPjgtbdjE069arIWHC9c9bg LOC42; Tnode_bROa11lyF5vxEN9aYNbHmhw* semantizeddef0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; if (!!((generated0 == NIM_NIL))) goto LA27; { NimStringDesc* LOC33; if (!!(!(((*t0).sym == NIM_NIL)))) goto LA31; LOC33 = (NimStringDesc*)0; LOC33 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_100); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC33); } LA31: ; i0 = (*(*t0).sym).info; LOC34 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC34 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 7); memset((void*)LOC35, 0, sizeof(LOC35)); LOC35[0] = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(destructorname_kp9b9bPYJfu4p3PE2q9aRyqZQ, i0); LOC35[1] = emptynode_69ccLGuQ2mITw7zylZYtWcA; LOC35[2] = emptynode_69ccLGuQ2mITw7zylZYtWcA; LOC36 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC36 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC37, 0, sizeof(LOC37)); LOC37[0] = emptynode_69ccLGuQ2mITw7zylZYtWcA; LOC38 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC38 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 3); memset((void*)LOC39, 0, sizeof(LOC39)); LOC39[0] = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(destructorparam_RZeMbj6q0movCinJndkybg, i0); LOC40 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC40 = makevartype_mDAs5V37nZYC3ByzC3o7dQ(c0, t0); LOC39[1] = symnodefromtype_DeEWfPdY8tVw1fEFm9c2MQw(c0, LOC40, (*(*t0).sym).info); LOC39[2] = emptynode_69ccLGuQ2mITw7zylZYtWcA; asgnRefNoCycle((void**) (&LOC38->data[0]), LOC39[0]); asgnRefNoCycle((void**) (&LOC38->data[1]), LOC39[1]); asgnRefNoCycle((void**) (&LOC38->data[2]), LOC39[2]); LOC37[1] = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), i0, LOC38, NIM_NIL); asgnRefNoCycle((void**) (&LOC36->data[0]), LOC37[0]); asgnRefNoCycle((void**) (&LOC36->data[1]), LOC37[1]); LOC35[3] = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), i0, LOC36, NIM_NIL); LOC41 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC41 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 1); memset((void*)LOC42, 0, sizeof(LOC42)); LOC42[0] = destructorpragma_6zxt5AwQFrL9cd9bToeKD9cAw; asgnRefNoCycle((void**) (&LOC41->data[0]), LOC42[0]); LOC35[4] = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90), i0, LOC41, NIM_NIL); LOC35[5] = emptynode_69ccLGuQ2mITw7zylZYtWcA; LOC35[6] = generated0; asgnRefNoCycle((void**) (&LOC34->data[0]), LOC35[0]); asgnRefNoCycle((void**) (&LOC34->data[1]), LOC35[1]); asgnRefNoCycle((void**) (&LOC34->data[2]), LOC35[2]); asgnRefNoCycle((void**) (&LOC34->data[3]), LOC35[3]); asgnRefNoCycle((void**) (&LOC34->data[4]), LOC35[4]); asgnRefNoCycle((void**) (&LOC34->data[5]), LOC35[5]); asgnRefNoCycle((void**) (&LOC34->data[6]), LOC35[6]); fulldef0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79), i0, LOC34, NIM_NIL); semantizeddef0 = semproc_NBTNEqzl5NBSHnN0VGYkSQ_9(c0, fulldef0); LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(semantizeddef0, ((NI) 0)); asgnRefNoCycle((void**) (&(*t0).destructor), (*LOC43).kindU.S4.sym); result0 = t0; goto BeforeRet; } goto LA25; LA27: ; { asgnRefNoCycle((void**) (&(*t0).destructor), destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag); result0 = NIM_NIL; goto BeforeRet; } LA25: ; } break; default: { result0 = NIM_NIL; goto BeforeRet; } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, dodestructorstuff_bWT3VHZBqg9cw54r2vaGxQQ_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*s0).typ).sons->data[((NI) 1)], 8388608); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA3; { NI i_IWRqtEpdlw3zAGyujd9bzPA; NI HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA; NI LOC6; NI res_RWnlFd05HH17CEk0dRu7YA; i_IWRqtEpdlw3zAGyujd9bzPA = (NI)0; HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA = (NI)0; LOC6 = (NI)0; LOC6 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA = (LOC6 - 1); res_RWnlFd05HH17CEk0dRu7YA = ((NI) 1); { while (1) { if (!(res_RWnlFd05HH17CEk0dRu7YA <= HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA)) goto LA8; i_IWRqtEpdlw3zAGyujd9bzPA = res_RWnlFd05HH17CEk0dRu7YA; { if (!!(((*(*t0).sons->data[i_IWRqtEpdlw3zAGyujd9bzPA]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA11; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 206), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto BeforeRet; } LA11: ; res_RWnlFd05HH17CEk0dRu7YA += ((NI) 1); } LA8: ; } } t0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); } goto LA1; LA3: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54))) goto LA14; t0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); { if (!!(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA18; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 206), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto BeforeRet; } LA18: ; } goto LA1; LA14: ; LA1: ; asgnRefNoCycle((void**) (&(*t0).destructor), s0); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22; { NI i_IWRqtEpdlw3zAGyujd9bzPA_2; NI HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA_2; NI LOC25; NI res_RWnlFd05HH17CEk0dRu7YA_2; i_IWRqtEpdlw3zAGyujd9bzPA_2 = (NI)0; HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA_2 = (NI)0; LOC25 = (NI)0; LOC25 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA_2 = (NI)(LOC25 - ((NI) 1)); res_RWnlFd05HH17CEk0dRu7YA_2 = ((NI) 0); { while (1) { if (!(res_RWnlFd05HH17CEk0dRu7YA_2 <= HEX3Atmp_G6vaaI0qPdTfFUXJ4DzJqA_2)) goto LA27; i_IWRqtEpdlw3zAGyujd9bzPA_2 = res_RWnlFd05HH17CEk0dRu7YA_2; { Ttype_LTUWCZolpovw9cWE3JBWSUw* destructablet0; { if (!((*t0).sons->data[i_IWRqtEpdlw3zAGyujd9bzPA_2] == NIM_NIL)) goto LA31; goto LA28; } LA31: ; destructablet0 = instantiatedestructor_b04wmJZNmRs48ayVXpmKbg(c0, (*t0).sons->data[i_IWRqtEpdlw3zAGyujd9bzPA_2]); { TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC37; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC38; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC39; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; if (!!((destructablet0 == NIM_NIL))) goto LA35; LOC37 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC37 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC38, 0, sizeof(LOC38)); LOC38[0] = usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ((*destructablet0).destructor); LOC39 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC39 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0).kindU.S6.sons->data[((NI) 3)], ((NI) 1)); LOC38[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC39, ((NI) 0)); asgnRefNoCycle((void**) (&LOC37->data[0]), LOC38[0]); asgnRefNoCycle((void**) (&LOC37->data[1]), LOC38[1]); LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*(*t0).sym).info, LOC37, NIM_NIL); addson_gCCf68XrWL79bKes6htzFjQ((*n0).kindU.S6.sons->data[((NI) 6)], LOC40); } LA35: ; } LA28: ; res_RWnlFd05HH17CEk0dRu7YA_2 += ((NI) 1); } LA27: ; } } } LA22: ; }BeforeRet: ; } static N_INLINE(NIM_BOOL, experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { NIM_BOOL result0; NIM_BOOL LOC1; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = gexperimentalmode_6soUgFI6y4OEq35jrgN9chQ; if (LOC1) goto LA2; LOC1 = (((*(*c0).module).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))&31U)))!=0); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(void, semoverride_bWT3VHZBqg9cw54r2vaGxQQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NimStringDesc* LOC1; { LOC1 = (NimStringDesc*)0; LOC1 = nsuNormalize((*(*s0).name).s); if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_91))) goto LA2; if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_92))) goto LA2; if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_93))) goto LA3; if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_94))) goto LA3; if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_95))) goto LA4; goto LA5; LA2: ; { dodestructorstuff_bWT3VHZBqg9cw54r2vaGxQQ_3(c0, s0, n0); { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); if (!!(LOC10)) goto LA11; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_103)); } LA11: ; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); } goto LA6; LA3: ; { { NIM_BOOL LOC16; NIM_BOOL LOC17; NI LOC18; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC20; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC24; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; LOC16 = (NIM_BOOL)0; LOC17 = (NIM_BOOL)0; LOC18 = (NI)0; LOC18 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ); LOC17 = (LOC18 == ((NI) 2)); if (!(LOC17)) goto LA19; LOC20 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC20 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*s0).typ).sons->data[((NI) 1)], 43280); LOC17 = ((*LOC20).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*LOC20).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21)); LA19: ; LOC16 = LOC17; if (!(LOC16)) goto LA21; LOC16 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ((*(*s0).typ).sons->data[((NI) 1)], (*(*s0).typ).sons->data[((NI) 0)], 0); LA21: ; if (!LOC16) goto LA22; LOC24 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC24 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*s0).typ).sons->data[((NI) 1)], 43280); LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = lastson_E41DMKHtT9c6sAMyyvhmSIw(LOC24); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC25, 43280); { while (1) { { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA30; t0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); } goto LA28; LA30: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA33; t0 = (*t0).sons->data[((NI) 0)]; } goto LA28; LA33: ; { goto LA26; } LA28: ; } } LA26: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA38; { if (!((*t0).deepcopy == 0)) goto LA42; asgnRefNoCycle((void**) (&(*t0).deepcopy), s0); } goto LA40; LA42: ; { NimStringDesc* LOC45; NimStringDesc* LOC46; LOC45 = (NimStringDesc*)0; LOC46 = (NimStringDesc*)0; LOC46 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC45 = rawNewString(LOC46->Sup.len + 35); appendString(LOC45, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_104)); appendString(LOC45, LOC46); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC45); } LA40: ; } goto LA36; LA38: ; { NimStringDesc* LOC48; NimStringDesc* LOC49; LOC48 = (NimStringDesc*)0; LOC49 = (NimStringDesc*)0; LOC49 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC48 = rawNewString(LOC49->Sup.len + 27); appendString(LOC48, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_105)); appendString(LOC48, LOC49); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC48); } LA36: ; } goto LA14; LA22: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_106)); } LA14: ; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); } goto LA6; LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 6))) goto LA54; goto BeforeRet; } LA54: ; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); t0 = (*s0).typ; { NIM_BOOL LOC58; NIM_BOOL LOC59; NI LOC60; Ttype_LTUWCZolpovw9cWE3JBWSUw* obj0; Ttype_LTUWCZolpovw9cWE3JBWSUw* objb0; LOC58 = (NIM_BOOL)0; LOC59 = (NIM_BOOL)0; LOC60 = (NI)0; LOC60 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); LOC59 = (LOC60 == ((NI) 3)); if (!(LOC59)) goto LA61; LOC59 = ((*t0).sons->data[((NI) 0)] == NIM_NIL); LA61: ; LOC58 = LOC59; if (!(LOC58)) goto LA62; LOC58 = ((*(*t0).sons->data[((NI) 1)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA62: ; if (!LOC58) goto LA63; obj0 = (*(*t0).sons->data[((NI) 1)]).sons->data[((NI) 0)]; { while (1) { (*obj0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 26))%(sizeof(NU32)*8)); { if (!((*obj0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA69; obj0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(obj0); } goto LA67; LA69: ; { if (!((*obj0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA72; obj0 = (*obj0).sons->data[((NI) 0)]; } goto LA67; LA72: ; { goto LA65; } LA67: ; } } LA65: ; objb0 = (*t0).sons->data[((NI) 2)]; { while (1) { { if (!((*objb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA79; objb0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(objb0); } goto LA77; LA79: ; { if (!((*objb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA82; objb0 = (*objb0).sons->data[((NI) 0)]; } goto LA77; LA82: ; { goto LA75; } LA77: ; } } LA75: ; { NIM_BOOL LOC87; LOC87 = (NIM_BOOL)0; LOC87 = ((*obj0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*obj0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); if (!(LOC87)) goto LA88; LOC87 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(obj0, objb0, 0); LA88: ; if (!LOC87) goto LA89; { if (!((*obj0).assignment == 0)) goto LA93; asgnRefNoCycle((void**) (&(*obj0).assignment), s0); } goto LA91; LA93: ; { NimStringDesc* LOC96; NimStringDesc* LOC97; LOC96 = (NimStringDesc*)0; LOC97 = (NimStringDesc*)0; LOC97 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(obj0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC96 = rawNewString(LOC97->Sup.len + 28); appendString(LOC96, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_107)); appendString(LOC96, LOC97); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC96); } LA91: ; goto BeforeRet; } LA89: ; } LA63: ; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_108)); } goto LA6; LA5: ; { { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))&31U)))!=0)) goto LA101; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_109)); } LA101: ; } LA6: ; }BeforeRet: ; } static N_INLINE(NI, find_9basNl9bVqn7SOf9bgUeI8TEQrst)(NimStringDesc** a0, NI a0Len0, NimStringDesc* item0) { NI result0; { result0 = (NI)0; { NimStringDesc* i_PK51OczLhe60IMTnpDtj2Q_3; NI i_PK51OczLhe60IMTnpDtj2Q_4; i_PK51OczLhe60IMTnpDtj2Q_3 = (NimStringDesc*)0; i_PK51OczLhe60IMTnpDtj2Q_4 = ((NI) 0); { while (1) { if (!(i_PK51OczLhe60IMTnpDtj2Q_4 < a0Len0)) goto LA3; i_PK51OczLhe60IMTnpDtj2Q_3 = a0[i_PK51OczLhe60IMTnpDtj2Q_4]; { if (!eqStrings(i_PK51OczLhe60IMTnpDtj2Q_3, item0)) goto LA6; goto BeforeRet; } LA6: ; result0 += ((NI) 1); i_PK51OczLhe60IMTnpDtj2Q_4 += ((NI) 1); } LA3: ; } } result0 = ((NI) -1); }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, contains_jPdUhZfr9a8sH2V3ZBDljzwrst)(NimStringDesc** a0, NI a0Len0, NimStringDesc* item0) { NIM_BOOL result0; NI LOC1; { result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = find_9basNl9bVqn7SOf9bgUeI8TEQrst(a0, a0Len0, item0); result0 = (((NI) 0) <= LOC1); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, pushproccon_bvkA8slTYt1UIXkpYpaKog_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { rawpushproccon_bvkA8slTYt1UIXkpYpaKog(c0, owner0); rawhandleself_bvkA8slTYt1UIXkpYpaKog_2(c0, owner0); } N_NIMCALL(void, typeallowedcheck_NYdMxmPuqrY45Z2ld0gWSA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; t0 = typeallowed_bHa9arT9b20nGEtBco5rXr1g(typ0, kind0); { if (!!((t0 == NIM_NIL))) goto LA3; { NimStringDesc* LOC9; NimStringDesc* LOC10; if (!(t0 == typ0)) goto LA7; LOC9 = (NimStringDesc*)0; LOC10 = (NimStringDesc*)0; LOC10 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(typ0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC9 = rawNewString(LOC10->Sup.len + 16); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_115)); appendString(LOC9, LOC10); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_33)); localerror_GarD0CQJ5aQhoHekHYinVQ(info0, LOC9); } goto LA5; LA7: ; { NimStringDesc* LOC12; NimStringDesc* LOC13; NimStringDesc* LOC14; LOC12 = (NimStringDesc*)0; LOC13 = (NimStringDesc*)0; LOC13 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC14 = (NimStringDesc*)0; LOC14 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(typ0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC12 = rawNewString(LOC13->Sup.len + LOC14->Sup.len + 36); appendString(LOC12, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_115)); appendString(LOC12, LOC13); appendString(LOC12, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_116)); appendString(LOC12, LOC14); appendString(LOC12, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_33)); localerror_GarD0CQJ5aQhoHekHYinVQ(info0, LOC12); } LA5: ; } LA3: ; } static N_INLINE(void, paramstypecheck_x1Ba9c12ovxmcPsmA8sLtBwsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { typeallowedcheck_NYdMxmPuqrY45Z2ld0gWSA((*(*typ0).n).info, typ0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); } N_NIMCALL(void, activate_KpXrxZxDEqEzAegpvzmW3g_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { } static N_INLINE(NIM_BOOL, isarrayconstr_kR3j4BVoX6LmX0p7IycneQsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; NIM_BOOL LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); if (!(LOC1)) goto LA2; LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 43280); LOC1 = ((*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16)); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(void, changetype_REwyfGkprno5W0Lbgq59aKA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* newtype0, NIM_BOOL check0) { { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41): { { NI i_zcKvW7Gbld37EtjMwJZSFw; NI HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ; NI LOC3; NI res_FBMGf8QSXL34DeKx49bl89cg; i_zcKvW7Gbld37EtjMwJZSFw = (NI)0; HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ = (NI)(LOC3 - ((NI) 1)); res_FBMGf8QSXL34DeKx49bl89cg = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; if (!(res_FBMGf8QSXL34DeKx49bl89cg <= HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ)) goto LA5; i_zcKvW7Gbld37EtjMwJZSFw = res_FBMGf8QSXL34DeKx49bl89cg; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = elemtype_46gPaVDDGhiU69b2oKDJZuA_2(newtype0); changetype_REwyfGkprno5W0Lbgq59aKA((*n0).kindU.S6.sons->data[i_zcKvW7Gbld37EtjMwJZSFw], LOC6, check0); res_FBMGf8QSXL34DeKx49bl89cg += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37): { Ttype_LTUWCZolpovw9cWE3JBWSUw* tup0; tup0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(newtype0, 2064); { if (!!(((*tup0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA10; { if (!((*tup0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA14; goto BeforeRet; } LA14: ; globalerror_GarD0CQJ5aQhoHekHYinVQ_2((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_119)); } goto LA8; LA10: ; { NIM_BOOL LOC17; NI LOC18; LOC17 = (NIM_BOOL)0; LOC18 = (NI)0; LOC18 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC17 = (((NI) 0) < LOC18); if (!(LOC17)) goto LA19; LOC17 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)); LA19: ; if (!LOC17) goto LA20; { NI i_zcKvW7Gbld37EtjMwJZSFw_2; NI HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_2; NI LOC23; NI res_FBMGf8QSXL34DeKx49bl89cg_2; i_zcKvW7Gbld37EtjMwJZSFw_2 = (NI)0; HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_2 = (NI)0; LOC23 = (NI)0; LOC23 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_2 = (NI)(LOC23 - ((NI) 1)); res_FBMGf8QSXL34DeKx49bl89cg_2 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* m0; if (!(res_FBMGf8QSXL34DeKx49bl89cg_2 <= HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_2)) goto LA25; i_zcKvW7Gbld37EtjMwJZSFw_2 = res_FBMGf8QSXL34DeKx49bl89cg_2; m0 = (*(*n0).kindU.S6.sons->data[i_zcKvW7Gbld37EtjMwJZSFw_2]).kindU.S6.sons->data[((NI) 0)]; { if (!!(((*m0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA28; globalerror_GarD0CQJ5aQhoHekHYinVQ_2((*m0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_120)); goto BeforeRet; } LA28: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; if (!!(((*tup0).n == NIM_NIL))) goto LA32; f0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*tup0).n, (*(*m0).kindU.S4.sym).name, ((NI) 0)); { NimStringDesc* LOC38; if (!(f0 == NIM_NIL)) goto LA36; LOC38 = (NimStringDesc*)0; LOC38 = rawNewString((*(*(*m0).kindU.S4.sym).name).s->Sup.len + 20); appendString(LOC38, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_121)); appendString(LOC38, (*(*(*m0).kindU.S4.sym).name).s); globalerror_GarD0CQJ5aQhoHekHYinVQ_2((*m0).info, LOC38); goto BeforeRet; } LA36: ; changetype_REwyfGkprno5W0Lbgq59aKA((*(*n0).kindU.S6.sons->data[i_zcKvW7Gbld37EtjMwJZSFw_2]).kindU.S6.sons->data[((NI) 1)], (*f0).typ, check0); } goto LA30; LA32: ; { changetype_REwyfGkprno5W0Lbgq59aKA((*(*n0).kindU.S6.sons->data[i_zcKvW7Gbld37EtjMwJZSFw_2]).kindU.S6.sons->data[((NI) 1)], (*tup0).sons->data[i_zcKvW7Gbld37EtjMwJZSFw_2], check0); } LA30: ; res_FBMGf8QSXL34DeKx49bl89cg_2 += ((NI) 1); } LA25: ; } } } goto LA8; LA20: ; { { NI i_zcKvW7Gbld37EtjMwJZSFw_3; NI HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_3; NI LOC42; NI res_FBMGf8QSXL34DeKx49bl89cg_3; i_zcKvW7Gbld37EtjMwJZSFw_3 = (NI)0; HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_3 = (NI)0; LOC42 = (NI)0; LOC42 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_3 = (NI)(LOC42 - ((NI) 1)); res_FBMGf8QSXL34DeKx49bl89cg_3 = ((NI) 0); { while (1) { if (!(res_FBMGf8QSXL34DeKx49bl89cg_3 <= HEX3Atmp_4S8xdSoia7J5jygKq09bBKQ_3)) goto LA44; i_zcKvW7Gbld37EtjMwJZSFw_3 = res_FBMGf8QSXL34DeKx49bl89cg_3; changetype_REwyfGkprno5W0Lbgq59aKA((*n0).kindU.S6.sons->data[i_zcKvW7Gbld37EtjMwJZSFw_3], (*tup0).sons->data[i_zcKvW7Gbld37EtjMwJZSFw_3], check0); res_FBMGf8QSXL34DeKx49bl89cg_3 += ((NI) 1); } LA44: ; } } } LA8: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15): { { NIM_BOOL LOC48; NI64 value0; LOC48 = (NIM_BOOL)0; LOC48 = check0; if (!(LOC48)) goto LA49; LOC48 = !(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15))); LA49: ; if (!LOC48) goto LA50; value0 = (*n0).kindU.S1.intval; { NIM_BOOL LOC54; NI64 LOC55; NI64 LOC57; NimStringDesc* LOC60; NimStringDesc* LOC61; NimStringDesc* LOC62; LOC54 = (NIM_BOOL)0; LOC55 = (NI64)0; LOC55 = firstord_HUiBYxvKiECXCv8BzQNheg(newtype0); LOC54 = (value0 < LOC55); if (LOC54) goto LA56; LOC57 = (NI64)0; LOC57 = lastord_HUiBYxvKiECXCv8BzQNheg_2(newtype0); LOC54 = (LOC57 < value0); LA56: ; if (!LOC54) goto LA58; LOC60 = (NimStringDesc*)0; LOC61 = (NimStringDesc*)0; LOC61 = nimInt64ToStr(value0); LOC62 = (NimStringDesc*)0; LOC62 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(newtype0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC60 = rawNewString(LOC61->Sup.len + LOC62->Sup.len + 19); appendString(LOC60, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_122)); appendString(LOC60, LOC61); appendString(LOC60, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_123)); appendString(LOC60, LOC62); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC60); } LA58: ; } LA50: ; } break; default: { } break; } asgnRefNoCycle((void**) (&(*n0).typ), newtype0); }BeforeRet: ; } N_NIMCALL(void, fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_vYji7g7b21boZMV4Tcae0g; NI HEX3Atmp_MIvYKjNThmbOkg1yqmLtag; NI LOC2; NI res_yBRj4f8J9a9b5OXYAPzDitYQ; i_vYji7g7b21boZMV4Tcae0g = (NI)0; HEX3Atmp_MIvYKjNThmbOkg1yqmLtag = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_MIvYKjNThmbOkg1yqmLtag = (LOC2 - 1); res_yBRj4f8J9a9b5OXYAPzDitYQ = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_yBRj4f8J9a9b5OXYAPzDitYQ <= HEX3Atmp_MIvYKjNThmbOkg1yqmLtag)) goto LA4; i_vYji7g7b21boZMV4Tcae0g = res_yBRj4f8J9a9b5OXYAPzDitYQ; it0 = (*n0).kindU.S6.sons->data[i_vYji7g7b21boZMV4Tcae0g]; { NIM_BOOL LOC7; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC7 = (NIM_BOOL)0; LOC7 = ((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59)); if (!(LOC7)) goto LA8; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*it0).typ, 8431888); LOC7 = !(((*LOC9).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*LOC9).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48))); LA8: ; if (!LOC7) goto LA10; { NIM_BOOL LOC14; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; Ttype_LTUWCZolpovw9cWE3JBWSUw* s0; LOC14 = (NIM_BOOL)0; LOC15 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC15 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*it0).kindU.S6.sons->data[((NI) 1)]).typ, 8431888); LOC14 = ((*LOC15).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*LOC15).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*LOC15).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19)); if (LOC14) goto LA16; LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(it0, ((NI) 1)); LOC14 = isarrayconstr_kR3j4BVoX6LmX0p7IycneQsem(LOC17); LA16: ; if (!LOC14) goto LA18; s0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*it0).typ, 8431888); { if (!!(((*s0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA22; changetype_REwyfGkprno5W0Lbgq59aKA((*it0).kindU.S6.sons->data[((NI) 1)], s0, NIM_TRUE); } LA22: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_vYji7g7b21boZMV4Tcae0g]), (*it0).kindU.S6.sons->data[((NI) 1)]); } LA18: ; } LA10: ; res_yBRj4f8J9a9b5OXYAPzDitYQ += ((NI) 1); } LA4: ; } } } N_NIMCALL(Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag, isassignable_8crr7O0lq2HvOQtYO2ruzQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0) { Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag result0; result0 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0; result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w((*(*c0).p).owner, n0, isunsafeaddr0); return result0; } N_NIMCALL(void, performprocvarcheck_R8jreTzhKkfgsSbPlOBSjg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { NI smoduleid0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = getmodule_0lPlu1uOok1rRK50z1V70A(s0); smoduleid0 = (*LOC1).Sup.id; { NIM_BOOL LOC4; NIM_BOOL LOC5; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC5 = !((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 17))&31U)))!=0)); if (!(LOC5)) goto LA6; LOC5 = ((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0)); LA6: ; LOC4 = LOC5; if (!(LOC4)) goto LA7; LOC4 = !((smoduleid0 == (*(*c0).module).Sup.id)); LA7: ; if (!LOC4) goto LA8; { { Tsym_AXG7xcvKqaxY6koRX1xkCw* module_ViVqpeRSW9cfrQ9c4ln0l1zQ; TY_sksVpmPRIkNR9axiwtD1Guw* HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ; NI i_Dv0stEs9a5Us1rlpZPijlwQ; NI L_ideDVzWQv627ml5CzcFVxg; module_ViVqpeRSW9cfrQ9c4ln0l1zQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ = (TY_sksVpmPRIkNR9axiwtD1Guw*)0; HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ = (*c0).friendmodules; i_Dv0stEs9a5Us1rlpZPijlwQ = ((NI) 0); L_ideDVzWQv627ml5CzcFVxg = (HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ ? HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ->Sup.len : 0); { while (1) { if (!(i_Dv0stEs9a5Us1rlpZPijlwQ < L_ideDVzWQv627ml5CzcFVxg)) goto LA13; module_ViVqpeRSW9cfrQ9c4ln0l1zQ = HEX3Atmp_QT0H9beZy4Uk68cqGroCcXQ->data[i_Dv0stEs9a5Us1rlpZPijlwQ]; { if (!(smoduleid0 == (*module_ViVqpeRSW9cfrQ9c4ln0l1zQ).Sup.id)) goto LA16; goto LA10; } LA16: ; i_Dv0stEs9a5Us1rlpZPijlwQ += ((NI) 1); } LA13: ; } } localerror_VpilfPWbplGz6ny7O9cfr2g(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 137), (*(*s0).name).s); } LA10: ; } LA8: ; } N_NIMCALL(void, semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_Hp2U59bQhyxJW9aAFC6MB3Pg) { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; n0 = skipconv_6rsSLwtlU9c53a6w69be5JlQ(n_Hp2U59bQhyxJW9aAFC6MB3Pg); { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x_hfGdqiqkRe6T3L9c1X4skeA; x_hfGdqiqkRe6T3L9c1X4skeA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_69aq9aA9bjYChy2cy7hOO9aY7w; NI HEX3Atmp_9cSGmzNARUsPP3u9a9crA5UnQ; NI LOC7; NI res_bLmKh9bs7ZygPBAue1HkYgw; i_69aq9aA9bjYChy2cy7hOO9aY7w = (NI)0; HEX3Atmp_9cSGmzNARUsPP3u9a9crA5UnQ = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_9cSGmzNARUsPP3u9a9crA5UnQ = (LOC7 - 1); res_bLmKh9bs7ZygPBAue1HkYgw = ((NI) 0); { while (1) { if (!(res_bLmKh9bs7ZygPBAue1HkYgw <= HEX3Atmp_9cSGmzNARUsPP3u9a9crA5UnQ)) goto LA9; i_69aq9aA9bjYChy2cy7hOO9aY7w = res_bLmKh9bs7ZygPBAue1HkYgw; x_hfGdqiqkRe6T3L9c1X4skeA = (*n0).kindU.S6.sons->data[i_69aq9aA9bjYChy2cy7hOO9aY7w]; { if (!((61440 &(1U<<((NU)((*(*x_hfGdqiqkRe6T3L9c1X4skeA).kindU.S4.sym).kind)&31U)))!=0)) goto LA12; performprocvarcheck_R8jreTzhKkfgsSbPlOBSjg(c0, (*n0).info, (*x_hfGdqiqkRe6T3L9c1X4skeA).kindU.S4.sym); } LA12: ; res_bLmKh9bs7ZygPBAue1HkYgw += ((NI) 1); } LA9: ; } } } } goto LA1; LA3: ; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC15)) goto LA16; LOC15 = ((61440 &(1U<<((NU)((*(*n0).kindU.S4.sym).kind)&31U)))!=0); LA16: ; if (!LOC15) goto LA17; performprocvarcheck_R8jreTzhKkfgsSbPlOBSjg(c0, (*n0).info, (*n0).kindU.S4.sym); } goto LA1; LA17: ; LA1: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65)); if (!(LOC3)) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = (gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 2)); if (LOC5) goto LA6; LOC5 = (((*(*c0).module).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 27))&31U)))!=0); LA6: ; LOC3 = !(LOC5); LA4: ; if (!LOC3) goto LA7; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); result0 = (*n0).kindU.S6.sons->data[((NI) 0)]; } goto LA1; LA7: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC10; LOC10 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC10 = makevartype_mDAs5V37nZYC3ByzC3o7dQ(c0, (*n0).typ); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n0).info, LOC10); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); { Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag LOC13; LOC13 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0; LOC13 = isassignable_8crr7O0lq2HvOQtYO2ruzQ(c0, n0, NIM_FALSE); if (!!(((6 &(1U<<((NU)(LOC13)&7U)))!=0))) goto LA14; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 130), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA14: ; } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, analyseifaddresstaken_NBTNEqzl5NBSHnN0VGYkSQ_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { { NIM_BOOL LOC4; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; LOC4 = (NIM_BOOL)0; LOC4 = !(((*(*n0).kindU.S4.sym).typ == NIM_NIL)); if (!(LOC4)) goto LA5; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S4.sym).typ, 43024); LOC4 = !(((*LOC6).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))); LA5: ; if (!LOC4) goto LA7; (*(*n0).kindU.S4.sym).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 15))%(sizeof(NU32)*8)); result0 = newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14(c0, n0); } LA7: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_125)); goto BeforeRet; } LA12: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC16; LOC16 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC16 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym).typ, 43024); if (!!(((*LOC16).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA17; (*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 15))%(sizeof(NU32)*8)); result0 = newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14(c0, n0); } LA17: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC22; LOC22 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC22 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 43024); if (!!(((*LOC22).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA23; { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA27; (*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 15))%(sizeof(NU32)*8)); } LA27: ; result0 = newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14(c0, n0); } LA23: ; } break; default: { result0 = newhiddenaddrtaken_NBTNEqzl5NBSHnN0VGYkSQ_14(c0, n0); } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 2064); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC3)) goto LA4; LOC3 = ((T_rF9caJawfOjYTjsgLVUSGFA_124[(NU)((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).magic)>>3] &(1U<<((NU)((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).magic)&7U)))!=0); LA4: ; if (!LOC3) goto LA5; { NI i_NSNcul2CaVJ9bo9aQFrjpZMg; NI HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw; NI LOC8; NI res_H9bQE09aFNQpZj9aXM2YlBGog; i_NSNcul2CaVJ9bo9aQFrjpZMg = (NI)0; HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw = (NI)(LOC8 - ((NI) 1)); res_H9bQE09aFNQpZj9aXM2YlBGog = ((NI) 1); { while (1) { if (!(res_H9bQE09aFNQpZj9aXM2YlBGog <= HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw)) goto LA10; i_NSNcul2CaVJ9bo9aQFrjpZMg = res_H9bQE09aFNQpZj9aXM2YlBGog; { NIM_BOOL LOC13; NIM_BOOL LOC14; NI LOC15; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC18; LOC13 = (NIM_BOOL)0; LOC14 = (NIM_BOOL)0; LOC15 = (NI)0; LOC15 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); LOC14 = (i_NSNcul2CaVJ9bo9aQFrjpZMg < LOC15); if (!(LOC14)) goto LA16; LOC14 = !(((*t0).sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg] == NIM_NIL)); LA16: ; LOC13 = LOC14; if (!(LOC13)) goto LA17; LOC18 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC18 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg], 43024); LOC13 = ((*LOC18).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA17: ; if (!LOC13) goto LA19; { Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag LOC23; LOC23 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0; LOC23 = isassignable_8crr7O0lq2HvOQtYO2ruzQ(c0, (*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg], NIM_FALSE); if (!!(((6 &(1U<<((NU)(LOC23)&7U)))!=0))) goto LA24; { if (!!(((*(*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA28; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 130), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA28: ; } LA24: ; } LA19: ; res_H9bQE09aFNQpZj9aXM2YlBGog += ((NI) 1); } LA10: ; } } goto BeforeRet; } LA5: ; { NI i_NSNcul2CaVJ9bo9aQFrjpZMg_2; NI HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw_2; NI LOC31; NI res_H9bQE09aFNQpZj9aXM2YlBGog_2; i_NSNcul2CaVJ9bo9aQFrjpZMg_2 = (NI)0; HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw_2 = (NI)0; LOC31 = (NI)0; LOC31 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw_2 = (NI)(LOC31 - ((NI) 1)); res_H9bQE09aFNQpZj9aXM2YlBGog_2 = ((NI) 1); { while (1) { if (!(res_H9bQE09aFNQpZj9aXM2YlBGog_2 <= HEX3Atmp_nDzcjyr2jfBV3Yl8nzEWPw_2)) goto LA33; i_NSNcul2CaVJ9bo9aQFrjpZMg_2 = res_H9bQE09aFNQpZj9aXM2YlBGog_2; { if (!((*(*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA36; analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3(c0, (*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2]); } LA36: ; semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4(c0, (*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2]); { NIM_BOOL LOC40; NI LOC41; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC43; LOC40 = (NIM_BOOL)0; LOC41 = (NI)0; LOC41 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); LOC40 = (i_NSNcul2CaVJ9bo9aQFrjpZMg_2 < LOC41); if (!(LOC40)) goto LA42; LOC43 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC43 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2], 43024); LOC40 = ((*LOC43).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA42: ; if (!LOC40) goto LA44; { if (!!(((*(*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA48; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2]), analyseifaddresstaken_NBTNEqzl5NBSHnN0VGYkSQ_13(c0, (*n0).kindU.S6.sons->data[i_NSNcul2CaVJ9bo9aQFrjpZMg_2])); } LA48: ; } LA44: ; res_H9bQE09aFNQpZj9aXM2YlBGog_2 += ((NI) 1); } LA33: ; } } }BeforeRet: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semaddr_g9ay67gfQCKqn9akofTrVvgQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63), (*n0).info); x0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 0); { if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3; (*(*x0).kindU.S4.sym).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 15))%(sizeof(NU32)*8)); } LA3: ; { Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag LOC7; LOC7 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0; LOC7 = isassignable_8crr7O0lq2HvOQtYO2ruzQ(c0, x0, isunsafeaddr0); if (!!(((6 &(1U<<((NU)(LOC7)&7U)))!=0))) goto LA8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 128), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA8: ; add_gCCf68XrWL79bKes6htzFjQ_3(result0, x0); asgnRefNoCycle((void**) (&(*result0).typ), makeptrtype_mDAs5V37nZYC3ByzC3o7dQ_2(c0, (*x0).typ)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypeof_NBTNEqzl5NBSHnN0VGYkSQ_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* typexpr0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132), (*n0).info); typexpr0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 4); add_gCCf68XrWL79bKes6htzFjQ_3(result0, typexpr0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*typexpr0).typ, 256); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, LOC1)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semderef_NBTNEqzl5NBSHnN0VGYkSQ_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); result0 = n0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 8390672); switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { asgnRefNoCycle((void**) (&(*n0).typ), lastson_E41DMKHtT9c6sAMyyvhmSIw(t0)); } break; default: { result0 = NIM_NIL; } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsymgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericsym_pBlmzERbp9c9aZrZG8goa4Fw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; Tsym_AXG7xcvKqaxY6koRX1xkCw* newinst0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, (&m0), s0, NIM_NIL, ((NI) -1)); { NI i_b9cd1C4tEBY4SWD5HyYFSyA; NI HEX3Atmp_pnL5tr4C7nzYfW9bfIGSHVw; NI LOC2; NI res_OKWZvgGzTOT8Qh9bIKPWK8w; i_b9cd1C4tEBY4SWD5HyYFSyA = (NI)0; HEX3Atmp_pnL5tr4C7nzYfW9bfIGSHVw = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_pnL5tr4C7nzYfW9bfIGSHVw = (NI)(LOC2 - ((NI) 1)); res_OKWZvgGzTOT8Qh9bIKPWK8w = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0; Ttype_LTUWCZolpovw9cWE3JBWSUw* arg0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ tm0; if (!(res_OKWZvgGzTOT8Qh9bIKPWK8w <= HEX3Atmp_pnL5tr4C7nzYfW9bfIGSHVw)) goto LA4; i_b9cd1C4tEBY4SWD5HyYFSyA = res_OKWZvgGzTOT8Qh9bIKPWK8w; formal0 = (*(*(*(*s0).ast).kindU.S6.sons->data[((NI) 2)]).kindU.S6.sons->data[(NI)(i_b9cd1C4tEBY4SWD5HyYFSyA - ((NI) 1))]).typ; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_b9cd1C4tEBY4SWD5HyYFSyA); arg0 = (*LOC5).typ; tm0 = typerel_0fsYV9bVZA2eXpHTIQspjZA((&m0), formal0, arg0, NIM_TRUE); { if (!((3 &(1U<<((NU)(tm0)&15U)))!=0)) goto LA8; result0 = NIM_NIL; goto BeforeRet; } LA8: ; res_OKWZvgGzTOT8Qh9bIKPWK8w += ((NI) 1); } LA4: ; } } newinst0 = generateinstance_KtAmihMG1Kq6M7PWjOiVzA(c0, s0, m0.bindings, (*n0).info); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(newinst0, (*n0).info); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericinsterror_wWBimsBS4M6UZBvTRDlQTQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NimStringDesc* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (NimStringDesc*)0; LOC1 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), LOC1); result0 = n0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, explicitgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s_6jxbuMcvvuBtB13HXrI7jw) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_PDdKJAJ6cqb89ct9cGeSAc3g; NI HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg; NI LOC2; NI res_lovH3bug1mZRdrj0xgYJqA; i_PDdKJAJ6cqb89ct9cGeSAc3g = (NI)0; HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg = (NI)(LOC2 - ((NI) 1)); res_lovH3bug1mZRdrj0xgYJqA = ((NI) 1); { while (1) { if (!(res_lovH3bug1mZRdrj0xgYJqA <= HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg)) goto LA4; i_PDdKJAJ6cqb89ct9cGeSAc3g = res_lovH3bug1mZRdrj0xgYJqA; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_PDdKJAJ6cqb89ct9cGeSAc3g]).typ), semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[i_PDdKJAJ6cqb89ct9cGeSAc3g], NIM_NIL)); res_lovH3bug1mZRdrj0xgYJqA += ((NI) 1); } LA4: ; } } s0 = s_6jxbuMcvvuBtB13HXrI7jw; a0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7; { NI LOC11; NI LOC12; NI expected0; NimStringDesc* LOC15; NimStringDesc* LOC16; NI LOC17; NimStringDesc* LOC18; NimStringDesc* LOC19; LOC11 = (NI)0; LOC11 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch((*(*s0).ast).kindU.S6.sons->data[((NI) 2)]); LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!!((LOC11 == (NI)(LOC12 - ((NI) 1))))) goto LA13; expected0 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch((*(*s0).ast).kindU.S6.sons->data[((NI) 2)]); LOC15 = (NimStringDesc*)0; LOC16 = (NimStringDesc*)0; LOC16 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); LOC17 = (NI)0; LOC17 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC18 = (NimStringDesc*)0; LOC18 = nimIntToStr((NI)(LOC17 - ((NI) 1))); LOC19 = (NimStringDesc*)0; LOC19 = nimIntToStr(expected0); LOC15 = rawNewString(LOC16->Sup.len + LOC18->Sup.len + LOC19->Sup.len + 48); appendString(LOC15, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_127)); appendString(LOC15, LOC16); appendString(LOC15, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_128)); appendString(LOC15, LOC18); appendString(LOC15, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_129)); appendString(LOC15, LOC19); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC15); result0 = n0; goto BeforeRet; } LA13: ; result0 = explicitgenericsym_pBlmzERbp9c9aZrZG8goa4Fw_3(c0, n0, s0); { if (!(result0 == NIM_NIL)) goto LA22; result0 = explicitgenericinsterror_wWBimsBS4M6UZBvTRDlQTQ_2(n0); } LA22: ; } goto LA5; LA7: ; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA25; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w((*a0).kind, (*n0).info); { NI i_PDdKJAJ6cqb89ct9cGeSAc3g_2; NI HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg_2; NI LOC28; NI res_lovH3bug1mZRdrj0xgYJqA_2; i_PDdKJAJ6cqb89ct9cGeSAc3g_2 = (NI)0; HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg_2 = (NI)0; LOC28 = (NI)0; LOC28 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg_2 = (NI)(LOC28 - ((NI) 1)); res_lovH3bug1mZRdrj0xgYJqA_2 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* candidate0; if (!(res_lovH3bug1mZRdrj0xgYJqA_2 <= HEX3Atmp_LBW2o1mIc9cN9aYmKR3j7cFg_2)) goto LA30; i_PDdKJAJ6cqb89ct9cGeSAc3g_2 = res_lovH3bug1mZRdrj0xgYJqA_2; candidate0 = (*(*a0).kindU.S6.sons->data[i_PDdKJAJ6cqb89ct9cGeSAc3g_2]).kindU.S4.sym; { if (!((61440 &(1U<<((NU)((*candidate0).kind)&31U)))!=0)) goto LA33; { NI LOC37; NI LOC38; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; LOC37 = (NI)0; LOC37 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch((*(*candidate0).ast).kindU.S6.sons->data[((NI) 2)]); LOC38 = (NI)0; LOC38 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC37 == (NI)(LOC38 - ((NI) 1)))) goto LA39; x0 = explicitgenericsym_pBlmzERbp9c9aZrZG8goa4Fw_3(c0, n0, candidate0); { if (!!((x0 == NIM_NIL))) goto LA43; add_gCCf68XrWL79bKes6htzFjQ_3(result0, x0); } LA43: ; } LA39: ; } LA33: ; res_lovH3bug1mZRdrj0xgYJqA_2 += ((NI) 1); } LA30: ; } } { NIM_BOOL LOC47; NI LOC48; LOC47 = (NIM_BOOL)0; LOC48 = (NI)0; LOC48 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); LOC47 = (LOC48 == ((NI) 1)); if (!(LOC47)) goto LA49; LOC47 = ((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56)); LA49: ; if (!LOC47) goto LA50; result0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, ((NI) 0)); } goto LA45; LA50: ; { NI LOC53; LOC53 = (NI)0; LOC53 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); if (!(LOC53 == ((NI) 0))) goto LA54; result0 = explicitgenericinsterror_wWBimsBS4M6UZBvTRDlQTQ_2(n0); } goto LA45; LA54: ; LA45: ; } goto LA5; LA25: ; { result0 = explicitgenericinsterror_wWBimsBS4M6UZBvTRDlQTQ_2(n0); } LA5: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsubscript_tayBCUAEli3HMPwxdS9aMbg_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* arr0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 1))) goto LA4; x0 = semderef_NBTNEqzl5NBSHnN0VGYkSQ_16(c0, n0); { if (!(x0 == NIM_NIL)) goto LA8; result0 = NIM_NIL; goto BeforeRet; } LA8: ; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47), (*x0).info, (*x0).typ); LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 0)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC10); goto BeforeRet; } LA4: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 3072)); arr0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 14682128); switch ((*arr0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): { Ttype_LTUWCZolpovw9cWE3JBWSUw* indextype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; { NI LOC14; LOC14 = (NI)0; LOC14 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!!((LOC14 == ((NI) 2)))) goto LA15; result0 = NIM_NIL; goto BeforeRet; } LA15: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), makederef_nRsa9acFWDI6GmzVZLXX3CQ((*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), (*n0).kindU.S6.sons->data[((NI) 0)]); { NI i_lP7Q4S9bYKtals9bkfvGGJiA; NI HEX3Atmp_CfD9bcgTP9b2ol0AYDHvkt6g; NI LOC18; NI res_N7q3rtqR9cS5RaYV0TdIQbg; i_lP7Q4S9bYKtals9bkfvGGJiA = (NI)0; HEX3Atmp_CfD9bcgTP9b2ol0AYDHvkt6g = (NI)0; LOC18 = (NI)0; LOC18 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_CfD9bcgTP9b2ol0AYDHvkt6g = (NI)(LOC18 - ((NI) 1)); res_N7q3rtqR9cS5RaYV0TdIQbg = ((NI) 1); { while (1) { if (!(res_N7q3rtqR9cS5RaYV0TdIQbg <= HEX3Atmp_CfD9bcgTP9b2ol0AYDHvkt6g)) goto LA20; i_lP7Q4S9bYKtals9bkfvGGJiA = res_N7q3rtqR9cS5RaYV0TdIQbg; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_lP7Q4S9bYKtals9bkfvGGJiA]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[i_lP7Q4S9bYKtals9bkfvGGJiA], (flags0 & 36))); res_N7q3rtqR9cS5RaYV0TdIQbg += ((NI) 1); } LA20: ; } } { if (!((*arr0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA23; indextype0 = (*arr0).sons->data[((NI) 0)]; } goto LA21; LA23: ; { indextype0 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); } LA21: ; arg0 = indextypesmatch_W26LvxfTEV1CTaif6P5vhQ(c0, indextype0, (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, (*n0).kindU.S6.sons->data[((NI) 1)]); { if (!!((arg0 == NIM_NIL))) goto LA28; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), arg0); result0 = n0; asgnRefNoCycle((void**) (&(*result0).typ), elemtype_46gPaVDDGhiU69b2oKDJZuA_2(arr0)); } LA28: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC31; result0 = n0; LOC31 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC31 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, LOC31)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), makederef_nRsa9acFWDI6GmzVZLXX3CQ((*n0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), (*n0).kindU.S6.sons->data[((NI) 0)]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC35; NI64 idx0; LOC35 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC35 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, 1083408); if (!((*LOC35).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*LOC35).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA36; idx0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA((*n0).kindU.S6.sons->data[((NI) 1)]); { NIM_BOOL LOC40; NI LOC42; LOC40 = (NIM_BOOL)0; LOC40 = (IL64(0) <= idx0); if (!(LOC40)) goto LA41; LOC42 = (NI)0; LOC42 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(arr0); LOC40 = (idx0 < ((NI64) (LOC42))); LA41: ; if (!LOC40) goto LA43; asgnRefNoCycle((void**) (&(*n0).typ), (*arr0).sons->data[idx0]); } goto LA38; LA43: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 189), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA38: ; } goto LA33; LA36: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 86), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA33: ; result0 = n0; } break; default: { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA50; s0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; } goto LA48; LA50: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC53; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC56; LOC53 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC53 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!((*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA54; LOC56 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC56 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0).kindU.S6.sons->data[((NI) 0)], ((NI) 0)); s0 = (*LOC56).kindU.S4.sym; } goto LA48; LA54: ; { s0 = NIM_NIL; } LA48: ; { if (!!((s0 == NIM_NIL))) goto LA60; switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semsymgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw(c0, (*n0).kindU.S6.sons->data[((NI) 0)], s0)); result0 = explicitgenericinstantiation_pBlmzERbp9c9aZrZG8goa4Fw_2(c0, n0, s0); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { { if (!((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 12))&15U)))!=0)) goto LA66; result0 = n0; } goto LA64; LA66: ; { (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27); switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, n0, s0, flags0); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, flags0); } break; default: { } break; } } LA64: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC73; LOC73 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC73 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); result0 = symnodefromtype_DeEWfPdY8tVw1fEFm9c2MQw(c0, LOC73, (*n0).info); } break; default: { asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), (*n0).kindU.S6.sons->data[((NI) 0)]); } break; } } goto LA58; LA60: ; { asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), (*n0).kindU.S6.sons->data[((NI) 0)]); } LA58: ; } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, notfounderror_9bDm9a7ORnmiOGvzQ3VQdKpA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_OeSegLcUPv9b8m9cqgt0uRLQ, TY_xITzrU1RhJLKwBlRCAbn9bA* errors0) { NimStringDesc* proto0; Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0; NimStringDesc* result0; NimStringDesc* LOC36; NimStringDesc* candidates0; { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI) 0) < (*c0).compilescontextid); if (!(LOC3)) goto LA4; LOC3 = !(((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0)); LA4: ; if (!LOC3) goto LA5; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n_OeSegLcUPv9b8m9cqgt0uRLQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 132), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA5: ; { NIM_BOOL LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; NimStringDesc* LOC14; LOC9 = (NIM_BOOL)0; LOC9 = (errors0 == 0); if (LOC9) goto LA10; LOC9 = ((errors0 ? errors0->Sup.len : 0) == ((NI) 0)); LA10: ; if (!LOC9) goto LA11; LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_OeSegLcUPv9b8m9cqgt0uRLQ, ((NI) 0)); LOC14 = (NimStringDesc*)0; LOC14 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC13, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n_OeSegLcUPv9b8m9cqgt0uRLQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 91), LOC14); goto BeforeRet; } LA11: ; proto0 = describeargs_m1uDwnBbJWJYjfhFqPUzpw(c0, n_OeSegLcUPv9b8m9cqgt0uRLQ, ((NI) 1), ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); prefer0 = ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* err_OhaJszOQgiZ2WTt8puJSjQ; NI mut_3x7AxP58oXva51v6mXc1zQ; NI i_6g2gql9cbD3pupNcrX89aYWA; NI L_7PmZ1i8L5udy09a5EVBZxFg; err_OhaJszOQgiZ2WTt8puJSjQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; mut_3x7AxP58oXva51v6mXc1zQ = (NI)0; i_6g2gql9cbD3pupNcrX89aYWA = ((NI) 0); L_7PmZ1i8L5udy09a5EVBZxFg = (errors0 ? errors0->Sup.len : 0); { while (1) { NimStringDesc* errproto0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; if (!(i_6g2gql9cbD3pupNcrX89aYWA < L_7PmZ1i8L5udy09a5EVBZxFg)) goto LA17; err_OhaJszOQgiZ2WTt8puJSjQ = errors0->data[i_6g2gql9cbD3pupNcrX89aYWA].Field0; mut_3x7AxP58oXva51v6mXc1zQ = errors0->data[i_6g2gql9cbD3pupNcrX89aYWA].Field1; errproto0 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); n0 = (*(*err_OhaJszOQgiZ2WTt8puJSjQ).typ).n; { NI i_6g2gql9cbD3pupNcrX89aYWA_2; NI HEX3Atmp_wtGhUy76B9cwxdvd6mMmskw; NI LOC19; NI res_a0TK404qBCQ0e3bGham20g; i_6g2gql9cbD3pupNcrX89aYWA_2 = (NI)0; HEX3Atmp_wtGhUy76B9cwxdvd6mMmskw = (NI)0; LOC19 = (NI)0; LOC19 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_wtGhUy76B9cwxdvd6mMmskw = (NI)(LOC19 - ((NI) 1)); res_a0TK404qBCQ0e3bGham20g = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* p0; if (!(res_a0TK404qBCQ0e3bGham20g <= HEX3Atmp_wtGhUy76B9cwxdvd6mMmskw)) goto LA21; i_6g2gql9cbD3pupNcrX89aYWA_2 = res_a0TK404qBCQ0e3bGham20g; p0 = (*n0).kindU.S6.sons->data[i_6g2gql9cbD3pupNcrX89aYWA_2]; { NimStringDesc* LOC26; if (!((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA24; LOC26 = (NimStringDesc*)0; LOC26 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*p0).kindU.S4.sym).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); errproto0 = resizeString(errproto0, LOC26->Sup.len + 0); appendString(errproto0, LOC26); { NI LOC29; LOC29 = (NI)0; LOC29 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!!((i_6g2gql9cbD3pupNcrX89aYWA_2 == (NI)(LOC29 - ((NI) 1))))) goto LA30; errproto0 = resizeString(errproto0, 2); appendString(errproto0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_132)); } LA30: ; } LA24: ; res_a0TK404qBCQ0e3bGham20g += ((NI) 1); } LA21: ; } } { if (!eqStrings(errproto0, proto0)) goto LA34; prefer0 = ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 3); goto LA15; } LA34: ; i_6g2gql9cbD3pupNcrX89aYWA += ((NI) 1); } LA17: ; } } LA15: ; result0 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 132)); LOC36 = (NimStringDesc*)0; LOC36 = describeargs_m1uDwnBbJWJYjfhFqPUzpw(c0, n_OeSegLcUPv9b8m9cqgt0uRLQ, ((NI) 1), prefer0); result0 = resizeString(result0, LOC36->Sup.len + 0); appendString(result0, LOC36); result0 = addChar(result0, 41); candidates0 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); { Tsym_AXG7xcvKqaxY6koRX1xkCw* err_OhaJszOQgiZ2WTt8puJSjQ_2; NI mut_3x7AxP58oXva51v6mXc1zQ_2; NI i_6g2gql9cbD3pupNcrX89aYWA_3; NI L_7PmZ1i8L5udy09a5EVBZxFg_2; err_OhaJszOQgiZ2WTt8puJSjQ_2 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; mut_3x7AxP58oXva51v6mXc1zQ_2 = (NI)0; i_6g2gql9cbD3pupNcrX89aYWA_3 = ((NI) 0); L_7PmZ1i8L5udy09a5EVBZxFg_2 = (errors0 ? errors0->Sup.len : 0); { while (1) { if (!(i_6g2gql9cbD3pupNcrX89aYWA_3 < L_7PmZ1i8L5udy09a5EVBZxFg_2)) goto LA39; err_OhaJszOQgiZ2WTt8puJSjQ_2 = errors0->data[i_6g2gql9cbD3pupNcrX89aYWA_3].Field0; mut_3x7AxP58oXva51v6mXc1zQ_2 = errors0->data[i_6g2gql9cbD3pupNcrX89aYWA_3].Field1; { NIM_BOOL LOC42; NimStringDesc* LOC46; LOC42 = (NIM_BOOL)0; LOC42 = ((258048 &(1U<<((NU)((*err_OhaJszOQgiZ2WTt8puJSjQ_2).kind)&31U)))!=0); if (!(LOC42)) goto LA43; LOC42 = !(((*err_OhaJszOQgiZ2WTt8puJSjQ_2).ast == NIM_NIL)); LA43: ; if (!LOC42) goto LA44; LOC46 = (NimStringDesc*)0; LOC46 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA((*err_OhaJszOQgiZ2WTt8puJSjQ_2).ast, 22); candidates0 = resizeString(candidates0, LOC46->Sup.len + 0); appendString(candidates0, LOC46); } goto LA40; LA44: ; { NimStringDesc* LOC48; LOC48 = (NimStringDesc*)0; LOC48 = getprocheader_9c0TLKVGuRBEJe67tk7UlpA(err_OhaJszOQgiZ2WTt8puJSjQ_2, prefer0); candidates0 = resizeString(candidates0, LOC48->Sup.len + 0); appendString(candidates0, LOC48); } LA40: ; candidates0 = resizeString(candidates0, 1); appendString(candidates0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_133)); { NIM_BOOL LOC51; NI LOC53; NimStringDesc* LOC56; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC57; NimStringDesc* LOC58; LOC51 = (NIM_BOOL)0; LOC51 = !((mut_3x7AxP58oXva51v6mXc1zQ_2 == ((NI) 0))); if (!(LOC51)) goto LA52; LOC53 = (NI)0; LOC53 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n_OeSegLcUPv9b8m9cqgt0uRLQ); LOC51 = (mut_3x7AxP58oXva51v6mXc1zQ_2 < LOC53); LA52: ; if (!LOC51) goto LA54; LOC56 = (NimStringDesc*)0; LOC57 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC57 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_OeSegLcUPv9b8m9cqgt0uRLQ, mut_3x7AxP58oXva51v6mXc1zQ_2); LOC58 = (NimStringDesc*)0; LOC58 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC57, 0); LOC56 = rawNewString(LOC58->Sup.len + 68); appendString(LOC56, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_134)); appendString(LOC56, LOC58); appendString(LOC56, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_135)); candidates0 = resizeString(candidates0, LOC56->Sup.len + 0); appendString(candidates0, LOC56); } LA54: ; i_6g2gql9cbD3pupNcrX89aYWA_3 += ((NI) 1); } LA39: ; } } { NimStringDesc* LOC63; NimStringDesc* LOC64; if (!!(((candidates0) && (candidates0)->Sup.len == 0))) goto LA61; LOC63 = (NimStringDesc*)0; LOC64 = (NimStringDesc*)0; LOC64 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 133)); LOC63 = rawNewString(LOC64->Sup.len + candidates0->Sup.len + 2); appendString(LOC63, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_133)); appendString(LOC63, LOC64); appendString(LOC63, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_133)); appendString(LOC63, candidates0); result0 = resizeString(result0, LOC63->Sup.len + 0); appendString(result0, LOC63); } LA61: ; { NIM_BOOL LOC67; LOC67 = (NIM_BOOL)0; LOC67 = (((NI) 0) < (*c0).compilescontextid); if (!(LOC67)) goto LA68; LOC67 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0); LA68: ; if (!LOC67) goto LA69; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n_OeSegLcUPv9b8m9cqgt0uRLQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), result0); } goto LA65; LA69: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n_OeSegLcUPv9b8m9cqgt0uRLQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), result0); } LA65: ; }BeforeRet: ; } N_NIMCALL(void, bracketnotfounderror_jzk1KGIc0vzv6pth3zm9bkw_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { TY_xITzrU1RhJLKwBlRCAbn9bA* errors0; Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ o0; Tnode_bROa11lyF5vxEN9aYNbHmhw* headsymbol0; Tsym_AXG7xcvKqaxY6koRX1xkCw* symx0; errors0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*) newSeq((&NTI_xITzrU1RhJLKwBlRCAbn9bA), 0); memset((void*)(&o0), 0, sizeof(o0)); headsymbol0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); symx0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&o0), c0, headsymbol0); { while (1) { if (!!((symx0 == NIM_NIL))) goto LA2; { TY_uZlRb8w5pa9b16Yfjq9cGRXQ LOC7; if (!((258048 &(1U<<((NU)((*symx0).kind)&31U)))!=0)) goto LA5; memset((void*)(&LOC7), 0, sizeof(LOC7)); LOC7.Field0 = symx0; LOC7.Field1 = ((NI) 0); errors0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*) incrSeqV2(&(errors0)->Sup, sizeof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ)); asgnRefNoCycle((void**) (&errors0->data[errors0->Sup.len].Field0), LOC7.Field0); errors0->data[errors0->Sup.len].Field1 = LOC7.Field1; ++errors0->Sup.len; } LA5: ; symx0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, headsymbol0); } LA2: ; } { NimStringDesc* LOC12; NimStringDesc* LOC13; if (!((errors0 ? errors0->Sup.len : 0) == ((NI) 0))) goto LA10; LOC12 = (NimStringDesc*)0; LOC13 = (NimStringDesc*)0; LOC13 = HEX24_qX5C9b0n9bOP7jk69amC8dA7A_2(n0); LOC12 = rawNewString(LOC13->Sup.len + 19); appendString(LOC12, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_131)); appendString(LOC12, LOC13); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC12); } goto LA8; LA10: ; { notfounderror_9bDm9a7ORnmiOGvzQ3VQdKpA(c0, n0, errors0); } LA8: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrget_tayBCUAEli3HMPwxdS9aMbg_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* oldbracketexpr0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n0).info); { NI i_XUsWDS50nq9aib3jndP4FzA; NI HEX3Atmp_mzljRqsdTUO9a9b31P86wImg; NI i_XUsWDS50nq9aib3jndP4FzA_2; i_XUsWDS50nq9aib3jndP4FzA = (NI)0; HEX3Atmp_mzljRqsdTUO9a9b31P86wImg = (NI)0; HEX3Atmp_mzljRqsdTUO9a9b31P86wImg = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_XUsWDS50nq9aib3jndP4FzA_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; if (!(i_XUsWDS50nq9aib3jndP4FzA_2 < HEX3Atmp_mzljRqsdTUO9a9b31P86wImg)) goto LA3; i_XUsWDS50nq9aib3jndP4FzA = i_XUsWDS50nq9aib3jndP4FzA_2; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_XUsWDS50nq9aib3jndP4FzA); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC4); i_XUsWDS50nq9aib3jndP4FzA_2 += ((NI) 1); } LA3: ; } } oldbracketexpr0 = (*(*c0).p).bracketexpr; result0 = semsubscript_tayBCUAEli3HMPwxdS9aMbg_7(c0, result0, flags0); asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), oldbracketexpr0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC9; if (!(result0 == 0)) goto LA7; x0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); LOC9 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC9 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_130)); asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[((NI) 0)]), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC9, (*n0).info)); bracketnotfounderror_jzk1KGIc0vzv6pth3zm9bkw_5(c0, x0); result0 = n0; } LA7: ; return result0; } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipaddr_8hC5GzyZwRmEI0dwiPCejwsem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3; result0 = (*n0).kindU.S6.sons->data[((NI) 0)]; } goto LA1; LA3: ; { result0 = n0; } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrput_tayBCUAEli3HMPwxdS9aMbg_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n0).info); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = skipaddr_8hC5GzyZwRmEI0dwiPCejwsem(LOC1); add_gCCf68XrWL79bKes6htzFjQ_3(b0, LOC2); { NI i_ktxx9bedKuMlAH6wirksdbA; NI HEX3Atmp_Da6Z9at9bCS9cCrOJak9aq2dPg; NI LOC4; NI res_VR2WqevnVNYFZ9afM6cM4qw; i_ktxx9bedKuMlAH6wirksdbA = (NI)0; HEX3Atmp_Da6Z9at9bCS9cCrOJak9aq2dPg = (NI)0; LOC4 = (NI)0; LOC4 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_Da6Z9at9bCS9cCrOJak9aq2dPg = (NI)(LOC4 - ((NI) 2)); res_VR2WqevnVNYFZ9afM6cM4qw = ((NI) 2); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; if (!(res_VR2WqevnVNYFZ9afM6cM4qw <= HEX3Atmp_Da6Z9at9bCS9cCrOJak9aq2dPg)) goto LA6; i_ktxx9bedKuMlAH6wirksdbA = res_VR2WqevnVNYFZ9afM6cM4qw; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_ktxx9bedKuMlAH6wirksdbA); add_gCCf68XrWL79bKes6htzFjQ_3(b0, LOC7); res_VR2WqevnVNYFZ9afM6cM4qw += ((NI) 1); } LA6: ; } } result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), b0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), lastson_esDJA7239bJDiq4UrX9aHCjg(n0)); result0 = semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, result0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 1)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasgnopr_NBTNEqzl5NBSHnN0VGYkSQ_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1))); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2))); result0 = semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, result0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 2)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semispartof_tayBCUAEli3HMPwxdS9aMbg_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w r0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); r0 = ispartof_1otDDZAmvFsmbqPyFytXFg(LOC1, LOC2); result0 = newintnodet_JZNvh7BkCiDOBsJlOc7TSA(((NI64) (r0)), n0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evaltypetrait_4kGu3wU0dV2TmQ5Jz7P9auw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* trait0, Ttype_LTUWCZolpovw9cWE3JBWSUw* operand0, Tsym_AXG7xcvKqaxY6koRX1xkCw* context0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; NimStringDesc* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(operand0, 256); LOC1 = (NimStringDesc*)0; LOC1 = nsuNormalize((*(*(*trait0).kindU.S4.sym).name).s); if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_138))) goto LA2; if (eqStrings(LOC1, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_139))) goto LA3; goto LA4; LA2: ; { NimStringDesc* LOC7; LOC7 = (NimStringDesc*)0; LOC7 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(typ0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), LOC7); asgnRefNoCycle((void**) (&(*result0).typ), newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28), context0)); (*result0).info = (*trait0).info; } goto LA5; LA3: ; { NI LOC9; LOC9 = (NI)0; LOC9 = len_gG7hUAX9cA629ahMLVL3xN4w_2(typ0); result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((NI)(LOC9 - ((NI) (((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)))))))); asgnRefNoCycle((void**) (&(*result0).typ), newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31), context0)); (*result0).info = (*trait0).info; } goto LA5; LA4: ; { { NimStringDesc* LOC15; if (!NIM_TRUE) goto LA13; LOC15 = (NimStringDesc*)0; LOC15 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_140); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC15); } LA13: ; } LA5: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypetraits_NBTNEqzl5NBSHnN0VGYkSQ_18)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); t0 = (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ; { NIM_BOOL LOC3; NimStringDesc* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = !((t0 == NIM_NIL)); if (!(LOC3)) goto LA4; LOC3 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA4: ; if (!!(LOC3)) goto LA5; LOC7 = (NimStringDesc*)0; LOC7 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_136); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC7); } LA5: ; { NI LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC14; LOC10 = (NI)0; LOC10 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!(((NI) 0) < LOC10)) goto LA11; LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC14 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC14 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); result0 = evaltypetrait_4kGu3wU0dV2TmQ5Jz7P9auw(LOC13, t0, LOC14); } goto LA8; LA11: ; { result0 = n0; } LA8: ; return result0; } N_NIMCALL(NI, expectintlit_r9bOd8UfOvwbOc6mAjM1LCA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; result0 = (NI)0; x0 = (*c0).semconstexpr(c0, n0); switch ((*x0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10): { result0 = ((NI) ((*x0).kindU.S1.intval)); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 7), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } break; } return result0; } static N_INLINE(NI, tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { NI result0; result0 = (NI)0; result0 = ((NI) (info0.line)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, seminstantiationinfo_NBTNEqzl5NBSHnN0VGYkSQ_19)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI idx0; NI usefullpaths0; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0; Tnode_bROa11lyF5vxEN9aYNbHmhw* filename0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* line0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC14; NI LOC15; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37), (*n0).info, (*n0).typ); idx0 = expectintlit_r9bOd8UfOvwbOc6mAjM1LCA(c0, (*n0).kindU.S6.sons->data[((NI) 1)]); usefullpaths0 = expectintlit_r9bOd8UfOvwbOc6mAjM1LCA(c0, (*n0).kindU.S6.sons->data[((NI) 2)]); info0 = getinfocontext_dGOV06h8ZBXswh1nR1J9bmQ(idx0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28)); filename0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n0).info, LOC1); { if (!!((usefullpaths0 == ((NI) 0)))) goto LA4; asgnRefNoCycle((void**) (&(*filename0).kindU.S3.strval), tofullpath_7s19cb7WBgztz9aqEBzwwuqA(info0.fileindex)); } goto LA2; LA4: ; { { NimStringDesc* LOC11; if (!(info0.fileindex < ((NI32) 0))) goto LA9; LOC11 = (NimStringDesc*)0; LOC11 = (*filename0).kindU.S3.strval; (*filename0).kindU.S3.strval = copyStringRC1(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_141)); if (LOC11) nimGCunrefNoCycle(LOC11); } goto LA7; LA9: ; { NimStringDesc* LOC13; LOC13 = (NimStringDesc*)0; LOC13 = (*filename0).kindU.S3.strval; (*filename0).kindU.S3.strval = copyStringRC1(fileinfos_0nMtuXd9csTLLtuDok8ckXw->data[info0.fileindex].projpath); if (LOC13) nimGCunrefNoCycle(LOC13); } LA7: ; } LA2: ; LOC14 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC14 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); line0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n0).info, LOC14); LOC15 = (NI)0; LOC15 = tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch(info0); (*line0).kindU.S1.intval = ((NI64) (LOC15)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, filename0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, line0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semord_NBTNEqzl5NBSHnN0VGYkSQ_20)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* partype0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; partype0 = (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ; { NIM_BOOL LOC3; NI64 LOC7; NI64 LOC8; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC3 = (NIM_BOOL)0; LOC3 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(partype0); if (LOC3) goto LA4; LOC3 = ((*partype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19)); LA4: ; if (!LOC3) goto LA5; LOC7 = (NI64)0; LOC7 = firstord_HUiBYxvKiECXCv8BzQNheg(partype0); LOC8 = (NI64)0; LOC8 = lastord_HUiBYxvKiECXCv8BzQNheg_2(partype0); LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); asgnRefNoCycle((void**) (&(*result0).typ), makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, LOC7, LOC8, (*n0).info, LOC9)); } goto LA1; LA5: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); asgnRefNoCycle((void**) (&(*result0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semlowhigh_S9brLJW1Nbrxs3E5z3cKFKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((LOC3 == ((NI) 2)))) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 72), optostr_x47hvY2ezR4p9cvQjupSCVQ[(m0)- 7]); } goto LA1; LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 32)); typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, IL64(2305843009223174416)); switch ((*typ0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { asgnRefNoCycle((void**) (&(*n0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { asgnRefNoCycle((void**) (&(*n0).typ), (*typ0).sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43): { asgnRefNoCycle((void**) (&(*n0).typ), skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, IL64(2305843009222125840))); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); asgnRefNoCycle((void**) (&(*n0).typ), maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg(c0, LOC11)); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 70), optostr_x47hvY2ezR4p9cvQjupSCVQ[(m0)- 7]); } break; } } LA1: ; result0 = n0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semshallowcopy_tayBCUAEli3HMPwxdS9aMbg_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 3))) goto LA4; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74), (*n0).info); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC7); result0 = semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, result0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 0)); } goto LA1; LA4: ; { result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembindsym_NBTNEqzl5NBSHnN0VGYkSQ_21)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* sl0; Tnode_bROa11lyF5vxEN9aYNbHmhw* ismixin0; Tnode_bROa11lyF5vxEN9aYNbHmhw* id0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC13; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*n0).kindU.S6.sons->data[((NI) 0)]); sl0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*n0).kindU.S6.sons->data[((NI) 1)]); { if (!!(((*sl0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) || (*sl0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 21) || (*sl0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA3; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); goto BeforeRet; } LA3: ; ismixin0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*n0).kindU.S6.sons->data[((NI) 2)]); { NIM_BOOL LOC7; NIM_BOOL LOC8; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC8 = !(((*ismixin0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6))); if (LOC8) goto LA9; LOC8 = ((*ismixin0).kindU.S1.intval < IL64(0)); LA9: ; LOC7 = LOC8; if (LOC7) goto LA10; LOC7 = (IL64(2) < (*ismixin0).kindU.S1.intval); LA10: ; if (!LOC7) goto LA11; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 2)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); goto BeforeRet; } LA11: ; LOC13 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC13 = getident_oH8GBf4tG3b1F5BIuNPwtA((*sl0).kindU.S3.strval); id0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC13, (*n0).info); s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, id0, 2); { Tnode_bROa11lyF5vxEN9aYNbHmhw* sc0; if (!!((s0 == NIM_NIL))) goto LA16; sc0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, id0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) ((*ismixin0).kindU.S1.intval))); add_gCCf68XrWL79bKes6htzFjQ_3(result0, sc0); } goto LA14; LA16: ; { errorundeclaredidentifier_UdgIujB9c9aSmUmE2IpJcLjQ(c0, (*(*n0).kindU.S6.sons->data[((NI) 1)]).info, (*sl0).kindU.S3.strval); } LA14: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, isstrangearray_fy4A4jKItIru9cA42oefOdg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_hW7Gtgg9bqWUqQzaLYG38Yg) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NIM_BOOL LOC1; NI64 LOC3; result0 = (NIM_BOOL)0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t_hW7Gtgg9bqWUqQzaLYG38Yg, 43280); LOC1 = (NIM_BOOL)0; LOC1 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16)); if (!(LOC1)) goto LA2; LOC3 = (NI64)0; LOC3 = firstord_HUiBYxvKiECXCv8BzQNheg(t0); LOC1 = !((LOC3 == IL64(0))); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, magicsafteroverloadresolution_tayBCUAEli3HMPwxdS9aMbg_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); switch ((*(*LOC1).kindU.S4.sym).magic) { case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 13): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); result0 = semaddr_g9ay67gfQCKqn9akofTrVvgQ(c0, (*n0).kindU.S6.sons->data[((NI) 1)], eqStrings((*(*(*LOC3).kindU.S4.sym).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_126))); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 14): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = semtypeof_NBTNEqzl5NBSHnN0VGYkSQ_15(c0, (*n0).kindU.S6.sons->data[((NI) 1)]); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4): { result0 = semarrget_tayBCUAEli3HMPwxdS9aMbg_6(c0, n0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 5): { result0 = semarrput_tayBCUAEli3HMPwxdS9aMbg_8(c0, n0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 6): { result0 = semasgnopr_NBTNEqzl5NBSHnN0VGYkSQ_17(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 153): { result0 = semispartof_tayBCUAEli3HMPwxdS9aMbg_9(c0, n0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 10): { result0 = semtypetraits_NBTNEqzl5NBSHnN0VGYkSQ_18(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 154): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; NimStringDesc* LOC12; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC12 = (NimStringDesc*)0; LOC12 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC11, 4); result0 = newstrnodet_s9bBacfAl4uY8dfeXxOyllg(LOC12, n0); asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28))); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 258): { result0 = seminstantiationinfo_NBTNEqzl5NBSHnN0VGYkSQ_19(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 28): { result0 = semord_NBTNEqzl5NBSHnN0VGYkSQ_20(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 8): case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 7): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); result0 = semlowhigh_S9brLJW1Nbrxs3E5z3cKFKQ(c0, n0, (*(*LOC16).kindU.S4.sym).magic); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 18): { result0 = semshallowcopy_tayBCUAEli3HMPwxdS9aMbg_10(c0, n0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 248): { result0 = sembindsym_NBTNEqzl5NBSHnN0VGYkSQ_21(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 213): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; result0 = n0; LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*result0).typ), (*LOC20).typ); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 140): { result0 = n0; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 15): { Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr0; { NI LOC25; LOC25 = (NI)0; LOC25 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC25 == ((NI) 3))) goto LA26; bracketexpr0 = (*n0).kindU.S6.sons->data[((NI) 2)]; } goto LA23; LA26: ; { bracketexpr0 = (*(*c0).p).bracketexpr; } LA23: ; { if (!(bracketexpr0 == 0)) goto LA31; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_144)); result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; } goto LA29; LA31: ; { Tsideeffectanalysis_39b55cGxMJkG5uRuPt6svRw LOC34; NimStringDesc* LOC37; NimStringDesc* LOC38; LOC34 = (Tsideeffectanalysis_39b55cGxMJkG5uRuPt6svRw)0; LOC34 = checkforsideeffects_jZznHOk1Ngn1sF9cFDMhw5A(bracketexpr0); if (!!((LOC34 == ((Tsideeffectanalysis_39b55cGxMJkG5uRuPt6svRw) 2)))) goto LA35; LOC37 = (NimStringDesc*)0; LOC37 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(bracketexpr0, 0); LOC38 = (NimStringDesc*)0; LOC38 = nsuFormatSingleElem(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_145), LOC37); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC38); result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; } goto LA29; LA35: ; { NIM_BOOL LOC40; NimStringDesc* LOC43; NimStringDesc* LOC44; LOC40 = (NIM_BOOL)0; LOC40 = isstrangearray_fy4A4jKItIru9cA42oefOdg((*bracketexpr0).typ); if (!LOC40) goto LA41; LOC43 = (NimStringDesc*)0; LOC43 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(bracketexpr0, 0); LOC44 = (NimStringDesc*)0; LOC44 = nsuFormatSingleElem(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_146), LOC43); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC44); result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; } goto LA29; LA41: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* lenexpr0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC46; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC47; Tnode_bROa11lyF5vxEN9aYNbHmhw* lenexprb0; lenexpr0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC46 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC46 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_147)); LOC47 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC47 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC46, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(lenexpr0, LOC47); add_gCCf68XrWL79bKes6htzFjQ_3(lenexpr0, bracketexpr0); lenexprb0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, lenexpr0, 0); { NIM_BOOL LOC50; NIM_BOOL LOC52; NimStringDesc* LOC55; NimStringDesc* LOC56; LOC50 = (NIM_BOOL)0; LOC50 = ((*lenexprb0).typ == 0); if (LOC50) goto LA51; LOC52 = (NIM_BOOL)0; LOC52 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2((*lenexprb0).typ); LOC50 = !(LOC52); LA51: ; if (!LOC50) goto LA53; LOC55 = (NimStringDesc*)0; LOC55 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(lenexpr0, 0); LOC56 = (NimStringDesc*)0; LOC56 = nsuFormatSingleElem(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_148), LOC55); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC56); result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; } goto LA48; LA53: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC58; Tsym_AXG7xcvKqaxY6koRX1xkCw* subi0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC59; LOC58 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC58 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC58); subi0 = getsysmagic_a9bRlJbd89cKu1XfZxWx9aBLQ(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_149), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 46)); LOC59 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC59 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(subi0, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC59); add_gCCf68XrWL79bKes6htzFjQ_3(result0, lenexprb0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*n0).kindU.S6.sons->data[((NI) 1)]); } LA48: ; } LA29: ; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 16): { TY_AKW0Vo9cFIVu0NCvmOexsSA plugin0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); plugin0 = getplugin_pMDBLRQbm0gZ0UsFk9bp9aVw((*LOC61).kindU.S4.sym); { NimStringDesc* LOC66; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC67; if (!(plugin0 == 0)) goto LA64; LOC66 = (NimStringDesc*)0; LOC67 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC67 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC66 = rawNewString((*(*(*LOC67).kindU.S4.sym).name).s->Sup.len + 19); appendString(LOC66, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_150)); appendString(LOC66, (*(*(*LOC67).kindU.S4.sym).name).s); localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, LOC66); result0 = n0; } goto LA62; LA64: ; { result0 = plugin0(c0, n0); } LA62: ; } break; default: { result0 = n0; } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* evaluated0, Tnode_bROa11lyF5vxEN9aYNbHmhw* eorig0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*(*eorig0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*(*eorig0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*eorig0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3; result0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, evaluated0, 0); } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* expectedtype0; result0 = evaluated0; expectedtype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*eorig0).typ, IL64(576460752303423488)); annotatetype_7COu9arEnQ1XMww311ztLAg(result0, expectedtype0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalatcompiletime_NBTNEqzl5NBSHnN0VGYkSQ_22)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((*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))); if (LOC3) goto LA4; LOC3 = !(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; callee0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = !(((*n0).typ == NIM_NIL)); if (!(LOC9)) goto LA10; LOC9 = (((*(*n0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 28))&31U)))!=0); LA10: ; if (!LOC9) goto LA11; goto BeforeRet; } LA11: ; { NIM_BOOL LOC15; NIM_BOOL LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; NIM_BOOL allconst0; LOC15 = (NIM_BOOL)0; LOC16 = (NIM_BOOL)0; LOC16 = !(((*callee0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))); if (!(LOC16)) goto LA17; LOC16 = ((T_rF9caJawfOjYTjsgLVUSGFA_151[(NU)((*callee0).magic)>>3] &(1U<<((NU)((*callee0).magic)&7U)))!=0); LA17: ; LOC15 = LOC16; if (!(LOC15)) goto LA18; LOC15 = !(((*n0).typ == NIM_NIL)); LA18: ; if (!LOC15) goto LA19; call0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, (*n0).typ); add_gCCf68XrWL79bKes6htzFjQ_3(call0, (*n0).kindU.S6.sons->data[((NI) 0)]); allconst0 = NIM_TRUE; { NI i_no4WxSU7OQC0R7Tj9ctTReg; NI HEX3Atmp_LImoPLHiATxpJfat9aV6s6A; NI LOC22; NI res_HNMExzNRkyyyFuqVxFQ2HA; i_no4WxSU7OQC0R7Tj9ctTReg = (NI)0; HEX3Atmp_LImoPLHiATxpJfat9aV6s6A = (NI)0; LOC22 = (NI)0; LOC22 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_LImoPLHiATxpJfat9aV6s6A = (LOC22 - 1); res_HNMExzNRkyyyFuqVxFQ2HA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!(res_HNMExzNRkyyyFuqVxFQ2HA <= HEX3Atmp_LImoPLHiATxpJfat9aV6s6A)) goto LA24; i_no4WxSU7OQC0R7Tj9ctTReg = res_HNMExzNRkyyyFuqVxFQ2HA; a0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, (*n0).kindU.S6.sons->data[i_no4WxSU7OQC0R7Tj9ctTReg]); { if (!(a0 == NIM_NIL)) goto LA27; allconst0 = NIM_FALSE; a0 = (*n0).kindU.S6.sons->data[i_no4WxSU7OQC0R7Tj9ctTReg]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA31; a0 = (*a0).kindU.S6.sons->data[((NI) 1)]; } LA31: ; } LA27: ; add_gCCf68XrWL79bKes6htzFjQ_3(call0, a0); res_HNMExzNRkyyyFuqVxFQ2HA += ((NI) 1); } LA24: ; } } { if (!allconst0) goto LA35; result0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, call0); { if (!(result0 == 0)) goto LA39; result0 = n0; } goto LA37; LA39: ; { goto BeforeRet; } LA37: ; } LA35: ; asgnRefNoCycle((void**) (&(*result0).typ), getintervaltype_9cQNumAPrt6V9bLg9aUMQse9bA((*callee0).magic, call0)); } LA19: ; { { NI LOC45; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC63; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC64; LOC45 = (NI)0; LOC45 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(((NI) 1) < LOC45)) goto LA46; { NI i_no4WxSU7OQC0R7Tj9ctTReg_2; NI HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_2; NI LOC49; NI res_HNMExzNRkyyyFuqVxFQ2HA_2; i_no4WxSU7OQC0R7Tj9ctTReg_2 = (NI)0; HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_2 = (NI)0; LOC49 = (NI)0; LOC49 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_2 = (LOC49 - 1); res_HNMExzNRkyyyFuqVxFQ2HA_2 = ((NI) 1); { while (1) { if (!(res_HNMExzNRkyyyFuqVxFQ2HA_2 <= HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_2)) goto LA51; i_no4WxSU7OQC0R7Tj9ctTReg_2 = res_HNMExzNRkyyyFuqVxFQ2HA_2; { NIM_BOOL LOC54; NIM_BOOL LOC55; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC56; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC58; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC60; LOC54 = (NIM_BOOL)0; LOC55 = (NIM_BOOL)0; LOC56 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC56 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_no4WxSU7OQC0R7Tj9ctTReg_2); LOC55 = ((*LOC56).typ == 0); if (LOC55) goto LA57; LOC58 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC58 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_no4WxSU7OQC0R7Tj9ctTReg_2); LOC55 = !(((*(*LOC58).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))); LA57: ; LOC54 = LOC55; if (LOC54) goto LA59; LOC60 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC60 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_no4WxSU7OQC0R7Tj9ctTReg_2); LOC54 = !((((*(*LOC60).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))&31U)))!=0)); LA59: ; if (!LOC54) goto LA61; goto LA42; } LA61: ; res_HNMExzNRkyyyFuqVxFQ2HA_2 += ((NI) 1); } LA51: ; } } LOC63 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC63 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC64, 0, sizeof(LOC64)); LOC64[0] = (*n0).typ; asgnRefNoCycle((void**) (&LOC63->data[0]), LOC64[0]); asgnRefNoCycle((void**) (&(*n0).typ), newtypewithsons_7xhH3IRNjYY0XJGePt8pLA(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), LOC63)); (*(*n0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))%(sizeof(NU32)*8)); } LA46: ; } LA42: ; { NIM_BOOL LOC67; NIM_BOOL LOC68; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; LOC67 = (NIM_BOOL)0; LOC68 = (NIM_BOOL)0; LOC68 = !(((8389632 & (*callee0).flags) == 0)); if (!(LOC68)) goto LA69; LOC68 = ((48 & (*callee0).flags) == 0); LA69: ; LOC67 = LOC68; if (!(LOC67)) goto LA70; LOC67 = !(((*n0).typ == NIM_NIL)); LA70: ; if (!LOC67) goto LA71; { NIM_BOOL LOC75; LOC75 = (NIM_BOOL)0; LOC75 = !((((*callee0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))&31U)))!=0)); if (!(LOC75)) goto LA76; LOC75 = !(((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 20))&31U)))!=0)); LA76: ; if (!LOC75) goto LA77; goto BeforeRet; } LA77: ; { if (!!(((T_rF9caJawfOjYTjsgLVUSGFA_151[(NU)((*callee0).magic)>>3] &(1U<<((NU)((*callee0).magic)&7U)))!=0))) goto LA81; goto BeforeRet; } LA81: ; { NIM_BOOL LOC85; LOC85 = (NIM_BOOL)0; LOC85 = !(((36864 &(1U<<((NU)((*callee0).kind)&31U)))!=0)); if (LOC85) goto LA86; LOC85 = isgenericroutine_djUd579cPfs7OC9aZ8QT9cItg(callee0); LA86: ; if (!LOC85) goto LA87; goto BeforeRet; } LA87: ; { NIM_BOOL LOC91; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC93; LOC91 = (NIM_BOOL)0; LOC91 = !(((*n0).typ == NIM_NIL)); if (!(LOC91)) goto LA92; LOC93 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC93 = typeallowed_bHa9arT9b20nGEtBco5rXr1g((*n0).typ, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); LOC91 = !((LOC93 == NIM_NIL)); LA92: ; if (!LOC91) goto LA94; goto BeforeRet; } LA94: ; call0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, (*n0).typ); add_gCCf68XrWL79bKes6htzFjQ_3(call0, (*n0).kindU.S6.sons->data[((NI) 0)]); { NI i_no4WxSU7OQC0R7Tj9ctTReg_3; NI HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_3; NI LOC97; NI res_HNMExzNRkyyyFuqVxFQ2HA_3; i_no4WxSU7OQC0R7Tj9ctTReg_3 = (NI)0; HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_3 = (NI)0; LOC97 = (NI)0; LOC97 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_3 = (LOC97 - 1); res_HNMExzNRkyyyFuqVxFQ2HA_3 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!(res_HNMExzNRkyyyFuqVxFQ2HA_3 <= HEX3Atmp_LImoPLHiATxpJfat9aV6s6A_3)) goto LA99; i_no4WxSU7OQC0R7Tj9ctTReg_3 = res_HNMExzNRkyyyFuqVxFQ2HA_3; a0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, (*n0).kindU.S6.sons->data[i_no4WxSU7OQC0R7Tj9ctTReg_3]); { if (!(a0 == NIM_NIL)) goto LA102; result0 = n0; goto BeforeRet; } LA102: ; add_gCCf68XrWL79bKes6htzFjQ_3(call0, a0); res_HNMExzNRkyyyFuqVxFQ2HA_3 += ((NI) 1); } LA99: ; } } { if (!(((*callee0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))&31U)))!=0)) goto LA106; result0 = evalstaticexpr_aYkCxVNU4XgpwnpIBuyO0A((*c0).module, (*c0).cache, call0, (*(*c0).p).owner); { NimStringDesc* LOC112; if (!(result0 == 0)) goto LA110; LOC112 = (NimStringDesc*)0; LOC112 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(call0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 212), LOC112); } goto LA108; LA110: ; { result0 = fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ(c0, result0, n0); } LA108: ; } goto LA104; LA106: ; { result0 = evalconstexpr_ibIdTJgCiL68euIFHqOBEg((*c0).module, (*c0).cache, call0); { if (!(result0 == 0)) goto LA117; result0 = n0; } goto LA115; LA117: ; { result0 = fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ(c0, result0, n0); } LA115: ; } LA104: ; } LA71: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, aftercallactions_9bA5HQzp5SlBuAZ9a1ZzejHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; callee0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; switch ((*callee0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, result0, orig0, callee0, flags0); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, result0, callee0, flags0); } break; default: { semfinishoperands_2Z5wP9b7ccKTpEqqJS9aAdvA(c0, result0); activate_KpXrxZxDEqEzAegpvzmW3g_3(c0, result0); fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2(c0, result0); analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3(c0, result0); { if (!!(((*callee0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA6; result0 = magicsafteroverloadresolution_tayBCUAEli3HMPwxdS9aMbg_5(c0, result0, flags0); } LA6: ; } break; } { if (!((*c0).intypeclass == ((NI) 0))) goto LA10; result0 = evalatcompiletime_NBTNEqzl5NBSHnN0VGYkSQ_22(c0, result0); } LA10: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdirectop_tayBCUAEli3HMPwxdS9aMbg_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; norig0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); result0 = semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA(c0, n0, norig0, flags0); { if (!!((result0 == NIM_NIL))) goto LA3; result0 = aftercallactions_9bA5HQzp5SlBuAZ9a1ZzejHQ(c0, result0, norig0, flags0); } goto LA1; LA3: ; { result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalpattern_RgqrZiIC0vQ89cL3BwhccgA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NimStringDesc* rule0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NimStringDesc* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27)); if (!(LOC3)) goto LA4; LOC3 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA4: ; if (!!(LOC3)) goto LA5; LOC7 = (NimStringDesc*)0; LOC7 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_117); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC7); } LA5: ; rule0 = (NimStringDesc*)0; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = ((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0); if (!(LOC10)) goto LA11; LOC10 = ((gnotes_ra0BBMaJz6cOxn1JA3c6Bg &((NU64)1<<((NU)((((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) 282)- 236))&63U)))!=0); LA11: ; if (!LOC10) goto LA12; rule0 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4); } LA12: ; s0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, orig0, s0, 0); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, 8192); } break; default: { result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, 0); } break; } { NIM_BOOL LOC19; NimStringDesc* LOC23; NimStringDesc* LOC24; LOC19 = (NIM_BOOL)0; LOC19 = ((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 12))&31U)))!=0); if (!(LOC19)) goto LA20; LOC19 = ((gnotes_ra0BBMaJz6cOxn1JA3c6Bg &((NU64)1<<((NU)((((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) 282)- 236))&63U)))!=0); LA20: ; if (!LOC19) goto LA21; LOC23 = (NimStringDesc*)0; LOC24 = (NimStringDesc*)0; LOC24 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(result0, 4); LOC23 = rawNewString(rule0->Sup.len + LOC24->Sup.len + 7); appendString(LOC23, rule0); appendString(LOC23, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_152)); appendString(LOC23, LOC24); appendString(LOC23, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_33)); message_VpilfPWbplGz6ny7O9cfr2g_2((*orig0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 282), LOC23); } LA21: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, applypatterns_NBTNEqzl5NBSHnN0VGYkSQ_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { NI i_ICOXzrHwIF89bdsd19aQA70Q; NI HEX3Atmp_9bLWSiIDzOUu9cBNPapxKngQ; NI res_l9aa5pmPlUqpBHyjJ5QcWIw; i_ICOXzrHwIF89bdsd19aQA70Q = (NI)0; HEX3Atmp_9bLWSiIDzOUu9cBNPapxKngQ = (NI)0; HEX3Atmp_9bLWSiIDzOUu9cBNPapxKngQ = (((*c0).patterns ? (*c0).patterns->Sup.len : 0) - 1); res_l9aa5pmPlUqpBHyjJ5QcWIw = HEX3Atmp_9bLWSiIDzOUu9cBNPapxKngQ; { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* pattern0; if (!(((NI) 0) <= res_l9aa5pmPlUqpBHyjJ5QcWIw)) goto LA3; i_ICOXzrHwIF89bdsd19aQA70Q = res_l9aa5pmPlUqpBHyjJ5QcWIw; pattern0 = (*c0).patterns->data[i_ICOXzrHwIF89bdsd19aQA70Q]; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!!((pattern0 == 0))) goto LA6; x0 = applyrule_v5cxwOMnA2zwCd20yxVqYA(c0, pattern0, result0); { if (!!((x0 == 0))) goto LA10; evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA += ((NI) 1); { if (!(((NI) 100) < evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA)) goto LA14; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 187), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA14: ; asgnRefNoCycle((void**) (&(*c0).patterns->data[i_ICOXzrHwIF89bdsd19aQA70Q]), NIM_NIL); { if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA18; asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[((NI) 1)]), evalpattern_RgqrZiIC0vQ89cL3BwhccgA(c0, (*x0).kindU.S6.sons->data[((NI) 1)], result0)); result0 = flattenstmts_kDuk7Mp6Hb4CD2EwZbGQ3g(x0); } goto LA16; LA18: ; { result0 = evalpattern_RgqrZiIC0vQ89cL3BwhccgA(c0, x0, result0); } LA16: ; evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA -= ((NI) 1); asgnRefNoCycle((void**) (&(*c0).patterns->data[i_ICOXzrHwIF89bdsd19aQA70Q]), pattern0); } LA10: ; } LA6: ; res_l9aa5pmPlUqpBHyjJ5QcWIw -= ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlo_NBTNEqzl5NBSHnN0VGYkSQ_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; (*c0).hloloopdetector += ((NI) 1); { if (!(((NI) 300) < (*c0).hloloopdetector)) goto LA3; result0 = n0; goto BeforeRet; } LA3: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 82): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 83): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84): { result0 = n0; } break; default: { { NIM_BOOL LOC9; NIM_BOOL LOC10; LOC9 = (NIM_BOOL)0; LOC10 = (NIM_BOOL)0; LOC10 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36)); if (!(LOC10)) goto LA11; LOC10 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA11: ; LOC9 = LOC10; if (!(LOC9)) goto LA12; LOC9 = ((520 & (*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).flags) == 520); LA12: ; if (!LOC9) goto LA13; result0 = n0; goto BeforeRet; } LA13: ; result0 = applypatterns_NBTNEqzl5NBSHnN0VGYkSQ_12(c0, n0); { if (!(result0 == n0)) goto LA17; { NI i_181k1xuuDkzSoc4yZH9a0Pw; NI HEX3Atmp_FGQOnKgZzix703t8MSDRqg; NI LOC20; NI res_psPEbU1humCXIf0aY4UjAQ; i_181k1xuuDkzSoc4yZH9a0Pw = (NI)0; HEX3Atmp_FGQOnKgZzix703t8MSDRqg = (NI)0; LOC20 = (NI)0; LOC20 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(result0); HEX3Atmp_FGQOnKgZzix703t8MSDRqg = (LOC20 - 1); res_psPEbU1humCXIf0aY4UjAQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* h0; if (!(res_psPEbU1humCXIf0aY4UjAQ <= HEX3Atmp_FGQOnKgZzix703t8MSDRqg)) goto LA22; i_181k1xuuDkzSoc4yZH9a0Pw = res_psPEbU1humCXIf0aY4UjAQ; a0 = (*result0).kindU.S6.sons->data[i_181k1xuuDkzSoc4yZH9a0Pw]; h0 = hlo_NBTNEqzl5NBSHnN0VGYkSQ_11(c0, a0); { if (!!((h0 == a0))) goto LA25; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_181k1xuuDkzSoc4yZH9a0Pw]), h0); } LA25: ; res_psPEbU1humCXIf0aY4UjAQ += ((NI) 1); } LA22: ; } } } goto LA15; LA17: ; { { NIM_BOOL LOC30; LOC30 = (NIM_BOOL)0; LOC30 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*n0).typ); if (!(LOC30)) goto LA31; LOC30 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*result0).typ); LA31: ; if (!LOC30) goto LA32; } goto LA28; LA32: ; { result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*n0).typ, result0); } LA28: ; result0 = commonoptimizations_5FZnA6Yh1gIqCYb06v9bsUg((*c0).module, result0); result0 = hlo_NBTNEqzl5NBSHnN0VGYkSQ_11(c0, result0); result0 = commonoptimizations_5FZnA6Yh1gIqCYb06v9bsUg((*c0).module, result0); } LA15: ; } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((*c0).patterns ? (*c0).patterns->Sup.len : 0) == ((NI) 0)); if (LOC3) goto LA4; LOC3 = !(((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 21))&31U)))!=0)); LA4: ; if (!LOC3) goto LA5; result0 = n0; goto BeforeRet; } LA5: ; (*c0).hloloopdetector = ((NI) 0); result0 = hlo_NBTNEqzl5NBSHnN0VGYkSQ_11(c0, n0); }BeforeRet: ; return result0; } N_NIMCALL(void, fixupinstantiatedsymbols_ReFYHO8NcVlF9aFYTz4SpBA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { { NI i_rMZ9aLiUqoKw9bL9akVTh9b9cJw; NI HEX3Atmp_EeCNIJN8qpbyQzs5rqmO3Q; NI res_ZelPLvd0TtN5vKNW8aBsCQ; i_rMZ9aLiUqoKw9bL9akVTh9b9cJw = (NI)0; HEX3Atmp_EeCNIJN8qpbyQzs5rqmO3Q = (NI)0; HEX3Atmp_EeCNIJN8qpbyQzs5rqmO3Q = (NI)(((*c0).generics ? (*c0).generics->Sup.len : 0) - ((NI) 1)); res_ZelPLvd0TtN5vKNW8aBsCQ = ((NI) 0); { while (1) { if (!(res_ZelPLvd0TtN5vKNW8aBsCQ <= HEX3Atmp_EeCNIJN8qpbyQzs5rqmO3Q)) goto LA3; i_rMZ9aLiUqoKw9bL9akVTh9b9cJw = res_ZelPLvd0TtN5vKNW8aBsCQ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* oldprc0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; if (!((*(*c0).generics->data[i_rMZ9aLiUqoKw9bL9akVTh9b9cJw].genericsym).Sup.id == (*s0).Sup.id)) goto LA6; oldprc0 = (*(*c0).generics->data[i_rMZ9aLiUqoKw9bL9akVTh9b9cJw].inst).sym; pushinfocontext_zQWo2MALtrYvLPyMtv28iA((*oldprc0).info); LOC8 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC8 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); n0 = (*oldprc0).ast; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = getbody_eMf5HLowckpW9cDxAV9bNIZw(s0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC9)); instantiatebody_7iqryuy4VMp9bDHA6A9bRVhg(c0, n0, NIM_NIL, oldprc0, s0); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); } LA6: ; res_ZelPLvd0TtN5vKNW8aBsCQ += ((NI) 1); } LA3: ; } } } static N_INLINE(void, popproccon_JpIn6HCQok16g8frnWqg6Qsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { asgnRef((void**) (&(*c0).p), (*(*c0).p).next); } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforborrowproc_gWIz8wKaDNivIpQWSwfgEA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* startscope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; NIM_BOOL hasdistinct0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; call0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fn0).info); hasdistinct0 = NIM_FALSE; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ((*fn0).name, (*fn0).info); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC1); { NI i_sE1s0j9aT3vy4jFgDyNjoGg; NI HEX3Atmp_6g3wHL9bnSpw3EG4WqDTdkg; NI LOC3; NI res_av6sCdjCRbGEiQA4zxI6QA; i_sE1s0j9aT3vy4jFgDyNjoGg = (NI)0; HEX3Atmp_6g3wHL9bnSpw3EG4WqDTdkg = (NI)0; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*(*fn0).typ).n); HEX3Atmp_6g3wHL9bnSpw3EG4WqDTdkg = (LOC3 - 1); res_av6sCdjCRbGEiQA4zxI6QA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* param0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; if (!(res_av6sCdjCRbGEiQA4zxI6QA <= HEX3Atmp_6g3wHL9bnSpw3EG4WqDTdkg)) goto LA5; i_sE1s0j9aT3vy4jFgDyNjoGg = res_av6sCdjCRbGEiQA4zxI6QA; param0 = (*(*(*fn0).typ).n).kindU.S6.sons->data[i_sE1s0j9aT3vy4jFgDyNjoGg]; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*param0).typ, 8423440); { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); if (LOC8) goto LA9; LOC8 = ((*(*param0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); LA9: ; if (!LOC8) goto LA10; hasdistinct0 = NIM_TRUE; } LA10: ; x0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC16; if (!((*(*param0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA14; x0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23), c0); LOC16 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC16 = baseofdistinct_0fL9bitLvV2esIMBn1vciqg(t0); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(x0, LOC16); } goto LA12; LA14: ; { x0 = baseofdistinct_0fL9bitLvV2esIMBn1vciqg(t0); } LA12: ; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1), (*fn0).info, x0); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC18); res_av6sCdjCRbGEiQA4zxI6QA += ((NI) 1); } LA5: ; } } { Tnode_bROa11lyF5vxEN9aYNbHmhw* resolved0; Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set LOC23; if (!hasdistinct0) goto LA21; LOC23 = 0; LOC23 |=((NU32)(1)<<(((*fn0).kind)%(sizeof(NU32)*8))); resolved0 = semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw(c0, call0, call0, LOC23); { if (!!((resolved0 == NIM_NIL))) goto LA26; result0 = (*(*resolved0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { NIM_BOOL LOC30; LOC30 = (NIM_BOOL)0; LOC30 = comparetypes_Wiat9a9c5vPvjDreVawQ2qgA((*(*result0).typ).sons->data[((NI) 0)], (*(*fn0).typ).sons->data[((NI) 0)], ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 1), 0); if (!!(LOC30)) goto LA31; result0 = NIM_NIL; } goto LA28; LA31: ; { if (!((*result0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 5) || (*result0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4))) goto LA34; result0 = NIM_NIL; } goto LA28; LA34: ; LA28: ; } LA26: ; } LA21: ; return result0; } N_NIMCALL(void, semborrow_hrnIK9aWjFDPZdzaXSY74gA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* b0; b0 = searchforborrowproc_gWIz8wKaDNivIpQWSwfgEA(c0, (*(*c0).currentscope).parent, s0); { if (!!((b0 == NIM_NIL))) goto LA3; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(b0)); } goto LA1; LA3: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 142), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA1: ; } N_NIMCALL(void, sideeffectscheck_K9azjGQymtuOxoOP6mI4DTQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocaux_2X4w7TX75QUfTLhnxQFKJA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw_Set validpragmas0, Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg phase0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; NIM_BOOL typeisdetermined0; NIM_BOOL isanon0; Tscope_1cQRXW6aAknk7ywAwjH3nw* oldscope0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* gp0; Tsym_AXG7xcvKqaxY6koRX1xkCw* proto0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semprocannotation_csqD9cOcsNb9cr0UKA0e9bfxg(c0, n0, validpragmas0); { if (!!((result0 == NIM_NIL))) goto LA3; goto BeforeRet; } LA3: ; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); s0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; typeisdetermined0 = NIM_FALSE; isanon0 = NIM_FALSE; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!!(((*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA8; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC15; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!((*LOC12).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA13; LOC15 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC15 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); s0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(kind0, (*(*c0).cache).idanon, LOC15, (*n0).info); (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); isanon0 = NIM_TRUE; } goto LA10; LA13: ; { s0 = semidentdef_qqiCDzCWiApL1VOjVbfHrw(c0, (*n0).kindU.S6.sons->data[((NI) 0)], kind0); } LA10: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(s0)); asgnRefNoCycle((void**) (&(*s0).ast), n0); } goto LA5; LA8: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); s0 = (*LOC18).kindU.S4.sym; asgnRefNoCycle((void**) (&(*s0).owner), getcurrowner_vtvHgJFBzj1VdwBSMUceQQ()); typeisdetermined0 = ((*s0).typ == NIM_NIL); asgnRefNoCycle((void**) (&(*s0).ast), n0); } LA5: ; oldscope0 = (*c0).currentscope; pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); LOC19 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC19 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); gp0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22; gp0 = setgenericparamsmisc_NBTNEqzl5NBSHnN0VGYkSQ_7(c0, n0); } goto LA20; LA22: ; { gp0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75), (*n0).info); } LA20: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 3)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA27; semparamlist_Qyh9a7LvbGI5OBxQHRRO9bxA(c0, (*n0).kindU.S6.sons->data[((NI) 3)], gp0, s0); { NI LOC31; LOC31 = (NI)0; LOC31 = sonslen_qPWPHw7WgJeEVYUdcaRIig(gp0); if (!(((NI) 0) < LOC31)) goto LA32; { if (!((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA36; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), gp0); } LA36: ; } LA32: ; } goto LA25; LA27: ; { asgnRefNoCycle((void**) (&(*s0).typ), newproctype_ND9cPmmyWE5euXT1SokYu8A(c0, (*n0).info, NIM_NIL)); } LA25: ; { if (!(((*(*s0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 28))&31U)))!=0)) goto LA41; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))%(sizeof(NU32)*8)); } LA41: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA45; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), sempattern_NBTNEqzl5NBSHnN0VGYkSQ_8(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); } LA45: ; { if (!((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))) goto LA49; (*(*s0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))%(sizeof(NU32)*8)); } LA49: ; proto0 = searchforproc_XUBQS3wiYN5kYQxrNN9awNQ(c0, oldscope0, s0); { NIM_BOOL LOC53; LOC53 = (NIM_BOOL)0; LOC53 = (proto0 == NIM_NIL); if (LOC53) goto LA54; LOC53 = isanon0; LA54: ; if (!LOC53) goto LA55; { if (!((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))) goto LA59; { if (!!(((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)))) goto LA63; { if (!isanon0) goto LA67; (*(*s0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8); } goto LA65; LA67: ; { (*(*s0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5); } LA65: ; } LA63: ; } goto LA57; LA59: ; { Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw* LOC71; LOC71 = (Toptionentry_qo5G3Yn2oEcK3x1oAHGvpw*)0; LOC71 = lastoptionentry_rRajvbtDjsI4JkDGyW0Whg(c0); (*(*s0).typ).callconv = (*LOC71).defaultcc; } LA57: ; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)) goto LA74; } goto LA72; LA74: ; { if (!((258112 &(1U<<((NU)(kind0)&31U)))!=0)) goto LA77; { if (!!(typeisdetermined0)) goto LA81; addinterfaceoverloadablesymat_9bOlLzLejs1B7Z9asqeMQ3Sw(c0, oldscope0, s0); } LA81: ; } goto LA72; LA77: ; { { if (!!(typeisdetermined0)) goto LA86; addinterfacedeclat_9bOlLzLejs1B7Z9asqeMQ3Sw_2(c0, oldscope0, s0); } LA86: ; } LA72: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 4)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA90; pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*n0).kindU.S6.sons->data[((NI) 4)], validpragmas0); } goto LA88; LA90: ; { implicitpragmas_7200QCbjfWhEBN4qPDke4w_3(c0, s0, n0, validpragmas0); } LA88: ; } goto LA51; LA55: ; { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC104; { NimStringDesc* LOC98; NimStringDesc* LOC99; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 4)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA96; LOC98 = (NimStringDesc*)0; LOC99 = (NimStringDesc*)0; LOC99 = HEX24_yjUDf1xsp2Vnrl7HYmqNww((*proto0).info); LOC98 = rawNewString((*(*proto0).name).s->Sup.len + LOC99->Sup.len + 8); appendString(LOC98, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_33)); appendString(LOC98, (*(*proto0).name).s); appendString(LOC98, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_89)); appendString(LOC98, LOC99); localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 4)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 139), LOC98); } LA96: ; { if (!!((((*proto0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4))&31U)))!=0))) goto LA102; wrongredefinition_unQWmvfLcyA9aecDjdh60gw((*n0).info, (*(*proto0).name).s); } LA102: ; (*proto0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8))); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); LOC104 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC104 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); { if (!!(((*(*(*proto0).ast).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA107; addgenericparamlisttoscope_jzk1KGIc0vzv6pth3zm9bkw(c0, (*(*proto0).ast).kindU.S6.sons->data[((NI) 2)]); } LA107: ; addparams_zCs4p739b2m9cRi9auRLptiZg_2(c0, (*(*proto0).typ).n, (*proto0).kind); (*proto0).info = (*s0).info; asgnRefNoCycle((void**) (&(*s0).typ), (*proto0).typ); s0 = proto0; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), (*(*proto0).ast).kindU.S6.sons->data[((NI) 2)]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 3)]), (*(*proto0).ast).kindU.S6.sons->data[((NI) 3)]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 4)]), (*(*proto0).ast).kindU.S6.sons->data[((NI) 4)]); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA111; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_90)); } LA111: ; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym), proto0); { NIM_BOOL LOC115; NimStringDesc* LOC119; LOC115 = (NIM_BOOL)0; LOC115 = importantcomments_9bOOl1CRXwH84L9baCwIFbjgsem(); if (!(LOC115)) goto LA116; LOC115 = !(((*(*proto0).ast).comment == 0)); LA116: ; if (!LOC115) goto LA117; LOC119 = (NimStringDesc*)0; LOC119 = (*n0).comment; (*n0).comment = copyStringRC1((*(*proto0).ast).comment); if (LOC119) nimGCunrefNoCycle(LOC119); } LA117: ; asgnRefNoCycle((void**) (&(*proto0).ast), n0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); } LA51: ; (*s0).options = goptions_KL5B8sF4szIsM2AXCWFsIw; { NIM_BOOL LOC122; LOC122 = (NIM_BOOL)0; LOC122 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))&31U)))!=0); if (LOC122) goto LA123; LOC122 = ((NU8)((*(*s0).name).s->data[((NI) 0)]) == (NU8)(61)); LA123: ; if (!LOC122) goto LA124; semoverride_bWT3VHZBqg9cw54r2vaGxQQ_2(c0, s0, n0); } LA124: ; { if (!(((NU8)((*(*s0).name).s->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)((*(*s0).name).s->data[((NI) 0)])) == ((NU8)(40)))) goto LA128; { NIM_BOOL LOC132; NIM_BOOL LOC134; NimStringDesc* LOC137; LOC132 = (NIM_BOOL)0; LOC132 = contains_jPdUhZfr9a8sH2V3ZBDljzwrst(T_rF9caJawfOjYTjsgLVUSGFA_110, 4, (*(*s0).name).s); if (!(LOC132)) goto LA133; LOC134 = (NIM_BOOL)0; LOC134 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); LOC132 = !(LOC134); LA133: ; if (!LOC132) goto LA135; LOC137 = (NimStringDesc*)0; LOC137 = rawNewString((*(*s0).name).s->Sup.len + 57); appendString(LOC137, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_114)); appendString(LOC137, (*(*s0).name).s); message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), LOC137); } LA135: ; } LA128: ; { NIM_BOOL usepseudogenerics0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA140; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 26))&31U)))!=0)) goto LA144; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 6)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 140), (*(*s0).name).s); } LA144: ; usepseudogenerics0 = ((196608 &(1U<<((NU)(kind0)&31U)))!=0); pushproccon_bvkA8slTYt1UIXkpYpaKog_3(c0, s0); { NIM_BOOL LOC148; LOC148 = (NIM_BOOL)0; LOC148 = ((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (LOC148) goto LA149; LOC148 = usepseudogenerics0; LA149: ; if (!LOC148) goto LA150; { if (!!(usepseudogenerics0)) goto LA154; paramstypecheck_x1Ba9c12ovxmcPsmA8sLtBwsem(c0, (*s0).typ); } LA154: ; (*(*c0).p).wasforwarded = !((proto0 == NIM_NIL)); maybeaddresult_bWT3VHZBqg9cw54r2vaGxQQ(c0, s0, n0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* sembody0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC160; if (!!((((*s0).loc.flags &(1U<<((NU)(((Tlocflag_o2bqJgR4ceIupnUSpxiudA) 4))&15U)))!=0))) goto LA158; LOC160 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC160 = semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6(c0, (*n0).kindU.S6.sons->data[((NI) 6)]); sembody0 = hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10(c0, LOC160); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), transformbody_J5txp2NXODCe0Qzl9bJjNzA((*c0).module, sembody0, s0)); } LA158: ; } goto LA146; LA150: ; { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC170; { NIM_BOOL LOC164; Tident_4umxGerWTHGPwUms7Yqu3g* LOC168; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC169; LOC164 = (NIM_BOOL)0; LOC164 = !(((*(*s0).typ).sons->data[((NI) 0)] == NIM_NIL)); if (!(LOC164)) goto LA165; LOC164 = !((kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))); LA165: ; if (!LOC164) goto LA166; LOC168 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC168 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_59)); LOC169 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC169 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC168, NIM_NIL, (*n0).info); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, LOC169); } LA166: ; LOC170 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC170 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), semgenericstmt_NBTNEqzl5NBSHnN0VGYkSQ_4(c0, (*n0).kindU.S6.sons->data[((NI) 6)])); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); fixupinstantiatedsymbols_ReFYHO8NcVlF9aFYTz4SpBA_2(c0, s0); } LA146: ; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))&31U)))!=0)) goto LA173; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA173: ; popproccon_JpIn6HCQok16g8frnWqg6Qsem(c0); } goto LA138; LA140: ; { { if (!!((proto0 == NIM_NIL))) goto LA178; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*proto0).name).s); } LA178: ; { NIM_BOOL LOC182; LOC182 = (NIM_BOOL)0; LOC182 = ((67108896 & (*s0).flags) == 0); if (!(LOC182)) goto LA183; LOC182 = ((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)); LA183: ; if (!LOC182) goto LA184; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4))%(sizeof(NU32)*8)); } goto LA180; LA184: ; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 26))&31U)))!=0)) goto LA187; semborrow_hrnIK9aWjFDPZdzaXSY74gA(c0, n0, s0); } goto LA180; LA187: ; LA180: ; } LA138: ; sideeffectscheck_K9azjGQymtuOxoOP6mI4DTQ(c0, s0); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA191; (*c0).patterns = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&((*c0).patterns)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&(*c0).patterns->data[(*c0).patterns->Sup.len]), s0); ++(*c0).patterns->Sup.len; } LA191: ; { if (!isanon0) goto LA195; asgnRefNoCycle((void**) (&(*result0).typ), (*s0).typ); } LA195: ; { NIM_BOOL LOC199; NIM_BOOL LOC200; LOC199 = (NIM_BOOL)0; LOC200 = (NIM_BOOL)0; LOC200 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!(LOC200)) goto LA201; LOC200 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))); LA201: ; LOC199 = LOC200; if (!(LOC199)) goto LA202; LOC199 = ((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA202: ; if (!LOC199) goto LA203; localerror_GarD0CQJ5aQhoHekHYinVQ((*s0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_153)); } LA203: ; }BeforeRet: ; return result0; } N_NIMCALL(void, determinetype_ReFYHO8NcVlF9aFYTz4SpBA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; { { if (!!(((*s0).typ == NIM_NIL))) goto LA3; goto BeforeRet; } LA3: ; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, (*s0).ast, (*s0).kind, T_rF9caJawfOjYTjsgLVUSGFA_154, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 1)); }BeforeRet: ; } N_NIMCALL(TY_xITzrU1RhJLKwBlRCAbn9bA*, initcandidatesymbols_YOzWuz7vSPabnl25P6NJzg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* headsymbol0, Tnode_bROa11lyF5vxEN9aYNbHmhw* initialbinding0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* best0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* alt0, Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ* o0) { TY_xITzrU1RhJLKwBlRCAbn9bA* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* symx0; result0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*)0; result0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*) newSeq((&NTI_xITzrU1RhJLKwBlRCAbn9bA), 0); symx0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA(o0, c0, headsymbol0); { while (1) { if (!!((symx0 == NIM_NIL))) goto LA2; { TY_uZlRb8w5pa9b16Yfjq9cGRXQ LOC7; if (!((filter0 &(1U<<((NU)((*symx0).kind)&31U)))!=0)) goto LA5; memset((void*)(&LOC7), 0, sizeof(LOC7)); LOC7.Field0 = symx0; LOC7.Field1 = lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ((&(*o0))); result0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*) incrSeqV2(&(result0)->Sup, sizeof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ)); asgnRefNoCycle((void**) (&result0->data[result0->Sup.len].Field0), LOC7.Field0); result0->data[result0->Sup.len].Field1 = LOC7.Field1; ++result0->Sup.len; symx0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2(o0, c0, headsymbol0); } LA5: ; } LA2: ; } { if (!(((NI) 0) < (result0 ? result0->Sup.len : 0))) goto LA10; initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, best0, result0->data[((NI) 0)].Field0, initialbinding0, result0->data[((NI) 0)].Field1); initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, alt0, result0->data[((NI) 0)].Field0, initialbinding0, result0->data[((NI) 0)].Field1); (*best0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); } LA10: ; return result0; } N_NIMCALL(void, pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* headsymbol0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* initialbinding0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* best0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* alt0, TY_xITzrU1RhJLKwBlRCAbn9bA** errors0) { Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ o0; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0; NI scope0; NI counterinitial0; TY_xITzrU1RhJLKwBlRCAbn9bA* syms0; NI nextsymindex0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA z0; memset((void*)(&o0), 0, sizeof(o0)); sym0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&o0), c0, headsymbol0); scope0 = lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ((&o0)); counterinitial0 = (*(*c0).currentscope).symbols.counter; syms0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*)0; nextsymindex0 = ((NI) 0); { while (1) { if (!!((sym0 == NIM_NIL))) goto LA2; { if (!((filter0 &(1U<<((NU)((*sym0).kind)&31U)))!=0)) goto LA5; initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, best0, sym0, initialbinding0, scope0); initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, alt0, sym0, initialbinding0, scope0); (*best0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto LA1; } goto LA3; LA5: ; { sym0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, headsymbol0); scope0 = lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ((&o0)); } LA3: ; } LA2: ; } LA1: ; memset((void*)(&z0), 0, sizeof(z0)); { while (1) { if (!!((sym0 == NIM_NIL))) goto LA9; { { if (!!(((filter0 &(1U<<((NU)((*sym0).kind)&31U)))!=0))) goto LA13; sym0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, headsymbol0); scope0 = lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ((&o0)); goto LA10; } LA13: ; determinetype_ReFYHO8NcVlF9aFYTz4SpBA(c0, sym0); initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, (&z0), sym0, initialbinding0, scope0); { NIM_BOOL LOC17; NIM_BOOL LOC19; LOC17 = (NIM_BOOL)0; LOC17 = ((*(*c0).currentscope).symbols.counter == counterinitial0); if (LOC17) goto LA18; LOC19 = (NIM_BOOL)0; LOC19 = HEX3DHEX3D_3iaa3QVHZI9bDjRnXEL1LQQ(syms0, NIM_NIL); LOC17 = !(LOC19); LA18: ; if (!LOC17) goto LA20; matches_x3U2uVO0diqi4Z4tOU2y9aw_2(c0, n0, orig0, (&z0)); { NIM_BOOL LOC24; TY_uZlRb8w5pa9b16Yfjq9cGRXQ LOC27; LOC24 = (NIM_BOOL)0; LOC24 = HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw((*errors0), NIM_NIL); if (!!(LOC24)) goto LA25; memset((void*)(&LOC27), 0, sizeof(LOC27)); LOC27.Field0 = sym0; LOC27.Field1 = ((NI) (z0.mutabilityproblem)); safeadd_tcVXv8mF8bwxGJHbyFs27g(errors0, LOC27); { NIM_BOOL LOC30; LOC30 = (NIM_BOOL)0; LOC30 = HEX3DHEX3D_A8XZmS2kUPRhG84nvOg1Nw(z0.errors, NIM_NIL); if (!!(LOC30)) goto LA31; { TY_uZlRb8w5pa9b16Yfjq9cGRXQ err_jE0uWVtFEgcyEliIRUAnvg; TY_xITzrU1RhJLKwBlRCAbn9bA* HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw; NI i_WLSRTbYh6Py9ao6svgHpesg; NI L_ZQMww1kCF19a23i5J9bLYQgA; memset((void*)(&err_jE0uWVtFEgcyEliIRUAnvg), 0, sizeof(err_jE0uWVtFEgcyEliIRUAnvg)); HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw = (TY_xITzrU1RhJLKwBlRCAbn9bA*)0; HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw = z0.errors; i_WLSRTbYh6Py9ao6svgHpesg = ((NI) 0); L_ZQMww1kCF19a23i5J9bLYQgA = (HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw ? HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw->Sup.len : 0); { while (1) { if (!(i_WLSRTbYh6Py9ao6svgHpesg < L_ZQMww1kCF19a23i5J9bLYQgA)) goto LA35; err_jE0uWVtFEgcyEliIRUAnvg.Field0 = HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw->data[i_WLSRTbYh6Py9ao6svgHpesg].Field0; err_jE0uWVtFEgcyEliIRUAnvg.Field1 = HEX3Atmp_MdDWzK49aToPnwyfYNtMsqw->data[i_WLSRTbYh6Py9ao6svgHpesg].Field1; (*errors0) = (TY_xITzrU1RhJLKwBlRCAbn9bA*) incrSeqV2(&((*errors0))->Sup, sizeof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ)); asgnRefNoCycle((void**) (&(*errors0)->data[(*errors0)->Sup.len].Field0), err_jE0uWVtFEgcyEliIRUAnvg.Field0); (*errors0)->data[(*errors0)->Sup.len].Field1 = err_jE0uWVtFEgcyEliIRUAnvg.Field1; ++(*errors0)->Sup.len; i_WLSRTbYh6Py9ao6svgHpesg += ((NI) 1); } LA35: ; } } } LA31: ; } LA25: ; { if (!(z0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA38; { if (!((*sym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))) goto LA42; z0.exactmatches += ((NI) 200); } LA42: ; switch ((*best0).state) { case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0): case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2): { genericAssign((void*)(&(*best0)), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); } break; case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1): { NI cmp0; cmp0 = cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ((&(*best0)), (&z0)); { if (!(cmp0 < ((NI) 0))) goto LA48; genericAssign((void*)(&(*best0)), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); } goto LA46; LA48: ; { if (!(cmp0 == ((NI) 0))) goto LA51; genericAssign((void*)(&(*alt0)), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); } goto LA46; LA51: ; LA46: ; } break; } } LA38: ; } goto LA15; LA20: ; { syms0 = initcandidatesymbols_YOzWuz7vSPabnl25P6NJzg(c0, headsymbol0, initialbinding0, filter0, best0, alt0, (&o0)); } LA15: ; { NIM_BOOL LOC56; LOC56 = (NIM_BOOL)0; LOC56 = HEX3DHEX3D_3iaa3QVHZI9bDjRnXEL1LQQ(syms0, NIM_NIL); if (!LOC56) goto LA57; sym0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, headsymbol0); scope0 = lastoverloadscope_BsRyCn9bd9cpY9adFkr4n1inQ((&o0)); } goto LA54; LA57: ; { if (!(nextsymindex0 < (syms0 ? syms0->Sup.len : 0))) goto LA60; sym0 = syms0->data[nextsymindex0].Field0; scope0 = syms0->data[nextsymindex0].Field1; nextsymindex0 += ((NI) 1); } goto LA54; LA60: ; { goto LA8; } LA54: ; } LA10: ; } LA9: ; } LA8: ; } static N_INLINE(NimStringDesc*, HEX5BHEX5D_Sq9b57KCLKZryBwyHy49aBswcommands)(NimStringDesc* s0, Slice_qL3WGViqT0p5sVr4YFHsLg x0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = copyStrLast(s0, x0.a, x0.b); return result0; } N_NIMCALL(NIM_BOOL, samemethoddispatcher_IphA9b0ComRsuy5xnuiQxdw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = NIM_FALSE; { NIM_BOOL LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* aa0; Tnode_bROa11lyF5vxEN9aYNbHmhw* bb0; LOC3 = (NIM_BOOL)0; LOC3 = ((*a0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13)); if (!(LOC3)) goto LA4; LOC3 = ((*b0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13)); LA4: ; if (!LOC3) goto LA5; aa0 = lastson_esDJA7239bJDiq4UrX9aHCjg((*a0).ast); bb0 = lastson_esDJA7239bJDiq4UrX9aHCjg((*b0).ast); { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = ((*aa0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC9)) goto LA10; LOC9 = ((*bb0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA10: ; if (!LOC9) goto LA11; { if (!((*aa0).kindU.S4.sym == (*bb0).kindU.S4.sym)) goto LA15; result0 = NIM_TRUE; } LA15: ; } goto LA7; LA11: ; { } LA7: ; } LA5: ; return result0; } N_NIMCALL(void, resolveoverloads_JHQgKsoQ8WidCfHzthgn5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0, TY_xITzrU1RhJLKwBlRCAbn9bA** errors0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) { Tnode_bROa11lyF5vxEN9aYNbHmhw* initialbinding0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA alt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* f0; Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg overloadsstate0; { initialbinding0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&alt0), 0, sizeof(alt0)); f0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { if (!((*f0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA3; initialbinding0 = f0; f0 = (*f0).kindU.S6.sons->data[((NI) 0)]; } goto LA1; LA3: ; { initialbinding0 = NIM_NIL; } LA1: ; pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, f0, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); overloadsstate0 = (*Result).state; { if (!!((overloadsstate0 == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA8; { NIM_BOOL LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* hiddenarg0; LOC12 = (NIM_BOOL)0; LOC12 = !(((*c0).p == NIM_NIL)); if (!(LOC12)) goto LA13; LOC12 = !(((*(*c0).p).selfsym == NIM_NIL)); LA13: ; if (!LOC12) goto LA14; hiddenarg0 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*c0).p).selfsym); asgnRefNoCycle((void**) (&(*hiddenarg0).typ), NIM_NIL); insert_sdPxAA6tJBXORWiLIJmHnQ((&(*n0).kindU.S6.sons), hiddenarg0, ((NI) 1)); insert_sdPxAA6tJBXORWiLIJmHnQ((&(*orig0).kindU.S6.sons), hiddenarg0, ((NI) 1)); pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, f0, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); { if (!!(((*Result).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA18; delete_CLZdKKlcUPYhcUpOnWP7ag((&(*n0).kindU.S6.sons), ((NI) 1)); delete_CLZdKKlcUPYhcUpOnWP7ag((&(*orig0).kindU.S6.sons), ((NI) 1)); (*n0).flags &= ~(((NU16)1) << ((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 12)) % (sizeof(NU16)*8))); } goto LA16; LA18: ; { goto BeforeRet; } LA16: ; } LA14: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* calleename0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; Slice_qL3WGViqT0p5sVr4YFHsLg LOC34; TY_T6RKPw8xfAeNaoei9aZGzXg LOC35; Slice_qL3WGViqT0p5sVr4YFHsLg LOC36; TY_T6RKPw8xfAeNaoei9aZGzXg LOC37; if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 9))&15U)))!=0)) goto LA23; { NIM_BOOL LOC27; NI LOC29; NimStringDesc* LOC32; LOC27 = (NIM_BOOL)0; LOC27 = ((*f0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); if (!(LOC27)) goto LA28; LOC29 = (NI)0; LOC29 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC27 = (((NI) 2) <= LOC29); LA28: ; if (!!(LOC27)) goto LA30; LOC32 = (NimStringDesc*)0; LOC32 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_155); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC32); } LA30: ; LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), (*(*f0).kindU.S5.ident).s); calleename0 = withinfo_wk4l6Hy9b7hKypvyN5K2D3A(LOC33, (*n0).info); LOC34 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), ((NI) 1)); memset((void*)LOC35, 0, sizeof(LOC35)); LOC35[0] = NIM_NIL; LOC35[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC35[2] = calleename0; HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ((&(*n0).kindU.S6.sons), LOC34, LOC35, 3); LOC36 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), ((NI) 1)); memset((void*)LOC37, 0, sizeof(LOC37)); LOC37[0] = NIM_NIL; LOC37[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(orig0, ((NI) 1)); LOC37[2] = calleename0; HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ((&(*orig0).kindU.S6.sons), LOC36, LOC37, 3); { Tnode_bROa11lyF5vxEN9aYNbHmhw* op_Vo1SimyBtSjVKxIWgD9c09aQ; Tident_4umxGerWTHGPwUms7Yqu3g* LOC42; if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 11))&15U)))!=0)) goto LA40; LOC42 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC42 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_112)); op_Vo1SimyBtSjVKxIWgD9c09aQ = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC42, (*n0).info); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), op_Vo1SimyBtSjVKxIWgD9c09aQ); asgnRefNoCycle((void**) (&(*orig0).kindU.S6.sons->data[((NI) 0)]), op_Vo1SimyBtSjVKxIWgD9c09aQ); pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, op_Vo1SimyBtSjVKxIWgD9c09aQ, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); } LA40: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* op_Vo1SimyBtSjVKxIWgD9c09aQ_2; Tident_4umxGerWTHGPwUms7Yqu3g* LOC47; if (!((5 &(1U<<((NU)((*Result).state)&7U)))!=0)) goto LA45; LOC47 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC47 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_111)); op_Vo1SimyBtSjVKxIWgD9c09aQ_2 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC47, (*n0).info); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), op_Vo1SimyBtSjVKxIWgD9c09aQ_2); asgnRefNoCycle((void**) (&(*orig0).kindU.S6.sons->data[((NI) 0)]), op_Vo1SimyBtSjVKxIWgD9c09aQ_2); pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, op_Vo1SimyBtSjVKxIWgD9c09aQ_2, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); } LA45: ; } goto LA21; LA23: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* calleename0; Slice_qL3WGViqT0p5sVr4YFHsLg LOC59; NimStringDesc* LOC60; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; Tnode_bROa11lyF5vxEN9aYNbHmhw* callop0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC62; Slice_qL3WGViqT0p5sVr4YFHsLg LOC63; TY_T6RKPw8xfAeNaoei9aZGzXg LOC64; Slice_qL3WGViqT0p5sVr4YFHsLg LOC65; TY_T6RKPw8xfAeNaoei9aZGzXg LOC66; if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 10))&15U)))!=0)) goto LA49; { NIM_BOOL LOC53; NI LOC55; NimStringDesc* LOC58; LOC53 = (NIM_BOOL)0; LOC53 = ((*f0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); if (!(LOC53)) goto LA54; LOC55 = (NI)0; LOC55 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC53 = (LOC55 == ((NI) 3)); LA54: ; if (!!(LOC53)) goto LA56; LOC58 = (NimStringDesc*)0; LOC58 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_157); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC58); } LA56: ; LOC59 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), (NI)(((*(*f0).kindU.S5.ident).s ? (*(*f0).kindU.S5.ident).s->Sup.len : 0) - ((NI) 2))); LOC60 = (NimStringDesc*)0; LOC60 = HEX5BHEX5D_Sq9b57KCLKZryBwyHy49aBswcommands((*(*f0).kindU.S5.ident).s, LOC59); LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), LOC60); calleename0 = withinfo_wk4l6Hy9b7hKypvyN5K2D3A(LOC61, (*n0).info); LOC62 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC62 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_158)); callop0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC62, (*n0).info); LOC63 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), ((NI) 1)); memset((void*)LOC64, 0, sizeof(LOC64)); LOC64[0] = callop0; LOC64[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC64[2] = calleename0; HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ((&(*n0).kindU.S6.sons), LOC63, LOC64, 3); LOC65 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), ((NI) 1)); memset((void*)LOC66, 0, sizeof(LOC66)); LOC66[0] = callop0; LOC66[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(orig0, ((NI) 1)); LOC66[2] = calleename0; HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ((&(*orig0).kindU.S6.sons), LOC65, LOC66, 3); pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, callop0, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); } goto LA21; LA49: ; LA21: ; { NIM_BOOL LOC69; LOC69 = (NIM_BOOL)0; LOC69 = (overloadsstate0 == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0)); if (!(LOC69)) goto LA70; LOC69 = ((*Result).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0)); LA70: ; if (!LOC69) goto LA71; { NIM_BOOL LOC75; Tident_4umxGerWTHGPwUms7Yqu3g* LOC79; LOC75 = (NIM_BOOL)0; LOC75 = (((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 9))&15U)))!=0); if (!(LOC75)) goto LA76; LOC75 = !((((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 11))&15U)))!=0)); LA76: ; if (!LOC75) goto LA77; LOC79 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC79 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(f0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 63), (*LOC79).s); } goto LA73; LA77: ; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC81; LOC81 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC81 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(f0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 64), (*LOC81).s); } LA73: ; goto BeforeRet; } goto LA67; LA71: ; { if (!!(((*Result).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA83; { NimStringDesc* LOC89; if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 12))&15U)))!=0)) goto LA87; LOC89 = (NimStringDesc*)0; LOC89 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 91), LOC89); } goto LA85; LA87: ; { { if (!!(((1536 & (*n0).flags) == 0))) goto LA93; delete_CLZdKKlcUPYhcUpOnWP7ag((&(*n0).kindU.S6.sons), ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), f0); } LA93: ; unsureAsgnRef((void**) (&(*errors0)), (TY_xITzrU1RhJLKwBlRCAbn9bA*) newSeq((&NTI_xITzrU1RhJLKwBlRCAbn9bA), 0)); pickbestcandidate_nvFWeBnKsWxySOqtpwXMWg(c0, f0, n0, orig0, initialbinding0, filter0, Result, (&alt0), errors0); } LA85: ; goto BeforeRet; } goto LA67; LA83: ; LA67: ; } LA8: ; { NIM_BOOL LOC97; NIM_BOOL LOC98; NI LOC100; NIM_BOOL LOC102; LOC97 = (NIM_BOOL)0; LOC98 = (NIM_BOOL)0; LOC98 = (alt0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)); if (!(LOC98)) goto LA99; LOC100 = (NI)0; LOC100 = cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ(Result, (&alt0)); LOC98 = (LOC100 == ((NI) 0)); LA99: ; LOC97 = LOC98; if (!(LOC97)) goto LA101; LOC102 = (NIM_BOOL)0; LOC102 = samemethoddispatcher_IphA9b0ComRsuy5xnuiQxdw((*Result).calleesym, alt0.calleesym); LOC97 = !(LOC102); LA101: ; if (!LOC97) goto LA103; { NimStringDesc* LOC109; if (!!(((*Result).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA107; LOC109 = (NimStringDesc*)0; LOC109 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_159); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC109); } LA107: ; { if (!(((NI) 0) < (*c0).compilescontextid)) goto LA112; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_160)); } goto LA110; LA112: ; { NimStringDesc* args0; NimStringDesc* LOC126; TY_24KAM9afIUgUaqBaEBB6r9bg LOC127; NimStringDesc* LOC128; if (!(gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ == ((NI) 0))) goto LA115; args0 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_161)); { NI i_9b7QkGtLFhD2mikEKOKMvPg; NI HEX3Atmp_59a0x1ruJnAJLGRAETcF6Dw; NI LOC118; NI res_zCT0RmRPNd8uIC9b8rxoxuQ; i_9b7QkGtLFhD2mikEKOKMvPg = (NI)0; HEX3Atmp_59a0x1ruJnAJLGRAETcF6Dw = (NI)0; LOC118 = (NI)0; LOC118 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_59a0x1ruJnAJLGRAETcF6Dw = (NI)(LOC118 - ((NI) 1)); res_zCT0RmRPNd8uIC9b8rxoxuQ = ((NI) 1); { while (1) { NimStringDesc* LOC125; if (!(res_zCT0RmRPNd8uIC9b8rxoxuQ <= HEX3Atmp_59a0x1ruJnAJLGRAETcF6Dw)) goto LA120; i_9b7QkGtLFhD2mikEKOKMvPg = res_zCT0RmRPNd8uIC9b8rxoxuQ; { if (!(((NI) 1) < i_9b7QkGtLFhD2mikEKOKMvPg)) goto LA123; args0 = resizeString(args0, 2); appendString(args0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_132)); } LA123: ; LOC125 = (NimStringDesc*)0; LOC125 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*n0).kindU.S6.sons->data[i_9b7QkGtLFhD2mikEKOKMvPg]).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); args0 = resizeString(args0, LOC125->Sup.len + 0); appendString(args0, LOC125); res_zCT0RmRPNd8uIC9b8rxoxuQ += ((NI) 1); } LA120: ; } } args0 = resizeString(args0, 1); appendString(args0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_40)); LOC126 = (NimStringDesc*)0; LOC126 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 135)); memset((void*)LOC127, 0, sizeof(LOC127)); LOC127[0] = getprocheader_9c0TLKVGuRBEJe67tk7UlpA((*Result).calleesym, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC127[1] = getprocheader_9c0TLKVGuRBEJe67tk7UlpA(alt0.calleesym, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC127[2] = copyString(args0); LOC128 = (NimStringDesc*)0; LOC128 = nsuFormatOpenArray(LOC126, LOC127, 3); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC128); } goto LA110; LA115: ; LA110: ; } LA103: ; }BeforeRet: ; } N_NIMCALL(void, instgenericconverterssons_EwuactWQjAA3w0a2KoHSXA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0) { { if (!(*x0).genericconverter) goto LA3; { NI i_wSixrY2GqwSwX3EonsMwkQ; NI HEX3Atmp_FWaD9bxTQjgYyIOStla7e2Q; NI LOC6; NI res_gnMG5J5LOdaH1E2fqNG8dw; i_wSixrY2GqwSwX3EonsMwkQ = (NI)0; HEX3Atmp_FWaD9bxTQjgYyIOStla7e2Q = (NI)0; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_FWaD9bxTQjgYyIOStla7e2Q = (LOC6 - 1); res_gnMG5J5LOdaH1E2fqNG8dw = ((NI) 1); { while (1) { if (!(res_gnMG5J5LOdaH1E2fqNG8dw <= HEX3Atmp_FWaD9bxTQjgYyIOStla7e2Q)) goto LA8; i_wSixrY2GqwSwX3EonsMwkQ = res_gnMG5J5LOdaH1E2fqNG8dw; instgenericconvertersarg_VXWuzBfroXU41p0pUFZiRA(c0, (*n0).kindU.S6.sons->data[i_wSixrY2GqwSwX3EonsMwkQ], x0); res_gnMG5J5LOdaH1E2fqNG8dw += ((NI) 1); } LA8: ; } } } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semresolvedcall_m9amGO7HG9aemg5IK8uJc48Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* finalcallee0; Tnode_bROa11lyF5vxEN9aYNbHmhw* gp0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; finalcallee0 = (*x0).calleesym; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, finalcallee0); { if (!!(((*x0).fauxmatch == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA3; result0 = (*x0).call; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(finalcallee0, (*(*result0).kindU.S6.sons->data[((NI) 0)]).info)); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA((*result0).typ); if (LOC7) goto LA8; LOC7 = ((*x0).fauxmatch == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60)); LA8: ; if (!LOC7) goto LA9; asgnRefNoCycle((void**) (&(*result0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg((*x0).fauxmatch, c0)); } LA9: ; goto BeforeRet; } LA3: ; gp0 = (*(*finalcallee0).ast).kindU.S6.sons->data[((NI) 2)]; { if (!!(((*gp0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13; { if (!!(((196608 &(1U<<((NU)((*(*x0).calleesym).kind)&31U)))!=0))) goto LA17; { if (!((*(*x0).calleesym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4) || (*(*x0).calleesym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 5))) goto LA21; finalcallee0 = (*x0).calleesym; } goto LA19; LA21: ; { finalcallee0 = generateinstance_KtAmihMG1Kq6M7PWjOiVzA(c0, (*x0).calleesym, (*x0).bindings, (*n0).info); } LA19: ; } goto LA15; LA17: ; { { Tsym_AXG7xcvKqaxY6koRX1xkCw* s_60hzTSx7FQZamMC86gA4Bw; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q HEX3Atmp_HSW16tDgoCORWd6lzQUYdA; s_60hzTSx7FQZamMC86gA4Bw = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_HSW16tDgoCORWd6lzQUYdA), 0, sizeof(HEX3Atmp_HSW16tDgoCORWd6lzQUYdA)); HEX3Atmp_HSW16tDgoCORWd6lzQUYdA.counter = (*x0).bindings.counter; HEX3Atmp_HSW16tDgoCORWd6lzQUYdA.data = (*x0).bindings.data; { NimStringDesc* LOC30; if (!!(((*gp0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA28; LOC30 = (NimStringDesc*)0; LOC30 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_56); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC30); } LA28: ; { NI i_TsxJw59atGchIZhaoFZBn3w; Tnode_bROa11lyF5vxEN9aYNbHmhw* a_XLVRlFucl07KOEkO0SSRXQ; i_TsxJw59atGchIZhaoFZBn3w = (NI)0; a_XLVRlFucl07KOEkO0SSRXQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_TsxJw59atGchIZhaoFZBn3w_2; NI HEX3Atmp_HSW16tDgoCORWd6lzQUYdA_2; NI LOC33; NI res_lgR9csMyFdDrQDVoq7Sn9aIg; i_TsxJw59atGchIZhaoFZBn3w_2 = (NI)0; HEX3Atmp_HSW16tDgoCORWd6lzQUYdA_2 = (NI)0; LOC33 = (NI)0; LOC33 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(gp0); HEX3Atmp_HSW16tDgoCORWd6lzQUYdA_2 = (LOC33 - 1); res_lgR9csMyFdDrQDVoq7Sn9aIg = ((NI) 0); { while (1) { if (!(res_lgR9csMyFdDrQDVoq7Sn9aIg <= HEX3Atmp_HSW16tDgoCORWd6lzQUYdA_2)) goto LA35; i_TsxJw59atGchIZhaoFZBn3w_2 = res_lgR9csMyFdDrQDVoq7Sn9aIg; i_TsxJw59atGchIZhaoFZBn3w = i_TsxJw59atGchIZhaoFZBn3w_2; a_XLVRlFucl07KOEkO0SSRXQ = (*gp0).kindU.S6.sons->data[i_TsxJw59atGchIZhaoFZBn3w_2]; { Tsym_AXG7xcvKqaxY6koRX1xkCw* q_B3lJrgariJF8WfU9bPv7TTg; Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind_3xH1noTwixq6Z8CDgoj5LQ; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_60hzTSx7FQZamMC86gA4Bw_2; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC51; Ttype_LTUWCZolpovw9cWE3JBWSUw* t_ATYLT4CZoBhhNTLIVo7apg; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC52; TNimObject* LOC53; { NimStringDesc* LOC41; if (!!(((*a_XLVRlFucl07KOEkO0SSRXQ).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA39; LOC41 = (NimStringDesc*)0; LOC41 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_57); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC41); } LA39: ; q_B3lJrgariJF8WfU9bPv7TTg = (*a_XLVRlFucl07KOEkO0SSRXQ).kindU.S4.sym; { if (!!(((*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)))) goto LA44; goto LA36; } LA44: ; { if (!((*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA48; symkind_3xH1noTwixq6Z8CDgoj5LQ = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10); } goto LA46; LA48: ; { symkind_3xH1noTwixq6Z8CDgoj5LQ = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); } LA46: ; LOC51 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC51 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); s_60hzTSx7FQZamMC86gA4Bw_2 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(symkind_3xH1noTwixq6Z8CDgoj5LQ, (*q_B3lJrgariJF8WfU9bPv7TTg).name, LOC51, (*q_B3lJrgariJF8WfU9bPv7TTg).info); (*s_60hzTSx7FQZamMC86gA4Bw_2).flags = ((*s_60hzTSx7FQZamMC86gA4Bw_2).flags | 5); LOC52 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC52 = &(*q_B3lJrgariJF8WfU9bPv7TTg).typ->Sup; LOC53 = (TNimObject*)0; LOC53 = idtableget_D12lVDWWPrKae8szg3EYLw(HEX3Atmp_HSW16tDgoCORWd6lzQUYdA, LOC52); t_ATYLT4CZoBhhNTLIVo7apg = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC53)); { if (!(t_ATYLT4CZoBhhNTLIVo7apg == NIM_NIL)) goto LA56; { if (!(((*(*q_B3lJrgariJF8WfU9bPv7TTg).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 10))&31U)))!=0)) goto LA60; t_ATYLT4CZoBhhNTLIVo7apg = (*q_B3lJrgariJF8WfU9bPv7TTg).typ; } goto LA58; LA60: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*a_XLVRlFucl07KOEkO0SSRXQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), (*(*s_60hzTSx7FQZamMC86gA4Bw_2).name).s); t_ATYLT4CZoBhhNTLIVo7apg = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA58: ; } goto LA54; LA56: ; { if (!((*t_ATYLT4CZoBhhNTLIVo7apg).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA64; localerror_VpilfPWbplGz6ny7O9cfr2g((*a_XLVRlFucl07KOEkO0SSRXQ).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), (*(*q_B3lJrgariJF8WfU9bPv7TTg).name).s); t_ATYLT4CZoBhhNTLIVo7apg = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } goto LA54; LA64: ; { if (!((*t_ATYLT4CZoBhhNTLIVo7apg).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA67; t_ATYLT4CZoBhhNTLIVo7apg = generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ(c0, HEX3Atmp_HSW16tDgoCORWd6lzQUYdA, (*a_XLVRlFucl07KOEkO0SSRXQ).info, t_ATYLT4CZoBhhNTLIVo7apg); } goto LA54; LA67: ; LA54: ; asgnRefNoCycle((void**) (&(*s_60hzTSx7FQZamMC86gA4Bw_2).typ), t_ATYLT4CZoBhhNTLIVo7apg); { if (!((*t_ATYLT4CZoBhhNTLIVo7apg).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA71; asgnRefNoCycle((void**) (&(*s_60hzTSx7FQZamMC86gA4Bw_2).ast), (*t_ATYLT4CZoBhhNTLIVo7apg).n); } LA71: ; s_60hzTSx7FQZamMC86gA4Bw = s_60hzTSx7FQZamMC86gA4Bw_2; switch ((*s_60hzTSx7FQZamMC86gA4Bw).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10): { add_gCCf68XrWL79bKes6htzFjQ_3((*x0).call, (*s_60hzTSx7FQZamMC86gA4Bw).ast); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC75; LOC75 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC75 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s_60hzTSx7FQZamMC86gA4Bw, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3((*x0).call, LOC75); } break; default: { { NimStringDesc* LOC81; if (!NIM_TRUE) goto LA79; LOC81 = (NimStringDesc*)0; LOC81 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_162); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC81); } LA79: ; } break; } } LA36: ; res_lgR9csMyFdDrQDVoq7Sn9aIg += ((NI) 1); } LA35: ; } } } } } LA15: ; } LA13: ; result0 = (*x0).call; instgenericconverterssons_EwuactWQjAA3w0a2KoHSXA(c0, result0, x0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(finalcallee0, (*(*result0).kindU.S6.sons->data[((NI) 0)]).info)); asgnRefNoCycle((void**) (&(*result0).typ), (*(*finalcallee0).typ).sons->data[((NI) 0)]); }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, canderef_kR3j4BVoX6LmX0p7IycneQ_2sem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; NIM_BOOL LOC1; NI LOC2; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; NIM_BOOL LOC5; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC7; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC1 = (((NI) 2) <= LOC2); if (!(LOC1)) goto LA3; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); t0 = (*LOC4).typ; LOC5 = (NIM_BOOL)0; LOC5 = !((t0 == NIM_NIL)); if (!(LOC5)) goto LA6; LOC7 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC7 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 2064); LOC5 = ((*LOC7).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*LOC7).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22)); LA6: ; LOC1 = LOC5; LA3: ; result0 = LOC1; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryderef_nRsa9acFWDI6GmzVZLXX3CQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n0).info); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 43280); asgnRefNoCycle((void**) (&(*result0).typ), (*LOC1).sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; TY_xITzrU1RhJLKwBlRCAbn9bA* errors0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA r_m9ciTa0p8O6H2wwwXgojDFw; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; errors0 = (TY_xITzrU1RhJLKwBlRCAbn9bA*)0; memset((void*)(&r_m9ciTa0p8O6H2wwwXgojDFw), 0, sizeof(r_m9ciTa0p8O6H2wwwXgojDFw)); chckNil((void*)(&r_m9ciTa0p8O6H2wwwXgojDFw)); memset((void*)(&r_m9ciTa0p8O6H2wwwXgojDFw), 0, sizeof(r_m9ciTa0p8O6H2wwwXgojDFw)); resolveoverloads_JHQgKsoQ8WidCfHzthgn5w(c0, n0, norig0, filter0, (&errors0), (&r_m9ciTa0p8O6H2wwwXgojDFw)); { if (!(r_m9ciTa0p8O6H2wwwXgojDFw.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA3; result0 = semresolvedcall_m9amGO7HG9aemg5IK8uJc48Q(c0, n0, (&r_m9ciTa0p8O6H2wwwXgojDFw)); } goto LA1; LA3: ; { NIM_BOOL LOC6; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA r0; LOC6 = (NIM_BOOL)0; LOC6 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); if (!(LOC6)) goto LA7; LOC6 = canderef_kR3j4BVoX6LmX0p7IycneQ_2sem(n0); LA7: ; if (!LOC6) goto LA8; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), tryderef_nRsa9acFWDI6GmzVZLXX3CQ_2((*n0).kindU.S6.sons->data[((NI) 1)])); memset((void*)(&r0), 0, sizeof(r0)); chckNil((void*)(&r0)); memset((void*)(&r0), 0, sizeof(r0)); resolveoverloads_JHQgKsoQ8WidCfHzthgn5w(c0, n0, norig0, filter0, (&errors0), (&r0)); { if (!(r0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA12; result0 = semresolvedcall_m9amGO7HG9aemg5IK8uJc48Q(c0, n0, (&r0)); } goto LA10; LA12: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), (*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 0)]); notfounderror_9bDm9a7ORnmiOGvzQ3VQdKpA(c0, n0, errors0); } LA10: ; } goto LA1; LA8: ; { notfounderror_9bDm9a7ORnmiOGvzQ3VQdKpA(c0, n0, errors0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((flags0 & 6) == 0))) goto LA3; result0 = semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw(c0, n0, norig0, 258048); } goto LA1; LA3: ; { result0 = semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw(c0, n0, norig0, 241664); } LA1: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0; if (!!((result0 == NIM_NIL))) goto LA8; { if (!!(((*(*result0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12; internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_163)); goto BeforeRet; } LA12: ; callee0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; switch ((*callee0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { } break; default: { { NIM_BOOL LOC18; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC22; LOC18 = (NIM_BOOL)0; LOC18 = ((*callee0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); if (!(LOC18)) goto LA19; LOC18 = ((*callee0).Sup.id == (*(*(*c0).p).owner).Sup.id); LA19: ; if (!LOC18) goto LA20; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 26), (*(*callee0).name).s); LOC22 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC22 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC22)); } LA20: ; } break; } } LA8: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, propertywriteaccess_U6sqJc7yI2A2XTLF5KaRdQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* id0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* setterid0; NimStringDesc* LOC2; Tident_4umxGerWTHGPwUms7Yqu3g* LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* aorig0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC4; TY_T6RKPw8xfAeNaoei9aZGzXg LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC7; TY_T6RKPw8xfAeNaoei9aZGzXg LOC8; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, ((NI) 1)); id0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC1); LOC2 = (NimStringDesc*)0; LOC2 = rawNewString((*id0).s->Sup.len + 1); appendString(LOC2, (*id0).s); appendChar(LOC2, 61); LOC3 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC3 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC2); setterid0 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC3, (*n0).info); aorig0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(norig0, ((NI) 0)); LOC4 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC4 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 3); memset((void*)LOC5, 0, sizeof(LOC5)); LOC5[0] = setterid0; LOC5[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, ((NI) 0)); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC5[2] = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, LOC6, 0); asgnRefNoCycle((void**) (&LOC4->data[0]), LOC5[0]); asgnRefNoCycle((void**) (&LOC4->data[1]), LOC5[1]); asgnRefNoCycle((void**) (&LOC4->data[2]), LOC5[2]); result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC4, NIM_NIL); (*result0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 10))%(sizeof(NU16)*8)); LOC7 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC7 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 3); memset((void*)LOC8, 0, sizeof(LOC8)); LOC8[0] = setterid0; LOC8[1] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(aorig0, ((NI) 0)); LOC8[2] = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(norig0, ((NI) 1)); asgnRefNoCycle((void**) (&LOC7->data[0]), LOC8[0]); asgnRefNoCycle((void**) (&LOC7->data[1]), LOC8[1]); asgnRefNoCycle((void**) (&LOC7->data[2]), LOC8[2]); orig0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC7, NIM_NIL); result0 = semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA(c0, result0, orig0, 0); { if (!!((result0 == NIM_NIL))) goto LA11; result0 = aftercallactions_9bA5HQzp5SlBuAZ9a1ZzejHQ(c0, result0, norig0, 0); } LA11: ; return result0; } static N_INLINE(NIM_BOOL, issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, dottransformation_NBTNEqzl5NBSHnN0VGYkSQ_23)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem((*n0).kindU.S6.sons->data[((NI) 1)]); if (!LOC3) goto LA4; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[((NI) 1)]); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC6); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC7); } goto LA1; LA4: ; { Tident_4umxGerWTHGPwUms7Yqu3g* i0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; i0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[((NI) 1)]); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n0).info); (*result0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 9))%(sizeof(NU16)*8)); LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(i0, (*LOC9).info); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC10); LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC11); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC12); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tident_4umxGerWTHGPwUms7Yqu3g* ident0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(ident0, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC1); { NI i_lnkO1EoxVLez5WruMpzjcw; NI HEX3Atmp_UeA9chTNMteQ5y2PxvGbP2A; NI LOC3; NI res_Fw6IqnbzHIdtXKCr9a0qDaw; i_lnkO1EoxVLez5WruMpzjcw = (NI)0; HEX3Atmp_UeA9chTNMteQ5y2PxvGbP2A = (NI)0; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_UeA9chTNMteQ5y2PxvGbP2A = (NI)(LOC3 - ((NI) 1)); res_Fw6IqnbzHIdtXKCr9a0qDaw = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!(res_Fw6IqnbzHIdtXKCr9a0qDaw <= HEX3Atmp_UeA9chTNMteQ5y2PxvGbP2A)) goto LA5; i_lnkO1EoxVLez5WruMpzjcw = res_Fw6IqnbzHIdtXKCr9a0qDaw; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_lnkO1EoxVLez5WruMpzjcw); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); res_Fw6IqnbzHIdtXKCr9a0qDaw += ((NI) 1); } LA5: ; } } return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newproctype_I9bAXjwGwgxKz0YcijVmlpw)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25), owner0); asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), info0)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, NIM_NIL); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), info0); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC1); return result0; } N_NIMCALL(void, addparam_6oagvneQDsH4MxBzmLpSeQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* proctype0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0) { NI LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; LOC1 = (NI)0; LOC1 = len_gG7hUAX9cA629ahMLVL3xN4w_2(proctype0); (*param0).position = (NI)(LOC1 - ((NI) 1)); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newsymnode_1ARBpggFQuvUDBVYjBelcw(param0); addson_gCCf68XrWL79bKes6htzFjQ((*proctype0).n, LOC2); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(proctype0, (*param0).typ); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgnstmt_xZKC0wGy2jBnytvrjhvjwg)(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; } N_NIMCALL(void, defaultop_cM9akSoiYQhG0CB89c1gCu9cQ)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; if (!!(((*c0).kind == ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 2)))) goto LA3; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newasgnstmt_xZKC0wGy2jBnytvrjhvjwg(x0, y0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC5); } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genbuiltin_uhdEnW4ktaJanEro9b55r9aQ)(Tmagic_shZhZOdbVC5nnFvcXQAImg magic0, NimStringDesc* name0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*i0).info); LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = createmagic_3qzP4MECRIuWs9bfvISxW9cg(name0, magic0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC1); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC2); add_gCCf68XrWL79bKes6htzFjQ_3(result0, i0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newseqcall_uNmtw9cYGlT8wDlUsYjwWug)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* lencall0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = genbuiltin_uhdEnW4ktaJanEro9b55r9aQ(((Tmagic_shZhZOdbVC5nnFvcXQAImg) 31), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_170), x0); lencall0 = genbuiltin_uhdEnW4ktaJanEro9b55r9aQ(((Tmagic_shZhZOdbVC5nnFvcXQAImg) 36), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_171), y0); asgnRefNoCycle((void**) (&(*lencall0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); add_gCCf68XrWL79bKes6htzFjQ_3(result0, lencall0); return result0; } N_NIMCALL(void, addvar_jL9bJgH5XKoCe4JnOTo4Edw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* v0, Tnode_bROa11lyF5vxEN9aYNbHmhw* value0) { 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)]), value0); addson_gCCf68XrWL79bKes6htzFjQ(father0, vpart0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, declarecounter_nJ7Gsh0pZucXzWHqJotPDQ)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, NI64 first0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* temp0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_172)); temp0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 5), LOC1, (*c0).fn, (*c0).info); asgnRefNoCycle((void**) (&(*temp0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); (*temp0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); v0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99), (*c0).info); result0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(temp0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newintlit_sxRMpjUJwVxV9cljUZ80hqA(first0); addvar_jL9bJgH5XKoCe4JnOTo4Edw(v0, result0, LOC2); add_gCCf68XrWL79bKes6htzFjQ_3(body0, v0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genwhileloop_4KADwrzdXdnyOKZgTaLMng)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dest0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* cmp0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96), (*c0).info, ((NI) 2)); cmp0 = genbuiltin_uhdEnW4ktaJanEro9b55r9aQ(((Tmagic_shZhZOdbVC5nnFvcXQAImg) 71), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_173), i0); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = genhigh_YFtQ0iYYu9b465v8gGsHgyQ(dest0); add_gCCf68XrWL79bKes6htzFjQ_3(cmp0, LOC1); asgnRefNoCycle((void**) (&(*cmp0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), cmp0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c0).info)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, at_5mq8udVqKve5KAljlqLnqg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0, Ttype_LTUWCZolpovw9cWE3JBWSUw* elemtype0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*a0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), a0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), i0); asgnRefNoCycle((void**) (&(*result0).typ), elemtype0); return result0; } N_NIMCALL(void, addincstmt_jnmt1i2PGvvEggAbuhu2jw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* inccall0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; inccall0 = genbuiltin_uhdEnW4ktaJanEro9b55r9aQ(((Tmagic_shZhZOdbVC5nnFvcXQAImg) 26), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_174), i0); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newintlit_sxRMpjUJwVxV9cljUZ80hqA(IL64(1)); add_gCCf68XrWL79bKes6htzFjQ_3(inccall0, LOC1); add_gCCf68XrWL79bKes6htzFjQ_3(body0, inccall0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdestructorcall_zWNGz8pttqR439bhBe6mPaw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*x0).info, (*(*op0).typ).sons->data[((NI) 0)]); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newsymnode_1ARBpggFQuvUDBVYjBelcw(op0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC1); add_gCCf68XrWL79bKes6htzFjQ_3(result0, x0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genaddr_jk7mSBC0iEwUIXuy7ZHV8Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3; checksonslen_rPu9akNNYZgL0UexjMvt0HA(x0, ((NI) 1)); result0 = (*x0).kindU.S6.sons->data[((NI) 0)]; } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = makevartype_mDAs5V37nZYC3ByzC3o7dQ(c0, (*x0).typ); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64), (*x0).info, LOC6); addson_gCCf68XrWL79bKes6htzFjQ(result0, x0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newasgncall_9a9cFSXcCLwp3uWuX9a3G7Jvw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!(((*op0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 20))&31U)))!=0)) goto LA3; localerror_VpilfPWbplGz6ny7O9cfr2g((*x0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 225), (*(*op0).name).s); } LA3: ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*x0).info); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newsymnode_1ARBpggFQuvUDBVYjBelcw(op0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC5); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = genaddr_jk7mSBC0iEwUIXuy7ZHV8Q(c0, x0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); add_gCCf68XrWL79bKes6htzFjQ_3(result0, y0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newdeepcopycall_Luft9a0OjHWuUcYHITvxRhw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = newdestructorcall_zWNGz8pttqR439bhBe6mPaw(op0, y0); result0 = newasgnstmt_xZKC0wGy2jBnytvrjhvjwg(x0, LOC1); return result0; } N_NIMCALL(NIM_BOOL, consideroverloadedop_cBUcxC8VE2M7r4dQjB1ONw)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; switch ((*c0).kind) { case ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 2): { Tsym_AXG7xcvKqaxY6koRX1xkCw* op0; op0 = (*t0).destructor; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!!((op0 == NIM_NIL))) goto LA4; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*c0).info, op0); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newdestructorcall_zWNGz8pttqR439bhBe6mPaw(op0, x0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC6); result0 = NIM_TRUE; } LA4: ; } break; case ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 0): { { Tsym_AXG7xcvKqaxY6koRX1xkCw* op0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; if (!(((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 26))&31U)))!=0)) goto LA10; op0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(t0, (*c0).asgnfortype, 0); if (!LOC14) goto LA15; { if (!(*c0).recurse) goto LA19; op0 = (*c0).fn; } goto LA17; LA19: ; { (*c0).recurse = NIM_TRUE; result0 = NIM_FALSE; goto BeforeRet; } LA17: ; } goto LA12; LA15: ; { op0 = (*t0).assignment; { if (!(op0 == NIM_NIL)) goto LA25; op0 = liftbody_ZypZ9aCne7BffHiYksGZF7w_2((*c0).c, t0, (*c0).info); } LA25: ; } LA12: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*c0).info, op0); LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = newasgncall_9a9cFSXcCLwp3uWuX9a3G7Jvw((*c0).c, op0, x0, y0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC27); result0 = NIM_TRUE; } LA10: ; } break; case ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 1): { Tsym_AXG7xcvKqaxY6koRX1xkCw* op0; op0 = (*t0).deepcopy; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; if (!!((op0 == NIM_NIL))) goto LA31; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*c0).info, op0); LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = newdeepcopycall_Luft9a0OjHWuUcYHITvxRhw(op0, x0, y0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC33); result0 = NIM_TRUE; } LA31: ; } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, dotfield_0MpefbpO9cFMqpPH9arTDA5Q)(Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*x0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), x0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(f0, (*x0).info)); asgnRefNoCycle((void**) (&(*result0).typ), (*f0).typ); return result0; } N_NIMCALL(void, liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3; f0 = (*n0).kindU.S4.sym; LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = dotfield_0MpefbpO9cFMqpPH9arTDA5Q(x0, f0); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = dotfield_0MpefbpO9cFMqpPH9arTDA5Q(y0, f0); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw(c0, (*f0).typ, body0, LOC2, LOC3); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* casestmt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* access0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg(c0, LOC6, body0, x0, y0); casestmt0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97), (*c0).info); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); access0 = dotfield_0MpefbpO9cFMqpPH9arTDA5Q(x0, (*LOC7).kindU.S4.sym); add_gCCf68XrWL79bKes6htzFjQ_3(casestmt0, access0); { NI i_Qf4kfqNLbyN4jHNOOoRGxQ; NI HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw; NI LOC9; NI res_gENotxZ0ZxEwdXCYbqQxhw; i_Qf4kfqNLbyN4jHNOOoRGxQ = (NI)0; HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw = (NI)0; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw = (LOC9 - 1); res_gENotxZ0ZxEwdXCYbqQxhw = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* branch0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; NI L0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; if (!(res_gENotxZ0ZxEwdXCYbqQxhw <= HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw)) goto LA11; i_Qf4kfqNLbyN4jHNOOoRGxQ = res_gENotxZ0ZxEwdXCYbqQxhw; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Qf4kfqNLbyN4jHNOOoRGxQ); branch0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC12); L0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(branch0); asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*c0).info)); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Qf4kfqNLbyN4jHNOOoRGxQ); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = lastson_esDJA7239bJDiq4UrX9aHCjg(LOC13); liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg(c0, LOC14, (*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))], x0, y0); add_gCCf68XrWL79bKes6htzFjQ_3(casestmt0, branch0); res_gENotxZ0ZxEwdXCYbqQxhw += ((NI) 1); } LA11: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(body0, casestmt0); localerror_GarD0CQJ5aQhoHekHYinVQ((*c0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_175)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* t_2UGRPxLF72plfUsUuH02Fw; t_2UGRPxLF72plfUsUuH02Fw = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_Qf4kfqNLbyN4jHNOOoRGxQ_2; NI HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw_2; NI LOC18; NI res_gENotxZ0ZxEwdXCYbqQxhw_2; i_Qf4kfqNLbyN4jHNOOoRGxQ_2 = (NI)0; HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw_2 = (NI)0; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw_2 = (LOC18 - 1); res_gENotxZ0ZxEwdXCYbqQxhw_2 = ((NI) 0); { while (1) { if (!(res_gENotxZ0ZxEwdXCYbqQxhw_2 <= HEX3Atmp_IZ7gy7BXb9coocBAKJVC29cw_2)) goto LA20; i_Qf4kfqNLbyN4jHNOOoRGxQ_2 = res_gENotxZ0ZxEwdXCYbqQxhw_2; t_2UGRPxLF72plfUsUuH02Fw = (*n0).kindU.S6.sons->data[i_Qf4kfqNLbyN4jHNOOoRGxQ_2]; liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg(c0, t_2UGRPxLF72plfUsUuH02Fw, body0, x0, y0); res_gENotxZ0ZxEwdXCYbqQxhw_2 += ((NI) 1); } LA20: ; } } } } break; default: { illformedastlocal_DpsImAn3UbwOKcZFm2pVSg_2(n0); } break; } } N_NIMCALL(void, liftbodytup_NIcNtlvmCE8s9aXf79bbFfTw_2)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { { NI i_Sup13hs0GJ9c5zMpEW6o9clA; NI HEX3Atmp_JKecbo7Xez9cd4vB83kjb3w; NI LOC2; NI res_ble9bzCoUPQcl1EJwNWM1VQ; i_Sup13hs0GJ9c5zMpEW6o9clA = (NI)0; HEX3Atmp_JKecbo7Xez9cd4vB83kjb3w = (NI)0; LOC2 = (NI)0; LOC2 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); HEX3Atmp_JKecbo7Xez9cd4vB83kjb3w = (LOC2 - 1); res_ble9bzCoUPQcl1EJwNWM1VQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* lit0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!(res_ble9bzCoUPQcl1EJwNWM1VQ <= HEX3Atmp_JKecbo7Xez9cd4vB83kjb3w)) goto LA4; i_Sup13hs0GJ9c5zMpEW6o9clA = res_ble9bzCoUPQcl1EJwNWM1VQ; lit0 = newintlit_sxRMpjUJwVxV9cljUZ80hqA(((NI64) (i_Sup13hs0GJ9c5zMpEW6o9clA))); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = at_5mq8udVqKve5KAljlqLnqg(x0, lit0, (*t0).sons->data[i_Sup13hs0GJ9c5zMpEW6o9clA]); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = at_5mq8udVqKve5KAljlqLnqg(y0, lit0, (*t0).sons->data[i_Sup13hs0GJ9c5zMpEW6o9clA]); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw(c0, (*t0).sons->data[i_Sup13hs0GJ9c5zMpEW6o9clA], body0, LOC5, LOC6); res_ble9bzCoUPQcl1EJwNWM1VQ += ((NI) 1); } LA4: ; } } } N_NIMCALL(void, liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw)(Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* body0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0, Tnode_bROa11lyF5vxEN9aYNbHmhw* y0) { switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62): { } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): { defaultop_cM9akSoiYQhG0CB89c1gCu9cQ(c0, t0, body0, x0, y0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* i0; NI64 LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* whileloop0; Ttype_LTUWCZolpovw9cWE3JBWSUw* elemtype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; if (!(((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 26))&31U)))!=0)) goto LA6; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA10; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = newseqcall_uNmtw9cYGlT8wDlUsYjwWug((*c0).c, x0, y0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC12); } LA10: ; LOC13 = (NI64)0; LOC13 = firstord_HUiBYxvKiECXCv8BzQNheg(t0); i0 = declarecounter_nJ7Gsh0pZucXzWHqJotPDQ(c0, body0, LOC13); whileloop0 = genwhileloop_4KADwrzdXdnyOKZgTaLMng(c0, i0, x0); elemtype0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = at_5mq8udVqKve5KAljlqLnqg(x0, i0, elemtype0); LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = at_5mq8udVqKve5KAljlqLnqg(y0, i0, elemtype0); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw(c0, elemtype0, (*whileloop0).kindU.S6.sons->data[((NI) 1)], LOC14, LOC15); addincstmt_jnmt1i2PGvvEggAbuhu2jw((*whileloop0).kindU.S6.sons->data[((NI) 1)], i0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, whileloop0); } goto LA4; LA6: ; { defaultop_cM9akSoiYQhG0CB89c1gCu9cQ(c0, t0, body0, x0, y0); } LA4: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = consideroverloadedop_cBUcxC8VE2M7r4dQjB1ONw(c0, t0, body0, x0, y0); if (!!(LOC20)) goto LA21; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC27; if (!!(((*t0).sons->data[((NI) 0)] == NIM_NIL))) goto LA25; LOC27 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC27 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw(c0, LOC27, body0, x0, y0); } LA25: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA30; liftbodyobj_O7HP9aYIB72nY7iHgjC0YSg(c0, (*t0).n, body0, x0, y0); } LA30: ; } LA21: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { liftbodytup_NIcNtlvmCE8s9aXf79bbFfTw_2(c0, t0, body0, x0, y0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { NIM_BOOL LOC36; LOC36 = (NIM_BOOL)0; LOC36 = !(((*t0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))); if (LOC36) goto LA37; LOC36 = !(((*c0).kind == ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 1))); LA37: ; if (!LOC36) goto LA38; defaultop_cM9akSoiYQhG0CB89c1gCu9cQ(c0, t0, body0, x0, y0); } goto LA34; LA38: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC41; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC42; call0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*c0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*call0).typ), t0); LOC41 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC41 = createmagic_3qzP4MECRIuWs9bfvISxW9cg(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_176), ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 209)); asgnRefNoCycle((void**) (&(*call0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC41)); asgnRefNoCycle((void**) (&(*call0).kindU.S6.sons->data[((NI) 1)]), y0); LOC42 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC42 = newasgnstmt_xZKC0wGy2jBnytvrjhvjwg(x0, call0); add_gCCf68XrWL79bKes6htzFjQ_3(body0, LOC42); } LA34: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): { localerror_VpilfPWbplGz6ny7O9cfr2g((*c0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_177)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30): { NimStringDesc* LOC45; NimStringDesc* LOC46; LOC45 = (NimStringDesc*)0; LOC46 = (NimStringDesc*)0; LOC46 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC45 = rawNewString(LOC46->Sup.len + 31); appendString(LOC45, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_178)); appendString(LOC45, LOC46); internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*c0).info, LOC45); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC48; LOC48 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC48 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw(c0, LOC48, body0, x0, y0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 49): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 45): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 46): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 47): { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_179)); } break; } } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newderef_HtAG89bn1UDHEhRcS27NOXQlocals)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n0).info, (*(*n0).typ).sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, liftbody_ZypZ9aCne7BffHiYksGZF7w_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tliftctx_2tIJb6qsg9a4NPHh9bfUCjXQ a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tsym_AXG7xcvKqaxY6koRX1xkCw* dest0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC2; Tsym_AXG7xcvKqaxY6koRX1xkCw* src0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&a0), 0, sizeof(a0)); a0.info = info0; body0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), info0); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_167)); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), LOC1, (*typ0).owner, info0); a0.fn = result0; a0.asgnfortype = typ0; LOC2 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC2 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_168)); dest0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), LOC2, result0, info0); LOC3 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC3 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_169)); src0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), LOC3, result0, info0); asgnRefNoCycle((void**) (&(*dest0).typ), makevartype_mDAs5V37nZYC3ByzC3o7dQ(c0, typ0)); asgnRefNoCycle((void**) (&(*src0).typ), typ0); asgnRefNoCycle((void**) (&(*result0).typ), newproctype_I9bAXjwGwgxKz0YcijVmlpw(info0, (*typ0).owner)); addparam_6oagvneQDsH4MxBzmLpSeQ((*result0).typ, dest0); addparam_6oagvneQDsH4MxBzmLpSeQ((*result0).typ, src0); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = newsymnode_1ARBpggFQuvUDBVYjBelcw(dest0); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = newderef_HtAG89bn1UDHEhRcS27NOXQlocals(LOC4); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newsymnode_1ARBpggFQuvUDBVYjBelcw(src0); liftbodyaux_NIcNtlvmCE8s9aXf79bbFfTw((&a0), typ0, body0, LOC5, LOC6); n0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79), info0, ((NI) 7)); { NI i_U7ro2DX1Kh28ep6G59c9ab5g; NI HEX3Atmp_uxJcmP9c8mNTRkiBLcmyYVQ; NI LOC8; NI res_rvLd7wnQfBYyR9aIc2hmd7g; i_U7ro2DX1Kh28ep6G59c9ab5g = (NI)0; HEX3Atmp_uxJcmP9c8mNTRkiBLcmyYVQ = (NI)0; LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_uxJcmP9c8mNTRkiBLcmyYVQ = (LOC8 - 1); res_rvLd7wnQfBYyR9aIc2hmd7g = ((NI) 0); { while (1) { if (!(res_rvLd7wnQfBYyR9aIc2hmd7g <= HEX3Atmp_uxJcmP9c8mNTRkiBLcmyYVQ)) goto LA10; i_U7ro2DX1Kh28ep6G59c9ab5g = res_rvLd7wnQfBYyR9aIc2hmd7g; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_U7ro2DX1Kh28ep6G59c9ab5g]), emptynode_69ccLGuQ2mITw7zylZYtWcA); res_rvLd7wnQfBYyR9aIc2hmd7g += ((NI) 1); } LA10: ; } } asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(result0)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 3)]), (*(*result0).typ).n); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), body0); asgnRefNoCycle((void**) (&(*result0).ast), n0); asgnRefNoCycle((void**) (&(*typ0).assignment), result0); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getasgnorliftbody_ZypZ9aCne7BffHiYksGZF7w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 8390672); result0 = (*t0).assignment; { if (!(result0 == 0)) goto LA3; result0 = liftbody_ZypZ9aCne7BffHiYksGZF7w_2(c0, t0, info0); } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, overloadedasgn_06nxIJKdZx87XBkRWF0ziQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dest0, Tnode_bROa11lyF5vxEN9aYNbHmhw* src0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* a0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; a0 = getasgnorliftbody_ZypZ9aCne7BffHiYksGZF7w(c0, (*dest0).typ, (*dest0).info); result0 = newasgncall_9a9cFSXcCLwp3uWuX9a3G7Jvw(c0, a0, dest0, src0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag valid0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC20; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63): { result0 = n0; goto BeforeRet; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47): { result0 = (*n0).kindU.S6.sons->data[((NI) 0)]; goto BeforeRet; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { { NI LOC6; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC6 == ((NI) 1))) goto LA7; result0 = (*n0).kindU.S6.sons->data[((NI) 0)]; goto BeforeRet; } LA7: ; } break; default: { } break; } valid0 = isassignable_8crr7O0lq2HvOQtYO2ruzQ(c0, n0, NIM_FALSE); { if (!!((valid0 == ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1)))) goto LA12; { NimStringDesc* LOC18; if (!(valid0 == ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 2))) goto LA16; LOC18 = (NimStringDesc*)0; LOC18 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 129), LOC18); } goto LA14; LA16: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 128), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA14: ; } LA12: ; LOC20 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC20 = makeptrtype_mDAs5V37nZYC3ByzC3o7dQ_2(c0, (*n0).typ); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n0).info, LOC20); add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); }BeforeRet: ; return result0; } static N_INLINE(void, asgntoresultvar_QSxi1OxNDZVQMvONPeD0mgsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* le0, Tnode_bROa11lyF5vxEN9aYNbHmhw* ri0) { { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!((*le0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3; x0 = (*le0).kindU.S6.sons->data[((NI) 0)]; { NIM_BOOL LOC7; NIM_BOOL LOC8; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC8 = ((*(*x0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); if (!(LOC8)) goto LA9; LOC8 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA9: ; LOC7 = LOC8; if (!(LOC7)) goto LA10; LOC7 = ((*(*x0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11)); LA10: ; if (!LOC7) goto LA11; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), x0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24(c0, ri0)); (*(*x0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 18))%(sizeof(NU32)*8)); } LA11: ; } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasgn_41mPO3XBCUDPZnbaNrwpNw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ mode0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* le0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); a0 = (*n0).kindU.S6.sons->data[((NI) 0)]; switch ((*a0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0; norig0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); a0 = builtinfieldaccess_tayBCUAEli3HMPwxdS9aMbg_3(c0, a0, 1); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; if (!(a0 == NIM_NIL)) goto LA4; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); a0 = propertywriteaccess_U6sqJc7yI2A2XTLF5KaRdQ(c0, n0, norig0, LOC6); { if (!!((a0 == NIM_NIL))) goto LA9; result0 = a0; goto BeforeRet; } LA9: ; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); a0 = dottransformation_NBTNEqzl5NBSHnN0VGYkSQ_23(c0, LOC11); { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA14; (*a0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27); a0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, a0, 1); } LA14: ; } LA4: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tnode_bROa11lyF5vxEN9aYNbHmhw* oldbracketexpr0; oldbracketexpr0 = (*(*c0).p).bracketexpr; a0 = semsubscript_tayBCUAEli3HMPwxdS9aMbg_7(c0, a0, 1); { Tident_4umxGerWTHGPwUms7Yqu3g* LOC21; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; if (!(a0 == NIM_NIL)) goto LA19; LOC21 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC21 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_164)); result0 = buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg((*n0).kindU.S6.sons->data[((NI) 0)], LOC21); LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC22); { if (!(mode0 == ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 1))) goto LA25; bracketnotfounderror_jzk1KGIc0vzv6pth3zm9bkw_5(c0, result0); result0 = n0; goto BeforeRet; } goto LA23; LA25: ; { result0 = semexprnotype_NBTNEqzl5NBSHnN0VGYkSQ_3(c0, result0); asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), oldbracketexpr0); goto BeforeRet; } LA23: ; } LA19: ; asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), oldbracketexpr0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC29; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC30; LOC29 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC29 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_165)); result0 = buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg((*n0).kindU.S6.sons->data[((NI) 0)], LOC29); LOC30 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC30 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC30); result0 = semexprnotype_NBTNEqzl5NBSHnN0VGYkSQ_3(c0, result0); goto BeforeRet; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37): { { NI LOC34; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; LOC34 = (NI)0; LOC34 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); if (!(((NI) 2) <= LOC34)) goto LA35; LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = lowertupleunpackingforasgn_ZXHtMZ0uz9cR0ZzQM8Y9cqUQ_3(n0, (*(*c0).p).owner); result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, LOC37); goto BeforeRet; } goto LA32; LA35: ; { a0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, a0, 1); } LA32: ; } break; default: { a0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, a0, 1); } break; } asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), a0); le0 = (*a0).typ; { NIM_BOOL LOC42; NIM_BOOL LOC43; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC44; Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag LOC46; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC48; NimStringDesc* LOC51; LOC42 = (NIM_BOOL)0; LOC43 = (NIM_BOOL)0; LOC44 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC44 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(le0, 2064); LOC43 = !(((*LOC44).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))); if (!(LOC43)) goto LA45; LOC46 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0; LOC46 = isassignable_8crr7O0lq2HvOQtYO2ruzQ(c0, a0, NIM_FALSE); LOC43 = (LOC46 == ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 0)); LA45: ; LOC42 = LOC43; if (LOC42) goto LA47; LOC48 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC48 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(le0, 8431888); LOC42 = ((*LOC48).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*LOC48).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA47: ; if (!LOC42) goto LA49; LOC51 = (NimStringDesc*)0; LOC51 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(a0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 179), LOC51); } goto LA40; LA49: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* lhs0; NIM_BOOL lhsisresult0; NIM_BOOL LOC53; Tnode_bROa11lyF5vxEN9aYNbHmhw* rhs0; Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set LOC55; lhs0 = (*n0).kindU.S6.sons->data[((NI) 0)]; LOC53 = (NIM_BOOL)0; LOC53 = ((*lhs0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC53)) goto LA54; LOC53 = ((*(*lhs0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11)); LA54: ; lhsisresult0 = LOC53; { if (!lhsisresult0) goto LA58; LOC55 = 64; } goto LA56; LA58: ; { LOC55 = 0; } LA56: ; rhs0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], LOC55); { if (!lhsisresult0) goto LA63; asgnRefNoCycle((void**) (&(*n0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); { NIM_BOOL LOC67; NIM_BOOL LOC69; LOC67 = (NIM_BOOL)0; LOC67 = !(((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16))); if (!(LOC67)) goto LA68; LOC69 = (NIM_BOOL)0; LOC69 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ((*(*lhs0).kindU.S4.sym).typ); if (!(LOC69)) goto LA70; LOC69 = !(((*(*(*lhs0).kindU.S4.sym).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))); LA70: ; LOC67 = LOC69; LA68: ; if (!LOC67) goto LA71; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC75; LOC75 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC75 = cmptypes_FaOaPySakBuGGYvKQQE5NQ(c0, (*lhs0).typ, (*rhs0).typ); if (!(LOC75 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA76; { NimStringDesc* LOC82; if (!!(!(((*(*c0).p).resultsym == NIM_NIL)))) goto LA80; LOC82 = (NimStringDesc*)0; LOC82 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_166); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC82); } LA80: ; asgnRefNoCycle((void**) (&(*lhs0).typ), (*rhs0).typ); asgnRefNoCycle((void**) (&(*(*(*c0).p).resultsym).typ), (*rhs0).typ); asgnRefNoCycle((void**) (&(*(*(*(*c0).p).owner).typ).sons->data[((NI) 0)]), (*rhs0).typ); } goto LA73; LA76: ; { typemismatch_ScpDxXjg7tRc9a9aUBDo3etA(n0, (*lhs0).typ, (*rhs0).typ); } LA73: ; } LA71: ; } LA63: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, le0, rhs0)); { NIM_BOOL LOC86; NIM_BOOL LOC87; LOC86 = (NIM_BOOL)0; LOC87 = (NIM_BOOL)0; LOC87 = (((*(*lhs0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 26))&31U)))!=0); if (!(LOC87)) goto LA88; LOC87 = !(lhsisresult0); LA88: ; LOC86 = LOC87; if (!(LOC86)) goto LA89; LOC86 = !((mode0 == ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 2))); LA89: ; if (!LOC86) goto LA90; result0 = overloadedasgn_06nxIJKdZx87XBkRWF0ziQ(c0, lhs0, (*n0).kindU.S6.sons->data[((NI) 1)]); goto BeforeRet; } LA90: ; fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2(c0, n0); asgntoresultvar_QSxi1OxNDZVQMvONPeD0mgsem(c0, n0, (*n0).kindU.S6.sons->data[((NI) 0)], (*n0).kindU.S6.sons->data[((NI) 1)]); } LA40: ; result0 = n0; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, 0); { NIM_BOOL LOC4; NIM_BOOL LOC6; LOC4 = (NIM_BOOL)0; LOC4 = !(((*(*c0).p).resultsym == NIM_NIL)); if (!(LOC4)) goto LA5; LOC6 = (NIM_BOOL)0; LOC6 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*result0).typ); LOC4 = !(LOC6); LA5: ; if (!LOC4) goto LA7; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC11)) goto LA12; LOC11 = ((*result0).kindU.S4.sym == (*(*c0).p).resultsym); LA12: ; if (!LOC11) goto LA13; } goto LA9; LA13: ; { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA16; asgnRefNoCycle((void**) (&(*result0).typ), NIM_NIL); } goto LA9; LA16: ; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126)); if (!(LOC19)) goto LA20; LOC19 = ((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA20: ; if (!LOC19) goto LA21; fixniltype_sIxO9bj7Xwv3qFTK7z9b5jSg(result0); } goto LA9; LA21: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; a0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*c0).p).resultsym)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), result0); result0 = semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, a0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 0)); } LA9: ; } goto LA2; LA7: ; { discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, result0); } LA2: ; { NIM_BOOL LOC27; NIM_BOOL LOC28; LOC27 = (NIM_BOOL)0; LOC28 = (NIM_BOOL)0; LOC28 = !(((196608 &(1U<<((NU)((*(*(*c0).p).owner).kind)&31U)))!=0)); if (!(LOC28)) goto LA29; LOC28 = !(((*(*c0).p).resultsym == NIM_NIL)); LA29: ; LOC27 = LOC28; if (!(LOC27)) goto LA30; LOC27 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ((*(*(*c0).p).resultsym).typ); LA30: ; if (!LOC27) goto LA31; { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*result0).typ); if (!LOC35) goto LA36; asgnRefNoCycle((void**) (&(*(*(*c0).p).resultsym).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); asgnRefNoCycle((void**) (&(*(*(*(*c0).p).owner).typ).sons->data[((NI) 0)]), NIM_NIL); } goto LA33; LA36: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*(*c0).p).resultsym).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 230), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA33: ; } LA31: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(void, instantiatebody_7iqryuy4VMp9bDHA6A9bRVhg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* params0, Tsym_AXG7xcvKqaxY6koRX1xkCw* result0, Tsym_AXG7xcvKqaxY6koRX1xkCw* orig0) { { Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmap0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3; (*c0).ingenericinst += ((NI) 1); b0 = (*n0).kindU.S6.sons->data[((NI) 6)]; memset((void*)(&symmap0), 0, sizeof(symmap0)); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&symmap0)); { if (!!((params0 == NIM_NIL))) goto LA7; { NI i_V48PgIR9btR2gqaXZ9chXoJw; NI HEX3Atmp_PgsFdONM4OFK1HxeuI80rA; NI LOC10; NI res_p3RI1QSNx9cwNMedwxbbwsA; i_V48PgIR9btR2gqaXZ9chXoJw = (NI)0; HEX3Atmp_PgsFdONM4OFK1HxeuI80rA = (NI)0; LOC10 = (NI)0; LOC10 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); HEX3Atmp_PgsFdONM4OFK1HxeuI80rA = (LOC10 - 1); res_p3RI1QSNx9cwNMedwxbbwsA = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; if (!(res_p3RI1QSNx9cwNMedwxbbwsA <= HEX3Atmp_PgsFdONM4OFK1HxeuI80rA)) goto LA12; i_V48PgIR9btR2gqaXZ9chXoJw = res_p3RI1QSNx9cwNMedwxbbwsA; LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, i_V48PgIR9btR2gqaXZ9chXoJw); param0 = (*LOC13).kindU.S4.sym; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; TNimObject* LOC21; if (!(((*param0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)) goto LA16; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, i_V48PgIR9btR2gqaXZ9chXoJw); LOC19 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC19 = &(*LOC18).kindU.S4.sym->Sup; LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*(*result0).typ).n, (NI)((*param0).position + ((NI) 1))); LOC21 = (TNimObject*)0; LOC21 = &(*LOC20).kindU.S4.sym->Sup.Sup; idtableput_3gLsywwJ9bZDaf06DfKpYbw((&symmap0), LOC19, LOC21); } LA16: ; res_p3RI1QSNx9cwNMedwxbbwsA += ((NI) 1); } LA12: ; } } } LA7: ; freshgensyms_bFJbycFDZ3XpUVhXiArocA(b0, result0, orig0, (&symmap0)); b0 = semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6(c0, b0); b0 = hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10(c0, b0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), transformbody_J5txp2NXODCe0Qzl9bJjNzA((*c0).module, b0, result0)); (*result0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 4)) % (sizeof(NU32)*8))); (*c0).ingenericinst -= ((NI) 1); } LA3: ; } static N_INLINE(Tsym_AXG7xcvKqaxY6koRX1xkCw*, pop_mA1eT6kISPgp1oy9bdDHO4Atransf)(TY_sksVpmPRIkNR9axiwtD1Guw** s0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; NI L0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; L0 = (NI)(((*s0) ? (*s0)->Sup.len : 0) - ((NI) 1)); result0 = (*s0)->data[L0]; (*s0) = (TY_sksVpmPRIkNR9axiwtD1Guw*) setLengthSeq(&((*s0))->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*), ((NI) (L0))); return result0; } N_NIMCALL(NIM_BOOL, hasobjparam_7x647vd4Aiq6RPSC5HCqMQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (NIM_BOOL)0; t0 = (*s0).typ; { NI col_ylzKlDhahePYdnmH3xUYRg; NI HEX3Atmp_qvaRjzk5UzT9aYkMgG03OWg; NI LOC2; NI res_rTVqeXYKpjOb8Qkka4gRag; col_ylzKlDhahePYdnmH3xUYRg = (NI)0; HEX3Atmp_qvaRjzk5UzT9aYkMgG03OWg = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_qvaRjzk5UzT9aYkMgG03OWg = (NI)(LOC2 - ((NI) 1)); res_rTVqeXYKpjOb8Qkka4gRag = ((NI) 1); { while (1) { if (!(res_rTVqeXYKpjOb8Qkka4gRag <= HEX3Atmp_qvaRjzk5UzT9aYkMgG03OWg)) goto LA4; col_ylzKlDhahePYdnmH3xUYRg = res_rTVqeXYKpjOb8Qkka4gRag; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC7; LOC7 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC7 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[col_ylzKlDhahePYdnmH3xUYRg], 14682384); if (!((*LOC7).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA8; result0 = NIM_TRUE; goto BeforeRet; } LA8: ; res_rTVqeXYKpjOb8Qkka4gRag += ((NI) 1); } LA4: ; } } }BeforeRet: ; return result0; } N_NIMCALL(void, finishmethod_ReFYHO8NcVlF9aFYTz4SpBA_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = hasobjparam_7x647vd4Aiq6RPSC5HCqMQ(s0); if (!LOC3) goto LA4; methoddef_RBScY1GpdCG6tkZ3MVBFgw(s0, NIM_FALSE); } LA4: ; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, generateinstance_KtAmihMG1Kq6M7PWjOiVzA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC10; NI oldintypeclass0; Tscope_1cQRXW6aAknk7ywAwjH3nw* oldscope0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* gp0; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* entry0; NI i0; NI LOC20; NI LOC21; Tsym_AXG7xcvKqaxY6koRX1xkCw* oldprc0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC93; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NimStringDesc* LOC5; if (!!(!(((196608 &(1U<<((NU)((*fn0).kind)&31U)))!=0)))) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_52); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC5); } LA3: ; { if (!(((NI) 1000) < (*c0).instcounter)) goto LA8; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*(*fn0).ast).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_54)); } LA8: ; (*c0).instcounter += ((NI) 1); n0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*fn0).ast); LOC10 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC10 = getmodule_0lPlu1uOok1rRK50z1V70A(fn0); (*c0).friendmodules = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&((*c0).friendmodules)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&(*c0).friendmodules->data[(*c0).friendmodules->Sup.len]), LOC10); ++(*c0).friendmodules->Sup.len; oldintypeclass0 = (*c0).intypeclass; (*c0).intypeclass = ((NI) 0); oldscope0 = (*c0).currentscope; { while (1) { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC13)) goto LA12; asgnRef((void**) (&(*c0).currentscope), (*(*c0).currentscope).parent); } LA12: ; } result0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(fn0, NIM_FALSE); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 2))%(sizeof(NU32)*8)); asgnRefNoCycle((void**) (&(*result0).owner), fn0); asgnRefNoCycle((void**) (&(*result0).ast), n0); pushowner_I2TXPZgEYX5SdpUVWDPIlQ(result0); LOC14 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC14 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); gp0 = (*n0).kindU.S6.sons->data[((NI) 2)]; { NimStringDesc* LOC19; if (!!(!(((*gp0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))))) goto LA17; LOC19 = (NimStringDesc*)0; LOC19 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_55); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC19); } LA17: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(result0)); pushinfocontext_zQWo2MALtrYvLPyMtv28iA(info0); entry0 = new_WXvut0jf9avLrZqje29bbhTQ(); asgnRefNoCycle((void**) (&(*entry0).sym), result0); i0 = ((NI) 0); LOC20 = (NI)0; LOC20 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*fn0).typ); LOC21 = (NI)0; LOC21 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(gp0); if ((*entry0).concretetypes) nimGCunrefNoCycle((*entry0).concretetypes); (*entry0).concretetypes = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeqRC1((&NTI_zuqP4Riz26Oi5fWgPYVEgA), ((NI) ((NI)((NI)(LOC20 + LOC21) - ((NI) 1))))); { Tsym_AXG7xcvKqaxY6koRX1xkCw* s_2Ga7TC44a0hi2WSugM9avvA; s_2Ga7TC44a0hi2WSugM9avvA = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NimStringDesc* LOC27; if (!!(((*gp0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA25; LOC27 = (NimStringDesc*)0; LOC27 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_56); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC27); } LA25: ; { NI i_0WKiikZaXBBP5VpbCd4kQQ; Tnode_bROa11lyF5vxEN9aYNbHmhw* a_StDrvnx7gZ5tSMm4mpe5bg; i_0WKiikZaXBBP5VpbCd4kQQ = (NI)0; a_StDrvnx7gZ5tSMm4mpe5bg = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_0WKiikZaXBBP5VpbCd4kQQ_2; NI HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w; NI LOC30; NI res_BdPgETTvxkm9aUbWlhZzJYw; i_0WKiikZaXBBP5VpbCd4kQQ_2 = (NI)0; HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w = (NI)0; LOC30 = (NI)0; LOC30 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(gp0); HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w = (LOC30 - 1); res_BdPgETTvxkm9aUbWlhZzJYw = ((NI) 0); { while (1) { if (!(res_BdPgETTvxkm9aUbWlhZzJYw <= HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w)) goto LA32; i_0WKiikZaXBBP5VpbCd4kQQ_2 = res_BdPgETTvxkm9aUbWlhZzJYw; i_0WKiikZaXBBP5VpbCd4kQQ = i_0WKiikZaXBBP5VpbCd4kQQ_2; a_StDrvnx7gZ5tSMm4mpe5bg = (*gp0).kindU.S6.sons->data[i_0WKiikZaXBBP5VpbCd4kQQ_2]; { Tsym_AXG7xcvKqaxY6koRX1xkCw* q_dsQtmMryR02hCu6rKBPcKQ; Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind_pXSHkOw7s2QiL4AhB5XsXQ; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_2Ga7TC44a0hi2WSugM9avvA_2; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC48; Ttype_LTUWCZolpovw9cWE3JBWSUw* t_OxbH5EYDq9bpwSgVo6WbMQw; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC49; TNimObject* LOC50; { NimStringDesc* LOC38; if (!!(((*a_StDrvnx7gZ5tSMm4mpe5bg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA36; LOC38 = (NimStringDesc*)0; LOC38 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_57); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC38); } LA36: ; q_dsQtmMryR02hCu6rKBPcKQ = (*a_StDrvnx7gZ5tSMm4mpe5bg).kindU.S4.sym; { if (!!(((*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)))) goto LA41; goto LA33; } LA41: ; { if (!((*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA45; symkind_pXSHkOw7s2QiL4AhB5XsXQ = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10); } goto LA43; LA45: ; { symkind_pXSHkOw7s2QiL4AhB5XsXQ = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); } LA43: ; LOC48 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC48 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); s_2Ga7TC44a0hi2WSugM9avvA_2 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(symkind_pXSHkOw7s2QiL4AhB5XsXQ, (*q_dsQtmMryR02hCu6rKBPcKQ).name, LOC48, (*q_dsQtmMryR02hCu6rKBPcKQ).info); (*s_2Ga7TC44a0hi2WSugM9avvA_2).flags = ((*s_2Ga7TC44a0hi2WSugM9avvA_2).flags | 5); LOC49 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC49 = &(*q_dsQtmMryR02hCu6rKBPcKQ).typ->Sup; LOC50 = (TNimObject*)0; LOC50 = idtableget_D12lVDWWPrKae8szg3EYLw(pt0, LOC49); t_OxbH5EYDq9bpwSgVo6WbMQw = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC50)); { if (!(t_OxbH5EYDq9bpwSgVo6WbMQw == NIM_NIL)) goto LA53; { if (!(((*(*q_dsQtmMryR02hCu6rKBPcKQ).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 10))&31U)))!=0)) goto LA57; t_OxbH5EYDq9bpwSgVo6WbMQw = (*q_dsQtmMryR02hCu6rKBPcKQ).typ; } goto LA55; LA57: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*a_StDrvnx7gZ5tSMm4mpe5bg).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), (*(*s_2Ga7TC44a0hi2WSugM9avvA_2).name).s); t_OxbH5EYDq9bpwSgVo6WbMQw = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA55: ; } goto LA51; LA53: ; { if (!((*t_OxbH5EYDq9bpwSgVo6WbMQw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA61; localerror_VpilfPWbplGz6ny7O9cfr2g((*a_StDrvnx7gZ5tSMm4mpe5bg).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 127), (*(*q_dsQtmMryR02hCu6rKBPcKQ).name).s); t_OxbH5EYDq9bpwSgVo6WbMQw = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } goto LA51; LA61: ; { if (!((*t_OxbH5EYDq9bpwSgVo6WbMQw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA64; t_OxbH5EYDq9bpwSgVo6WbMQw = generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ(c0, pt0, (*a_StDrvnx7gZ5tSMm4mpe5bg).info, t_OxbH5EYDq9bpwSgVo6WbMQw); } goto LA51; LA64: ; LA51: ; asgnRefNoCycle((void**) (&(*s_2Ga7TC44a0hi2WSugM9avvA_2).typ), t_OxbH5EYDq9bpwSgVo6WbMQw); { if (!((*t_OxbH5EYDq9bpwSgVo6WbMQw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA68; asgnRefNoCycle((void**) (&(*s_2Ga7TC44a0hi2WSugM9avvA_2).ast), (*t_OxbH5EYDq9bpwSgVo6WbMQw).n); } LA68: ; s_2Ga7TC44a0hi2WSugM9avvA = s_2Ga7TC44a0hi2WSugM9avvA_2; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, s_2Ga7TC44a0hi2WSugM9avvA); asgnRefNoCycle((void**) (&(*entry0).concretetypes->data[i0]), (*s_2Ga7TC44a0hi2WSugM9avvA).typ); i0 += ((NI) 1); } LA33: ; res_BdPgETTvxkm9aUbWlhZzJYw += ((NI) 1); } LA32: ; } } } } rawpushproccon_bvkA8slTYt1UIXkpYpaKog(c0, result0); instantiateproctype_rwn7ignMLaWVaYB7Y2Mtsw(c0, pt0, result0, info0); { NI j_lLwVAowjz9bKTnquyDx9cjjw; NI HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w_2; NI LOC71; NI res_BdPgETTvxkm9aUbWlhZzJYw_2; j_lLwVAowjz9bKTnquyDx9cjjw = (NI)0; HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w_2 = (NI)0; LOC71 = (NI)0; LOC71 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*result0).typ); HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w_2 = (NI)(LOC71 - ((NI) 1)); res_BdPgETTvxkm9aUbWlhZzJYw_2 = ((NI) 1); { while (1) { if (!(res_BdPgETTvxkm9aUbWlhZzJYw_2 <= HEX3Atmp_807PrBIv9cPo3T42ZYQCu8w_2)) goto LA73; j_lLwVAowjz9bKTnquyDx9cjjw = res_BdPgETTvxkm9aUbWlhZzJYw_2; asgnRefNoCycle((void**) (&(*entry0).concretetypes->data[i0]), (*(*result0).typ).sons->data[j_lLwVAowjz9bKTnquyDx9cjjw]); i0 += ((NI) 1); res_BdPgETTvxkm9aUbWlhZzJYw_2 += ((NI) 1); } LA73: ; } } { if (!(((*(*result0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 28))&31U)))!=0)) goto LA76; (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))%(sizeof(NU32)*8)); } LA76: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); oldprc0 = genericcacheget_78gU3L89b5rb4P5xYh2ryrQ(fn0, (*entry0), (*c0).compilescontextid); { Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ LOC82; if (!(oldprc0 == NIM_NIL)) goto LA80; rawhandleself_bvkA8slTYt1UIXkpYpaKog_2(c0, result0); (*entry0).compilesid = (*c0).compilescontextid; safeadd_159bXvKbDCwtLAAM9au9cb2iw((&(*fn0).kindU.S2.procinstcache), entry0); memset((void*)(&LOC82), 0, sizeof(LOC82)); makeinstpair_RpGZEAIRDxgVM19cI9c0QsAg(fn0, entry0, (&LOC82)); (*c0).generics = (TY_jWKvSdankQPoT5bw9cBU9aiw*) incrSeqV2(&((*c0).generics)->Sup, sizeof(Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ)); asgnRefNoCycle((void**) (&(*c0).generics->data[(*c0).generics->Sup.len].genericsym), LOC82.genericsym); asgnRefNoCycle((void**) (&(*c0).generics->data[(*c0).generics->Sup.len].inst), LOC82.inst); ++(*c0).generics->Sup.len; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 4)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA85; pragma_7200QCbjfWhEBN4qPDke4w(c0, result0, (*n0).kindU.S6.sons->data[((NI) 4)], T_rF9caJawfOjYTjsgLVUSGFA_63); } LA85: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC91; if (!((*n0).kindU.S6.sons->data[((NI) 6)] == 0)) goto LA89; LOC91 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC91 = getbody_eMf5HLowckpW9cDxAV9bNIZw(fn0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC91)); } LA89: ; instantiatebody_7iqryuy4VMp9bDHA6A9bRVhg(c0, n0, (*(*fn0).typ).n, result0, fn0); sideeffectscheck_K9azjGQymtuOxoOP6mI4DTQ(c0, result0); paramstypecheck_x1Ba9c12ovxmcPsmA8sLtBwsem(c0, (*result0).typ); } goto LA78; LA80: ; { result0 = oldprc0; } LA78: ; popproccon_JpIn6HCQok16g8frnWqg6Qsem(c0); popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); asgnRef((void**) (&(*c0).currentscope), oldscope0); LOC93 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC93 = pop_mA1eT6kISPgp1oy9bdDHO4Atransf((&(*c0).friendmodules)); (*c0).instcounter -= ((NI) 1); (*c0).intypeclass = oldintypeclass0; { if (!((*result0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13))) goto LA96; finishmethod_ReFYHO8NcVlF9aFYTz4SpBA_3(c0, result0); } LA96: ; return result0; } N_NIMCALL(void, instgenericconvertersarg_VXWuzBfroXU41p0pUFZiRA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* x0) { { NIM_BOOL LOC3; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; LOC3 = (NIM_BOOL)0; LOC3 = ((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)); if (!(LOC3)) goto LA4; LOC3 = ((*(*a0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA4: ; if (!LOC3) goto LA5; s0 = (*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { NIM_BOOL LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; Tsym_AXG7xcvKqaxY6koRX1xkCw* finalcallee0; LOC9 = (NIM_BOOL)0; LOC9 = !(((*s0).ast == NIM_NIL)); if (!(LOC9)) goto LA10; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*s0).ast, ((NI) 2)); LOC9 = !(((*LOC11).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); LA10: ; if (!LOC9) goto LA12; finalcallee0 = generateinstance_KtAmihMG1Kq6M7PWjOiVzA(c0, s0, (*x0).bindings, (*a0).info); asgnRefNoCycle((void**) (&(*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym), finalcallee0); asgnRefNoCycle((void**) (&(*(*a0).kindU.S6.sons->data[((NI) 0)]).typ), (*finalcallee0).typ); } LA12: ; } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, indextypesmatch_W26LvxfTEV1CTaif6P5vhQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), f0); result0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg((&m0), f0, a0, arg0, NIM_NIL); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = m0.genericconverter; if (!(LOC3)) goto LA4; LOC3 = !((result0 == NIM_NIL)); LA4: ; if (!LOC3) goto LA5; instgenericconvertersarg_VXWuzBfroXU41p0pUFZiRA(c0, result0, (&m0)); } LA5: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fitnode_KLicmLLVSSbWTkeTAPc49cA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NimStringDesc* LOC5; if (!((*arg0).typ == 0)) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(arg0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*arg0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 93), LOC5); result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(arg0); asgnRefNoCycle((void**) (&(*result0).typ), formal0); } goto LA1; LA3: ; { result0 = indextypesmatch_W26LvxfTEV1CTaif6P5vhQ(c0, formal0, (*arg0).typ, arg0); { if (!(result0 == NIM_NIL)) goto LA9; typemismatch_ScpDxXjg7tRc9a9aUBDo3etA(arg0, formal0, (*arg0).typ); result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); asgnRefNoCycle((void**) (&(*result0).typ), formal0); } goto LA7; LA9: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; x0 = skipconv_6rsSLwtlU9c53a6w69be5JlQ(result0); { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37)); if (!(LOC14)) goto LA15; LOC14 = !(((*formal0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6))); LA15: ; if (!LOC14) goto LA16; changetype_REwyfGkprno5W0Lbgq59aKA(x0, formal0, NIM_TRUE); } goto LA12; LA16: ; { result0 = skiphiddensubconv_uuBrjinRrhSs9bvaSDP4XtQ(result0); } LA12: ; } LA7: ; } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconstboolexpr_NBTNEqzl5NBSHnN0VGYkSQ_5)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* nn0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; nn0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, LOC1, nn0); { if (!(result0 == NIM_NIL)) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = nn0; goto BeforeRet; } LA4: ; result0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, result0); { if (!(result0 == NIM_NIL)) goto LA8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = nn0; } LA8: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, LOC1, n0); { if (!(result0 == NIM_NIL)) goto LA4; result0 = n0; } LA4: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembranchrange_hswIb7oi9akA7QiDdvMG8wA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* ac0; Tnode_bROa11lyF5vxEN9aYNbHmhw* bc0; Tnode_bROa11lyF5vxEN9aYNbHmhw* at0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* bt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(t0, ((NI) 1)); ac0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, a0); bc0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, b0); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*(*t0).kindU.S6.sons->data[((NI) 0)]).typ, ac0); at0 = skipconvtaketype_6rsSLwtlU9c53a6w69be5JlQ_3(LOC1); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*(*t0).kindU.S6.sons->data[((NI) 0)]).typ, bc0); bt0 = skipconvtaketype_6rsSLwtlU9c53a6w69be5JlQ_3(LOC2); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44), (*a0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, at0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, bt0); { NIM_BOOL LOC5; LOC5 = (NIM_BOOL)0; LOC5 = emptyrange_GLYFox9ciWitxKuirhftGHg_2(ac0, bc0); if (!LOC5) goto LA6; localerror_VpilfPWbplGz6ny7O9cfr2g((*b0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 109), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA3; LA6: ; { NI64 LOC9; NI64 LOC10; LOC9 = (NI64)0; LOC9 = getordvalue_MzTDl1zEXJLD4sql7PhCwA(bc0); LOC10 = (NI64)0; LOC10 = getordvalue_MzTDl1zEXJLD4sql7PhCwA(ac0); (*covered0) = (NI64)((NI64)((NI64)((*covered0) + LOC9) - LOC10) + IL64(1)); } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcasebranchrange_5M59by6wB79c6D1pVpd2oIOw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(b0, ((NI) 3)); result0 = sembranchrange_hswIb7oi9akA7QiDdvMG8wA(c0, t0, (*b0).kindU.S6.sons->data[((NI) 1)], (*b0).kindU.S6.sons->data[((NI) 2)], covered0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcasebranchsetelem_5M59by6wB79c6D1pVpd2oIOw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NI64* covered0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem(b0); if (!LOC3) goto LA4; checksonslen_rPu9akNNYZgL0UexjMvt0HA(b0, ((NI) 3)); result0 = sembranchrange_hswIb7oi9akA7QiDdvMG8wA(c0, t0, (*b0).kindU.S6.sons->data[((NI) 1)], (*b0).kindU.S6.sons->data[((NI) 2)], covered0); } goto LA1; LA4: ; { if (!((*b0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7; checksonslen_rPu9akNNYZgL0UexjMvt0HA(b0, ((NI) 2)); result0 = sembranchrange_hswIb7oi9akA7QiDdvMG8wA(c0, t0, (*b0).kindU.S6.sons->data[((NI) 0)], (*b0).kindU.S6.sons->data[((NI) 1)], covered0); } goto LA1; LA7: ; { result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*(*t0).kindU.S6.sons->data[((NI) 0)]).typ, b0); (*covered0) += ((NI) 1); } LA1: ; return result0; } N_NIMCALL(void, checkforoverlap_pkZ9aMpMr6HPZmTxtRJqlEg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, NI currentex0, NI branchindex0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* ex0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(t0, branchindex0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC1, currentex0); ex0 = skipconv_6rsSLwtlU9c53a6w69be5JlQ(LOC2); { NI i_StYllbYwextUqJHMaWYjYA; NI res_cPer7GcNK9cg9aWKl9co1QcGg; i_StYllbYwextUqJHMaWYjYA = (NI)0; res_cPer7GcNK9cg9aWKl9co1QcGg = ((NI) 1); { while (1) { if (!(res_cPer7GcNK9cg9aWKl9co1QcGg <= branchindex0)) goto LA5; i_StYllbYwextUqJHMaWYjYA = res_cPer7GcNK9cg9aWKl9co1QcGg; { NI j_1z9c5einlv9bV2zvpQZwf9bDQ; NI HEX3Atmp_xOX2c8w9a7l8M9cFwJGRO7ZQ; NI LOC7; NI res_cPer7GcNK9cg9aWKl9co1QcGg_2; j_1z9c5einlv9bV2zvpQZwf9bDQ = (NI)0; HEX3Atmp_xOX2c8w9a7l8M9cFwJGRO7ZQ = (NI)0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*t0).kindU.S6.sons->data[i_StYllbYwextUqJHMaWYjYA]); HEX3Atmp_xOX2c8w9a7l8M9cFwJGRO7ZQ = (NI)(LOC7 - ((NI) 2)); res_cPer7GcNK9cg9aWKl9co1QcGg_2 = ((NI) 0); { while (1) { if (!(res_cPer7GcNK9cg9aWKl9co1QcGg_2 <= HEX3Atmp_xOX2c8w9a7l8M9cFwJGRO7ZQ)) goto LA9; j_1z9c5einlv9bV2zvpQZwf9bDQ = res_cPer7GcNK9cg9aWKl9co1QcGg_2; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = (i_StYllbYwextUqJHMaWYjYA == branchindex0); if (!(LOC12)) goto LA13; LOC12 = (j_1z9c5einlv9bV2zvpQZwf9bDQ == currentex0); LA13: ; if (!LOC12) goto LA14; goto LA6; } LA14: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; NIM_BOOL LOC19; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = skipconv_6rsSLwtlU9c53a6w69be5JlQ((*(*t0).kindU.S6.sons->data[i_StYllbYwextUqJHMaWYjYA]).kindU.S6.sons->data[j_1z9c5einlv9bV2zvpQZwf9bDQ]); LOC19 = (NIM_BOOL)0; LOC19 = overlap_GLYFox9ciWitxKuirhftGHg(LOC18, ex0); if (!LOC19) goto LA20; localerror_VpilfPWbplGz6ny7O9cfr2g((*ex0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 108), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA20: ; res_cPer7GcNK9cg9aWKl9co1QcGg_2 += ((NI) 1); } LA9: ; } } LA6: ; res_cPer7GcNK9cg9aWKl9co1QcGg += ((NI) 1); } LA5: ; } } } N_NIMCALL(void, semcasebranch_Hp1LLYCqSOjFmp7QOVdlsw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* t0, Tnode_bROa11lyF5vxEN9aYNbHmhw* branch0, NI branchindex0, NI64* covered0) { { { NI i_tO0eEchelthU9cPnXMCLzKg; NI HEX3Atmp_3huL5fsOt4mfhBokrBFw7A; NI LOC2; NI res_fCWNQG5is0v2T4ka9aqodnA; i_tO0eEchelthU9cPnXMCLzKg = (NI)0; HEX3Atmp_3huL5fsOt4mfhBokrBFw7A = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(branch0); HEX3Atmp_3huL5fsOt4mfhBokrBFw7A = (NI)(LOC2 - ((NI) 2)); res_fCWNQG5is0v2T4ka9aqodnA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; if (!(res_fCWNQG5is0v2T4ka9aqodnA <= HEX3Atmp_3huL5fsOt4mfhBokrBFw7A)) goto LA4; i_tO0eEchelthU9cPnXMCLzKg = res_fCWNQG5is0v2T4ka9aqodnA; b0 = (*branch0).kindU.S6.sons->data[i_tO0eEchelthU9cPnXMCLzKg]; { if (!((*b0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7; asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[i_tO0eEchelthU9cPnXMCLzKg]), b0); } goto LA5; LA7: ; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem(b0); if (!LOC10) goto LA11; asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[i_tO0eEchelthU9cPnXMCLzKg]), semcasebranchrange_5M59by6wB79c6D1pVpd2oIOw(c0, t0, b0, covered0)); } goto LA5; LA11: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* r0; r0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, b0); { NIM_BOOL LOC16; NIM_BOOL LOC17; NI LOC19; NI LOC21; LOC16 = (NIM_BOOL)0; LOC17 = (NIM_BOOL)0; LOC17 = ((*r0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); if (!(LOC17)) goto LA18; LOC19 = (NI)0; LOC19 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(r0); LOC17 = (LOC19 == ((NI) 0)); LA18: ; LOC16 = LOC17; if (!(LOC16)) goto LA20; LOC21 = (NI)0; LOC21 = sonslen_qPWPHw7WgJeEVYUdcaRIig(branch0); LOC16 = (LOC21 == ((NI) 2)); LA20: ; if (!LOC16) goto LA22; delson_9c9c9b4wX9aUbrl9bXf1tGC9acyw(branch0, ((NI) 0)); goto BeforeRet; } goto LA14; LA22: ; { NIM_BOOL LOC25; NI LOC27; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC30; LOC25 = (NIM_BOOL)0; LOC25 = !(((*r0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41))); if (LOC25) goto LA26; LOC27 = (NI)0; LOC27 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(r0); LOC25 = (LOC27 == ((NI) 0)); LA26: ; if (!LOC25) goto LA28; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(t0, ((NI) 1)); LOC30 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC30 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*(*t0).kindU.S6.sons->data[((NI) 0)]).typ, r0); asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[i_tO0eEchelthU9cPnXMCLzKg]), skipconv_6rsSLwtlU9c53a6w69be5JlQ(LOC30)); (*covered0) += ((NI) 1); } goto LA14; LA28: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC32; LOC32 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC32 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(r0, ((NI) 0)); asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[i_tO0eEchelthU9cPnXMCLzKg]), semcasebranchsetelem_5M59by6wB79c6D1pVpd2oIOw_2(c0, t0, LOC32, covered0)); { NI j_o3msK7hQoyqDKNE6WgctoA; NI HEX3Atmp_3huL5fsOt4mfhBokrBFw7A_2; NI LOC34; NI res_fCWNQG5is0v2T4ka9aqodnA_2; j_o3msK7hQoyqDKNE6WgctoA = (NI)0; HEX3Atmp_3huL5fsOt4mfhBokrBFw7A_2 = (NI)0; LOC34 = (NI)0; LOC34 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(r0); HEX3Atmp_3huL5fsOt4mfhBokrBFw7A_2 = (LOC34 - 1); res_fCWNQG5is0v2T4ka9aqodnA_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; NI L0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC39; if (!(res_fCWNQG5is0v2T4ka9aqodnA_2 <= HEX3Atmp_3huL5fsOt4mfhBokrBFw7A_2)) goto LA36; j_o3msK7hQoyqDKNE6WgctoA = res_fCWNQG5is0v2T4ka9aqodnA_2; LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(r0, j_o3msK7hQoyqDKNE6WgctoA); LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = semcasebranchsetelem_5M59by6wB79c6D1pVpd2oIOw_2(c0, t0, LOC37, covered0); add_gCCf68XrWL79bKes6htzFjQ_3(branch0, LOC38); L0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(branch0); LOC39 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC39 = (*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]; asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), (*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]); asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), LOC39); res_fCWNQG5is0v2T4ka9aqodnA_2 += ((NI) 1); } LA36: ; } } } LA14: ; } LA5: ; checkforoverlap_pkZ9aMpMr6HPZmTxtRJqlEg(c0, t0, i_tO0eEchelthU9cPnXMCLzKg, branchindex0); res_fCWNQG5is0v2T4ka9aqodnA += ((NI) 1); } LA4: ; } } }BeforeRet: ; } N_NIMCALL(void, semrecordcase_8cj8AMGU4HNKVJnccjqagw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* rectype0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI64 covered0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; NIM_BOOL chckcovered0; { a0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, (*n0).kindU.S6.sons->data[((NI) 0)], check0, pos0, a0, rectype0); { if (!!(((*(*a0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3; internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_181)); goto BeforeRet; } LA3: ; (*(*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 18))%(sizeof(NU32)*8)); covered0 = IL64(0); typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*a0).kindU.S6.sons->data[((NI) 0)]).typ, 8431632); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(typ0); if (!!(LOC7)) goto LA8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 111), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA5; LA8: ; { NI64 LOC11; NimStringDesc* LOC14; LOC11 = (NI64)0; LOC11 = firstord_HUiBYxvKiECXCv8BzQNheg(typ0); if (!!((LOC11 == IL64(0)))) goto LA12; LOC14 = (NimStringDesc*)0; LOC14 = rawNewString((*(*(*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).name).s->Sup.len + 32); appendString(LOC14, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_182)); appendString(LOC14, (*(*(*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).name).s); appendString(LOC14, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_183)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC14); } goto LA5; LA12: ; { NI64 LOC16; LOC16 = (NI64)0; LOC16 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(typ0); if (!(IL64(32767) < LOC16)) goto LA17; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 113), (*(*(*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).name).s); } goto LA5; LA17: ; LA5: ; chckcovered0 = NIM_TRUE; { NI i_KJDnOvcAu4au9bBoSQS9a0kQ; NI HEX3Atmp_ZJEt9at82P5ekUS9bG9aAn64g; NI LOC20; NI res_rBFJZVBCkSXHbwGgU8H7ag; i_KJDnOvcAu4au9bBoSQS9a0kQ = (NI)0; HEX3Atmp_ZJEt9at82P5ekUS9bG9aAn64g = (NI)0; LOC20 = (NI)0; LOC20 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_ZJEt9at82P5ekUS9bG9aAn64g = (NI)(LOC20 - ((NI) 1)); res_rBFJZVBCkSXHbwGgU8H7ag = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; NI LOC26; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; if (!(res_rBFJZVBCkSXHbwGgU8H7ag <= HEX3Atmp_ZJEt9at82P5ekUS9bG9aAn64g)) goto LA22; i_KJDnOvcAu4au9bBoSQS9a0kQ = res_rBFJZVBCkSXHbwGgU8H7ag; b0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[i_KJDnOvcAu4au9bBoSQS9a0kQ]); addson_gCCf68XrWL79bKes6htzFjQ(a0, b0); switch ((*(*n0).kindU.S6.sons->data[i_KJDnOvcAu4au9bBoSQS9a0kQ]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(b0, ((NI) 2)); semcasebranch_Hp1LLYCqSOjFmp7QOVdlsw(c0, a0, b0, i_KJDnOvcAu4au9bBoSQS9a0kQ, (&covered0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { chckcovered0 = NIM_FALSE; checksonslen_rPu9akNNYZgL0UexjMvt0HA(b0, ((NI) 1)); } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } LOC26 = (NI)0; LOC26 = sonslen_qPWPHw7WgJeEVYUdcaRIig(b0); delson_9c9c9b4wX9aUbrl9bXf1tGC9acyw(b0, (NI)(LOC26 - ((NI) 1))); LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_KJDnOvcAu4au9bBoSQS9a0kQ]); semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, LOC27, check0, pos0, b0, rectype0); res_rBFJZVBCkSXHbwGgU8H7ag += ((NI) 1); } LA22: ; } } { NIM_BOOL LOC30; NI64 LOC32; LOC30 = (NIM_BOOL)0; LOC30 = chckcovered0; if (!(LOC30)) goto LA31; LOC32 = (NI64)0; LOC32 = lengthord_HUiBYxvKiECXCv8BzQNheg_3((*(*a0).kindU.S6.sons->data[((NI) 0)]).typ); LOC30 = !((covered0 == LOC32)); LA31: ; if (!LOC30) goto LA33; localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 154), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA33: ; addson_gCCf68XrWL79bKes6htzFjQ(father0, a0); }BeforeRet: ; } N_NIMCALL(void, semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg* check0, NI* pos0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* rectype0) { { { if (!(n0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 140): { Tnode_bROa11lyF5vxEN9aYNbHmhw* branch0; branch0 = NIM_NIL; { NI i_0FvF5EOMA9cxkWrEDqwsovA; NI HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg; NI LOC7; NI res_9bLO4RAYXoqocOgD3GawABA; i_0FvF5EOMA9cxkWrEDqwsovA = (NI)0; HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg = (NI)0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg = (NI)(LOC7 - ((NI) 1)); res_9bLO4RAYXoqocOgD3GawABA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; NI idx0; if (!(res_9bLO4RAYXoqocOgD3GawABA <= HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg)) goto LA9; i_0FvF5EOMA9cxkWrEDqwsovA = res_9bLO4RAYXoqocOgD3GawABA; it0 = (*n0).kindU.S6.sons->data[i_0FvF5EOMA9cxkWrEDqwsovA]; { if (!(it0 == NIM_NIL)) goto LA12; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA12: ; idx0 = ((NI) 1); switch ((*it0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(it0, ((NI) 2)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; if (!((*c0).ingenericcontext == ((NI) 0))) goto LA17; e0 = semconstboolexpr_NBTNEqzl5NBSHnN0VGYkSQ_5(c0, (*it0).kindU.S6.sons->data[((NI) 0)]); { if (!!(((*e0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA21; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*e0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_180)); } goto LA19; LA21: ; { NIM_BOOL LOC24; LOC24 = (NIM_BOOL)0; LOC24 = !(((*e0).kindU.S1.intval == IL64(0))); if (!(LOC24)) goto LA25; LOC24 = (branch0 == NIM_NIL); LA25: ; if (!LOC24) goto LA26; branch0 = (*it0).kindU.S6.sons->data[((NI) 1)]; } goto LA19; LA26: ; LA19: ; } goto LA15; LA17: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*it0).kindU.S6.sons->data[((NI) 0)], 0); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25(c0, LOC29)); } LA15: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(it0, ((NI) 1)); { if (!(branch0 == NIM_NIL)) goto LA33; branch0 = (*it0).kindU.S6.sons->data[((NI) 0)]; } LA33: ; idx0 = ((NI) 0); } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } { Intset_PQrmFm4BXFkFSVOUl1ojSg newcheck0; NI newpos0; Tnode_bROa11lyF5vxEN9aYNbHmhw* newf0; if (!(((NI) 0) < (*c0).ingenericcontext)) goto LA38; memset((void*)(&newcheck0), 0, sizeof(newcheck0)); assign_a2uuNOWD29cFDODAp4nip0A((&newcheck0), (*check0)); newpos0 = (*pos0); newf0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info); semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, (*it0).kindU.S6.sons->data[idx0], (&newcheck0), (&newpos0), newf0, rectype0); { NI LOC42; LOC42 = (NI)0; LOC42 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(newf0); if (!(LOC42 == ((NI) 1))) goto LA43; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[idx0]), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(newf0, ((NI) 0))); } goto LA40; LA43: ; { asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[idx0]), newf0); } LA40: ; } LA38: ; res_9bLO4RAYXoqocOgD3GawABA += ((NI) 1); } LA9: ; } } { if (!(((NI) 0) < (*c0).ingenericcontext)) goto LA48; addson_gCCf68XrWL79bKes6htzFjQ(father0, n0); } goto LA46; LA48: ; { if (!!((branch0 == NIM_NIL))) goto LA51; semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, branch0, check0, pos0, father0, rectype0); } goto LA46; LA51: ; LA46: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { semrecordcase_8cj8AMGU4HNKVJnccjqagw_2(c0, n0, check0, pos0, father0, rectype0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC59; if (!!(((*father0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA57; LOC59 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC59 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(father0, LOC59); } LA57: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; { if (!((*father0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138))) goto LA63; a0 = father0; } goto LA61; LA63: ; { a0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); } LA61: ; { NI i_0FvF5EOMA9cxkWrEDqwsovA_2; NI HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_2; NI LOC67; NI res_9bLO4RAYXoqocOgD3GawABA_2; i_0FvF5EOMA9cxkWrEDqwsovA_2 = (NI)0; HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_2 = (NI)0; LOC67 = (NI)0; LOC67 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_2 = (NI)(LOC67 - ((NI) 1)); res_9bLO4RAYXoqocOgD3GawABA_2 = ((NI) 0); { while (1) { if (!(res_9bLO4RAYXoqocOgD3GawABA_2 <= HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_2)) goto LA69; i_0FvF5EOMA9cxkWrEDqwsovA_2 = res_9bLO4RAYXoqocOgD3GawABA_2; semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, (*n0).kindU.S6.sons->data[i_0FvF5EOMA9cxkWrEDqwsovA_2], check0, pos0, a0, rectype0); res_9bLO4RAYXoqocOgD3GawABA_2 += ((NI) 1); } LA69: ; } } { if (!!((a0 == father0))) goto LA72; addson_gCCf68XrWL79bKes6htzFjQ(father0, a0); } LA72: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35): { NI length0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tsym_AXG7xcvKqaxY6koRX1xkCw* rec0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 3)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); a0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC77; LOC77 = (NIM_BOOL)0; LOC77 = !(((*father0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138))); if (!(LOC77)) goto LA78; LOC77 = (((NI) 4) <= length0); LA78: ; if (!LOC77) goto LA79; a0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info); } goto LA75; LA79: ; { a0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; } LA75: ; { if (!!(((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA84; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 178), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA84: ; typ0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA88; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); typ0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } goto LA86; LA88: ; { typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], NIM_NIL); propagatetoowner_25RD9cAXWAJ2zW7s6mQQfCw(rectype0, typ0); } LA86: ; rec0 = (*rectype0).sym; { NI i_0FvF5EOMA9cxkWrEDqwsovA_3; NI HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_3; NI LOC92; NI res_9bLO4RAYXoqocOgD3GawABA_3; i_0FvF5EOMA9cxkWrEDqwsovA_3 = (NI)0; HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_3 = (NI)0; LOC92 = (NI)0; LOC92 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_3 = (NI)(LOC92 - ((NI) 3)); res_9bLO4RAYXoqocOgD3GawABA_3 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; if (!(res_9bLO4RAYXoqocOgD3GawABA_3 <= HEX3Atmp_SOHNHfwEOGrdsOUZMUVkYg_3)) goto LA94; i_0FvF5EOMA9cxkWrEDqwsovA_3 = res_9bLO4RAYXoqocOgD3GawABA_3; f0 = semidentwithpragma_nAR1sRY4lA5SigHzFvAJYw(c0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), (*n0).kindU.S6.sons->data[i_0FvF5EOMA9cxkWrEDqwsovA_3], 2); suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem((*(*n0).kindU.S6.sons->data[i_0FvF5EOMA9cxkWrEDqwsovA_3]).info, f0, NIM_TRUE); asgnRefNoCycle((void**) (&(*f0).typ), typ0); (*f0).position = (*pos0); { NIM_BOOL LOC97; NIM_BOOL LOC98; LOC97 = (NIM_BOOL)0; LOC98 = (NIM_BOOL)0; LOC98 = !((rec0 == NIM_NIL)); if (!(LOC98)) goto LA99; LOC98 = !(((96 & (*rec0).flags) == 0)); LA99: ; LOC97 = LOC98; if (!(LOC97)) goto LA100; LOC97 = ((*f0).loc.r == NIM_NIL); LA100: ; if (!LOC97) goto LA101; asgnRefNoCycle((void**) (&(*f0).loc.r), rope_53CHEX05HP0HacydnwoUYg((*(*f0).name).s)); (*f0).flags = ((*f0).flags | (96 & (*rec0).flags)); } LA101: ; (*pos0) += ((NI) 1); { NIM_BOOL LOC105; LOC105 = (NIM_BOOL)0; LOC105 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(check0, (*(*f0).name).Sup.id); if (!LOC105) goto LA106; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_0FvF5EOMA9cxkWrEDqwsovA_3]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 41), (*(*f0).name).s); } LA106: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC112; if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA110; LOC112 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC112 = newsymnode_1ARBpggFQuvUDBVYjBelcw(f0); addson_gCCf68XrWL79bKes6htzFjQ(father0, LOC112); } goto LA108; LA110: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC114; LOC114 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC114 = newsymnode_1ARBpggFQuvUDBVYjBelcw(f0); addson_gCCf68XrWL79bKes6htzFjQ(a0, LOC114); } LA108: ; res_9bLO4RAYXoqocOgD3GawABA_3 += ((NI) 1); } LA94: ; } } { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA117; addson_gCCf68XrWL79bKes6htzFjQ(father0, a0); } LA117: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): { } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } }BeforeRet: ; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semobjectnode_lOYiaJyT4uh4YNmn53vE6w_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Intset_PQrmFm4BXFkFSVOUl1ojSg check0; NI pos0; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; Ttype_LTUWCZolpovw9cWE3JBWSUw* realbase0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 0))) goto LA4; result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); goto BeforeRet; } LA4: ; memset((void*)(&check0), 0, sizeof(check0)); chckNil((void*)(&check0)); memset((void*)(&check0), 0, sizeof(check0)); initintset_a9a80eJplB17xrdZJ41Baww((&check0)); pos0 = ((NI) 0); base0 = NIM_NIL; realbase0 = NIM_NIL; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 3)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8; realbase0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 0)], NIM_NIL); base0 = skiptypesornil_pLCdCGDuirMe9cspwviV9aVA_2(realbase0, 14682384); { if (!(base0 == 0)) goto LA12; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 126), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_47)); } goto LA10; LA12: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* concretebase0; concretebase0 = skipgenericinvocation_Owy9bB9b9cn8vzs5zLjRWumoQsem(base0); { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = ((*concretebase0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC17)) goto LA18; LOC17 = !((((*concretebase0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))&31U)))!=0)); LA18: ; if (!LOC17) goto LA19; addinheritedfields_iR5649a9a9cQVktNRacwZ0CHQ(c0, (&check0), (&pos0), concretebase0); } goto LA15; LA19: ; { { if (!!(((*concretebase0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA24; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 124), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA24: ; base0 = NIM_NIL; realbase0 = NIM_NIL; } LA15: ; } LA10: ; } LA8: ; { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133)))) goto LA28; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_51)); } LA28: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17), prev0, c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, realbase0); { if (!((*result0).n == 0)) goto LA32; asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info)); } goto LA30; LA32: ; { addinheritedfields_iR5649a9a9cQVktNRacwZ0CHQ(c0, (&check0), (&pos0), result0); } LA30: ; semrecordnodeaux_8cj8AMGU4HNKVJnccjqagw(c0, (*n0).kindU.S6.sons->data[((NI) 2)], (&check0), (&pos0), (*result0).n, result0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC39; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA37; LOC39 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC39 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_184)); LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC39, (*n0).info); s0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), LOC40, c0); asgnRefNoCycle((void**) (&(*s0).typ), result0); pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*n0).kindU.S6.sons->data[((NI) 0)], T_rF9caJawfOjYTjsgLVUSGFA_185); } LA37: ; { NIM_BOOL LOC43; LOC43 = (NIM_BOOL)0; LOC43 = (base0 == NIM_NIL); if (!(LOC43)) goto LA44; LOC43 = !((((*result0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 3))&31U)))!=0)); LA44: ; if (!LOC43) goto LA45; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))%(sizeof(NU32)*8)); } LA45: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypeclass_lOYiaJyT4uh4YNmn53vE6w_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* pragmas0; Tnode_bROa11lyF5vxEN9aYNbHmhw* inherited0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 1))&15U)))!=0)) goto LA3; message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_186)); } LA3: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52), prev0, c0); asgnRefNoCycle((void**) (&(*result0).n), n0); pragmas0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); inherited0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); { if (!!(((*inherited0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA7; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n_wlo2QDnqPcM5XgvoIQ0mUQ; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg; NI i_1QQ5Ny7VSGXFah9b2xWS3nw; NI L_tSPLwd7biLAzu3N1l2fQSg; n_wlo2QDnqPcM5XgvoIQ0mUQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg = (*inherited0).kindU.S6.sons; i_1QQ5Ny7VSGXFah9b2xWS3nw = ((NI) 0); L_tSPLwd7biLAzu3N1l2fQSg = (HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg ? HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg->Sup.len : 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; if (!(i_1QQ5Ny7VSGXFah9b2xWS3nw < L_tSPLwd7biLAzu3N1l2fQSg)) goto LA11; n_wlo2QDnqPcM5XgvoIQ0mUQ = HEX3Atmp_K2q5U0zi09aXZ9bhzKM30Ktg->data[i_1QQ5Ny7VSGXFah9b2xWS3nw]; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n_wlo2QDnqPcM5XgvoIQ0mUQ, NIM_NIL); safeadd_VD4SAHgDoDEHV5x9bi89cbwA((&(*result0).sons), typ0); i_1QQ5Ny7VSGXFah9b2xWS3nw += ((NI) 1); } LA11: ; } } } LA7: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semvartype_lOYiaJyT4uh4YNmn53vE6w_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 1))) goto LA4; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23), prev0, c0); base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); { if (!((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 201), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); base0 = (*base0).sons->data[((NI) 0)]; } LA8: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } goto LA1; LA4: ; { result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semdistinct_lOYiaJyT4uh4YNmn53vE6w_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC3 == ((NI) 0))) goto LA4; result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); goto BeforeRet; } LA4: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13), prev0, c0); LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC6); { NI LOC9; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(((NI) 1) < LOC9)) goto LA10; asgnRefNoCycle((void**) (&(*result0).n), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1))); } LA10: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semproctypewithscope_kTKSeKYZsBbo9an4k2wSxLw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC2; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); result0 = semproctypenode_DPcKBU2kSAxDqsoFxpLplA(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL, prev0, kind0, NIM_TRUE); (*result0).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8); LOC2 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC2 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_184)); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC2, (*n0).info); s0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(kind0, LOC3, c0); asgnRefNoCycle((void**) (&(*s0).typ), result0); { NIM_BOOL LOC6; NI LOC8; LOC6 = (NIM_BOOL)0; LOC6 = !(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); if (!(LOC6)) goto LA7; LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*n0).kindU.S6.sons->data[((NI) 1)]); LOC6 = (((NI) 0) < LOC8); LA7: ; if (!LOC6) goto LA9; pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*n0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_187); seteffectsforproctype_s1u9bAYWpYT5mKbooolvSuA(result0, (*n0).kindU.S6.sons->data[((NI) 1)]); } LA9: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semenum_lOYiaJyT4uh4YNmn53vE6w_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; NI64 counter0; NI64 x0; Tsym_AXG7xcvKqaxY6koRX1xkCw* e0; Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; NIM_BOOL ispure0; NIM_BOOL LOC19; NIM_BOOL hasnull0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 0))) goto LA4; result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14)); goto BeforeRet; } goto LA1; LA4: ; { NI LOC7; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC7 == ((NI) 1))) goto LA8; result0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); goto BeforeRet; } goto LA1; LA8: ; LA1: ; counter0 = (NI64)0; x0 = (NI64)0; e0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; base0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; counter0 = IL64(0); base0 = NIM_NIL; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14), prev0, c0); asgnRefNoCycle((void**) (&(*result0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150), (*n0).info)); checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); { NI64 LOC18; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA12; base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 0)], NIM_NIL); { if (!!(((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14)))) goto LA16; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 125), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA16: ; LOC18 = (NI64)0; LOC18 = lastord_HUiBYxvKiECXCv8BzQNheg_2(base0); counter0 = (NI64)(LOC18 + IL64(1)); } LA12: ; rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, base0); LOC19 = (NIM_BOOL)0; LOC19 = !(((*result0).sym == NIM_NIL)); if (!(LOC19)) goto LA20; LOC19 = (((*(*result0).sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&31U)))!=0); LA20: ; ispure0 = LOC19; hasnull0 = NIM_FALSE; { NI i_wAc9bBJfcDnoE6rwFWQ9crgw; NI HEX3Atmp_Dr18sbPJWgmeVKvjARom2w; NI LOC22; NI res_9ahjskzg4RbJbTviFYpCeTg; i_wAc9bBJfcDnoE6rwFWQ9crgw = (NI)0; HEX3Atmp_Dr18sbPJWgmeVKvjARom2w = (NI)0; LOC22 = (NI)0; LOC22 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_Dr18sbPJWgmeVKvjARom2w = (NI)(LOC22 - ((NI) 1)); res_9ahjskzg4RbJbTviFYpCeTg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC72; if (!(res_9ahjskzg4RbJbTviFYpCeTg <= HEX3Atmp_Dr18sbPJWgmeVKvjARom2w)) goto LA24; i_wAc9bBJfcDnoE6rwFWQ9crgw = res_9ahjskzg4RbJbTviFYpCeTg; switch ((*(*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 151): { Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; Tnode_bROa11lyF5vxEN9aYNbHmhw* strval0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC26; e0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 19), (*(*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw]).kindU.S6.sons->data[((NI) 0)], c0); v0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*(*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw]).kindU.S6.sons->data[((NI) 1)]); strval0 = NIM_NIL; LOC26 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC26 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*v0).typ, 43024); switch ((*LOC26).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { NI LOC30; LOC30 = (NI)0; LOC30 = sonslen_qPWPHw7WgJeEVYUdcaRIig(v0); if (!(LOC30 == ((NI) 2))) goto LA31; strval0 = (*v0).kindU.S6.sons->data[((NI) 1)]; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC35; LOC35 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC35 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*strval0).typ, 43280); if (!((*LOC35).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*LOC35).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA36; x0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA((*v0).kindU.S6.sons->data[((NI) 0)]); } goto LA33; LA36: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*strval0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA33: ; } goto LA28; LA31: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*v0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 114), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA28: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): { strval0 = v0; x0 = counter0; } break; default: { x0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA(v0); } break; } { if (!!((i_wAc9bBJfcDnoE6rwFWQ9crgw == ((NI) 1)))) goto LA44; { if (!!((x0 == counter0))) goto LA48; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 5))%(sizeof(NU32)*8)); } LA48: ; { if (!(x0 < counter0)) goto LA52; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 148), (*(*e0).name).s); x0 = counter0; } LA52: ; } LA44: ; asgnRefNoCycle((void**) (&(*e0).ast), strval0); counter0 = x0; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { e0 = (*(*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw]).kindU.S4.sym; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { e0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 19), (*n0).kindU.S6.sons->data[i_wAc9bBJfcDnoE6rwFWQ9crgw], c0); } break; default: { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC57; LOC57 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC57 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_wAc9bBJfcDnoE6rwFWQ9crgw); illformedast_DpsImAn3UbwOKcZFm2pVSg(LOC57); } break; } asgnRefNoCycle((void**) (&(*e0).typ), result0); (*e0).position = ((NI) (counter0)); { if (!((*e0).position == ((NI) 0))) goto LA60; hasnull0 = NIM_TRUE; } LA60: ; { NIM_BOOL LOC64; LOC64 = (NIM_BOOL)0; LOC64 = !(((*result0).sym == NIM_NIL)); if (!(LOC64)) goto LA65; LOC64 = (((*(*result0).sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); LA65: ; if (!LOC64) goto LA66; (*e0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); (*e0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))%(sizeof(NU32)*8)); { if (!!(ispure0)) goto LA70; strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).module).kindU.S3.tab), e0); } LA70: ; } LA66: ; LOC72 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC72 = newsymnode_1ARBpggFQuvUDBVYjBelcw(e0); addson_gCCf68XrWL79bKes6htzFjQ((*result0).n, LOC72); { NIM_BOOL LOC75; LOC75 = (NIM_BOOL)0; LOC75 = !((((*e0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); if (!(LOC75)) goto LA76; LOC75 = !(ispure0); LA76: ; if (!LOC75) goto LA77; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, e0); } LA77: ; counter0 += ((NI) 1); res_9ahjskzg4RbJbTviFYpCeTg += ((NI) 1); } LA24: ; } } { if (!!(hasnull0)) goto LA81; (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))%(sizeof(NU32)*8)); } LA81: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semstmtlisttype_lOYiaJyT4uh4YNmn53vE6w_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; NI length0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); { NI i_3npVsppojjt9aECO7sdN5Tg; NI HEX3Atmp_2Odjc6WwwtaqwW4zWbi6Ng; NI res_tPQ6rTXoL9c5nVgW9aetBLjw; i_3npVsppojjt9aECO7sdN5Tg = (NI)0; HEX3Atmp_2Odjc6WwwtaqwW4zWbi6Ng = (NI)0; HEX3Atmp_2Odjc6WwwtaqwW4zWbi6Ng = (NI)(length0 - ((NI) 2)); res_tPQ6rTXoL9c5nVgW9aetBLjw = ((NI) 0); { while (1) { if (!(res_tPQ6rTXoL9c5nVgW9aetBLjw <= HEX3Atmp_2Odjc6WwwtaqwW4zWbi6Ng)) goto LA3; i_3npVsppojjt9aECO7sdN5Tg = res_tPQ6rTXoL9c5nVgW9aetBLjw; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_3npVsppojjt9aECO7sdN5Tg]), semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, (*n0).kindU.S6.sons->data[i_3npVsppojjt9aECO7sdN5Tg])); res_tPQ6rTXoL9c5nVgW9aetBLjw += ((NI) 1); } LA3: ; } } { if (!(((NI) 0) < length0)) goto LA6; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], prev0); asgnRefNoCycle((void**) (&(*n0).typ), result0); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).typ), result0); } goto LA4; LA6: ; { result0 = NIM_NIL; } LA4: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semblocktype_lOYiaJyT4uh4YNmn53vE6w_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; (*(*c0).p).nestedblockcounter += ((NI) 1); checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC6; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA4; LOC6 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC6 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 21), (*n0).kindU.S6.sons->data[((NI) 0)], c0); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, LOC6); } LA4: ; result0 = semstmtlisttype_lOYiaJyT4uh4YNmn53vE6w_16(c0, (*n0).kindU.S6.sons->data[((NI) 1)], prev0); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 1)]).typ), result0); asgnRefNoCycle((void**) (&(*n0).typ), result0); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); (*(*c0).p).nestedblockcounter -= ((NI) 1); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, semtypenode_lOYiaJyT4uh4YNmn53vE6w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = NIM_NIL; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA3; suggestexpr_GPATGlMDRN5VZ5q4eCQYag(c0, n0); } LA3: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132): { Tnode_bROa11lyF5vxEN9aYNbHmhw* typexpr0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); typexpr0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 4); result0 = (*typexpr0).typ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37): { { NI LOC10; LOC10 = (NI)0; LOC10 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC10 == ((NI) 1))) goto LA11; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], prev0); } goto LA8; LA11: ; { result0 = semanontuple_lOYiaJyT4uh4YNmn53vE6w_2(c0, n0, prev0); } LA8: ; } 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): { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Tident_4umxGerWTHGPwUms7Yqu3g* ident0; x0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); switch ((*x0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { ident0 = (*x0).kindU.S5.ident; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { ident0 = (*(*x0).kindU.S4.sym).name; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 0)); ident0 = (*(*LOC18).kindU.S4.sym).name; } break; default: { ident0 = NIM_NIL; } break; } { NIM_BOOL LOC22; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; LOC22 = (NIM_BOOL)0; LOC22 = !((ident0 == NIM_NIL)); if (!(LOC22)) goto LA23; LOC22 = eqStrings((*ident0).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_21)); LA23: ; if (!LOC22) goto LA24; b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n0).info); { NI i_l9bGdoBcmRnsltvUvYTwpeQ; NI HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ; NI i_l9bGdoBcmRnsltvUvYTwpeQ_2; i_l9bGdoBcmRnsltvUvYTwpeQ = (NI)0; HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ = (NI)0; HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_l9bGdoBcmRnsltvUvYTwpeQ_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; if (!(i_l9bGdoBcmRnsltvUvYTwpeQ_2 < HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ)) goto LA28; i_l9bGdoBcmRnsltvUvYTwpeQ = i_l9bGdoBcmRnsltvUvYTwpeQ_2; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_l9bGdoBcmRnsltvUvYTwpeQ); add_gCCf68XrWL79bKes6htzFjQ_3(b0, LOC29); i_l9bGdoBcmRnsltvUvYTwpeQ_2 += ((NI) 1); } LA28: ; } } result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, b0, prev0); } goto LA20; LA24: ; { NIM_BOOL LOC31; LOC31 = (NIM_BOOL)0; LOC31 = !((ident0 == NIM_NIL)); if (!(LOC31)) goto LA32; LOC31 = ((*ident0).Sup.id == ((NI) 75)); LA32: ; if (!LOC31) goto LA33; result0 = semrangeaux_lOYiaJyT4uh4YNmn53vE6w_3(c0, n0, prev0); } goto LA20; LA33: ; { NIM_BOOL LOC36; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC37; NI LOC39; LOC36 = (NIM_BOOL)0; LOC37 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC37 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC36 = ((*LOC37).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)); if (!(LOC36)) goto LA38; LOC39 = (NI)0; LOC39 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC36 = (LOC39 == ((NI) 2)); LA38: ; if (!LOC36) goto LA40; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], prev0); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC44; LOC44 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC44 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(result0, 2064); if (!((*LOC44).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9) && (*LOC44).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*LOC44).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*LOC44).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*LOC44).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*LOC44).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24) && (*LOC44).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*LOC44).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28) && (*LOC44).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*LOC44).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA45; { if (!(((*result0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)) goto LA49; result0 = freshtype_f2ol1IOOcvnz0vNKWZHCnAsem(result0, prev0); (*result0).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16)) % (sizeof(NU32)*8))); } LA49: ; } goto LA42; LA45: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_22)); } LA42: ; } goto LA20; LA40: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC53; LOC53 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC53 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!!(((*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53) || (*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*LOC53).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56)))) goto LA54; result0 = semtypeexpr_lOYiaJyT4uh4YNmn53vE6w_4(c0, n0, prev0); } goto LA20; LA54: ; { Tident_4umxGerWTHGPwUms7Yqu3g* op0; op0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*n0).kindU.S6.sons->data[((NI) 0)]); { NIM_BOOL LOC59; Ttype_LTUWCZolpovw9cWE3JBWSUw* t10; Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; LOC59 = (NIM_BOOL)0; LOC59 = ((*op0).Sup.id == ((NI) 2) || (*op0).Sup.id == ((NI) 49)); if (LOC59) goto LA60; LOC59 = eqStrings((*op0).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_23)); LA60: ; if (!LOC59) goto LA61; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 3)); t10 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); t20 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 2)], NIM_NIL); { if (!(t10 == NIM_NIL)) goto LA65; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 1)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } goto LA63; LA65: ; { if (!(t20 == NIM_NIL)) goto LA68; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 2)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } goto LA63; LA68: ; { { if (!((*op0).Sup.id == ((NI) 2))) goto LA73; result0 = makeandtype_TWs0zFG19bwRZYLu3ryNNEQ(c0, t10, t20); } goto LA71; LA73: ; { result0 = makeortype_TWs0zFG19bwRZYLu3ryNNEQ_2(c0, t10, t20); } LA71: ; } LA63: ; } goto LA57; LA61: ; { NI LOC79; if (!((*op0).Sup.id == ((NI) 45))) goto LA77; LOC79 = (NI)0; LOC79 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); switch (LOC79) { case ((NI) 3): { result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], prev0); { NIM_BOOL LOC83; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC84; LOC83 = (NIM_BOOL)0; LOC84 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC84 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(result0, 2064); LOC83 = ((*LOC84).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9) && (*LOC84).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*LOC84).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*LOC84).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*LOC84).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*LOC84).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24) && (*LOC84).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*LOC84).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28) && (*LOC84).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*LOC84).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); if (!(LOC83)) goto LA85; LOC83 = ((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)); LA85: ; if (!LOC83) goto LA86; result0 = freshtype_f2ol1IOOcvnz0vNKWZHCnAsem(result0, prev0); (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))%(sizeof(NU32)*8)); } goto LA81; LA86: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_22)); } LA81: ; } break; case ((NI) 2): { Ttype_LTUWCZolpovw9cWE3JBWSUw* negated0; negated0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], prev0); result0 = makenottype_jzHW69aScKPf5OXe8J61tsA(c0, negated0); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_22)); } break; } } goto LA57; LA77: ; { if (!((*op0).Sup.id == ((NI) 52))) goto LA92; result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), prev0); } goto LA57; LA92: ; { if (!((*op0).Sup.id == ((NI) 54))) goto LA95; result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22), prev0); } goto LA57; LA95: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* typexpr0; if (!((*op0).Sup.id == ((NI) 62))) goto LA98; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); typexpr0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 4); result0 = (*typexpr0).typ; } goto LA57; LA98: ; { result0 = semtypeexpr_lOYiaJyT4uh4YNmn53vE6w_4(c0, n0, prev0); } LA57: ; } LA20: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 93): { Tnode_bROa11lyF5vxEN9aYNbHmhw* whenresult0; whenresult0 = semwhen_r8HjfCfaaAHheABRntFqPg(c0, n0, NIM_FALSE); { if (!((*whenresult0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA104; (*whenresult0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128); } LA104: ; result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, whenresult0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); s0 = semtypeident_RiNpYDzSB8OUnjHue9b4s2g(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); switch ((*s0).magic) { case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 165): { result0 = semarray_lOYiaJyT4uh4YNmn53vE6w_5(c0, n0, prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 166): { result0 = semcontainer_IxLfSBG76m9bT0uF6TONY4g(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_25), prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 167): { result0 = semrange_lOYiaJyT4uh4YNmn53vE6w_6(c0, n0, prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 168): { result0 = semset_lOYiaJyT4uh4YNmn53vE6w_7(c0, n0, prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 177): { result0 = semordinal_lOYiaJyT4uh4YNmn53vE6w_8(c0, n0, prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 169): { result0 = semcontainer_IxLfSBG76m9bT0uF6TONY4g(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_29), prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 170): { result0 = semvarargs_lOYiaJyT4uh4YNmn53vE6w_9(c0, n0, prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 202): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC115; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC116; LOC115 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC115 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC116 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC116 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, LOC115, NIM_NIL); result0 = maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, LOC116); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 200): { result0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC122; if (!!((result0 == NIM_NIL))) goto LA120; LOC122 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC122 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); result0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(result0, LOC122, NIM_FALSE); { NI i_l9bGdoBcmRnsltvUvYTwpeQ_3; NI HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ_2; NI LOC124; NI res_c9bEPJWP8G4d2TTYTCFbDYg; i_l9bGdoBcmRnsltvUvYTwpeQ_3 = (NI)0; HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ_2 = (NI)0; LOC124 = (NI)0; LOC124 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ_2 = (NI)(LOC124 - ((NI) 1)); res_c9bEPJWP8G4d2TTYTCFbDYg = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC127; if (!(res_c9bEPJWP8G4d2TTYTCFbDYg <= HEX3Atmp_UHrQ9aS5f6Aj2qGWYi5OHvQ_2)) goto LA126; i_l9bGdoBcmRnsltvUvYTwpeQ_3 = res_c9bEPJWP8G4d2TTYTCFbDYg; LOC127 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC127 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[i_l9bGdoBcmRnsltvUvYTwpeQ_3], NIM_NIL); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC127); res_c9bEPJWP8G4d2TTYTCFbDYg += ((NI) 1); } LA126: ; } } } LA120: ; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 174): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC129; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC130; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13), prev0, c0); LOC129 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC129 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC130 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC130 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, LOC129, NIM_NIL); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC130); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 173): { Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23), prev0, c0); base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); { if (!((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA134; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 201), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); base0 = (*base0).sons->data[((NI) 0)]; } LA134: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, base0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 171): { result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22), prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 172): { result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), prev0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 176): { result0 = semtuple_lOYiaJyT4uh4YNmn53vE6w_10(c0, n0, prev0); } break; default: { result0 = semgeneric_KbRgzAZelffU9cv9cB67vT3w(c0, n0, s0, prev0); } break; } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { Tnode_bROa11lyF5vxEN9aYNbHmhw* typeexpr0; typeexpr0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, 0); { if (!!(((*(*typeexpr0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA143; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } goto LA141; LA143: ; { result0 = base_46gPaVDDGhiU69b2oKDJZuA((*typeexpr0).typ); { NIM_BOOL LOC148; Tnode_bROa11lyF5vxEN9aYNbHmhw* preprocessed0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC151; LOC148 = (NIM_BOOL)0; LOC148 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(result0); if (!LOC148) goto LA149; preprocessed0 = semgenericstmt_NBTNEqzl5NBSHnN0VGYkSQ_4(c0, n0); LOC151 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC151 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(preprocessed0); result0 = maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg(c0, LOC151); } goto LA146; LA149: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* alias0; alias0 = maybealiastype_9b8KQ4Nsc7irsi4WSz9bwapQ(c0, result0, prev0); { if (!!((alias0 == NIM_NIL))) goto LA155; result0 = alias0; } LA155: ; } LA146: ; } LA141: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = semtypeident_RiNpYDzSB8OUnjHue9b4s2g(c0, n0); { if (!((*s0).typ == NIM_NIL)) goto LA160; { if (!!(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA164; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA164: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } goto LA158; LA160: ; { NIM_BOOL LOC167; LOC167 = (NIM_BOOL)0; LOC167 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); if (!(LOC167)) goto LA168; LOC167 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA168: ; if (!LOC167) goto LA169; { NIM_BOOL LOC173; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC174; NimStringDesc* LOC178; LOC173 = (NIM_BOOL)0; LOC174 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC174 = base_46gPaVDDGhiU69b2oKDJZuA((*s0).typ); LOC173 = !(((*LOC174).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))); if (!(LOC173)) goto LA175; LOC173 = (prev0 == NIM_NIL); LA175: ; if (!!(LOC173)) goto LA176; LOC178 = (NimStringDesc*)0; LOC178 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_46); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC178); } LA176: ; result0 = base_46gPaVDDGhiU69b2oKDJZuA((*s0).typ); } goto LA158; LA169: ; { if (!(prev0 == NIM_NIL)) goto LA180; result0 = (*s0).typ; } goto LA158; LA180: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* alias0; alias0 = maybealiastype_9b8KQ4Nsc7irsi4WSz9bwapQ(c0, (*s0).typ, prev0); { if (!!((alias0 == NIM_NIL))) goto LA185; result0 = alias0; } goto LA183; LA185: ; { assigntype_50w9aT349c89bOXl19bOrS5HnA(prev0, (*s0).typ); { if (!!(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*(*s0).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*(*s0).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*(*s0).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*(*s0).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*(*s0).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*(*s0).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)))) goto LA190; (*prev0).Sup.id = (*(*s0).typ).Sup.id; } LA190: ; result0 = prev0; } LA183: ; } LA158: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { { NIM_BOOL LOC195; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* alias0; LOC195 = (NIM_BOOL)0; LOC195 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); if (!(LOC195)) goto LA196; LOC195 = !(((*(*n0).kindU.S4.sym).typ == NIM_NIL)); LA196: ; if (!LOC195) goto LA197; t0 = (*(*n0).kindU.S4.sym).typ; alias0 = maybealiastype_9b8KQ4Nsc7irsi4WSz9bwapQ(c0, t0, prev0); { if (!!((alias0 == NIM_NIL))) goto LA201; result0 = alias0; } goto LA199; LA201: ; { if (!(prev0 == NIM_NIL)) goto LA204; result0 = t0; } goto LA199; LA204: ; { assigntype_50w9aT349c89bOXl19bOrS5HnA(prev0, t0); result0 = prev0; } LA199: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, (*n0).kindU.S4.sym); } goto LA193; LA197: ; { { if (!!(((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA210; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA210: ; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } LA193: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133): { result0 = semobjectnode_lOYiaJyT4uh4YNmn53vE6w_11(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 134): { result0 = semtuple_lOYiaJyT4uh4YNmn53vE6w_10(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 135): { result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 136): { result0 = semtypeclass_lOYiaJyT4uh4YNmn53vE6w_12(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 141): { result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22), prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 142): { result0 = semanyref_D37UcvPnq8glOvYLKac7xg(c0, n0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21), prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 143): { result0 = semvartype_lOYiaJyT4uh4YNmn53vE6w_13(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 146): { result0 = semdistinct_lOYiaJyT4uh4YNmn53vE6w_14(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 137): { Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), prev0, c0); base0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, base0); (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 22))%(sizeof(NU32)*8)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 148): { { NI LOC224; Ttype_LTUWCZolpovw9cWE3JBWSUw* child0; LOC224 = (NI)0; LOC224 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC224 == ((NI) 0))) goto LA225; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51), c0); child0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25), c0); (*child0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))%(sizeof(NU32)*8)); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, child0); } goto LA222; LA225: ; { result0 = semproctypewithscope_kTKSeKYZsBbo9an4k2wSxLw(c0, n0, prev0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); (*result0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))%(sizeof(NU32)*8)); { NIM_BOOL LOC230; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC231; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC233; LOC230 = (NIM_BOOL)0; LOC231 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC231 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); LOC230 = ((*LOC231).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90)); if (!(LOC230)) goto LA232; LOC233 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC233 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); LOC230 = haspragma_JViD3fSNjxPl61dYtezU6A(LOC233, ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 139)); LA232: ; if (!LOC230) goto LA234; (*result0).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5); } goto LA228; LA234: ; { (*result0).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8); } LA228: ; } LA222: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 147): { { NI LOC240; LOC240 = (NI)0; LOC240 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC240 == ((NI) 0))) goto LA241; result0 = newconstraint_xxs9cRzK89b0nhQ1MlN1lnxQ(c0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)); } goto LA238; LA241: ; { result0 = semproctypewithscope_kTKSeKYZsBbo9an4k2wSxLw(c0, n0, prev0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); } LA238: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150): { result0 = semenum_lOYiaJyT4uh4YNmn53vE6w_15(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4): { result0 = (*n0).typ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128): { result0 = semstmtlisttype_lOYiaJyT4uh4YNmn53vE6w_16(c0, n0, prev0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 129): { result0 = semblocktype_lOYiaJyT4uh4YNmn53vE6w_17(c0, n0, prev0); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = neworprevtype_Ptxn1X8ejfTJKKtQUSwKqA(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50), prev0, c0); } break; } asgnRefNoCycle((void**) (&(*n0).typ), result0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semaftermacrocall_InSQ3LpBhnCqFgw1Hbb18Q_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC5; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC19; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA += ((NI) 1); { if (!(((NI) 100) < evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA)) goto LA3; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*s0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 187), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA3: ; LOC5 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC5 = getmodule_0lPlu1uOok1rRK50z1V70A((*s0).owner); (*c0).friendmodules = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&((*c0).friendmodules)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&(*c0).friendmodules->data[(*c0).friendmodules->Sup.len]), LOC5); ++(*c0).friendmodules->Sup.len; result0 = n0; (*n0).flags &= ~(((NU16)1) << ((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 7)) % (sizeof(NU16)*8))); { if (!((*(*s0).typ).sons->data[((NI) 0)] == NIM_NIL)) goto LA8; result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, result0); } goto LA6; LA8: ; { switch ((*(*(*s0).typ).sons->data[((NI) 0)]).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): { result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, flags0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): { result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, result0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA16; (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 128); } LA16: ; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, result0, NIM_NIL); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, typ0)); } break; default: { result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, flags0); result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*(*s0).typ).sons->data[((NI) 0)], result0); } break; } } LA6: ; evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA -= ((NI) 1); LOC19 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC19 = pop_mA1eT6kISPgp1oy9bdDHO4Atransf((&(*c0).friendmodules)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmacroexpr_woULc1D9b2DCEYOx5yRZXRg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; pushinfocontext_zQWo2MALtrYvLPyMtv28iA((*norig0).info); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, sym0); { if (!(sym0 == (*(*c0).p).owner)) goto LA3; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 26), (*(*sym0).name).s); } LA3: ; result0 = evalmacrocall_NNZcYiEoPcdLz5gpQBCUgQ((*c0).module, (*c0).cache, n0, norig0, sym0); { if (!!(((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 9))&15U)))!=0))) goto LA7; result0 = semaftermacrocall_InSQ3LpBhnCqFgw1Hbb18Q_2(c0, result0, sym0, flags0); } LA7: ; result0 = wrapincomesfrom_YbfXH27kQZj5oIysAn7Rfg((*norig0).info, result0); popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsym_InSQ3LpBhnCqFgw1Hbb18Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*s0).typ, 43024); switch ((*LOC2).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): { { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA6; result0 = inlineconst_7eGRXXWdaRx5r9aCyN8PHUwsem(n0, s0); } goto LA4; LA6: ; { result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } LA4: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { { NI LOC12; LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*s0).ast); if (!(LOC12 == ((NI) 0))) goto LA13; result0 = inlineconst_7eGRXXWdaRx5r9aCyN8PHUwsem(n0, s0); } goto LA10; LA13: ; { result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } LA10: ; } break; default: { result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; } } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { { NIM_BOOL LOC20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; NI LOC23; LOC20 = (NIM_BOOL)0; LOC20 = ((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 11))&15U)))!=0); if (!(LOC20)) goto LA21; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*s0).ast, ((NI) 2)); LOC23 = (NI)0; LOC23 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(LOC22); LOC20 = (((NI) 0) < LOC23); LA21: ; if (!LOC20) goto LA24; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } goto LA18; LA24: ; { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, n0, s0, flags0); } LA18: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { { NIM_BOOL LOC30; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC32; NI LOC33; LOC30 = (NIM_BOOL)0; LOC30 = ((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 11))&15U)))!=0); if (!(LOC30)) goto LA31; LOC32 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC32 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*s0).ast, ((NI) 2)); LOC33 = (NI)0; LOC33 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(LOC32); LOC30 = (((NI) 0) < LOC33); LA31: ; if (!LOC30) goto LA34; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } goto LA28; LA34: ; { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, flags0); } LA28: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3): { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); { NIM_BOOL LOC40; LOC40 = (NIM_BOOL)0; LOC40 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)); if (!(LOC40)) goto LA41; LOC40 = !(((*(*s0).typ).n == NIM_NIL)); LA41: ; if (!LOC40) goto LA42; result0 = (*(*s0).typ).n; goto BeforeRet; } goto LA38; LA42: ; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)) goto LA45; { Tnode_bROa11lyF5vxEN9aYNbHmhw* realparam0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC58; if (!(*(*c0).p).wasforwarded) goto LA49; realparam0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*(*(*(*c0).p).owner).typ).n, (NI)((*s0).position + ((NI) 1))); { NIM_BOOL LOC53; NimStringDesc* LOC57; LOC53 = (NIM_BOOL)0; LOC53 = ((*realparam0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC53)) goto LA54; LOC53 = ((*(*realparam0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA54: ; if (!!(LOC53)) goto LA55; LOC57 = (NimStringDesc*)0; LOC57 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_188); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC57); } LA55: ; LOC58 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC58 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*(*(*(*c0).p).owner).typ).n, (NI)((*s0).position + ((NI) 1))); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g((*LOC58).kindU.S4.sym, (*n0).info); goto BeforeRet; } goto LA47; LA49: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* u0; if (!((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16))) goto LA60; u0 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(c0, (*s0).name); { NIM_BOOL LOC64; NIM_BOOL LOC65; NimStringDesc* LOC70; LOC64 = (NIM_BOOL)0; LOC65 = (NIM_BOOL)0; LOC65 = !((u0 == NIM_NIL)); if (!(LOC65)) goto LA66; LOC65 = ((*u0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA66: ; LOC64 = LOC65; if (!(LOC64)) goto LA67; LOC64 = ((*u0).owner == (*s0).owner); LA67: ; if (!!(LOC64)) goto LA68; LOC70 = (NimStringDesc*)0; LOC70 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_189); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC70); } LA68: ; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(u0, (*n0).info); goto BeforeRet; } goto LA47; LA60: ; LA47: ; } goto LA38; LA45: ; LA38: ; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 20): { { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 261))) goto LA74; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_190)); } LA74: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4): { { if (!((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA79; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); asgnRefNoCycle((void**) (&(*result0).typ), (*s0).typ); } goto LA77; LA79: ; { if (!!(((*s0).ast == NIM_NIL))) goto LA82; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*s0).ast, 0); } goto LA77; LA82: ; { asgnRefNoCycle((void**) (&(*n0).typ), (*s0).typ); result0 = n0; goto BeforeRet; } LA77: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); { NIM_BOOL LOC88; LOC88 = (NIM_BOOL)0; LOC88 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59)); if (!(LOC88)) goto LA89; LOC88 = !(((*(*s0).typ).n == NIM_NIL)); LA89: ; if (!LOC88) goto LA90; result0 = (*(*s0).typ).n; goto BeforeRet; } LA90: ; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, (*s0).typ)); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18): { Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* p0; p0 = (*c0).p; { while (1) { NIM_BOOL LOC95; LOC95 = (NIM_BOOL)0; LOC95 = !((p0 == NIM_NIL)); if (!(LOC95)) goto LA96; LOC95 = ((*p0).selfsym == NIM_NIL); LA96: ; if (!LOC95) goto LA94; p0 = (*p0).next; } LA94: ; } { NIM_BOOL LOC99; Ttype_LTUWCZolpovw9cWE3JBWSUw* ty0; Tnode_bROa11lyF5vxEN9aYNbHmhw* check0; LOC99 = (NIM_BOOL)0; LOC99 = !((p0 == NIM_NIL)); if (!(LOC99)) goto LA100; LOC99 = !(((*p0).selfsym == NIM_NIL)); LA100: ; if (!LOC99) goto LA101; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*p0).selfsym).typ, 14682128); { while (1) { if (!(((*ty0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 27))&31U)))!=0)) goto LA104; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ty0, 8192); } LA104: ; } check0 = NIM_NIL; { if (!((*ty0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA107; { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; check0 = NIM_NIL; f0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, n0, (*ty0).n, (*s0).name, &check0); { NIM_BOOL LOC113; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC121; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC122; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC123; LOC113 = (NIM_BOOL)0; LOC113 = !((f0 == NIM_NIL)); if (!(LOC113)) goto LA114; LOC113 = fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch(c0, f0); LA114: ; if (!LOC113) goto LA115; { if (!!((f0 == s0))) goto LA119; raiseassert_PpfSiTIeNpMAb9a5o6SglJw_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_191)); } LA119: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, f0); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n0).info, (*f0).typ); LOC121 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC121 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*p0).selfsym); LOC122 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC122 = makederef_nRsa9acFWDI6GmzVZLXX3CQ(LOC121); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC122); LOC123 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC123 = newsymnode_1ARBpggFQuvUDBVYjBelcw(f0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC123); { if (!!((check0 == NIM_NIL))) goto LA126; asgnRefNoCycle((void**) (&(*check0).kindU.S6.sons->data[((NI) 0)]), result0); asgnRefNoCycle((void**) (&(*check0).typ), (*result0).typ); result0 = check0; } LA126: ; goto BeforeRet; } LA115: ; { if (!((*ty0).sons->data[((NI) 0)] == NIM_NIL)) goto LA130; goto LA109; } LA130: ; ty0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*ty0).sons->data[((NI) 0)], 14682384); } } LA109: ; } LA107: ; } LA101: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; default: { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; } }BeforeRet: ; return result0; } static N_INLINE(void, markindirect_O6Goi0HOTgd4UUjew33hWwsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { { if (!((61440 &(1U<<((NU)((*s0).kind)&31U)))!=0)) goto LA3; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 15))%(sizeof(NU32)*8)); } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semfieldaccess_tayBCUAEli3HMPwxdS9aMbg_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = builtinfieldaccess_tayBCUAEli3HMPwxdS9aMbg_3(c0, n0, flags0); { if (!(result0 == NIM_NIL)) goto LA3; result0 = dottransformation_NBTNEqzl5NBSHnN0VGYkSQ_23(c0, n0); } LA3: ; return result0; } N_NIMCALL(void, maybelifttype_ZjrentwOCaxAZXvd9adaBZA)(Ttype_LTUWCZolpovw9cWE3JBWSUw** t0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* lifted0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), info0); lifted0 = liftparamtype_chBum8SPIhP5b9b9b9aO9a9b0dw(c0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), LOC2, (*t0), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_193), info0, NIM_FALSE); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); { if (!!((lifted0 == NIM_NIL))) goto LA5; unsureAsgnRef((void**) (&(*t0)), lifted0); } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, inferwithmetatype_zxcTA9cfDCRYoPTKthQbpVQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, NIM_BOOL coercedistincts0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), formal0); m0.coercedistincts = coercedistincts0; result0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg((&m0), formal0, (*arg0).typ, arg0, NIM_NIL); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = m0.genericconverter; if (!(LOC3)) goto LA4; LOC3 = !((result0 == NIM_NIL)); LA4: ; if (!LOC3) goto LA5; instgenericconvertersarg_VXWuzBfroXU41p0pUFZiRA(c0, result0, (&m0)); } LA5: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC11; if (!!((result0 == NIM_NIL))) goto LA9; LOC11 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC11 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(formal0, IL64(18014398509481984)); asgnRefNoCycle((void**) (&(*result0).typ), generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ(c0, m0.bindings, (*arg0).info, LOC11)); } goto LA7; LA9: ; { typemismatch_ScpDxXjg7tRc9a9aUBDo3etA(arg0, formal0, (*arg0).typ); result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); asgnRefNoCycle((void**) (&(*result0).typ), formal0); } LA7: ; return result0; } N_NIMCALL(Tconvstatus_GXWKwypnpPcXHHdgiz4mmw, checkconversionbetweenobjects_lp7WRXiyZWtabcFiipqOkQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* castdest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0, NI pointers0) { Tconvstatus_GXWKwypnpPcXHHdgiz4mmw result0; NI diff0; { result0 = (Tconvstatus_GXWKwypnpPcXHHdgiz4mmw)0; diff0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(castdest0, src0); { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = (diff0 == ((NI) 2147483647)); if (LOC3) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = (((NI) 1) < pointers0); if (!(LOC5)) goto LA6; LOC5 = !((diff0 == ((NI) 0))); LA6: ; LOC3 = LOC5; LA4: ; if (!LOC3) goto LA7; result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 2); } goto LA1; LA7: ; { result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 0); } LA1: ; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tconvstatus_GXWKwypnpPcXHHdgiz4mmw, checkconvertible_wEOZJi37IDVoHBUIR9aqU5w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* castdest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0) { Tconvstatus_GXWKwypnpPcXHHdgiz4mmw result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* d0; Ttype_LTUWCZolpovw9cWE3JBWSUw* s0; NI pointers0; { result0 = (Tconvstatus_GXWKwypnpPcXHHdgiz4mmw)0; result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 0); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(castdest0, src0, 0); if (!(LOC3)) goto LA4; LOC3 = ((*castdest0).sym == (*src0).sym); LA4: ; if (!LOC3) goto LA5; { if (!!(((*castdest0).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) && (*castdest0).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*castdest0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*castdest0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*castdest0).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*castdest0).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)))) goto LA9; result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 1); } LA9: ; goto BeforeRet; } LA5: ; d0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(castdest0, 8431888); s0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(src0, 8431632); pointers0 = ((NI) 0); { while (1) { NIM_BOOL LOC13; NIM_BOOL LOC14; LOC13 = (NIM_BOOL)0; LOC14 = (NIM_BOOL)0; LOC14 = !((d0 == NIM_NIL)); if (!(LOC14)) goto LA15; LOC14 = ((*d0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*d0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22)); LA15: ; LOC13 = LOC14; if (!(LOC13)) goto LA16; LOC13 = ((*d0).kind == (*s0).kind); LA16: ; if (!LOC13) goto LA12; d0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(d0); s0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(s0); pointers0 += ((NI) 1); } LA12: ; } { if (!(d0 == NIM_NIL)) goto LA19; result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 2); } goto LA17; LA19: ; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = ((*d0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC22)) goto LA23; LOC22 = ((*s0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); LA23: ; if (!LOC22) goto LA24; result0 = checkconversionbetweenobjects_lp7WRXiyZWtabcFiipqOkQ(d0, s0, pointers0); } goto LA17; LA24: ; { NIM_BOOL LOC27; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC28; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC30; LOC27 = (NIM_BOOL)0; LOC28 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC28 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(castdest0, 9480464); LOC27 = ((*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*LOC28).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*LOC28).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)); if (!(LOC27)) goto LA29; LOC30 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC30 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(src0, 9480208); LOC27 = ((*LOC30).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*LOC30).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*LOC30).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*LOC30).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*LOC30).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)); LA29: ; if (!LOC27) goto LA31; } goto LA17; LA31: ; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC34; LOC34 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC34 = cmptypes_FaOaPySakBuGGYvKQQE5NQ(c0, d0, s0); switch (LOC34) { case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8): { { NIM_BOOL LOC38; LOC38 = (NIM_BOOL)0; LOC38 = comparetypes_Wiat9a9c5vPvjDreVawQ2qgA(castdest0, src0, ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 1), 0); if (!!(LOC38)) goto LA39; result0 = ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 2); } LA39: ; } break; default: { } break; } } LA17: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconv_NBTNEqzl5NBSHnN0VGYkSQ_26)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* targettype0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* op0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((LOC3 == ((NI) 2)))) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 164), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = n0; goto BeforeRet; } LA4: ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60), (*n0).info); LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); targettype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC6, 256); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); maybelifttype_ZjrentwOCaxAZXvd9adaBZA(&targettype0, c0, (*LOC7).info); LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC8); op0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0); { NIM_BOOL LOC11; Tnode_bROa11lyF5vxEN9aYNbHmhw* final0; LOC11 = (NIM_BOOL)0; LOC11 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(targettype0); if (!LOC11) goto LA12; final0 = inferwithmetatype_zxcTA9cfDCRYoPTKthQbpVQ(c0, targettype0, op0, NIM_TRUE); addson_gCCf68XrWL79bKes6htzFjQ(result0, final0); asgnRefNoCycle((void**) (&(*result0).typ), (*final0).typ); goto BeforeRet; } LA12: ; asgnRefNoCycle((void**) (&(*result0).typ), targettype0); addson_gCCf68XrWL79bKes6htzFjQ(result0, op0); { NIM_BOOL LOC16; Tconvstatus_GXWKwypnpPcXHHdgiz4mmw status0; LOC16 = (NIM_BOOL)0; LOC16 = issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem(op0); if (!!(LOC16)) goto LA17; status0 = checkconvertible_wEOZJi37IDVoHBUIR9aqU5w(c0, (*result0).typ, (*op0).typ); switch (status0) { case ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 0): { { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = ((*op0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC22)) goto LA23; LOC22 = isgenericroutine_djUd579cPfs7OC9aZ8QT9cItg((*op0).kindU.S4.sym); LA23: ; if (!LOC22) goto LA24; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*result0).typ, (*result0).kindU.S6.sons->data[((NI) 1)])); } goto LA20; LA24: ; { NIM_BOOL LOC27; LOC27 = (NIM_BOOL)0; LOC27 = ((*op0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37)); if (!(LOC27)) goto LA28; LOC27 = ((*targettype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); LA28: ; if (!LOC27) goto LA29; op0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, targettype0, op0); } goto LA20; LA29: ; LA20: ; } break; case ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 1): { NimStringDesc* LOC32; LOC32 = (NimStringDesc*)0; LOC32 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*result0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 272), LOC32); } break; case ((Tconvstatus_GXWKwypnpPcXHHdgiz4mmw) 2): { result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*result0).typ, (*result0).kindU.S6.sons->data[((NI) 1)]); { NimStringDesc* LOC38; TY_Re75IspeoxXy2oCZHwcRrA LOC39; NimStringDesc* LOC40; if (!(result0 == NIM_NIL)) goto LA36; LOC38 = (NimStringDesc*)0; LOC38 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 145)); memset((void*)LOC39, 0, sizeof(LOC39)); LOC39[0] = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*op0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC39[1] = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*result0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC40 = (NimStringDesc*)0; LOC40 = nsuFormatOpenArray(LOC38, LOC39, 2); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC40); } LA36: ; } break; } } goto LA14; LA17: ; { { NI i_D8EnmOzncAFyp9aj3ScKN4Q; NI HEX3Atmp_f164mF9bYcYNYs9a09aJggMag; NI LOC43; NI res_0OMn3zGK5qNHiYkUi3gFUA; i_D8EnmOzncAFyp9aj3ScKN4Q = (NI)0; HEX3Atmp_f164mF9bYcYNYs9a09aJggMag = (NI)0; LOC43 = (NI)0; LOC43 = sonslen_qPWPHw7WgJeEVYUdcaRIig(op0); HEX3Atmp_f164mF9bYcYNYs9a09aJggMag = (NI)(LOC43 - ((NI) 1)); res_0OMn3zGK5qNHiYkUi3gFUA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; Tconvstatus_GXWKwypnpPcXHHdgiz4mmw status0; if (!(res_0OMn3zGK5qNHiYkUi3gFUA <= HEX3Atmp_f164mF9bYcYNYs9a09aJggMag)) goto LA45; i_D8EnmOzncAFyp9aj3ScKN4Q = res_0OMn3zGK5qNHiYkUi3gFUA; it0 = (*op0).kindU.S6.sons->data[i_D8EnmOzncAFyp9aj3ScKN4Q]; status0 = checkconvertible_wEOZJi37IDVoHBUIR9aqU5w(c0, (*result0).typ, (*it0).typ); { if (!((3 &(1U<<((NU)(status0)&7U)))!=0)) goto LA48; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, (*it0).kindU.S4.sym); markindirect_O6Goi0HOTgd4UUjew33hWwsem(c0, (*it0).kindU.S4.sym); result0 = it0; goto BeforeRet; } LA48: ; res_0OMn3zGK5qNHiYkUi3gFUA += ((NI) 1); } LA45: ; } } errorusequalifier_9cGfUAm9aoATyTJ1builOBlA(c0, (*n0).info, (*(*op0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym); } LA14: ; }BeforeRet: ; return result0; } N_NIMCALL(void, checkinitialized_hXJdeRPGsZ9ca8uIo1z8TEA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Intset_PQrmFm4BXFkFSVOUl1ojSg ids0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_3o9a5FcDcKtkm9bmY8td3Hvg; NI HEX3Atmp_A9bGMLtbsRlMbbC2c9bXl9csA; NI LOC3; NI res_hFXzwZO63SVOpmPZ9aak9a9ag; i_3o9a5FcDcKtkm9bmY8td3Hvg = (NI)0; HEX3Atmp_A9bGMLtbsRlMbbC2c9bXl9csA = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_A9bGMLtbsRlMbbC2c9bXl9csA = (NI)(LOC3 - ((NI) 1)); res_hFXzwZO63SVOpmPZ9aak9a9ag = ((NI) 0); { while (1) { if (!(res_hFXzwZO63SVOpmPZ9aak9a9ag <= HEX3Atmp_A9bGMLtbsRlMbbC2c9bXl9csA)) goto LA5; i_3o9a5FcDcKtkm9bmY8td3Hvg = res_hFXzwZO63SVOpmPZ9aak9a9ag; checkinitialized_hXJdeRPGsZ9ca8uIo1z8TEA((*n0).kindU.S6.sons->data[i_3o9a5FcDcKtkm9bmY8td3Hvg], ids0, info0); res_hFXzwZO63SVOpmPZ9aak9a9ag += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA9; internalerror_MXmtqrCmYwtOPkDCFgUWKQ(info0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_195)); } LA9: ; checkinitialized_hXJdeRPGsZ9ca8uIo1z8TEA((*n0).kindU.S6.sons->data[((NI) 0)], ids0, info0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { { NIM_BOOL LOC14; NIM_BOOL LOC16; NimStringDesc* LOC19; LOC14 = (NIM_BOOL)0; LOC14 = !(((196608 & (*(*(*n0).kindU.S4.sym).typ).flags) == 0)); if (!(LOC14)) goto LA15; LOC16 = (NIM_BOOL)0; LOC16 = contains_sYBLNwnPJlAFi0nfWU79awg(ids0, (*(*(*n0).kindU.S4.sym).name).Sup.id); LOC14 = !(LOC16); LA15: ; if (!LOC14) goto LA17; LOC19 = (NimStringDesc*)0; LOC19 = rawNewString((*(*(*n0).kindU.S4.sym).name).s->Sup.len + 23); appendString(LOC19, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_196)); appendString(LOC19, (*(*(*n0).kindU.S4.sym).name).s); message_VpilfPWbplGz6ny7O9cfr2g_2(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC19); } LA17: ; } break; default: { internalerror_MXmtqrCmYwtOPkDCFgUWKQ(info0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_195)); } break; } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semobjconstr_tayBCUAEli3HMPwxdS9aMbg_12)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* objtype0; Intset_PQrmFm4BXFkFSVOUl1ojSg ids0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; t0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL); result0 = n0; asgnRefNoCycle((void**) (&(*result0).typ), t0); (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 38); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 2064); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA3; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 2064); } LA3: ; { if (!!(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA7; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_194)); goto BeforeRet; } LA7: ; objtype0 = t0; memset((void*)(&ids0), 0, sizeof(ids0)); chckNil((void*)(&ids0)); memset((void*)(&ids0), 0, sizeof(ids0)); initintset_a9a80eJplB17xrdZJ41Baww((&ids0)); { NI i_0jr09bvB9a26LnT69a6NpQ4cg; NI HEX3Atmp_idnLZ5MTe9bUm9cSS4ZfbAwA; NI LOC10; NI res_vUxD4sqKSNETksU4vdxXzg; i_0jr09bvB9a26LnT69a6NpQ4cg = (NI)0; HEX3Atmp_idnLZ5MTe9bUm9cSS4ZfbAwA = (NI)0; LOC10 = (NI)0; LOC10 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_idnLZ5MTe9bUm9cSS4ZfbAwA = (LOC10 - 1); res_vUxD4sqKSNETksU4vdxXzg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; Tident_4umxGerWTHGPwUms7Yqu3g* id0; Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; Tnode_bROa11lyF5vxEN9aYNbHmhw* check0; Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; if (!(res_vUxD4sqKSNETksU4vdxXzg <= HEX3Atmp_idnLZ5MTe9bUm9cSS4ZfbAwA)) goto LA12; i_0jr09bvB9a26LnT69a6NpQ4cg = res_vUxD4sqKSNETksU4vdxXzg; it0 = (*n0).kindU.S6.sons->data[i_0jr09bvB9a26LnT69a6NpQ4cg]; { if (!!(((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA15; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 173), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto LA9; } LA15: ; id0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*it0).kindU.S6.sons->data[((NI) 0)]); { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&ids0), (*id0).Sup.id); if (!LOC19) goto LA20; localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 89), (*id0).s); } LA20: ; e0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*it0).kindU.S6.sons->data[((NI) 1)], (flags0 & 64)); check0 = NIM_NIL; f0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; t0 = objtype0; { while (1) { check0 = NIM_NIL; f0 = lookupinrecordandbuildcheck_JBx1AZYPDCxfKhSdwAlMIQ(c0, it0, (*t0).n, id0, &check0); { if (!!((f0 == NIM_NIL))) goto LA26; goto LA22; } LA26: ; { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA30; goto LA22; } LA30: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); } } LA22: ; { NIM_BOOL LOC34; LOC34 = (NIM_BOOL)0; LOC34 = !((f0 == NIM_NIL)); if (!(LOC34)) goto LA35; LOC34 = fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch(c0, f0); LA35: ; if (!LOC34) goto LA36; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(f0)); e0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, (*f0).typ, e0); { if (!!((check0 == NIM_NIL))) goto LA40; asgnRefNoCycle((void**) (&(*check0).kindU.S6.sons->data[((NI) 0)]), (*it0).kindU.S6.sons->data[((NI) 0)]); add_gCCf68XrWL79bKes6htzFjQ_3(it0, check0); } LA40: ; } goto LA32; LA36: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*it0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 83), (*id0).s); } LA32: ; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 1)]), e0); res_vUxD4sqKSNETksU4vdxXzg += ((NI) 1); } LA12: ; } } LA9: ; { if (!(((*objtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))&31U)))!=0)) goto LA45; { while (1) { checkinitialized_hXJdeRPGsZ9ca8uIo1z8TEA((*objtype0).n, ids0, (*n0).info); { if (!((*objtype0).sons->data[((NI) 0)] == NIM_NIL)) goto LA51; goto LA47; } LA51: ; objtype0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*objtype0).sons->data[((NI) 0)], 14682384); } } LA47: ; } LA45: ; }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupfordefined_F2apxA1mUDws3z1jxnN0Ag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tident_4umxGerWTHGPwUms7Yqu3g* i0, NIM_BOOL onlycurrentscope0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!onlycurrentscope0) goto LA3; result0 = localsearchinscope_QSW6N9asb3CJMR79bV8BqwHw_2(c0, i0); } goto LA1; LA3: ; { result0 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(c0, i0); } LA1: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, lookupfordefined_edtQLdIqzC1ARTuDjrAPGQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL onlycurrentscope0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { result0 = lookupfordefined_F2apxA1mUDws3z1jxnN0Ag(c0, (*n0).kindU.S5.ident, onlycurrentscope0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; result0 = NIM_NIL; { if (!onlycurrentscope0) goto LA5; goto BeforeRet; } LA5: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); m0 = lookupfordefined_edtQLdIqzC1ARTuDjrAPGQ(c0, (*n0).kindU.S6.sons->data[((NI) 0)], onlycurrentscope0); { NIM_BOOL LOC9; Tident_4umxGerWTHGPwUms7Yqu3g* ident0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; LOC9 = (NIM_BOOL)0; LOC9 = !((m0 == NIM_NIL)); if (!(LOC9)) goto LA10; LOC9 = ((*m0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)); LA10: ; if (!LOC9) goto LA11; LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); ident0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC13); { if (!(m0 == (*c0).module)) goto LA16; result0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*(*c0).toplevelscope).symbols, ident0); } goto LA14; LA16: ; { result0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*m0).kindU.S3.tab, ident0); } LA14: ; } LA11: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC20; LOC20 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC20 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); result0 = lookupfordefined_F2apxA1mUDws3z1jxnN0Ag(c0, LOC20, onlycurrentscope0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = (*n0).kindU.S4.sym; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56): { result0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; } break; default: { NimStringDesc* LOC24; LOC24 = (NimStringDesc*)0; LOC24 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 20), LOC24); result0 = NIM_NIL; } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdefined_L11TTu9cTLKTiOotbD8R7mg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL onlycurrentscope0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0)); { NIM_BOOL LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tident_4umxGerWTHGPwUms7Yqu3g* LOC6; LOC3 = (NIM_BOOL)0; LOC3 = !(onlycurrentscope0); if (!(LOC3)) goto LA4; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC6 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC6 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC5); LOC3 = eqStrings((*LOC6).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_197)); LA4: ; if (!LOC3) goto LA7; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA11; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_198)); } goto LA9; LA11: ; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = isdefined_rrIlGPFUdgeaN36zhjolNA((*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident); if (!LOC14) goto LA15; (*result0).kindU.S1.intval = IL64(1); } goto LA9; LA15: ; LA9: ; } goto LA1; LA7: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC18; LOC18 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC18 = lookupfordefined_edtQLdIqzC1ARTuDjrAPGQ(c0, (*n0).kindU.S6.sons->data[((NI) 1)], onlycurrentscope0); if (!!((LOC18 == NIM_NIL))) goto LA19; (*result0).kindU.S1.intval = IL64(1); } goto LA1; LA19: ; LA1: ; (*result0).info = (*n0).info; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, setms_A4JTgeIWVdD5h3XlOxJe9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(s0)); (*(*n0).kindU.S6.sons->data[((NI) 0)]).info = (*n0).info; return result0; } static N_INLINE(void, pushSafePoint)(TSafePoint* s0) { (*s0).hasRaiseAction = NIM_FALSE; (*s0).prev = exchandler_rqLlY5bs9atDw2OXYqJEn5g; exchandler_rqLlY5bs9atDw2OXYqJEn5g = s0; } static N_INLINE(void, popSafePoint)(void) { exchandler_rqLlY5bs9atDw2OXYqJEn5g = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).prev; } static N_INLINE(Exception*, getCurrentException)(void) { Exception* result0; result0 = (Exception*)0; result0 = currexception_9bVPeDJlYTi9bQApZpfH8wjg; return result0; } static N_INLINE(NimStringDesc*, getcurrentexceptionmsg_fOe1OXzHoGbgrd7IEmbp5Qsem)(void) { NimStringDesc* result0; Exception* e0; { result0 = (NimStringDesc*)0; e0 = getCurrentException(); { if (!(e0 == NIM_NIL)) goto LA3; result0 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA1; LA3: ; { result0 = copyString((*e0).message); } LA1: ; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(void, popCurrentException)(void) { asgnRef((void**) (&currexception_9bVPeDJlYTi9bQApZpfH8wjg), NIM_NIL); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryexpr_tayBCUAEli3HMPwxdS9aMbg_14)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* volatile result0; NI olderrorcount0; NI olderrormax0; NI oldcompilesid0; Tscope_1cQRXW6aAknk7ywAwjH3nw* oldscope0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; NI oldownerlen0; TY_jWKvSdankQPoT5bw9cBU9aiw* oldgenerics0; Terroroutput_Arf2Sd69cWst7QFd6o9cPEeg_Set olderroroutputs0; NI oldcontextlen0; NI oldingenericcontext0; NI oldinunrolledcontext0; NI oldingenericinst0; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* oldproccon0; NimStringDesc* err0; TSafePoint T_rF9caJawfOjYTjsgLVUSGFA_199; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; olderrorcount0 = gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ; olderrormax0 = gerrormax_3SQ5c6N518fjbsvI7YHFOA; oldcompilesid0 = (*c0).compilescontextid; (*c0).compilescontextidgenerator += ((NI) 1); (*c0).compilescontextid = (*c0).compilescontextidgenerator; gerrormax_3SQ5c6N518fjbsvI7YHFOA = ((NI) 2147483647); oldscope0 = (*c0).currentscope; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); oldownerlen0 = (gowners_Mqav72yFEOYlyvIu4zynTg ? gowners_Mqav72yFEOYlyvIu4zynTg->Sup.len : 0); oldgenerics0 = (*c0).generics; olderroroutputs0 = erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ; erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ = 0; oldcontextlen0 = getinfocontextlen_0lkQdWPL9cInSudoB8uZo6g(); oldingenericcontext0 = (*c0).ingenericcontext; oldinunrolledcontext0 = (*c0).inunrolledcontext; oldingenericinst0 = (*c0).ingenericinst; oldproccon0 = (*c0).p; if ((*c0).generics) nimGCunrefNoCycle((*c0).generics); (*c0).generics = (TY_jWKvSdankQPoT5bw9cBU9aiw*) newSeqRC1((&NTI_jWKvSdankQPoT5bw9cBU9aiw), 0); err0 = (NimStringDesc*)0; pushSafePoint(&T_rF9caJawfOjYTjsgLVUSGFA_199); T_rF9caJawfOjYTjsgLVUSGFA_199.status = setjmp(T_rF9caJawfOjYTjsgLVUSGFA_199.context); if (T_rF9caJawfOjYTjsgLVUSGFA_199.status == 0) { result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, flags0); { if (!!((gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ == olderrorcount0))) goto LA5; result0 = NIM_NIL; } LA5: ; popSafePoint(); } else { popSafePoint(); if (isObj(getCurrentException()->Sup.m_type, (&NTI_YAlYTV9cm9c08Uxrh3d9aczDg))) { T_rF9caJawfOjYTjsgLVUSGFA_199.status = 0; { if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0)) goto LA11; err0 = getcurrentexceptionmsg_fOe1OXzHoGbgrd7IEmbp5Qsem(); } LA11: ; popCurrentException(); } } if (T_rF9caJawfOjYTjsgLVUSGFA_199.status != 0) reraiseException(); (*c0).compilescontextid = oldcompilesid0; genericSeqAssign((&(*c0).generics), oldgenerics0, (&NTI_jWKvSdankQPoT5bw9cBU9aiw)); (*c0).ingenericcontext = oldingenericcontext0; (*c0).inunrolledcontext = oldinunrolledcontext0; (*c0).ingenericinst = oldingenericinst0; asgnRef((void**) (&(*c0).p), oldproccon0); setinfocontextlen_CUC2nrYwUx4AGmcsbz84aA(oldcontextlen0); gowners_Mqav72yFEOYlyvIu4zynTg = (TY_sksVpmPRIkNR9axiwtD1Guw*) setLengthSeq(&(gowners_Mqav72yFEOYlyvIu4zynTg)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*), ((NI) (oldownerlen0))); asgnRef((void**) (&(*c0).currentscope), oldscope0); erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ = olderroroutputs0; gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ = olderrorcount0; gerrormax_3SQ5c6N518fjbsvI7YHFOA = olderrormax0; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 6))&63U)))!=0); if (!(LOC15)) goto LA16; LOC15 = !((err0 == 0)); LA16: ; if (!LOC15) goto LA17; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, err0); } LA17: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcompiles_tayBCUAEli3HMPwxdS9aMbg_13)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((LOC3 == ((NI) 2)))) goto LA4; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); goto BeforeRet; } LA4: ; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = tryexpr_tayBCUAEli3HMPwxdS9aMbg_14(c0, LOC6, flags0); result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (!((LOC7 == NIM_NIL))))); (*result0).info = (*n0).info; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsizeof_NBTNEqzl5NBSHnN0VGYkSQ_27)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((LOC3 == ((NI) 2)))) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 72), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_200)); } goto LA1; LA4: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 32)); } LA1: ; asgnRefNoCycle((void**) (&(*n0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31))); result0 = n0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, isopimpl_NBTNEqzl5NBSHnN0VGYkSQ_29)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; NIM_BOOL LOC5; NI LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; NimStringDesc* LOC15; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC6 = (NI)0; LOC6 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC5 = (LOC6 == ((NI) 3)); if (!(LOC5)) goto LA7; LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC5 = !(((*LOC8).typ == NIM_NIL)); LA7: ; LOC4 = LOC5; if (!(LOC4)) goto LA9; LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC4 = ((*(*LOC10).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA9: ; LOC3 = LOC4; if (!(LOC3)) goto LA11; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC3 = ((*LOC12).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*LOC12).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22) || (*LOC12).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4)); LA11: ; if (!!(LOC3)) goto LA13; LOC15 = (NimStringDesc*)0; LOC15 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_202); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC15); } LA13: ; LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); t10 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*LOC16).typ, IL64(2305843009213694208)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; NimStringDesc* LOC23; LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); if (!((*LOC19).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*LOC19).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA20; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC23 = (NimStringDesc*)0; LOC23 = nsuNormalize((*LOC22).kindU.S3.strval); if (eqStrings(LOC23, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_203))) goto LA24; goto LA25; LA24: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NIM_BOOL LOC28; NIM_BOOL LOC29; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t10, 1091856); LOC28 = (NIM_BOOL)0; LOC29 = (NIM_BOOL)0; LOC29 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)); if (!(LOC29)) goto LA30; LOC29 = ((*t0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA30: ; LOC28 = LOC29; if (!(LOC28)) goto LA31; LOC28 = !((((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))&31U)))!=0)); LA31: ; result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (LOC28))); } goto LA26; LA25: ; { result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0)); } LA26: ; } goto LA17; LA20: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; NIM_BOOL match0; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC35; LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); t20 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*LOC34).typ, 256); maybelifttype_ZjrentwOCaxAZXvd9adaBZA(&t20, c0, (*n0).info); memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), t20); LOC35 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC35 = typerel_0fsYV9bVZA2eXpHTIQspjZA((&m0), t20, t10, NIM_TRUE); match0 = (((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3) <= LOC35); result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (match0))); } LA17: ; asgnRefNoCycle((void**) (&(*result0).typ), (*n0).typ); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semis_NBTNEqzl5NBSHnN0VGYkSQ_28)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Ttype_LTUWCZolpovw9cWE3JBWSUw* lhstype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((LOC3 == ((NI) 3)))) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 208), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_201)); } LA4: ; result0 = n0; asgnRefNoCycle((void**) (&(*n0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, LOC6, 34)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); if (!!(((*LOC9).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*LOC9).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA10; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); t20 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, LOC12, NIM_NIL); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*LOC13).info, t20)); } LA10: ; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); lhstype0 = (*LOC14).typ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; if (!!(((*lhstype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA17; LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), maketypesymnode_WUfNJViYK5FzDoEUa9alPdA(c0, lhstype0, (*LOC19).info)); } goto LA15; LA17: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC21; LOC21 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC21 = base_46gPaVDDGhiU69b2oKDJZuA(lhstype0); if (!((*LOC21).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA22; goto BeforeRet; } goto LA15; LA22: ; LA15: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC26; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC27; NIM_BOOL LOC28; LOC26 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC26 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC27 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC27 = base_46gPaVDDGhiU69b2oKDJZuA((*LOC26).typ); LOC28 = (NIM_BOOL)0; LOC28 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA(LOC27); if (!!(LOC28)) goto LA29; result0 = isopimpl_NBTNEqzl5NBSHnN0VGYkSQ_29(c0, n0); } LA29: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semof_NBTNEqzl5NBSHnN0VGYkSQ_30)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* b0; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Ttype_LTUWCZolpovw9cWE3JBWSUw* y0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 3))) goto LA4; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 2)], 32)); a0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, 14723344); b0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 2)]).typ, 14723344); x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, 14723088); y0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 2)]).typ, 14723088); { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = ((*x0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); if (LOC8) goto LA9; LOC8 = !(((*y0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))); LA9: ; if (!LOC8) goto LA10; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 209), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_204)); } goto LA6; LA10: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = !(((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); if (LOC13) goto LA14; LOC13 = !(((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); LA14: ; if (!LOC13) goto LA15; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 209), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_204)); } goto LA6; LA15: ; { NI diff0; diff0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(a0, b0); { NimStringDesc* LOC22; if (!(diff0 <= ((NI) 0))) goto LA20; LOC22 = (NimStringDesc*)0; LOC22 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 280), LOC22); result0 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1)); (*result0).info = (*n0).info; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); goto BeforeRet; } goto LA18; LA20: ; { NimStringDesc* LOC26; if (!(diff0 == ((NI) 2147483647))) goto LA24; LOC26 = (NimStringDesc*)0; LOC26 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(a0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 210), LOC26); } goto LA18; LA24: ; LA18: ; } LA6: ; } goto LA1; LA4: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 208), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_204)); } LA1: ; asgnRefNoCycle((void**) (&(*n0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); result0 = n0; }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, expectmacroortemplatecall_RiNpYDzSB8OUnjHue9b4s2g_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; Tsym_AXG7xcvKqaxY6koRX1xkCw* expandedsym0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; LOC3 = (NIM_BOOL)0; LOC3 = iscallexpr_63pt39coF5C8JoG0utNnwWg(n0); if (!LOC3) goto LA4; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); expandedsym0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, LOC6, 2); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; NimStringDesc* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; if (!(expandedsym0 == NIM_NIL)) goto LA9; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC12 = (NimStringDesc*)0; LOC12 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC11, 0); errorundeclaredidentifier_UdgIujB9c9aSmUmE2IpJcLjQ(c0, (*n0).info, LOC12); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, LOC13); goto BeforeRet; } LA9: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; if (!!(((196608 &(1U<<((NU)((*expandedsym0).kind)&31U)))!=0))) goto LA16; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 220), (*(*expandedsym0).name).s); LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, LOC18); goto BeforeRet; } LA16: ; result0 = expandedsym0; } goto LA1; LA4: ; { NimStringDesc* LOC20; LOC20 = (NimStringDesc*)0; LOC20 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 220), LOC20); result0 = errorsym_IOsv2I6GLAg6uZx8BH20Hw(c0, n0); } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpandtoast_NBTNEqzl5NBSHnN0VGYkSQ_31)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* macrocall0; Tsym_AXG7xcvKqaxY6koRX1xkCw* expandedsym0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; macrocall0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); expandedsym0 = expectmacroortemplatecall_RiNpYDzSB8OUnjHue9b4s2g_3(c0, macrocall0); { if (!((*expandedsym0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0))) goto LA3; result0 = n0; goto BeforeRet; } LA3: ; asgnRefNoCycle((void**) (&(*macrocall0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(expandedsym0, (*macrocall0).info)); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, expandedsym0); { NI i_YG8q2rJ9bn9bPSd9aVFtQN8aQ; NI HEX3Atmp_GcAhyhc7W1YW79ckp79cqJrQ; NI LOC6; NI res_s4GEEJIRr7bOXqWciThSTw; i_YG8q2rJ9bn9bPSd9aVFtQN8aQ = (NI)0; HEX3Atmp_GcAhyhc7W1YW79ckp79cqJrQ = (NI)0; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(macrocall0); HEX3Atmp_GcAhyhc7W1YW79ckp79cqJrQ = (NI)(LOC6 - ((NI) 1)); res_s4GEEJIRr7bOXqWciThSTw = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; if (!(res_s4GEEJIRr7bOXqWciThSTw <= HEX3Atmp_GcAhyhc7W1YW79ckp79cqJrQ)) goto LA8; i_YG8q2rJ9bn9bPSd9aVFtQN8aQ = res_s4GEEJIRr7bOXqWciThSTw; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(macrocall0, i_YG8q2rJ9bn9bPSd9aVFtQN8aQ); asgnRefNoCycle((void**) (&(*macrocall0).kindU.S6.sons->data[i_YG8q2rJ9bn9bPSd9aVFtQN8aQ]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, LOC9, 0)); res_s4GEEJIRr7bOXqWciThSTw += ((NI) 1); } LA8: ; } } { NimStringDesc* LOC14; if (!!(((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 23)))) goto LA12; LOC14 = (NimStringDesc*)0; LOC14 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_205); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC14); } LA12: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC17; LOC17 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC17 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_60)); if (!!((LOC17 == NIM_NIL))) goto LA18; asgnRefNoCycle((void**) (&(*n0).typ), systypefromname_vnIahA154tB9cPaKezatdMg(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_61))); } goto LA15; LA18: ; { asgnRefNoCycle((void**) (&(*n0).typ), systypefromname_vnIahA154tB9cPaKezatdMg(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_62))); } LA15: ; result0 = n0; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpandtoast_kHFc9cr2wdNLpv7n2WlVNHQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* magicsym0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 2))) goto LA4; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(magicsym0, (*n0).info)); result0 = semexpandtoast_NBTNEqzl5NBSHnN0VGYkSQ_31(c0, n0); } goto LA1; LA4: ; { result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, expectstring_LIpc2D29b1eS7UhahrSyd9ag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_Is5GCt3b4LOnz2UmtrOrUA) { NimStringDesc* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; { result0 = (NimStringDesc*)0; n0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, n_Is5GCt3b4LOnz2UmtrOrUA); { if (!((*n0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3; result0 = copyString((*n0).kindU.S3.strval); goto BeforeRet; } goto LA1; LA3: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 6), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(void, processquotations_i1sR47bJ6BvKTcOVKaBDAQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, NimStringDesc* op0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** quotes0, TY_ehmV9bTklH2Gt9cXHV9c0HLeQ** ids0) { { { if (!((*(*n0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30))) goto LA3; checksonslen_rPu9akNNYZgL0UexjMvt0HA((*n0), ((NI) 2)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; NimStringDesc* examinedop0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0), ((NI) 0)); if (!((*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA8; LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0), ((NI) 0)); examinedop0 = copyString((*(*LOC10).kindU.S5.ident).s); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; NimStringDesc* LOC16; Tident_4umxGerWTHGPwUms7Yqu3g* LOC17; if (!eqStrings(examinedop0, op0)) goto LA13; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0), ((NI) 1)); (*quotes0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&((*quotes0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&(*quotes0)->data[(*quotes0)->Sup.len]), LOC15); ++(*quotes0)->Sup.len; LOC16 = (NimStringDesc*)0; LOC16 = nimIntToStr(((*quotes0) ? (*quotes0)->Sup.len : 0)); LOC17 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC17 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC16); unsureAsgnRef((void**) (&(*n0)), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC17, (*(*n0)).info)); (*ids0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&((*ids0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&(*ids0)->data[(*ids0)->Sup.len]), (*n0)); ++(*ids0)->Sup.len; goto BeforeRet; } goto LA11; LA13: ; { NIM_BOOL LOC19; NimStringDesc* LOC22; Tident_4umxGerWTHGPwUms7Yqu3g* LOC23; LOC19 = (NIM_BOOL)0; LOC19 = nsuStartsWith(examinedop0, op0); if (!LOC19) goto LA20; LOC22 = (NimStringDesc*)0; LOC22 = copyStr(examinedop0, (op0 ? op0->Sup.len : 0)); LOC23 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC23 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC22); asgnRefNoCycle((void**) (&(*(*n0)).kindU.S6.sons->data[((NI) 0)]), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC23, (*(*n0)).info)); } goto LA11; LA20: ; LA11: ; } LA8: ; } goto LA1; LA3: ; { NIM_BOOL LOC25; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; NimStringDesc* LOC30; Tident_4umxGerWTHGPwUms7Yqu3g* LOC31; LOC25 = (NIM_BOOL)0; LOC25 = ((*(*n0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53)); if (!(LOC25)) goto LA26; LOC25 = eqStrings(op0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_207)); LA26: ; if (!LOC25) goto LA27; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0), ((NI) 0)); (*quotes0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&((*quotes0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&(*quotes0)->data[(*quotes0)->Sup.len]), LOC29); ++(*quotes0)->Sup.len; LOC30 = (NimStringDesc*)0; LOC30 = nimIntToStr(((*quotes0) ? (*quotes0)->Sup.len : 0)); LOC31 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC31 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC30); unsureAsgnRef((void**) (&(*n0)), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC31, (*(*n0)).info)); (*ids0) = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&((*ids0))->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&(*ids0)->data[(*ids0)->Sup.len]), (*n0)); ++(*ids0)->Sup.len; goto BeforeRet; } goto LA1; LA27: ; LA1: ; { NI i_EqZ1YWhp86i0OSyfUqhj4w; NI HEX3Atmp_6efZOAxCiBHjdqki0Wf7og; NI LOC33; NI res_T4L6UJUEwhbf9aeorGFBKvA; i_EqZ1YWhp86i0OSyfUqhj4w = (NI)0; HEX3Atmp_6efZOAxCiBHjdqki0Wf7og = (NI)0; LOC33 = (NI)0; LOC33 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch((*n0)); HEX3Atmp_6efZOAxCiBHjdqki0Wf7og = (LOC33 - 1); res_T4L6UJUEwhbf9aeorGFBKvA = ((NI) 0); { while (1) { if (!(res_T4L6UJUEwhbf9aeorGFBKvA <= HEX3Atmp_6efZOAxCiBHjdqki0Wf7og)) goto LA35; i_EqZ1YWhp86i0OSyfUqhj4w = res_T4L6UJUEwhbf9aeorGFBKvA; processquotations_i1sR47bJ6BvKTcOVKaBDAQ(&(*(*n0)).kindU.S6.sons->data[i_EqZ1YWhp86i0OSyfUqhj4w], op0, quotes0, ids0); res_T4L6UJUEwhbf9aeorGFBKvA += ((NI) 1); } LA35: ; } } }BeforeRet: ; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newanonsym_QipBhfSaFRMFgMeAMVX7CA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(kind0, (*(*c0).cache).idanon, owner0, info0); (*result0).flags = IL64(2147483648); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodydirty_DuioLh4uofptxEKissr2sw_3)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA4; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = ((*s0).owner == (*c0).owner); if (!(LOC8)) goto LA9; LOC8 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA9: ; if (!LOC8) goto LA10; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } goto LA6; LA10: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC13) goto LA14; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); } goto LA6; LA14: ; LA6: ; } LA4: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55): { result0 = semtemplbodydirty_DuioLh4uofptxEKissr2sw_3(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 122): { result0 = sembindstmt_XWJ5OQVWh6L1jl3Wk49cjSQ((*c0).c, n0, (&(*c0).tobind)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; default: { { NIM_BOOL LOC22; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; LOC22 = (NIM_BOOL)0; LOC22 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45)); if (LOC22) goto LA23; LOC22 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53)); LA23: ; if (!LOC22) goto LA24; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { NIM_BOOL LOC28; LOC28 = (NIM_BOOL)0; LOC28 = !((s0 == NIM_NIL)); if (!(LOC28)) goto LA29; LOC28 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); LA29: ; if (!LOC28) goto LA30; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); goto BeforeRet; } LA30: ; } LA24: ; result0 = n0; { NI i_XNH9bgKcXybNMBeZEMZ4RjA; NI HEX3Atmp_HNGZyzfbDWXphfK9bVOUbyg; NI LOC33; NI res_3CLdPdX9c9cMH4w6MkniAzOA; i_XNH9bgKcXybNMBeZEMZ4RjA = (NI)0; HEX3Atmp_HNGZyzfbDWXphfK9bVOUbyg = (NI)0; LOC33 = (NI)0; LOC33 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_HNGZyzfbDWXphfK9bVOUbyg = (NI)(LOC33 - ((NI) 1)); res_3CLdPdX9c9cMH4w6MkniAzOA = ((NI) 0); { while (1) { if (!(res_3CLdPdX9c9cMH4w6MkniAzOA <= HEX3Atmp_HNGZyzfbDWXphfK9bVOUbyg)) goto LA35; i_XNH9bgKcXybNMBeZEMZ4RjA = res_3CLdPdX9c9cMH4w6MkniAzOA; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_XNH9bgKcXybNMBeZEMZ4RjA]), semtemplbodydirty_DuioLh4uofptxEKissr2sw_3(c0, (*n0).kindU.S6.sons->data[i_XNH9bgKcXybNMBeZEMZ4RjA])); res_3CLdPdX9c9cMH4w6MkniAzOA += ((NI) 1); } LA35: ; } } } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplsymbol_pBlmzERbp9c9aZrZG8goa4Fw_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0): { result0 = n0; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1)); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4): { result0 = newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*n0).info); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3): { result0 = n0; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { result0 = newsymnodetypedesc_wVxZy4v9cO2u5q0lBzQy6DA(s0, (*n0).info); } break; default: { result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } break; } return result0; } N_NIMCALL(void, openscope_0Es23PZ9cl46kbzD1369aKcw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0) { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ((*c0).c); } N_NIMCALL(void, closescope_v8rOnBcZIF3O8b3uSd4HeA)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0) { closescope_r2b7lx9cCbS9b0TH9b5UCNxAA((*c0).c); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodyscope_DuioLh4uofptxEKissr2sw_5)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; openscope_0Es23PZ9cl46kbzD1369aKcw(c0); result0 = semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, n0); closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); return result0; } N_NIMCALL(Tsymbinding_djea3jD0GJNy3LfTycW4Gw, symbinding_NA0Thw35VzKPau46ha9a0iA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsymbinding_djea3jD0GJNy3LfTycW4Gw result0; { result0 = (Tsymbinding_djea3jD0GJNy3LfTycW4Gw)0; { NI i_0qEihlwCudRYxJO0s0WuZg; NI HEX3Atmp_auitNR9brfnQ5OCj9bNt7LZw; NI LOC2; NI res_Pi0qUqsrT4Cr8rSwQg9csqQ; i_0qEihlwCudRYxJO0s0WuZg = (NI)0; HEX3Atmp_auitNR9brfnQ5OCj9bNt7LZw = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_auitNR9brfnQ5OCj9bNt7LZw = (NI)(LOC2 - ((NI) 1)); res_Pi0qUqsrT4Cr8rSwQg9csqQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; Tnode_bROa11lyF5vxEN9aYNbHmhw* key0; if (!(res_Pi0qUqsrT4Cr8rSwQg9csqQ <= HEX3Atmp_auitNR9brfnQ5OCj9bNt7LZw)) goto LA4; i_0qEihlwCudRYxJO0s0WuZg = res_Pi0qUqsrT4Cr8rSwQg9csqQ; it0 = (*n0).kindU.S6.sons->data[i_0qEihlwCudRYxJO0s0WuZg]; { if (!((*it0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA7; key0 = (*it0).kindU.S6.sons->data[((NI) 0)]; } goto LA5; LA7: ; { key0 = it0; } LA5: ; { Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw LOC14; if (!((*key0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA12; LOC14 = (Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw)0; LOC14 = whichkeyword_WhYAAh6vF1PoyH6Hsspu4Q((*key0).kindU.S5.ident); switch (LOC14) { case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 187): { result0 = ((Tsymbinding_djea3jD0GJNy3LfTycW4Gw) 1); goto BeforeRet; } break; case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 188): { result0 = ((Tsymbinding_djea3jD0GJNy3LfTycW4Gw) 2); goto BeforeRet; } break; default: { } break; } } LA12: ; res_Pi0qUqsrT4Cr8rSwQg9csqQ += ((NI) 1); } LA4: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, onlyreplaceparams_DuioLh4uofptxEKissr2sw_6)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA7; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = ((*s0).owner == (*c0).owner); if (!(LOC11)) goto LA12; LOC11 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA12: ; if (!LOC11) goto LA13; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } LA13: ; } LA7: ; } goto LA1; LA3: ; { { NI i_PthOJkeu3Dge2QxtBHEliw; NI HEX3Atmp_l19cu8M3pGW2mzXAcSHnsTg; NI LOC17; NI res_h5SiEJN9cPn9czy4Z9aak5Kdg; i_PthOJkeu3Dge2QxtBHEliw = (NI)0; HEX3Atmp_l19cu8M3pGW2mzXAcSHnsTg = (NI)0; LOC17 = (NI)0; LOC17 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_l19cu8M3pGW2mzXAcSHnsTg = (LOC17 - 1); res_h5SiEJN9cPn9czy4Z9aak5Kdg = ((NI) 0); { while (1) { if (!(res_h5SiEJN9cPn9czy4Z9aak5Kdg <= HEX3Atmp_l19cu8M3pGW2mzXAcSHnsTg)) goto LA19; i_PthOJkeu3Dge2QxtBHEliw = res_h5SiEJN9cPn9czy4Z9aak5Kdg; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_PthOJkeu3Dge2QxtBHEliw]), onlyreplaceparams_DuioLh4uofptxEKissr2sw_6(c0, (*n0).kindU.S6.sons->data[i_PthOJkeu3Dge2QxtBHEliw])); res_h5SiEJN9cPn9czy4Z9aak5Kdg += ((NI) 1); } LA19: ; } } } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getidentnode_DuioLh4uofptxEKissr2sw_7)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): { result0 = getidentnode_DuioLh4uofptxEKissr2sw_7(c0, (*n0).kindU.S6.sons->data[((NI) 1)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { result0 = getidentnode_DuioLh4uofptxEKissr2sw_7(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; result0 = n0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA6; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = ((*s0).owner == (*c0).owner); if (!(LOC10)) goto LA11; LOC10 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA11: ; if (!LOC10) goto LA12; result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } LA12: ; } LA6: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = n0; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); result0 = n0; } break; } return result0; } static N_INLINE(NIM_BOOL, istemplparam_hvqHvanyIpU9arLUwYZORaAsem)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; NIM_BOOL LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC3)) goto LA4; LOC3 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA4: ; LOC2 = LOC3; if (!(LOC2)) goto LA5; LOC2 = ((*(*n0).kindU.S4.sym).owner == (*c0).owner); LA5: ; LOC1 = LOC2; if (!(LOC1)) goto LA6; LOC1 = !((((*(*n0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); LA6: ; result0 = LOC1; return result0; } N_NIMCALL(void, replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA)(Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* s0) { switch ((*(*n0)).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): { replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(&(*(*n0)).kindU.S6.sons->data[((NI) 1)], s0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(&(*(*n0)).kindU.S6.sons->data[((NI) 0)], s0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { unsureAsgnRef((void**) (&(*n0)), s0); } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg((*n0)); } break; } } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newgensym_r2NfOr29cEs43xP6uab9cing)(Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(kind0, LOC1, (*c0).owner, (*n0).info); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))%(sizeof(NU32)*8)); (*result0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 21))%(sizeof(NU32)*8)); return result0; } N_NIMCALL(void, addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw k0) { { { NIM_BOOL LOC3; Tsymbinding_djea3jD0GJNy3LfTycW4Gw LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; Tnode_bROa11lyF5vxEN9aYNbHmhw* ident0; LOC3 = (NIM_BOOL)0; LOC3 = ((*(*n0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43)); if (!(LOC3)) goto LA4; LOC5 = (Tsymbinding_djea3jD0GJNy3LfTycW4Gw)0; LOC5 = symbinding_NA0Thw35VzKPau46ha9a0iA((*(*n0)).kindU.S6.sons->data[((NI) 1)]); LOC3 = (LOC5 == ((Tsymbinding_djea3jD0GJNy3LfTycW4Gw) 2)); LA4: ; if (!LOC3) goto LA6; x0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*n0), ((NI) 0)); { while (1) { switch ((*x0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): { x0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 1)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { x0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { goto LA8; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { unsureAsgnRef((void**) (&(*n0)), onlyreplaceparams_DuioLh4uofptxEKissr2sw_6(c0, (*n0))); goto BeforeRet; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(x0); } break; } } } LA8: ; ident0 = getidentnode_DuioLh4uofptxEKissr2sw_7(c0, x0); { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = istemplparam_hvqHvanyIpU9arLUwYZORaAsem((&(*c0)), ident0); if (!!(LOC17)) goto LA18; incl_iUpE9bYmIR0fROyJskQwN8g((&(*c0).toinject), (*(*x0).kindU.S5.ident).Sup.id); } goto LA15; LA18: ; { replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(n0, ident0); } LA15: ; } goto LA1; LA6: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* ident0; ident0 = getidentnode_DuioLh4uofptxEKissr2sw_7(c0, (*n0)); { NIM_BOOL LOC24; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC27; LOC24 = (NIM_BOOL)0; LOC24 = istemplparam_hvqHvanyIpU9arLUwYZORaAsem((&(*c0)), ident0); if (!!(LOC24)) goto LA25; LOC27 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC27 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(ident0); s0 = localsearchinscope_QSW6N9asb3CJMR79bV8BqwHw_2((*c0).c, LOC27); { NIM_BOOL LOC30; NIM_BOOL LOC31; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC36; LOC30 = (NIM_BOOL)0; LOC31 = (NIM_BOOL)0; LOC31 = !((s0 == NIM_NIL)); if (!(LOC31)) goto LA32; LOC31 = ((*s0).owner == (*c0).owner); LA32: ; LOC30 = LOC31; if (!(LOC30)) goto LA33; LOC30 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0); LA33: ; if (!LOC30) goto LA34; LOC36 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC36 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*(*n0)).info); replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(n0, LOC36); } goto LA28; LA34: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* local0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; local0 = newgensym_r2NfOr29cEs43xP6uab9cing(k0, ident0, c0); addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw((*c0).c, local0); LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(local0, (*(*n0)).info); replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(n0, LOC38); } LA28: ; } goto LA22; LA25: ; { replaceidentbysym_PoY9bmHZASHmN4kRJ9c61PEA(n0, ident0); } LA22: ; } LA1: ; }BeforeRet: ; } N_NIMCALL(void, semtemplsomedecl_7l8P1u9cbRbmxfIqmTswe6Q)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, NI start0) { { NI i_Qw1HlyFr26xKM9b8R09cA7FA; NI HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg; NI LOC2; NI res_ipWIQg0zJL8gnE4WmcONiQ; i_Qw1HlyFr26xKM9b8R09cA7FA = (NI)0; HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg = (NI)(LOC2 - ((NI) 1)); res_ipWIQg0zJL8gnE4WmcONiQ = start0; { while (1) { if (!(res_ipWIQg0zJL8gnE4WmcONiQ <= HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg)) goto LA4; i_Qw1HlyFr26xKM9b8R09cA7FA = res_ipWIQg0zJL8gnE4WmcONiQ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; a0 = (*n0).kindU.S6.sons->data[i_Qw1HlyFr26xKM9b8R09cA7FA]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8; goto LA5; } LA8: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = !(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35))); if (!(LOC12)) goto LA13; LOC12 = !(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36))); LA13: ; if (!LOC12) goto LA14; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA14: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))])); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))])); { NI j_Ph33gRhodjcn3n19bAlI8UA; NI HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg_2; NI res_ipWIQg0zJL8gnE4WmcONiQ_2; j_Ph33gRhodjcn3n19bAlI8UA = (NI)0; HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg_2 = (NI)0; HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg_2 = (NI)(L0 - ((NI) 3)); res_ipWIQg0zJL8gnE4WmcONiQ_2 = ((NI) 0); { while (1) { if (!(res_ipWIQg0zJL8gnE4WmcONiQ_2 <= HEX3Atmp_AdIxXTGg7qAdK7keX42Lsg_2)) goto LA18; j_Ph33gRhodjcn3n19bAlI8UA = res_ipWIQg0zJL8gnE4WmcONiQ_2; addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw(c0, &(*a0).kindU.S6.sons->data[j_Ph33gRhodjcn3n19bAlI8UA], symkind0); res_ipWIQg0zJL8gnE4WmcONiQ_2 += ((NI) 1); } LA18: ; } } } LA5: ; res_ipWIQg0zJL8gnE4WmcONiQ += ((NI) 1); } LA4: ; } } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semroutineintemplname_DuioLh4uofptxEKissr2sw_8)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA7; { NIM_BOOL LOC11; NIM_BOOL LOC13; LOC11 = (NIM_BOOL)0; LOC11 = ((*s0).owner == (*c0).owner); if (!(LOC11)) goto LA12; LOC13 = (NIM_BOOL)0; LOC13 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); if (LOC13) goto LA14; LOC13 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0); LA14: ; LOC11 = LOC13; LA12: ; if (!LOC11) goto LA15; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } LA15: ; } LA7: ; } goto LA1; LA3: ; { { NI i_VWx1vjoakHVK2Hjex81Wlw; NI HEX3Atmp_9cZPMNBJQYMgZLfB2r6zJZQ; NI LOC19; NI res_lZ7E2T9bkNxuBJfI6BKDreA; i_VWx1vjoakHVK2Hjex81Wlw = (NI)0; HEX3Atmp_9cZPMNBJQYMgZLfB2r6zJZQ = (NI)0; LOC19 = (NI)0; LOC19 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_9cZPMNBJQYMgZLfB2r6zJZQ = (NI)(LOC19 - ((NI) 1)); res_lZ7E2T9bkNxuBJfI6BKDreA = ((NI) 0); { while (1) { if (!(res_lZ7E2T9bkNxuBJfI6BKDreA <= HEX3Atmp_9cZPMNBJQYMgZLfB2r6zJZQ)) goto LA21; i_VWx1vjoakHVK2Hjex81Wlw = res_lZ7E2T9bkNxuBJfI6BKDreA; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_VWx1vjoakHVK2Hjex81Wlw]), semroutineintemplname_DuioLh4uofptxEKissr2sw_8(c0, (*n0).kindU.S6.sons->data[i_VWx1vjoakHVK2Hjex81Wlw])); res_lZ7E2T9bkNxuBJfI6BKDreA += ((NI) 1); } LA21: ; } } } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw k0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); { NIM_BOOL LOC3; Tsymbinding_djea3jD0GJNy3LfTycW4Gw LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* ident0; LOC3 = (NIM_BOOL)0; LOC3 = !(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52))); if (!(LOC3)) goto LA4; LOC5 = (Tsymbinding_djea3jD0GJNy3LfTycW4Gw)0; LOC5 = symbinding_NA0Thw35VzKPau46ha9a0iA((*n0).kindU.S6.sons->data[((NI) 4)]); LOC3 = (LOC5 == ((Tsymbinding_djea3jD0GJNy3LfTycW4Gw) 1)); LA4: ; if (!LOC3) goto LA6; ident0 = getidentnode_DuioLh4uofptxEKissr2sw_7(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); { NIM_BOOL LOC10; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; LOC10 = (NIM_BOOL)0; LOC10 = istemplparam_hvqHvanyIpU9arLUwYZORaAsem((&(*c0)), ident0); if (!!(LOC10)) goto LA11; s0 = newgensym_r2NfOr29cEs43xP6uab9cing(k0, ident0, c0); asgnRefNoCycle((void**) (&(*s0).ast), n0); addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw((*c0).c, s0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).info)); } goto LA8; LA11: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), ident0); } LA8: ; } goto LA1; LA6: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semroutineintemplname_DuioLh4uofptxEKissr2sw_8(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); } LA1: ; openscope_0Es23PZ9cl46kbzD1369aKcw(c0); { NI i_AYTpRMLPwSRMY9bMQytibXA; NI res_g0ztlfRgMNqwLmplQXKhdA; i_AYTpRMLPwSRMY9bMQytibXA = (NI)0; res_g0ztlfRgMNqwLmplQXKhdA = ((NI) 1); { while (1) { if (!(res_g0ztlfRgMNqwLmplQXKhdA <= ((NI) 6))) goto LA17; i_AYTpRMLPwSRMY9bMQytibXA = res_g0ztlfRgMNqwLmplQXKhdA; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_AYTpRMLPwSRMY9bMQytibXA]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[i_AYTpRMLPwSRMY9bMQytibXA])); res_g0ztlfRgMNqwLmplQXKhdA += ((NI) 1); } LA17: ; } } closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbodysons_DuioLh4uofptxEKissr2sw_9)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { NI i_RXHuB8ylM6068FgRdAiAFw; NI HEX3Atmp_kWclTT5o519czhbKj76ofwQ; NI LOC2; NI res_xYFMqxXT9cmwsaQvK4C9crIg; i_RXHuB8ylM6068FgRdAiAFw = (NI)0; HEX3Atmp_kWclTT5o519czhbKj76ofwQ = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_kWclTT5o519czhbKj76ofwQ = (LOC2 - 1); res_xYFMqxXT9cmwsaQvK4C9crIg = ((NI) 0); { while (1) { if (!(res_xYFMqxXT9cmwsaQvK4C9crIg <= HEX3Atmp_kWclTT5o519czhbKj76ofwQ)) goto LA4; i_RXHuB8ylM6068FgRdAiAFw = res_xYFMqxXT9cmwsaQvK4C9crIg; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_RXHuB8ylM6068FgRdAiAFw]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[i_RXHuB8ylM6068FgRdAiAFw])); res_xYFMqxXT9cmwsaQvK4C9crIg += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(NIM_BOOL, oprisroof_J6cfuIanCXYEsLNE8M8o9cQ_4)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { result0 = eqStrings((*(*n0).kindU.S5.ident).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_41)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = eqStrings((*(*(*n0).kindU.S4.sym).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_41)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { { NI LOC6; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC6 == ((NI) 1))) goto LA7; result0 = oprisroof_J6cfuIanCXYEsLNE8M8o9cQ_4((*n0).kindU.S6.sons->data[((NI) 0)]); } LA7: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56): { result0 = oprisroof_J6cfuIanCXYEsLNE8M8o9cQ_4((*n0).kindU.S6.sons->data[((NI) 0)]); } break; default: { } break; } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplbody_DuioLh4uofptxEKissr2sw_4)(Templctx_nh9bf8hW4pDvkirLeE4rmdw* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; { NIM_BOOL LOC4; LOC4 = (NIM_BOOL)0; LOC4 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).toinject, (*(*n0).kindU.S5.ident).Sup.id); if (!LOC4) goto LA5; result0 = n0; goto BeforeRet; } LA5: ; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA9; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = ((*s0).owner == (*c0).owner); if (!(LOC13)) goto LA14; LOC13 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA14: ; if (!LOC13) goto LA15; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } goto LA11; LA15: ; { NIM_BOOL LOC18; LOC18 = (NIM_BOOL)0; LOC18 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC18) goto LA19; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); } goto LA11; LA19: ; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tomixin, (*(*s0).name).Sup.id); if (!LOC22) goto LA23; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2)); } goto LA11; LA23: ; { NIM_BOOL LOC26; LOC26 = (NIM_BOOL)0; LOC26 = ((*s0).owner == (*c0).owner); if (!(LOC26)) goto LA27; LOC26 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0); LA27: ; if (!LOC26) goto LA28; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); } goto LA11; LA28: ; { result0 = semtemplsymbol_pBlmzERbp9c9aZrZG8goa4Fw_4((*c0).c, n0, s0); } LA11: ; } LA9: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55): { result0 = semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 122): { result0 = sembindstmt_XWJ5OQVWh6L1jl3Wk49cjSQ((*c0).c, n0, (&(*c0).tobind)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 123): { result0 = semmixinstmt_yB7qJYh9aH9cJ7wN3kjwrTGQ((*c0).c, n0, (&(*c0).tomixin)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92): { { NI i_1box9aUpJDI48FR9c9aaMYtDw; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA; NI LOC37; NI res_pHgWJq3kJhndyql3xbPfUQ; i_1box9aUpJDI48FR9c9aaMYtDw = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA = (NI)0; LOC37 = (NI)0; LOC37 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA = (NI)(LOC37 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_pHgWJq3kJhndyql3xbPfUQ <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA)) goto LA39; i_1box9aUpJDI48FR9c9aaMYtDw = res_pHgWJq3kJhndyql3xbPfUQ; it0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw]; { NI LOC42; LOC42 = (NI)0; LOC42 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0); if (!(LOC42 == ((NI) 2))) goto LA43; openscope_0Es23PZ9cl46kbzD1369aKcw(c0); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*it0).kindU.S6.sons->data[((NI) 0)])); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 1)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*it0).kindU.S6.sons->data[((NI) 1)])); closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } goto LA40; LA43: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw]), semtemplbodyscope_DuioLh4uofptxEKissr2sw_5(c0, it0)); } LA40: ; res_pHgWJq3kJhndyql3xbPfUQ += ((NI) 1); } LA39: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96): { openscope_0Es23PZ9cl46kbzD1369aKcw(c0); { NI i_1box9aUpJDI48FR9c9aaMYtDw_2; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_2; NI LOC48; NI res_pHgWJq3kJhndyql3xbPfUQ_2; i_1box9aUpJDI48FR9c9aaMYtDw_2 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_2 = (NI)0; LOC48 = (NI)0; LOC48 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_2 = (NI)(LOC48 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_2 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_2 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_2)) goto LA50; i_1box9aUpJDI48FR9c9aaMYtDw_2 = res_pHgWJq3kJhndyql3xbPfUQ_2; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_2]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_2])); res_pHgWJq3kJhndyql3xbPfUQ_2 += ((NI) 1); } LA50: ; } } closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97): { openscope_0Es23PZ9cl46kbzD1369aKcw(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); { NI i_1box9aUpJDI48FR9c9aaMYtDw_3; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_3; NI LOC53; NI res_pHgWJq3kJhndyql3xbPfUQ_3; i_1box9aUpJDI48FR9c9aaMYtDw_3 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_3 = (NI)0; LOC53 = (NI)0; LOC53 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_3 = (NI)(LOC53 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_3 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_pHgWJq3kJhndyql3xbPfUQ_3 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_3)) goto LA55; i_1box9aUpJDI48FR9c9aaMYtDw_3 = res_pHgWJq3kJhndyql3xbPfUQ_3; a0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_3]; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 1)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { NI j_9aP9cVor179b6wdUeyz5z9bUmQ; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_4; NI res_pHgWJq3kJhndyql3xbPfUQ_4; j_9aP9cVor179b6wdUeyz5z9bUmQ = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_4 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_4 = (NI)(L0 - ((NI) 2)); res_pHgWJq3kJhndyql3xbPfUQ_4 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_4 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_4)) goto LA58; j_9aP9cVor179b6wdUeyz5z9bUmQ = res_pHgWJq3kJhndyql3xbPfUQ_4; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[j_9aP9cVor179b6wdUeyz5z9bUmQ]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[j_9aP9cVor179b6wdUeyz5z9bUmQ])); res_pHgWJq3kJhndyql3xbPfUQ_4 += ((NI) 1); } LA58: ; } } asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semtemplbodyscope_DuioLh4uofptxEKissr2sw_5(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))])); res_pHgWJq3kJhndyql3xbPfUQ_3 += ((NI) 1); } LA55: ; } } closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 94): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 95): { NI L0; L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); openscope_0Es23PZ9cl46kbzD1369aKcw(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))])); { NI i_1box9aUpJDI48FR9c9aaMYtDw_4; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_5; NI res_pHgWJq3kJhndyql3xbPfUQ_5; i_1box9aUpJDI48FR9c9aaMYtDw_4 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_5 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_5 = (NI)(L0 - ((NI) 3)); res_pHgWJq3kJhndyql3xbPfUQ_5 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_5 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_5)) goto LA62; i_1box9aUpJDI48FR9c9aaMYtDw_4 = res_pHgWJq3kJhndyql3xbPfUQ_5; addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw(c0, &(*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_4], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 20)); res_pHgWJq3kJhndyql3xbPfUQ_5 += ((NI) 1); } LA62: ; } } asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))])); closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 112): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 127): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 129): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); openscope_0Es23PZ9cl46kbzD1369aKcw(c0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA66; s0 = newgensym_r2NfOr29cEs43xP6uab9cing(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 21), (*n0).kindU.S6.sons->data[((NI) 0)], c0); addprelimdecl_Ie7G9ay3wnizIhCbaYIVUtw((*c0).c, s0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).info)); } LA66: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 106): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semtemplbodyscope_DuioLh4uofptxEKissr2sw_5(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); { NI i_1box9aUpJDI48FR9c9aaMYtDw_5; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_6; NI LOC70; NI res_pHgWJq3kJhndyql3xbPfUQ_6; i_1box9aUpJDI48FR9c9aaMYtDw_5 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_6 = (NI)0; LOC70 = (NI)0; LOC70 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_6 = (NI)(LOC70 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_6 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI L0; if (!(res_pHgWJq3kJhndyql3xbPfUQ_6 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_6)) goto LA72; i_1box9aUpJDI48FR9c9aaMYtDw_5 = res_pHgWJq3kJhndyql3xbPfUQ_6; a0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_5]; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 1)); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { NI j_9aP9cVor179b6wdUeyz5z9bUmQ_2; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_7; NI res_pHgWJq3kJhndyql3xbPfUQ_7; j_9aP9cVor179b6wdUeyz5z9bUmQ_2 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_7 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_7 = (NI)(L0 - ((NI) 2)); res_pHgWJq3kJhndyql3xbPfUQ_7 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_7 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_7)) goto LA75; j_9aP9cVor179b6wdUeyz5z9bUmQ_2 = res_pHgWJq3kJhndyql3xbPfUQ_7; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[j_9aP9cVor179b6wdUeyz5z9bUmQ_2]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[j_9aP9cVor179b6wdUeyz5z9bUmQ_2])); res_pHgWJq3kJhndyql3xbPfUQ_7 += ((NI) 1); } LA75: ; } } asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), semtemplbodyscope_DuioLh4uofptxEKissr2sw_5(c0, (*a0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))])); res_pHgWJq3kJhndyql3xbPfUQ_6 += ((NI) 1); } LA72: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99): { semtemplsomedecl_7l8P1u9cbRbmxfIqmTswe6Q(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), ((NI) 0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100): { semtemplsomedecl_7l8P1u9cbRbmxfIqmTswe6Q(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9), ((NI) 0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); semtemplsomedecl_7l8P1u9cbRbmxfIqmTswe6Q(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), ((NI) 1)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 101): { { NI i_1box9aUpJDI48FR9c9aaMYtDw_6; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_8; NI LOC81; NI res_pHgWJq3kJhndyql3xbPfUQ_8; i_1box9aUpJDI48FR9c9aaMYtDw_6 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_8 = (NI)0; LOC81 = (NI)0; LOC81 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_8 = (NI)(LOC81 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_8 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_8 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_8)) goto LA83; i_1box9aUpJDI48FR9c9aaMYtDw_6 = res_pHgWJq3kJhndyql3xbPfUQ_8; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; a0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_6]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA87; goto LA84; } LA87: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA91; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA91: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw(c0, &(*a0).kindU.S6.sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 1)])); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 2)])); } LA84: ; res_pHgWJq3kJhndyql3xbPfUQ_8 += ((NI) 1); } LA83: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98): { { NI i_1box9aUpJDI48FR9c9aaMYtDw_7; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_9; NI LOC95; NI res_pHgWJq3kJhndyql3xbPfUQ_9; i_1box9aUpJDI48FR9c9aaMYtDw_7 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_9 = (NI)0; LOC95 = (NI)0; LOC95 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_9 = (NI)(LOC95 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_9 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_9 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_9)) goto LA97; i_1box9aUpJDI48FR9c9aaMYtDw_7 = res_pHgWJq3kJhndyql3xbPfUQ_9; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; a0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_7]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA101; goto LA98; } LA101: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA105; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA105: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); addlocaldecl_w8tQ2g9cGJTRX1sc4tPkZhw(c0, &(*a0).kindU.S6.sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); } LA98: ; res_pHgWJq3kJhndyql3xbPfUQ_9 += ((NI) 1); } LA97: ; } } { NI i_1box9aUpJDI48FR9c9aaMYtDw_8; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_10; NI LOC108; NI res_pHgWJq3kJhndyql3xbPfUQ_10; i_1box9aUpJDI48FR9c9aaMYtDw_8 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_10 = (NI)0; LOC108 = (NI)0; LOC108 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_10 = (NI)(LOC108 - ((NI) 1)); res_pHgWJq3kJhndyql3xbPfUQ_10 = ((NI) 0); { while (1) { if (!(res_pHgWJq3kJhndyql3xbPfUQ_10 <= HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_10)) goto LA110; i_1box9aUpJDI48FR9c9aaMYtDw_8 = res_pHgWJq3kJhndyql3xbPfUQ_10; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; a0 = (*n0).kindU.S6.sons->data[i_1box9aUpJDI48FR9c9aaMYtDw_8]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA114; goto LA111; } LA114: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA118; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA118: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); { if (!!(((*(*a0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA122; openscope_0Es23PZ9cl46kbzD1369aKcw(c0); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 1)])); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 2)])); closescope_v8rOnBcZIF3O8b3uSd4HeA(c0); } goto LA120; LA122: ; { asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 2)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 2)])); } LA120: ; } LA111: ; res_pHgWJq3kJhndyql3xbPfUQ_10 += ((NI) 1); } LA110: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 80): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 83): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 82): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81): { result0 = semroutineintemplbody_tZ0y3BLqy4d0VbZugMb29cw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): { asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90): { result0 = onlyreplaceparams_DuioLh4uofptxEKissr2sw_6(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC135; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC136; Tnode_bROa11lyF5vxEN9aYNbHmhw* n00; Tnode_bROa11lyF5vxEN9aYNbHmhw* old_HomQQfDqa12jsi6cdHb3tA; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC135 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC135 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_21)); LOC136 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC136 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC135, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC136); { NI i_1box9aUpJDI48FR9c9aaMYtDw_9; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_11; NI i_1box9aUpJDI48FR9c9aaMYtDw_10; i_1box9aUpJDI48FR9c9aaMYtDw_9 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_11 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_11 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_1box9aUpJDI48FR9c9aaMYtDw_10 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC140; if (!(i_1box9aUpJDI48FR9c9aaMYtDw_10 < HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_11)) goto LA139; i_1box9aUpJDI48FR9c9aaMYtDw_9 = i_1box9aUpJDI48FR9c9aaMYtDw_10; LOC140 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC140 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_1box9aUpJDI48FR9c9aaMYtDw_9); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC140); i_1box9aUpJDI48FR9c9aaMYtDw_10 += ((NI) 1); } LA139: ; } } n00 = semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); old_HomQQfDqa12jsi6cdHb3tA = (*c0).bracketexpr; unsureAsgnRef((void**) (&(*c0).bracketexpr), n00); result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, result0); unsureAsgnRef((void**) (&(*c0).bracketexpr), old_HomQQfDqa12jsi6cdHb3tA); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC142; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC143; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC142 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC142 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_42)); LOC143 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC143 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC142, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC143); { NI i_1box9aUpJDI48FR9c9aaMYtDw_11; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_12; NI i_1box9aUpJDI48FR9c9aaMYtDw_12; i_1box9aUpJDI48FR9c9aaMYtDw_11 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_12 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_1box9aUpJDI48FR9c9aaMYtDw_12 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC147; if (!(i_1box9aUpJDI48FR9c9aaMYtDw_12 < HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_12)) goto LA146; i_1box9aUpJDI48FR9c9aaMYtDw_11 = i_1box9aUpJDI48FR9c9aaMYtDw_12; LOC147 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC147 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_1box9aUpJDI48FR9c9aaMYtDw_11); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC147); i_1box9aUpJDI48FR9c9aaMYtDw_12 += ((NI) 1); } LA146: ; } } result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, result0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74): { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw k0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); a0 = (*n0).kindU.S6.sons->data[((NI) 0)]; b0 = (*n0).kindU.S6.sons->data[((NI) 1)]; k0 = (*a0).kind; switch (k0) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC150; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC151; Tnode_bROa11lyF5vxEN9aYNbHmhw* a00; Tnode_bROa11lyF5vxEN9aYNbHmhw* old_HomQQfDqa12jsi6cdHb3tA_2; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC150 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC150 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_44)); LOC151 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC151 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC150, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC151); { NI i_1box9aUpJDI48FR9c9aaMYtDw_13; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_13; NI i_1box9aUpJDI48FR9c9aaMYtDw_14; i_1box9aUpJDI48FR9c9aaMYtDw_13 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_13 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_13 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); i_1box9aUpJDI48FR9c9aaMYtDw_14 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC155; if (!(i_1box9aUpJDI48FR9c9aaMYtDw_14 < HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_13)) goto LA154; i_1box9aUpJDI48FR9c9aaMYtDw_13 = i_1box9aUpJDI48FR9c9aaMYtDw_14; LOC155 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC155 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, i_1box9aUpJDI48FR9c9aaMYtDw_13); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC155); i_1box9aUpJDI48FR9c9aaMYtDw_14 += ((NI) 1); } LA154: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(result0, b0); a00 = semtemplbody_DuioLh4uofptxEKissr2sw_4(c0, (*a0).kindU.S6.sons->data[((NI) 0)]); old_HomQQfDqa12jsi6cdHb3tA_2 = (*c0).bracketexpr; unsureAsgnRef((void**) (&(*c0).bracketexpr), a00); result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, result0); unsureAsgnRef((void**) (&(*c0).bracketexpr), old_HomQQfDqa12jsi6cdHb3tA_2); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC157; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC158; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC157 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC157 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_43)); LOC158 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC158 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC157, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC158); { NI i_1box9aUpJDI48FR9c9aaMYtDw_15; NI HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_14; NI i_1box9aUpJDI48FR9c9aaMYtDw_16; i_1box9aUpJDI48FR9c9aaMYtDw_15 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_14 = (NI)0; HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_14 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); i_1box9aUpJDI48FR9c9aaMYtDw_16 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC162; if (!(i_1box9aUpJDI48FR9c9aaMYtDw_16 < HEX3Atmp_z9bo6JaGQSvuvhfX0D2AExA_14)) goto LA161; i_1box9aUpJDI48FR9c9aaMYtDw_15 = i_1box9aUpJDI48FR9c9aaMYtDw_16; LOC162 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC162 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, i_1box9aUpJDI48FR9c9aaMYtDw_15); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC162); i_1box9aUpJDI48FR9c9aaMYtDw_16 += ((NI) 1); } LA161: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(result0, b0); result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, result0); } break; default: { result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, n0); } break; } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32): { result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, n0); { NIM_BOOL LOC167; NIM_BOOL LOC168; NI LOC170; LOC167 = (NIM_BOOL)0; LOC168 = (NIM_BOOL)0; LOC168 = !(((*c0).bracketexpr == NIM_NIL)); if (!(LOC168)) goto LA169; LOC170 = (NI)0; LOC170 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC168 = (LOC170 == ((NI) 2)); LA169: ; LOC167 = LOC168; if (!(LOC167)) goto LA171; LOC167 = oprisroof_J6cfuIanCXYEsLNE8M8o9cQ_4((*n0).kindU.S6.sons->data[((NI) 0)]); LA171: ; if (!LOC167) goto LA172; add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*c0).bracketexpr); } LA172: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg((*c0).c, n0, 0); { if (!!((s0 == NIM_NIL))) goto LA177; { NIM_BOOL LOC181; NIM_BOOL LOC182; NIM_BOOL LOC183; NI LOC187; LOC181 = (NIM_BOOL)0; LOC182 = (NIM_BOOL)0; LOC183 = (NIM_BOOL)0; LOC183 = ((*s0).owner == (*c0).owner); if (!(LOC183)) goto LA184; LOC183 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA184: ; LOC182 = LOC183; if (!(LOC182)) goto LA185; LOC182 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53)); LA185: ; LOC181 = LOC182; if (!(LOC181)) goto LA186; LOC187 = (NI)0; LOC187 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC181 = (LOC187 == ((NI) 1)); LA186: ; if (!LOC181) goto LA188; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); goto BeforeRet; } goto LA179; LA188: ; { NIM_BOOL LOC191; LOC191 = (NIM_BOOL)0; LOC191 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tobind, (*s0).Sup.id); if (!LOC191) goto LA192; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); goto BeforeRet; } goto LA179; LA192: ; { NIM_BOOL LOC195; LOC195 = (NIM_BOOL)0; LOC195 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).tomixin, (*(*s0).name).Sup.id); if (!LOC195) goto LA196; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 2)); goto BeforeRet; } goto LA179; LA196: ; { result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w((*c0).c, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 1)); goto BeforeRet; } LA179: ; } LA177: ; result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, n0); } break; default: { result0 = semtemplbodysons_DuioLh4uofptxEKissr2sw_9(c0, n0); } break; } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtemplatedef_NBTNEqzl5NBSHnN0VGYkSQ_33)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* gp0; NIM_BOOL alluntyped0; Templctx_nh9bf8hW4pDvkirLeE4rmdw ctx0; Tsym_AXG7xcvKqaxY6koRX1xkCw* proto0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; s0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!LOC3) goto LA4; s0 = semidentvis_nAR1sRY4lA5SigHzFvAJYw_2(c0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17), (*n0).kindU.S6.sons->data[((NI) 0)], 2); (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8)); } goto LA1; LA4: ; { s0 = semidentvis_nAR1sRY4lA5SigHzFvAJYw_2(c0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17), (*n0).kindU.S6.sons->data[((NI) 0)], 0); } LA1: ; pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); LOC7 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC7 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).info)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 4)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA10; pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*n0).kindU.S6.sons->data[((NI) 4)], T_rF9caJawfOjYTjsgLVUSGFA_211); } LA10: ; gp0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA14; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), semgenericparamlist_FHnQxPg6tiMHsFOOdAhreA(c0, (*n0).kindU.S6.sons->data[((NI) 2)], NIM_NIL)); gp0 = (*n0).kindU.S6.sons->data[((NI) 2)]; } goto LA12; LA14: ; { gp0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75), (*n0).info); } LA12: ; alluntyped0 = NIM_TRUE; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 3)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA19; semparamlist_Qyh9a7LvbGI5OBxQHRRO9bxA(c0, (*n0).kindU.S6.sons->data[((NI) 3)], gp0, s0); { NI i_MvjDOo9curR8gRX0iTR7tVg; NI HEX3Atmp_Q8d3s7n8Jypu9bbt8wk8kAg; NI LOC22; NI res_B7rRYKF3mymvz8VjpxVKog; i_MvjDOo9curR8gRX0iTR7tVg = (NI)0; HEX3Atmp_Q8d3s7n8Jypu9bbt8wk8kAg = (NI)0; LOC22 = (NI)0; LOC22 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*(*s0).typ).n); HEX3Atmp_Q8d3s7n8Jypu9bbt8wk8kAg = (NI)(LOC22 - ((NI) 1)); res_B7rRYKF3mymvz8VjpxVKog = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; if (!(res_B7rRYKF3mymvz8VjpxVKog <= HEX3Atmp_Q8d3s7n8Jypu9bbt8wk8kAg)) goto LA24; i_MvjDOo9curR8gRX0iTR7tVg = res_B7rRYKF3mymvz8VjpxVKog; param0 = (*(*(*(*s0).typ).n).kindU.S6.sons->data[i_MvjDOo9curR8gRX0iTR7tVg]).kindU.S4.sym; (*param0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31)) % (sizeof(NU32)*8))); { if (!!(((*(*param0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA27; alluntyped0 = NIM_FALSE; } LA27: ; res_B7rRYKF3mymvz8VjpxVKog += ((NI) 1); } LA24: ; } } { NI LOC31; LOC31 = (NI)0; LOC31 = sonslen_qPWPHw7WgJeEVYUdcaRIig(gp0); if (!(((NI) 0) < LOC31)) goto LA32; { if (!((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA36; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), gp0); } LA36: ; } LA32: ; { if (!((*(*(*n0).kindU.S6.sons->data[((NI) 3)]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA40; asgnRefNoCycle((void**) (&(*(*s0).typ).sons->data[((NI) 0)]), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7), c0)); asgnRefNoCycle((void**) (&(*(*(*s0).typ).n).kindU.S6.sons->data[((NI) 0)]), newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n0).info, (*(*s0).typ).sons->data[((NI) 0)])); } LA40: ; } goto LA17; LA19: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC43; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC44; asgnRefNoCycle((void**) (&(*s0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25), c0)); asgnRefNoCycle((void**) (&(*(*s0).typ).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n0).info)); LOC43 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC43 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*s0).typ, LOC43); LOC44 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC44 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n0).info, (*(*s0).typ).sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ((*(*s0).typ).n, LOC44); } LA17: ; { if (!alluntyped0) goto LA47; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))%(sizeof(NU32)*8)); } LA47: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA51; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), sempattern_NBTNEqzl5NBSHnN0VGYkSQ_8(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); } LA51: ; memset((void*)(&ctx0), 0, sizeof(ctx0)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.tobind)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.tomixin)); initintset_a9a80eJplB17xrdZJ41Baww((&ctx0.toinject)); ctx0.c = c0; ctx0.owner = s0; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&31U)))!=0)) goto LA55; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), semtemplbodydirty_DuioLh4uofptxEKissr2sw_3((&ctx0), (*n0).kindU.S6.sons->data[((NI) 6)])); } goto LA53; LA55: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), semtemplbody_DuioLh4uofptxEKissr2sw_4((&ctx0), (*n0).kindU.S6.sons->data[((NI) 6)])); } LA53: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); asgnRefNoCycle((void**) (&(*s0).ast), n0); result0 = n0; { if (!((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA60; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*s0).name).s); } LA60: ; proto0 = searchforproc_XUBQS3wiYN5kYQxrNN9awNQ(c0, (*c0).currentscope, s0); { if (!(proto0 == NIM_NIL)) goto LA64; addinterfaceoverloadablesymat_9bOlLzLejs1B7Z9asqeMQ3Sw(c0, (*c0).currentscope, s0); } goto LA62; LA64: ; { symtabreplace_9cpa7CNz9cHIC1kkUdx2eSyA((&(*(*c0).currentscope).symbols), proto0, s0); } LA62: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA69; (*c0).patterns = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&((*c0).patterns)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&(*c0).patterns->data[(*c0).patterns->Sup.len]), s0); ++(*c0).patterns->Sup.len; } LA69: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmagicsym_69c7ZmRTkaoYtVdPjKLzpQw)(Tmagic_shZhZOdbVC5nnFvcXQAImg magic0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(reprEnum((NI)magic0, (&NTI_shZhZOdbVC5nnFvcXQAImg))); result0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), LOC1, systemmodule_zVRpbHNEGZHBIbdtvq2fVg, gcodegenlineinfo_YdxwnIsjmcdfqhWBgk9bHYA); (*result0).magic = magic0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semquoteast_NBTNEqzl5NBSHnN0VGYkSQ_32)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* doblk0; NI LOC10; NimStringDesc* op0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* quotes0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* ids0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC28; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC29; Tnode_bROa11lyF5vxEN9aYNbHmhw* tmpl0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC41; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC42; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC43; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NI LOC4; NI LOC6; NimStringDesc* LOC9; LOC3 = (NIM_BOOL)0; LOC4 = (NI)0; LOC4 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC3 = (LOC4 == ((NI) 2)); if (LOC3) goto LA5; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC3 = (LOC6 == ((NI) 3)); LA5: ; if (!!(LOC3)) goto LA7; LOC9 = (NimStringDesc*)0; LOC9 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_206); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC9); } LA7: ; LOC10 = (NI)0; { if (!NIM_FALSE) goto LA13; LOC10 = ((NI) -1); } goto LA11; LA13: ; { NI LOC16; LOC16 = (NI)0; LOC16 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC10 = (NI)(LOC16 + ((NI) -1)); } LA11: ; doblk0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, LOC10); { NI LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; LOC19 = (NI)0; LOC19 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC19 == ((NI) 3))) goto LA20; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); op0 = expectstring_LIpc2D29b1eS7UhahrSyd9ag(c0, LOC22); } goto LA17; LA20: ; { op0 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_207)); } LA17: ; quotes0 = newseq_kRt1ZLhQ6puUVenSqCOflw(((NI) 1)); ids0 = newseq_kRt1ZLhQ6puUVenSqCOflw(((NI) 0)); { if (!!(((*doblk0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52)))) goto LA26; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 192), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_208)); } LA26: ; processquotations_i1sR47bJ6BvKTcOVKaBDAQ(&(*doblk0).kindU.S6.sons->data[((NI) 6)], op0, ("es0), (&ids0)); LOC28 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC28 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); LOC29 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC29 = newanonsym_QipBhfSaFRMFgMeAMVX7CA(c0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17), (*n0).info, LOC28); asgnRefNoCycle((void**) (&(*doblk0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC29)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC35; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC36; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC37; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC39; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; if (!(((NI) 0) < (ids0 ? ids0->Sup.len : 0))) goto LA32; asgnRefNoCycle((void**) (&(*doblk0).kindU.S6.sons->data[((NI) 3)]), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n0).info)); LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(doblk0, ((NI) 3)); LOC35 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC35 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_209)); LOC36 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC36 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC35); add_gCCf68XrWL79bKes6htzFjQ_3(LOC34, LOC36); LOC37 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC37 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_210)); LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC37); ids0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&(ids0)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&ids0->data[ids0->Sup.len]), LOC38); ++ids0->Sup.len; ids0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&(ids0)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&ids0->data[ids0->Sup.len]), emptynode_69ccLGuQ2mITw7zylZYtWcA); ++ids0->Sup.len; LOC39 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC39 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(doblk0, ((NI) 3)); LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*n0).info, ids0, NIM_NIL); add_gCCf68XrWL79bKes6htzFjQ_3(LOC39, LOC40); } LA32: ; tmpl0 = semtemplatedef_NBTNEqzl5NBSHnN0VGYkSQ_33(c0, doblk0); asgnRefNoCycle((void**) ("es0->data[((NI) 0)]), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(tmpl0, ((NI) 0))); LOC41 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC41 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC42, 0, sizeof(LOC42)); LOC43 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC43 = getmagicsym_69c7ZmRTkaoYtVdPjKLzpQw(((Tmagic_shZhZOdbVC5nnFvcXQAImg) 23)); LOC42[0] = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC43); LOC42[1] = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, quotes0, NIM_NIL); asgnRefNoCycle((void**) (&LOC41->data[0]), LOC42[0]); asgnRefNoCycle((void**) (&LOC41->data[1]), LOC42[1]); result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info, LOC41, NIM_NIL); result0 = semexpandtoast_NBTNEqzl5NBSHnN0VGYkSQ_31(c0, result0); return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, createflowvar_U6wGZVTfeqrv5dW9bsdFbzQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtype_FL9cZh2bRuJE31MWfcWQ4Yg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9), (*c0).module); LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_213)); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, (*LOC1).typ); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, t0); result0 = instgenericcontainer_JFPab1Oaa8wRyjR9bH3QQKw(c0, info0, result0, NIM_FALSE); return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, instantiatecreateflowvarcall_Jtpsdsv9cwZBeaYZYn880hQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q bindings0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC6; TNimObject* LOC7; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; sym0 = getcompilerproc_shbCpG9bVTG0JrTOcXxC2hQ_2(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_214)); { if (!(sym0 == NIM_NIL)) goto LA3; localerror_VpilfPWbplGz6ny7O9cfr2g(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 67), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_214)); } LA3: ; memset((void*)(&bindings0), 0, sizeof(bindings0)); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&bindings0)); LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*sym0).ast, ((NI) 2)); LOC6 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC6 = &(*(*LOC5).kindU.S6.sons->data[((NI) 0)]).typ->Sup; LOC7 = (TNimObject*)0; LOC7 = &t0->Sup.Sup; idtableput_3gLsywwJ9bZDaf06DfKpYbw((&bindings0), LOC6, LOC7); result0 = (*c0).semgenerateinstance.ClEnv? (*c0).semgenerateinstance.ClPrc(c0, sym0, bindings0, info0, (*c0).semgenerateinstance.ClEnv):((T_rF9caJawfOjYTjsgLVUSGFA_215)((*c0).semgenerateinstance.ClPrc))(c0, sym0, bindings0, info0); { if (!(((*result0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 16))&31U)))!=0)) goto LA10; (*result0).flags = ((*result0).flags & ~ 65632); asgnRefNoCycle((void**) (&(*result0).loc.r), NIM_NIL); } LA10: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmagic_InSQ3LpBhnCqFgw1Hbb18Q_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*s0).magic) { case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 13): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = semaddr_g9ay67gfQCKqn9akofTrVvgQ(c0, (*n0).kindU.S6.sons->data[((NI) 1)], eqStrings((*(*s0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_126))); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 14): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = semtypeof_NBTNEqzl5NBSHnN0VGYkSQ_15(c0, (*n0).kindU.S6.sons->data[((NI) 1)]); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 1): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semdefined_L11TTu9cTLKTiOotbD8R7mg(c0, LOC4, NIM_FALSE); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 2): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semdefined_L11TTu9cTLKTiOotbD8R7mg(c0, LOC6, NIM_TRUE); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 3): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semcompiles_tayBCUAEli3HMPwxdS9aMbg_13(c0, LOC8, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 7): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semlowhigh_S9brLJW1Nbrxs3E5z3cKFKQ(c0, LOC10, ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 7)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 8): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semlowhigh_S9brLJW1Nbrxs3E5z3cKFKQ(c0, LOC12, ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 8)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 9): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semsizeof_NBTNEqzl5NBSHnN0VGYkSQ_27(c0, LOC14); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 11): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semis_NBTNEqzl5NBSHnN0VGYkSQ_28(c0, LOC16); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 12): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); result0 = semof_NBTNEqzl5NBSHnN0VGYkSQ_30(c0, LOC18); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 18): { result0 = semshallowcopy_tayBCUAEli3HMPwxdS9aMbg_10(c0, n0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 23): { result0 = semexpandtoast_kHFc9cr2wdNLpv7n2WlVNHQ(c0, n0, s0, flags0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 24): { result0 = semquoteast_NBTNEqzl5NBSHnN0VGYkSQ_32(c0, n0); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 154): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC23; NimStringDesc* LOC24; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC23 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC23 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); LOC24 = (NimStringDesc*)0; LOC24 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(LOC23, 4); result0 = newstrnodet_s9bBacfAl4uY8dfeXxOyllg(LOC24, n0); asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28))); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 155): { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; { NIM_BOOL LOC28; LOC28 = (NIM_BOOL)0; LOC28 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); if (!!(LOC28)) goto LA29; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_212)); } LA29: ; result0 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); x0 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); { if (!((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52))) goto LA33; x0 = (*x0).kindU.S6.sons->data[((NI) 6)]; } LA33: ; (*c0).inparallelstmt += ((NI) 1); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, x0)); (*c0).inparallelstmt -= ((NI) 1); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 208): { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; NI LOC40; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC41; result0 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); { NI i_9ctFoXFIeFEkUL2AeORW9aBw; NI HEX3Atmp_vWeL7PUPT7mujUCLWzLrHQ; NI LOC37; NI res_Lqv8jqJ88H9ap0KufsSDJ0Q; i_9ctFoXFIeFEkUL2AeORW9aBw = (NI)0; HEX3Atmp_vWeL7PUPT7mujUCLWzLrHQ = (NI)0; LOC37 = (NI)0; LOC37 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_vWeL7PUPT7mujUCLWzLrHQ = (LOC37 - 1); res_Lqv8jqJ88H9ap0KufsSDJ0Q = ((NI) 1); { while (1) { if (!(res_Lqv8jqJ88H9ap0KufsSDJ0Q <= HEX3Atmp_vWeL7PUPT7mujUCLWzLrHQ)) goto LA39; i_9ctFoXFIeFEkUL2AeORW9aBw = res_Lqv8jqJ88H9ap0KufsSDJ0Q; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_9ctFoXFIeFEkUL2AeORW9aBw]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[i_9ctFoXFIeFEkUL2AeORW9aBw], 0)); res_Lqv8jqJ88H9ap0KufsSDJ0Q += ((NI) 1); } LA39: ; } } LOC40 = (NI)0; LOC40 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); LOC41 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC41 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, (NI)(LOC40 - ((NI) 1))); typ0 = (*LOC41).typ; { NIM_BOOL LOC44; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC53; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC54; LOC44 = (NIM_BOOL)0; LOC44 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen(typ0); if (!!(LOC44)) goto LA45; { Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ LOC49; LOC49 = (Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ)0; LOC49 = spawnresult_Lwoxf3y9bzwRDFtj4JkXFtA(typ0, (((NI) 0) < (*c0).inparallelstmt)); if (!(LOC49 == ((Tspawnresult_Dm2bUaaIicBfyW7KwReaLQ) 1))) goto LA50; asgnRefNoCycle((void**) (&(*result0).typ), createflowvar_U6wGZVTfeqrv5dW9bsdFbzQ(c0, typ0, (*n0).info)); } goto LA47; LA50: ; { asgnRefNoCycle((void**) (&(*result0).typ), typ0); } LA47: ; LOC53 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC53 = instantiatecreateflowvarcall_Jtpsdsv9cwZBeaYZYn880hQ(c0, typ0, (*n0).info); LOC54 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC54 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC53); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC54); } goto LA42; LA45: ; { add_gCCf68XrWL79bKes6htzFjQ_3(result0, emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA42: ; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 213): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC57; result0 = setms_A4JTgeIWVdD5h3XlOxJe9cA(n0, s0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0)); LOC57 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC57 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*result0).typ), (*LOC57).typ); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 16): { Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0; norig0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); result0 = semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA(c0, n0, norig0, flags0); { if (!(result0 == NIM_NIL)) goto LA61; result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); } goto LA59; LA61: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0; callee0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { if (!((*callee0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA66; semfinishoperands_2Z5wP9b7ccKTpEqqJS9aAdvA(c0, result0); } LA66: ; activate_KpXrxZxDEqEzAegpvzmW3g_3(c0, result0); fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2(c0, result0); analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3(c0, result0); { if (!!(((*callee0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA70; result0 = magicsafteroverloadresolution_tayBCUAEli3HMPwxdS9aMbg_5(c0, result0, flags0); } LA70: ; } LA59: ; } break; default: { result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } break; } return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, bracketedmacro_4upU8VPtO27qlx0mUpqMvw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; NI LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC3 = (NIM_BOOL)0; LOC4 = (NI)0; LOC4 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC3 = (((NI) 1) <= LOC4); if (!(LOC3)) goto LA5; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC3 = ((*LOC6).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA5: ; if (!LOC3) goto LA7; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); result0 = (*LOC9).kindU.S4.sym; { if (!!(((196608 &(1U<<((NU)((*result0).kind)&31U)))!=0))) goto LA12; result0 = NIM_NIL; } LA12: ; } LA7: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembracketedmacro_py69bxemGqgzlydF9aY45Dow)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* outer0, Tnode_bROa11lyF5vxEN9aYNbHmhw* inner0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; sons0 = newseq_kRt1ZLhQ6puUVenSqCOflw(((NI) 0)); sons0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&(sons0)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&sons0->data[sons0->Sup.len]), (*inner0).kindU.S6.sons->data[((NI) 0)]); ++sons0->Sup.len; { NI i_RMqTOF9aB6dMNeGtFmCK3Cw; NI HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw; NI i_RMqTOF9aB6dMNeGtFmCK3Cw_2; i_RMqTOF9aB6dMNeGtFmCK3Cw = (NI)0; HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw = (NI)0; HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(outer0); i_RMqTOF9aB6dMNeGtFmCK3Cw_2 = ((NI) 1); { while (1) { if (!(i_RMqTOF9aB6dMNeGtFmCK3Cw_2 < HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw)) goto LA3; i_RMqTOF9aB6dMNeGtFmCK3Cw = i_RMqTOF9aB6dMNeGtFmCK3Cw_2; sons0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&(sons0)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&sons0->data[sons0->Sup.len]), (*outer0).kindU.S6.sons->data[i_RMqTOF9aB6dMNeGtFmCK3Cw]); ++sons0->Sup.len; i_RMqTOF9aB6dMNeGtFmCK3Cw_2 += ((NI) 1); } LA3: ; } } { NI i_RMqTOF9aB6dMNeGtFmCK3Cw_3; NI HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw_2; NI i_RMqTOF9aB6dMNeGtFmCK3Cw_4; i_RMqTOF9aB6dMNeGtFmCK3Cw_3 = (NI)0; HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw_2 = (NI)0; HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw_2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(inner0); i_RMqTOF9aB6dMNeGtFmCK3Cw_4 = ((NI) 1); { while (1) { if (!(i_RMqTOF9aB6dMNeGtFmCK3Cw_4 < HEX3Atmp_CVJ6cjfYHlt0BksY4bRyNw_2)) goto LA6; i_RMqTOF9aB6dMNeGtFmCK3Cw_3 = i_RMqTOF9aB6dMNeGtFmCK3Cw_4; sons0 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV2(&(sons0)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*)); asgnRefNoCycle((void**) (&sons0->data[sons0->Sup.len]), (*inner0).kindU.S6.sons->data[i_RMqTOF9aB6dMNeGtFmCK3Cw_3]); ++sons0->Sup.len; i_RMqTOF9aB6dMNeGtFmCK3Cw_4 += ((NI) 1); } LA6: ; } } asgnRefNoCycle((void**) (&(*outer0).kindU.S6.sons), sons0); switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, outer0, outer0, s0, flags0); } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, outer0, s0, flags0); } break; default: { } break; } goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(void, semopaux_jzk1KGIc0vzv6pth3zm9bkw_6)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_gnygIKL3BLRUk886MNAEqw; NI HEX3Atmp_mRz0x2Cal9bHFFSYI3xCCOw; NI LOC2; NI res_3KmpWyfrL5gHHyky8MNkVg; i_gnygIKL3BLRUk886MNAEqw = (NI)0; HEX3Atmp_mRz0x2Cal9bHFFSYI3xCCOw = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_mRz0x2Cal9bHFFSYI3xCCOw = (NI)(LOC2 - ((NI) 1)); res_3KmpWyfrL5gHHyky8MNkVg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!(res_3KmpWyfrL5gHHyky8MNkVg <= HEX3Atmp_mRz0x2Cal9bHFFSYI3xCCOw)) goto LA4; i_gnygIKL3BLRUk886MNAEqw = res_3KmpWyfrL5gHHyky8MNkVg; a0 = (*n0).kindU.S6.sons->data[i_gnygIKL3BLRUk886MNAEqw]; { NIM_BOOL LOC7; NI LOC9; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC12; LOC7 = (NIM_BOOL)0; LOC7 = ((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33)); if (!(LOC7)) goto LA8; LOC9 = (NI)0; LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); LOC7 = (LOC9 == ((NI) 2)); LA8: ; if (!LOC7) goto LA10; info0 = (*(*a0).kindU.S6.sons->data[((NI) 0)]).info; LOC12 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC12 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*a0).kindU.S6.sons->data[((NI) 0)]); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 0)]), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC12, info0)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*a0).kindU.S6.sons->data[((NI) 1)], 32)); asgnRefNoCycle((void**) (&(*a0).typ), (*(*a0).kindU.S6.sons->data[((NI) 1)]).typ); } goto LA5; LA10: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_gnygIKL3BLRUk886MNAEqw]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, a0, 32)); } LA5: ; res_3KmpWyfrL5gHHyky8MNkVg += ((NI) 1); } LA4: ; } } } N_NIMCALL(void, resolveindirectcall_QYnFewAtuE9an9ayFshT0m2Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) { initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, Result, t0); matches_x3U2uVO0diqi4Z4tOU2y9aw_2(c0, n0, norig0, Result); { if (!!(((*Result).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); if (!(LOC7)) goto LA8; LOC7 = canderef_kR3j4BVoX6LmX0p7IycneQ_2sem(n0); LA8: ; if (!LOC7) goto LA9; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), tryderef_nRsa9acFWDI6GmzVZLXX3CQ_2((*n0).kindU.S6.sons->data[((NI) 1)])); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, Result, t0); matches_x3U2uVO0diqi4Z4tOU2y9aw_2(c0, n0, norig0, Result); } LA9: ; } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, overloadedcallopr_NBTNEqzl5NBSHnN0VGYkSQ_34)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* par0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; par0 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_66)); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC3; LOC3 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC3 = searchinscopes_QSW6N9asb3CJMR79bV8BqwHw(c0, par0); if (!(LOC3 == NIM_NIL)) goto LA4; result0 = NIM_NIL; } goto LA1; LA4: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(par0, (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC7); { NI i_kGQ0h9bvmKQdB0dG8kYT7cA; NI HEX3Atmp_b9bULFTp1Ib1ERvQjH2J24A; NI LOC9; NI res_FYJ7aIrJb9bv0SGCTGWnNVA; i_kGQ0h9bvmKQdB0dG8kYT7cA = (NI)0; HEX3Atmp_b9bULFTp1Ib1ERvQjH2J24A = (NI)0; LOC9 = (NI)0; LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_b9bULFTp1Ib1ERvQjH2J24A = (NI)(LOC9 - ((NI) 1)); res_FYJ7aIrJb9bv0SGCTGWnNVA = ((NI) 0); { while (1) { if (!(res_FYJ7aIrJb9bv0SGCTGWnNVA <= HEX3Atmp_b9bULFTp1Ib1ERvQjH2J24A)) goto LA11; i_kGQ0h9bvmKQdB0dG8kYT7cA = res_FYJ7aIrJb9bv0SGCTGWnNVA; addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[i_kGQ0h9bvmKQdB0dG8kYT7cA]); res_FYJ7aIrJb9bv0SGCTGWnNVA += ((NI) 1); } LA11: ; } } result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, 0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semindirectop_tayBCUAEli3HMPwxdS9aMbg_15)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* prc0; Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = NIM_NIL; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); prc0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n00; if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3; checksonslen_rPu9akNNYZgL0UexjMvt0HA((*n0).kindU.S6.sons->data[((NI) 0)], ((NI) 2)); n00 = semfieldaccess_tayBCUAEli3HMPwxdS9aMbg_11(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0); { if (!((*n00).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA7; result0 = n00; (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27); (*result0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 11))%(sizeof(NU16)*8)); { NI i_gqW4clwXl7mpnIN7K4z9crg; NI HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg; NI LOC10; NI res_kq9cX74hVstsP2LTCukvBqQ; i_gqW4clwXl7mpnIN7K4z9crg = (NI)0; HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg = (NI)0; LOC10 = (NI)0; LOC10 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg = (NI)(LOC10 - ((NI) 1)); res_kq9cX74hVstsP2LTCukvBqQ = ((NI) 1); { while (1) { if (!(res_kq9cX74hVstsP2LTCukvBqQ <= HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg)) goto LA12; i_gqW4clwXl7mpnIN7K4z9crg = res_kq9cX74hVstsP2LTCukvBqQ; addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[i_gqW4clwXl7mpnIN7K4z9crg]); res_kq9cX74hVstsP2LTCukvBqQ += ((NI) 1); } LA12: ; } } result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, flags0); goto BeforeRet; } goto LA5; LA7: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), n00); } LA5: ; } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 4096)); t0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ; { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = !((t0 == NIM_NIL)); if (!(LOC17)) goto LA18; LOC17 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA18: ; if (!LOC17) goto LA19; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newderef_HtAG89bn1UDHEhRcS27NOXQlocals((*n0).kindU.S6.sons->data[((NI) 0)])); } goto LA15; LA19: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA22; s0 = bracketedmacro_4upU8VPtO27qlx0mUpqMvw((*n0).kindU.S6.sons->data[((NI) 0)]); { if (!!((s0 == NIM_NIL))) goto LA26; result0 = sembracketedmacro_py69bxemGqgzlydF9aY45Dow(c0, n0, (*n0).kindU.S6.sons->data[((NI) 0)], s0, flags0); goto BeforeRet; } LA26: ; } goto LA15; LA22: ; LA15: ; } LA1: ; norig0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(n0); semopaux_jzk1KGIc0vzv6pth3zm9bkw_6(c0, n0); t0 = NIM_NIL; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ == NIM_NIL))) goto LA30; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 43024); } LA30: ; { NIM_BOOL LOC34; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; LOC34 = (NIM_BOOL)0; LOC34 = !((t0 == NIM_NIL)); if (!(LOC34)) goto LA35; LOC34 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)); LA35: ; if (!LOC34) goto LA36; memset((void*)(&m0), 0, sizeof(m0)); chckNil((void*)(&m0)); memset((void*)(&m0), 0, sizeof(m0)); resolveindirectcall_QYnFewAtuE9an9ayFshT0m2Q(c0, n0, norig0, t0, (&m0)); { if (!!((m0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA40; { if (!(((NI) 0) < (*c0).compilescontextid)) goto LA44; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 132), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; goto BeforeRet; } goto LA42; LA44: ; { NIM_BOOL haserrortype0; NimStringDesc* msg0; haserrortype0 = NIM_FALSE; msg0 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 132)); { NI i_gqW4clwXl7mpnIN7K4z9crg_2; NI HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg_2; NI LOC48; NI res_kq9cX74hVstsP2LTCukvBqQ_2; i_gqW4clwXl7mpnIN7K4z9crg_2 = (NI)0; HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg_2 = (NI)0; LOC48 = (NI)0; LOC48 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg_2 = (NI)(LOC48 - ((NI) 1)); res_kq9cX74hVstsP2LTCukvBqQ_2 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* nt0; NimStringDesc* LOC55; if (!(res_kq9cX74hVstsP2LTCukvBqQ_2 <= HEX3Atmp_2VM8QnzuJLkeH2O8z5Siqg_2)) goto LA50; i_gqW4clwXl7mpnIN7K4z9crg_2 = res_kq9cX74hVstsP2LTCukvBqQ_2; { if (!(((NI) 1) < i_gqW4clwXl7mpnIN7K4z9crg_2)) goto LA53; msg0 = resizeString(msg0, 2); appendString(msg0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_132)); } LA53: ; nt0 = (*(*n0).kindU.S6.sons->data[i_gqW4clwXl7mpnIN7K4z9crg_2]).typ; LOC55 = (NimStringDesc*)0; LOC55 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(nt0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); msg0 = resizeString(msg0, LOC55->Sup.len + 0); appendString(msg0, LOC55); { if (!((*nt0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA58; haserrortype0 = NIM_TRUE; goto LA47; } LA58: ; res_kq9cX74hVstsP2LTCukvBqQ_2 += ((NI) 1); } LA50: ; } } LA47: ; { NimStringDesc* LOC64; NimStringDesc* LOC65; NimStringDesc* LOC66; if (!!(haserrortype0)) goto LA62; LOC64 = (NimStringDesc*)0; LOC65 = (NimStringDesc*)0; LOC65 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 133)); LOC66 = (NimStringDesc*)0; LOC66 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC64 = rawNewString(LOC65->Sup.len + LOC66->Sup.len + 3); appendString(LOC64, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_216)); appendString(LOC64, LOC65); appendString(LOC64, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_133)); appendString(LOC64, LOC66); msg0 = resizeString(msg0, LOC64->Sup.len + 0); appendString(msg0, LOC64); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), msg0); } LA62: ; result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); goto BeforeRet; } LA42: ; result0 = NIM_NIL; } goto LA38; LA40: ; { result0 = m0.call; instgenericconverterssons_EwuactWQjAA3w0a2KoHSXA(c0, result0, (&m0)); } LA38: ; } goto LA32; LA36: ; { NIM_BOOL LOC69; LOC69 = (NIM_BOOL)0; LOC69 = !((t0 == NIM_NIL)); if (!(LOC69)) goto LA70; LOC69 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); LA70: ; if (!LOC69) goto LA71; { NI LOC75; LOC75 = (NI)0; LOC75 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC75 == ((NI) 1))) goto LA76; result0 = semobjconstr_tayBCUAEli3HMPwxdS9aMbg_12(c0, n0, flags0); goto BeforeRet; } LA76: ; result0 = semconv_NBTNEqzl5NBSHnN0VGYkSQ_26(c0, n0); goto BeforeRet; } goto LA32; LA71: ; { result0 = overloadedcallopr_NBTNEqzl5NBSHnN0VGYkSQ_34(c0, n0); { if (!(result0 == NIM_NIL)) goto LA81; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), prc0); asgnRefNoCycle((void**) (&(*norig0).kindU.S6.sons->data[((NI) 0)]), prc0); (*n0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 12))%(sizeof(NU16)*8)); result0 = semoverloadedcallanalyseeffects_DSb9bsrZYfDcxANKVwjl9chA(c0, n0, norig0, flags0); { if (!(result0 == NIM_NIL)) goto LA85; result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); goto BeforeRet; } LA85: ; } goto LA79; LA81: ; { if (!!(((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)))) goto LA88; goto BeforeRet; } goto LA79; LA88: ; LA79: ; } LA32: ; { if (!((*(*result0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA92; result0 = aftercallactions_9bA5HQzp5SlBuAZ9a1ZzejHQ(c0, result0, norig0, flags0); } goto LA90; LA92: ; { fixabstracttype_jzk1KGIc0vzv6pth3zm9bkw_2(c0, result0); analyseifaddresstakenincall_jzk1KGIc0vzv6pth3zm9bkw_3(c0, result0); } LA90: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, shouldbebracketexpr_J6cfuIanCXYEsLNE8M8o9cQ_5)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; { result0 = (NIM_BOOL)0; a0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA3; b0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, ((NI) 0)); { if (!((*b0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA7; { NI i_fE6erELQjZmJWR0E9cyfmRw; NI HEX3Atmp_LDoXINLmbTJe0KTcik4JLw; NI i_fE6erELQjZmJWR0E9cyfmRw_2; i_fE6erELQjZmJWR0E9cyfmRw = (NI)0; HEX3Atmp_LDoXINLmbTJe0KTcik4JLw = (NI)0; HEX3Atmp_LDoXINLmbTJe0KTcik4JLw = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(b0); i_fE6erELQjZmJWR0E9cyfmRw_2 = ((NI) 0); { while (1) { if (!(i_fE6erELQjZmJWR0E9cyfmRw_2 < HEX3Atmp_LDoXINLmbTJe0KTcik4JLw)) goto LA11; i_fE6erELQjZmJWR0E9cyfmRw = i_fE6erELQjZmJWR0E9cyfmRw_2; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* be0; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(b0, i_fE6erELQjZmJWR0E9cyfmRw); if (!((*(*LOC14).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4))) goto LA15; be0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n0).info); { NI i_fE6erELQjZmJWR0E9cyfmRw_3; NI HEX3Atmp_LDoXINLmbTJe0KTcik4JLw_2; NI i_fE6erELQjZmJWR0E9cyfmRw_4; i_fE6erELQjZmJWR0E9cyfmRw_3 = (NI)0; HEX3Atmp_LDoXINLmbTJe0KTcik4JLw_2 = (NI)0; HEX3Atmp_LDoXINLmbTJe0KTcik4JLw_2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); i_fE6erELQjZmJWR0E9cyfmRw_4 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; if (!(i_fE6erELQjZmJWR0E9cyfmRw_4 < HEX3Atmp_LDoXINLmbTJe0KTcik4JLw_2)) goto LA19; i_fE6erELQjZmJWR0E9cyfmRw_3 = i_fE6erELQjZmJWR0E9cyfmRw_4; LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, i_fE6erELQjZmJWR0E9cyfmRw_3); add_gCCf68XrWL79bKes6htzFjQ_3(be0, LOC20); i_fE6erELQjZmJWR0E9cyfmRw_4 += ((NI) 1); } LA19: ; } } asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), be0); result0 = NIM_TRUE; goto BeforeRet; } LA15: ; i_fE6erELQjZmJWR0E9cyfmRw_2 += ((NI) 1); } LA11: ; } } } LA7: ; } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(void, setgenericparams_jzk1KGIc0vzv6pth3zm9bkw_7)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_cViGa7pNJAZJOZIo36AvRA; NI HEX3Atmp_ucNIyDL4WmMCNuzKHEO9a2Q; NI LOC2; NI res_4zOWwheH09bU1vf9ckEc1tyA; i_cViGa7pNJAZJOZIo36AvRA = (NI)0; HEX3Atmp_ucNIyDL4WmMCNuzKHEO9a2Q = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_ucNIyDL4WmMCNuzKHEO9a2Q = (LOC2 - 1); res_4zOWwheH09bU1vf9ckEc1tyA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!(res_4zOWwheH09bU1vf9ckEc1tyA <= HEX3Atmp_ucNIyDL4WmMCNuzKHEO9a2Q)) goto LA4; i_cViGa7pNJAZJOZIo36AvRA = res_4zOWwheH09bU1vf9ckEc1tyA; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_cViGa7pNJAZJOZIo36AvRA); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_cViGa7pNJAZJOZIo36AvRA); asgnRefNoCycle((void**) (&(*LOC5).typ), semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, LOC6, NIM_NIL)); res_4zOWwheH09bU1vf9ckEc1tyA += ((NI) 1); } LA4: ; } } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrayaccess_tayBCUAEli3HMPwxdS9aMbg_16)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* oldbracketexpr0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; oldbracketexpr0 = (*(*c0).p).bracketexpr; result0 = semsubscript_tayBCUAEli3HMPwxdS9aMbg_7(c0, n0, flags0); { Tident_4umxGerWTHGPwUms7Yqu3g* LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!(result0 == NIM_NIL)) goto LA3; LOC5 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC5 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_130)); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg(n0, LOC5); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, LOC6, 0); } LA3: ; asgnRefNoCycle((void**) (&(*(*c0).p).bracketexpr), oldbracketexpr0); return result0; } N_NIMCALL(Tparkind_halZ9aqjYDH0l2n5E6sCJdg, checkpar_I2pC6ZV7iVgsU6TPfhel9ag)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tparkind_halZ9aqjYDH0l2n5E6sCJdg result0; NI length0; { result0 = (Tparkind_halZ9aqjYDH0l2n5E6sCJdg)0; length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); { if (!(length0 == ((NI) 0))) goto LA3; result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 3); } goto LA1; LA3: ; { if (!(length0 == ((NI) 1))) goto LA6; { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10; result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 2); } goto LA8; LA10: ; { result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 1); } LA8: ; } goto LA1; LA6: ; { { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA16; result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 2); } goto LA14; LA16: ; { result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 3); } LA14: ; { NI i_Dr6Nd4aXWt2iPFFDTBWSLA; NI HEX3Atmp_FR9bLb3bOjtGL9b7p1FlMpgA; NI res_H9cKt7Bn8CrIWh9bDO2nmEjA; i_Dr6Nd4aXWt2iPFFDTBWSLA = (NI)0; HEX3Atmp_FR9bLb3bOjtGL9b7p1FlMpgA = (NI)0; HEX3Atmp_FR9bLb3bOjtGL9b7p1FlMpgA = (NI)(length0 - ((NI) 1)); res_H9cKt7Bn8CrIWh9bDO2nmEjA = ((NI) 0); { while (1) { if (!(res_H9cKt7Bn8CrIWh9bDO2nmEjA <= HEX3Atmp_FR9bLb3bOjtGL9b7p1FlMpgA)) goto LA21; i_Dr6Nd4aXWt2iPFFDTBWSLA = res_H9cKt7Bn8CrIWh9bDO2nmEjA; { if (!(result0 == ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 2))) goto LA24; { NIM_BOOL LOC28; LOC28 = (NIM_BOOL)0; LOC28 = !(((*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))); if (LOC28) goto LA29; LOC28 = !(((*(*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))); LA29: ; if (!LOC28) goto LA30; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 173), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 0); goto BeforeRet; } LA30: ; } goto LA22; LA24: ; { { if (!((*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA35; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_Dr6Nd4aXWt2iPFFDTBWSLA]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 174), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 0); goto BeforeRet; } LA35: ; } LA22: ; res_H9cKt7Bn8CrIWh9bDO2nmEjA += ((NI) 1); } LA21: ; } } } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtuplepositionsconstr_tayBCUAEli3HMPwxdS9aMbg_17)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; typ0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18), c0); { NI i_lXODl2UJBtTHFJJOpEy4Ag; NI HEX3Atmp_AkwvZpkALMIXIyzE49cN81g; NI LOC2; NI res_nUrZr1KqLznRpcB04nzN9bw; i_lXODl2UJBtTHFJJOpEy4Ag = (NI)0; HEX3Atmp_AkwvZpkALMIXIyzE49cN81g = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_AkwvZpkALMIXIyzE49cN81g = (NI)(LOC2 - ((NI) 1)); res_nUrZr1KqLznRpcB04nzN9bw = ((NI) 0); { while (1) { if (!(res_nUrZr1KqLznRpcB04nzN9bw <= HEX3Atmp_AkwvZpkALMIXIyzE49cN81g)) goto LA4; i_lXODl2UJBtTHFJJOpEy4Ag = res_nUrZr1KqLznRpcB04nzN9bw; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_lXODl2UJBtTHFJJOpEy4Ag]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[i_lXODl2UJBtTHFJJOpEy4Ag], (flags0 & 64))); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(typ0, (*(*n0).kindU.S6.sons->data[i_lXODl2UJBtTHFJJOpEy4Ag]).typ); res_nUrZr1KqLznRpcB04nzN9bw += ((NI) 1); } LA4: ; } } asgnRefNoCycle((void**) (&(*result0).typ), typ0); return result0; } N_NIMCALL(NIM_BOOL, istupletype_J6cfuIanCXYEsLNE8M8o9cQ_6)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI LOC3; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC3 == ((NI) 0))) goto LA4; result0 = NIM_FALSE; goto BeforeRet; } LA4: ; { NI i_Z6nQx3cqGifA4ucnqerCVg; NI HEX3Atmp_zPHXLbcWsVMLkqgDFaK0UQ; NI LOC7; NI res_oZEX9aYgVBLEpAAo9bnGpaLQ; i_Z6nQx3cqGifA4ucnqerCVg = (NI)0; HEX3Atmp_zPHXLbcWsVMLkqgDFaK0UQ = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_zPHXLbcWsVMLkqgDFaK0UQ = (NI)(LOC7 - ((NI) 1)); res_oZEX9aYgVBLEpAAo9bnGpaLQ = ((NI) 0); { while (1) { if (!(res_oZEX9aYgVBLEpAAo9bnGpaLQ <= HEX3Atmp_zPHXLbcWsVMLkqgDFaK0UQ)) goto LA9; i_Z6nQx3cqGifA4ucnqerCVg = res_oZEX9aYgVBLEpAAo9bnGpaLQ; { NIM_BOOL LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; LOC12 = (NIM_BOOL)0; LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Z6nQx3cqGifA4ucnqerCVg); LOC12 = ((*LOC13).typ == NIM_NIL); if (LOC12) goto LA14; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_Z6nQx3cqGifA4ucnqerCVg); LOC12 = !(((*(*LOC15).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))); LA14: ; if (!LOC12) goto LA16; result0 = NIM_FALSE; goto BeforeRet; } LA16: ; res_oZEX9aYgVBLEpAAo9bnGpaLQ += ((NI) 1); } LA9: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtuplefieldsconstr_tayBCUAEli3HMPwxdS9aMbg_18)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Intset_PQrmFm4BXFkFSVOUl1ojSg ids0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37), (*n0).info); typ0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18), c0); asgnRefNoCycle((void**) (&(*typ0).n), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n0).info)); memset((void*)(&ids0), 0, sizeof(ids0)); chckNil((void*)(&ids0)); memset((void*)(&ids0), 0, sizeof(ids0)); initintset_a9a80eJplB17xrdZJ41Baww((&ids0)); { NI i_TSzd74DmNlLsqZRqKXnXSQ; NI HEX3Atmp_z9cwF0763dGe2nRlFFVx1PQ; NI LOC2; NI res_U3IB9aOHZ7cFI9c9cT40iixsA; i_TSzd74DmNlLsqZRqKXnXSQ = (NI)0; HEX3Atmp_z9cwF0763dGe2nRlFFVx1PQ = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_z9cwF0763dGe2nRlFFVx1PQ = (NI)(LOC2 - ((NI) 1)); res_U3IB9aOHZ7cFI9c9cT40iixsA = ((NI) 0); { while (1) { Tident_4umxGerWTHGPwUms7Yqu3g* id0; Tsym_AXG7xcvKqaxY6koRX1xkCw* f0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24; if (!(res_U3IB9aOHZ7cFI9c9cT40iixsA <= HEX3Atmp_z9cwF0763dGe2nRlFFVx1PQ)) goto LA4; i_TSzd74DmNlLsqZRqKXnXSQ = res_U3IB9aOHZ7cFI9c9cT40iixsA; { NIM_BOOL LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; LOC7 = (NIM_BOOL)0; LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_TSzd74DmNlLsqZRqKXnXSQ); LOC7 = !(((*LOC8).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34))); if (LOC7) goto LA9; LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_TSzd74DmNlLsqZRqKXnXSQ); LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC10, ((NI) 0)); LOC7 = !(((*LOC11).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*LOC11).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))); LA9: ; if (!LOC7) goto LA12; illformedast_DpsImAn3UbwOKcZFm2pVSg((*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]); } LA12: ; id0 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; { if (!((*(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA16; id0 = (*(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident; } goto LA14; LA16: ; { id0 = (*(*(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).name; } LA14: ; { NIM_BOOL LOC21; LOC21 = (NIM_BOOL)0; LOC21 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&ids0), (*id0).Sup.id); if (!LOC21) goto LA22; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 89), (*id0).s); } LA22: ; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 1)], (flags0 & 64))); f0 = newsyms_4zMCRU3VuII34h7KWa4igg_2(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 18), (*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 0)], c0); asgnRefNoCycle((void**) (&(*f0).typ), skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys((*(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 1)]).typ)); (*f0).position = i_TSzd74DmNlLsqZRqKXnXSQ; rawaddson_52UH8yKinsYmFX9bFij9c2Hw(typ0, (*f0).typ); LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC24 = newsymnode_1ARBpggFQuvUDBVYjBelcw(f0); addson_gCCf68XrWL79bKes6htzFjQ((*typ0).n, LOC24); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(f0)); addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[i_TSzd74DmNlLsqZRqKXnXSQ]); res_U3IB9aOHZ7cFI9c9cT40iixsA += ((NI) 1); } LA4: ; } } asgnRefNoCycle((void**) (&(*result0).typ), typ0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semsetconstr_NBTNEqzl5NBSHnN0VGYkSQ_35)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n0).info); asgnRefNoCycle((void**) (&(*result0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19), c0)); { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 0))) goto LA4; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*result0).typ, LOC6); } goto LA1; LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; typ0 = NIM_NIL; { NI i_iufPtCyyXxseJ1Ho7QLKzg; NI HEX3Atmp_EXVCle6kgatw2kU2rcLpqg; NI LOC9; NI res_g5EShcYsPdq0YhlMhrrDTA; i_iufPtCyyXxseJ1Ho7QLKzg = (NI)0; HEX3Atmp_EXVCle6kgatw2kU2rcLpqg = (NI)0; LOC9 = (NI)0; LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_EXVCle6kgatw2kU2rcLpqg = (NI)(LOC9 - ((NI) 1)); res_g5EShcYsPdq0YhlMhrrDTA = ((NI) 0); { while (1) { if (!(res_g5EShcYsPdq0YhlMhrrDTA <= HEX3Atmp_EXVCle6kgatw2kU2rcLpqg)) goto LA11; i_iufPtCyyXxseJ1Ho7QLKzg = res_g5EShcYsPdq0YhlMhrrDTA; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem((*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]); if (!LOC14) goto LA15; checksonslen_rPu9akNNYZgL0UexjMvt0HA((*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg], ((NI) 3)); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 1)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 1)], 0)); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 2)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 2)], 0)); { if (!(typ0 == NIM_NIL)) goto LA19; typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 1)]).typ, 8423440); } LA19: ; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).typ), (*(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 2)]).typ); } goto LA12; LA15: ; { if (!((*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA22; { if (!(typ0 == NIM_NIL)) goto LA26; typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).kindU.S6.sons->data[((NI) 0)]).typ, 8423440); } LA26: ; } goto LA12; LA22: ; { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg], 0)); { if (!(typ0 == NIM_NIL)) goto LA31; typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg]).typ, 8423440); } LA31: ; } LA12: ; res_g5EShcYsPdq0YhlMhrrDTA += ((NI) 1); } LA11: ; } } { NIM_BOOL LOC35; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC38; LOC35 = (NIM_BOOL)0; LOC35 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(typ0); if (!!(LOC35)) goto LA36; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); LOC38 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC38 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); typ0 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), IL64(65535), (*n0).info, LOC38); } goto LA33; LA36: ; { NI64 LOC40; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC43; LOC40 = (NI64)0; LOC40 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(typ0); if (!(IL64(65536) < LOC40)) goto LA41; LOC43 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC43 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); typ0 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), IL64(65535), (*n0).info, LOC43); } goto LA33; LA41: ; LA33: ; addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA((*result0).typ, typ0); { NI i_iufPtCyyXxseJ1Ho7QLKzg_2; NI HEX3Atmp_EXVCle6kgatw2kU2rcLpqg_2; NI LOC45; NI res_g5EShcYsPdq0YhlMhrrDTA_2; i_iufPtCyyXxseJ1Ho7QLKzg_2 = (NI)0; HEX3Atmp_EXVCle6kgatw2kU2rcLpqg_2 = (NI)0; LOC45 = (NI)0; LOC45 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_EXVCle6kgatw2kU2rcLpqg_2 = (NI)(LOC45 - ((NI) 1)); res_g5EShcYsPdq0YhlMhrrDTA_2 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* m0; if (!(res_g5EShcYsPdq0YhlMhrrDTA_2 <= HEX3Atmp_EXVCle6kgatw2kU2rcLpqg_2)) goto LA47; i_iufPtCyyXxseJ1Ho7QLKzg_2 = res_g5EShcYsPdq0YhlMhrrDTA_2; m0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC50; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC53; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC54; LOC50 = (NIM_BOOL)0; LOC50 = isrange_GZCDL1KLeVpc9b7cG4gxP7Asem((*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]); if (!LOC50) goto LA51; m0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44), (*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]).info); LOC53 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC53 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]).kindU.S6.sons->data[((NI) 1)]); addson_gCCf68XrWL79bKes6htzFjQ(m0, LOC53); LOC54 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC54 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]).kindU.S6.sons->data[((NI) 2)]); addson_gCCf68XrWL79bKes6htzFjQ(m0, LOC54); } goto LA48; LA51: ; { if (!((*(*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA56; m0 = (*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]; } goto LA48; LA56: ; { m0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*n0).kindU.S6.sons->data[i_iufPtCyyXxseJ1Ho7QLKzg_2]); } LA48: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, m0); res_g5EShcYsPdq0YhlMhrrDTA_2 += ((NI) 1); } LA47: ; } } } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semarrayconstr_tayBCUAEli3HMPwxdS9aMbg_19)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI LOC35; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC36; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n0).info); asgnRefNoCycle((void**) (&(*result0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16), c0)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*result0).typ, NIM_NIL); { NI LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(LOC3 == ((NI) 0))) goto LA4; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*result0).typ, LOC6); } goto LA1; LA4: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; NI64 lastindex0; Ttype_LTUWCZolpovw9cWE3JBWSUw* indextype0; Tnode_bROa11lyF5vxEN9aYNbHmhw* yy0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; x0 = (*n0).kindU.S6.sons->data[((NI) 0)]; lastindex0 = IL64(0); indextype0 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); { NIM_BOOL LOC10; NI LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* idx0; LOC10 = (NIM_BOOL)0; LOC10 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)); if (!(LOC10)) goto LA11; LOC12 = (NI)0; LOC12 = sonslen_qPWPHw7WgJeEVYUdcaRIig(x0); LOC10 = (LOC12 == ((NI) 2)); LA11: ; if (!LOC10) goto LA13; idx0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*x0).kindU.S6.sons->data[((NI) 0)]); lastindex0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA(idx0); indextype0 = (*idx0).typ; x0 = (*x0).kindU.S6.sons->data[((NI) 1)]; } LA13: ; yy0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, x0, 0); typ0 = (*yy0).typ; addson_gCCf68XrWL79bKes6htzFjQ(result0, yy0); { NI i_zSpKyZMgmh2t7qImo7jITg; NI HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A; NI LOC16; NI res_ZM8Dn5iltbZcWo78Rt1aKA; i_zSpKyZMgmh2t7qImo7jITg = (NI)0; HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A = (NI)0; LOC16 = (NI)0; LOC16 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A = (NI)(LOC16 - ((NI) 1)); res_ZM8Dn5iltbZcWo78Rt1aKA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* xx0; if (!(res_ZM8Dn5iltbZcWo78Rt1aKA <= HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A)) goto LA18; i_zSpKyZMgmh2t7qImo7jITg = res_ZM8Dn5iltbZcWo78Rt1aKA; x0 = (*n0).kindU.S6.sons->data[i_zSpKyZMgmh2t7qImo7jITg]; { NIM_BOOL LOC21; NI LOC23; Tnode_bROa11lyF5vxEN9aYNbHmhw* idx0; LOC21 = (NIM_BOOL)0; LOC21 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)); if (!(LOC21)) goto LA22; LOC23 = (NI)0; LOC23 = sonslen_qPWPHw7WgJeEVYUdcaRIig(x0); LOC21 = (LOC23 == ((NI) 2)); LA22: ; if (!LOC21) goto LA24; idx0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*x0).kindU.S6.sons->data[((NI) 0)]); idx0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, indextype0, idx0); { NI64 LOC28; LOC28 = (NI64)0; LOC28 = getordvalue_MzTDl1zEXJLD4sql7PhCwA(idx0); if (!!(((NI64)(lastindex0 + IL64(1)) == LOC28))) goto LA29; localerror_VpilfPWbplGz6ny7O9cfr2g((*x0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 147), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA29: ; x0 = (*x0).kindU.S6.sons->data[((NI) 1)]; } LA24: ; xx0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, x0, (flags0 & 64)); add_gCCf68XrWL79bKes6htzFjQ_3(result0, xx0); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*xx0).typ); lastindex0 += ((NI) 1); res_ZM8Dn5iltbZcWo78Rt1aKA += ((NI) 1); } LA18: ; } } addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA((*result0).typ, typ0); { NI i_zSpKyZMgmh2t7qImo7jITg_2; NI HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A_2; NI LOC32; NI res_ZM8Dn5iltbZcWo78Rt1aKA_2; i_zSpKyZMgmh2t7qImo7jITg_2 = (NI)0; HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A_2 = (NI)0; LOC32 = (NI)0; LOC32 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A_2 = (LOC32 - 1); res_ZM8Dn5iltbZcWo78Rt1aKA_2 = ((NI) 0); { while (1) { if (!(res_ZM8Dn5iltbZcWo78Rt1aKA_2 <= HEX3Atmp_fE0QvKDJbdCiDOAWHhye1A_2)) goto LA34; i_zSpKyZMgmh2t7qImo7jITg_2 = res_ZM8Dn5iltbZcWo78Rt1aKA_2; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_zSpKyZMgmh2t7qImo7jITg_2]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*result0).kindU.S6.sons->data[i_zSpKyZMgmh2t7qImo7jITg_2])); res_ZM8Dn5iltbZcWo78Rt1aKA_2 += ((NI) 1); } LA34: ; } } } LA1: ; LOC35 = (NI)0; LOC35 = sonslen_qPWPHw7WgJeEVYUdcaRIig(result0); LOC36 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC36 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); asgnRefNoCycle((void**) (&(*(*result0).typ).sons->data[((NI) 0)]), makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), ((NI64) ((NI)(LOC35 - ((NI) 1)))), (*n0).info, LOC36)); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semlambda_tayBCUAEli3HMPwxdS9aMbg_20)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* gp0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semprocannotation_csqD9cOcsNb9cr0UKA0e9bfxg(c0, n0, T_rF9caJawfOjYTjsgLVUSGFA_219); { if (!!((result0 == NIM_NIL))) goto LA3; goto BeforeRet; } LA3: ; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); s0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC10; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!!(((*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA8; LOC10 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC10 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); s0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), (*(*c0).cache).idanon, LOC10, (*n0).info); asgnRefNoCycle((void**) (&(*s0).ast), n0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(s0)); } goto LA5; LA8: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); s0 = (*LOC12).kindU.S4.sym; } LA5: ; pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); LOC13 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC13 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); gp0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA16; gp0 = setgenericparamsmisc_NBTNEqzl5NBSHnN0VGYkSQ_7(c0, n0); } goto LA14; LA16: ; { gp0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 75), (*n0).info); } LA14: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 3)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA21; semparamlist_Qyh9a7LvbGI5OBxQHRRO9bxA(c0, (*n0).kindU.S6.sons->data[((NI) 3)], gp0, s0); { NIM_BOOL LOC25; NI LOC26; LOC25 = (NIM_BOOL)0; LOC26 = (NI)0; LOC26 = sonslen_qPWPHw7WgJeEVYUdcaRIig(gp0); LOC25 = (((NI) 0) < LOC26); if (!(LOC25)) goto LA27; LOC25 = ((*(*n0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA27: ; if (!LOC25) goto LA28; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), gp0); } LA28: ; } goto LA19; LA21: ; { asgnRefNoCycle((void**) (&(*s0).typ), newproctype_ND9cPmmyWE5euXT1SokYu8A(c0, (*n0).info, NIM_NIL)); } LA19: ; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 4)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA33; pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*n0).kindU.S6.sons->data[((NI) 4)], T_rF9caJawfOjYTjsgLVUSGFA_219); } LA33: ; (*s0).options = goptions_KL5B8sF4szIsM2AXCWFsIw; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA37; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))&31U)))!=0)) goto LA41; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 6)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 140), (*(*s0).name).s); } LA41: ; { NIM_BOOL LOC45; NI LOC46; NIM_BOOL LOC48; NI LOC49; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC51; Tnode_bROa11lyF5vxEN9aYNbHmhw* sembody0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC54; LOC45 = (NIM_BOOL)0; LOC46 = (NI)0; LOC46 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(gp0); LOC45 = (LOC46 == ((NI) 0)); if (LOC45) goto LA47; LOC48 = (NIM_BOOL)0; LOC49 = (NI)0; LOC49 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(gp0); LOC48 = (LOC49 == ((NI) 1)); if (!(LOC48)) goto LA50; LOC51 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC51 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(gp0, ((NI) 0)); LOC48 = (((*(*LOC51).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 10))&31U)))!=0); LA50: ; LOC45 = LOC48; LA47: ; if (!LOC45) goto LA52; pushproccon_bvkA8slTYt1UIXkpYpaKog_3(c0, s0); addresult_IHjwgZPSHiFfjDFWOdBcKw(c0, (*(*s0).typ).sons->data[((NI) 0)], (*n0).info, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); addresultnode_KpXrxZxDEqEzAegpvzmW3g(c0, n0); LOC54 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC54 = semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6(c0, (*n0).kindU.S6.sons->data[((NI) 6)]); sembody0 = hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10(c0, LOC54); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), transformbody_J5txp2NXODCe0Qzl9bJjNzA((*c0).module, sembody0, s0)); popproccon_JpIn6HCQok16g8frnWqg6Qsem(c0); } goto LA43; LA52: ; { if (!!(((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 8))&15U)))!=0))) goto LA56; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 231), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA43; LA56: ; LA43: ; sideeffectscheck_K9azjGQymtuOxoOP6mI4DTQ(c0, s0); } goto LA35; LA37: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*s0).name).s); } LA35: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); asgnRefNoCycle((void**) (&(*result0).typ), (*s0).typ); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdo_tayBCUAEli3HMPwxdS9aMbg_21)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC3 = (NIM_BOOL)0; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); LOC3 = ((*LOC4).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (!(LOC3)) goto LA5; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3)); LOC3 = ((*LOC6).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA5: ; if (!LOC3) goto LA7; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 6)); result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, LOC9); } goto LA1; LA7: ; { result0 = semlambda_tayBCUAEli3HMPwxdS9aMbg_20(c0, n0, flags0); } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, iscastable_T9ai5JTa2Z7UigFsx5Dce0Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* dst0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0) { NIM_BOOL result0; NI64 dstsize0; NI64 srcsize0; { result0 = (NIM_BOOL)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(dst0, 43280); if (!((*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA4; result0 = NIM_FALSE; goto BeforeRet; } LA4: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC8; LOC8 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC8 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(src0, 43024); if (!((*LOC8).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; dstsize0 = (NI64)0; srcsize0 = (NI64)0; dstsize0 = computesize_spMpEAO8ubfQavMigOxQdA_2(dst0); srcsize0 = computesize_spMpEAO8ubfQavMigOxQdA_2(src0); { if (!(dstsize0 < IL64(0))) goto LA13; result0 = NIM_FALSE; } goto LA11; LA13: ; { if (!(srcsize0 < IL64(0))) goto LA16; result0 = NIM_FALSE; } goto LA11; LA16: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC19; LOC19 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC19 = typeallowed_bHa9arT9b20nGEtBco5rXr1g(dst0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); if (!!((LOC19 == NIM_NIL))) goto LA20; result0 = NIM_FALSE; } goto LA11; LA20: ; { NIM_BOOL LOC23; NIM_BOOL LOC24; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC26; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC28; LOC23 = (NIM_BOOL)0; LOC24 = (NIM_BOOL)0; LOC24 = (srcsize0 <= dstsize0); if (LOC24) goto LA25; LOC26 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC26 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(dst0, 43280); LOC24 = ((*LOC26).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*LOC26).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*LOC26).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*LOC26).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*LOC26).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)); LA25: ; LOC23 = LOC24; if (LOC23) goto LA27; LOC28 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC28 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(src0, 43024); LOC23 = ((*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*LOC28).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*LOC28).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*LOC28).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)); LA27: ; result0 = LOC23; } LA11: ; { NIM_BOOL LOC31; LOC31 = (NIM_BOOL)0; LOC31 = result0; if (!(LOC31)) goto LA32; LOC31 = ((*src0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA32: ; if (!LOC31) goto LA33; result0 = ((*dst0).size <= ((NI64) (ptrsize_3AYcIlvHY9bTK1eNdc8MESQ))); } LA33: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcast_NBTNEqzl5NBSHnN0VGYkSQ_36)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 61), (*n0).info); asgnRefNoCycle((void**) (&(*result0).typ), semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_NIL)); LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC1); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC2); { NIM_BOOL LOC5; NimStringDesc* LOC8; LOC5 = (NIM_BOOL)0; LOC5 = iscastable_T9ai5JTa2Z7UigFsx5Dce0Q((*result0).typ, (*(*result0).kindU.S6.sons->data[((NI) 1)]).typ); if (!!(LOC5)) goto LA6; LOC8 = (NimStringDesc*)0; LOC8 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*result0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*result0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 95), LOC8); } LA6: ; return result0; } static N_INLINE(void, semdestructorcheck_9cNKx7gmG1plo0hCFv2igQgsem)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 6))&15U)))!=0)); if (!(LOC3)) goto LA4; LOC3 = ((*n0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); LA4: ; if (!LOC3) goto LA5; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = instantiatedestructor_b04wmJZNmRs48ayVXpmKbg(c0, (*n0).typ); if (!!((LOC9 == NIM_NIL))) goto LA10; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 263), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA10: ; } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprbranch_NBTNEqzl5NBSHnN0VGYkSQ_38)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, 0); { if (!!(((*result0).typ == NIM_NIL))) goto LA3; semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4(c0, result0); { if (!((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA7; result0 = newderef_HtAG89bn1UDHEhRcS27NOXQlocals(result0); } LA7: ; semdestructorcheck_9cNKx7gmG1plo0hCFv2igQgsem(c0, result0, 0); } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); result0 = semexprbranch_NBTNEqzl5NBSHnN0VGYkSQ_38(c0, n0); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semif_NBTNEqzl5NBSHnN0VGYkSQ_37)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; NIM_BOOL haselse0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; typ0 = commontypebegin_5IYyOwx7aTjCCrOoOI3Czg; haselse0 = NIM_FALSE; { NI i_W3tcbgS6Dsc9bAJm9cnAZhzw; NI HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA; NI LOC2; NI res_qsVVdPhsDNVhrB9b9bZg4qIA; i_W3tcbgS6Dsc9bAJm9cnAZhzw = (NI)0; HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA = (NI)(LOC2 - ((NI) 1)); res_qsVVdPhsDNVhrB9b9bZg4qIA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_qsVVdPhsDNVhrB9b9bZg4qIA <= HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA)) goto LA4; i_W3tcbgS6Dsc9bAJm9cnAZhzw = res_qsVVdPhsDNVhrB9b9bZg4qIA; it0 = (*n0).kindU.S6.sons->data[i_W3tcbgS6Dsc9bAJm9cnAZhzw]; { NI LOC7; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0); if (!(LOC7 == ((NI) 2))) goto LA8; LOC10 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC10 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*it0).kindU.S6.sons->data[((NI) 0)], 0); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25(c0, LOC11)); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 1)]), semexprbranch_NBTNEqzl5NBSHnN0VGYkSQ_38(c0, (*it0).kindU.S6.sons->data[((NI) 1)])); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*it0).kindU.S6.sons->data[((NI) 1)]).typ); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } goto LA5; LA8: ; { NI LOC13; LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0); if (!(LOC13 == ((NI) 1))) goto LA14; haselse0 = NIM_TRUE; asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[((NI) 0)]), semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39(c0, (*it0).kindU.S6.sons->data[((NI) 0)])); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*it0).kindU.S6.sons->data[((NI) 0)]).typ); } goto LA5; LA14: ; { illformedast_DpsImAn3UbwOKcZFm2pVSg(it0); } LA5: ; res_qsVVdPhsDNVhrB9b9bZg4qIA += ((NI) 1); } LA4: ; } } { NIM_BOOL LOC19; NIM_BOOL LOC20; LOC19 = (NIM_BOOL)0; LOC20 = (NIM_BOOL)0; LOC20 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen(typ0); if (LOC20) goto LA21; LOC20 = ((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA21: ; LOC19 = LOC20; if (LOC19) goto LA22; LOC19 = !(haselse0); LA22: ; if (!LOC19) goto LA23; { Tnode_bROa11lyF5vxEN9aYNbHmhw* it_nXfK7KqccgTTUO9cEx9c2uEA; it_nXfK7KqccgTTUO9cEx9c2uEA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_W3tcbgS6Dsc9bAJm9cnAZhzw_2; NI HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_2; NI LOC27; NI res_qsVVdPhsDNVhrB9b9bZg4qIA_2; i_W3tcbgS6Dsc9bAJm9cnAZhzw_2 = (NI)0; HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_2 = (NI)0; LOC27 = (NI)0; LOC27 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_2 = (LOC27 - 1); res_qsVVdPhsDNVhrB9b9bZg4qIA_2 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC30; if (!(res_qsVVdPhsDNVhrB9b9bZg4qIA_2 <= HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_2)) goto LA29; i_W3tcbgS6Dsc9bAJm9cnAZhzw_2 = res_qsVVdPhsDNVhrB9b9bZg4qIA_2; it_nXfK7KqccgTTUO9cEx9c2uEA = (*n0).kindU.S6.sons->data[i_W3tcbgS6Dsc9bAJm9cnAZhzw_2]; LOC30 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC30 = lastson_esDJA7239bJDiq4UrX9aHCjg(it_nXfK7KqccgTTUO9cEx9c2uEA); discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, LOC30); res_qsVVdPhsDNVhrB9b9bZg4qIA_2 += ((NI) 1); } LA29: ; } } } (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92); { if (!(typ0 == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA33; asgnRefNoCycle((void**) (&(*result0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA33: ; } goto LA17; LA23: ; { { Tnode_bROa11lyF5vxEN9aYNbHmhw* it_nXfK7KqccgTTUO9cEx9c2uEA_2; it_nXfK7KqccgTTUO9cEx9c2uEA_2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_W3tcbgS6Dsc9bAJm9cnAZhzw_3; NI HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_3; NI LOC38; NI res_qsVVdPhsDNVhrB9b9bZg4qIA_3; i_W3tcbgS6Dsc9bAJm9cnAZhzw_3 = (NI)0; HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_3 = (NI)0; LOC38 = (NI)0; LOC38 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_3 = (LOC38 - 1); res_qsVVdPhsDNVhrB9b9bZg4qIA_3 = ((NI) 0); { while (1) { NI j0; NI LOC41; if (!(res_qsVVdPhsDNVhrB9b9bZg4qIA_3 <= HEX3Atmp_FQZaGaGvGtKK0VZDfnueYA_3)) goto LA40; i_W3tcbgS6Dsc9bAJm9cnAZhzw_3 = res_qsVVdPhsDNVhrB9b9bZg4qIA_3; it_nXfK7KqccgTTUO9cEx9c2uEA_2 = (*n0).kindU.S6.sons->data[i_W3tcbgS6Dsc9bAJm9cnAZhzw_3]; LOC41 = (NI)0; LOC41 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it_nXfK7KqccgTTUO9cEx9c2uEA_2); j0 = (NI)(LOC41 - ((NI) 1)); asgnRefNoCycle((void**) (&(*it_nXfK7KqccgTTUO9cEx9c2uEA_2).kindU.S6.sons->data[j0]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*it_nXfK7KqccgTTUO9cEx9c2uEA_2).kindU.S6.sons->data[j0])); res_qsVVdPhsDNVhrB9b9bZg4qIA_3 += ((NI) 1); } LA40: ; } } } (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 48); asgnRefNoCycle((void**) (&(*result0).typ), typ0); } LA17: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtableconstr_NBTNEqzl5NBSHnN0VGYkSQ_40)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI lastkey0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n0).info); lastkey0 = ((NI) 0); { NI i_AWFZ0Qqb8QOVYSDflNamTQ; NI HEX3Atmp_SpkK0aME9c3igJOkgchgkag; NI LOC2; NI res_NCSepf9cjsSnYVVgmtp5ubQ; i_AWFZ0Qqb8QOVYSDflNamTQ = (NI)0; HEX3Atmp_SpkK0aME9c3igJOkgchgkag = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_SpkK0aME9c3igJOkgchgkag = (NI)(LOC2 - ((NI) 1)); res_NCSepf9cjsSnYVVgmtp5ubQ = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!(res_NCSepf9cjsSnYVVgmtp5ubQ <= HEX3Atmp_SpkK0aME9c3igJOkgchgkag)) goto LA4; i_AWFZ0Qqb8QOVYSDflNamTQ = res_NCSepf9cjsSnYVVgmtp5ubQ; x0 = (*n0).kindU.S6.sons->data[i_AWFZ0Qqb8QOVYSDflNamTQ]; { NIM_BOOL LOC7; NI LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* pair0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; LOC7 = (NIM_BOOL)0; LOC7 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 34)); if (!(LOC7)) goto LA8; LOC9 = (NI)0; LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(x0); LOC7 = (LOC9 == ((NI) 2)); LA8: ; if (!LOC7) goto LA10; { NI j_eGdO45LTzR7Jc1Rw5tYUrg; NI HEX3Atmp_SpkK0aME9c3igJOkgchgkag_2; NI res_NCSepf9cjsSnYVVgmtp5ubQ_2; j_eGdO45LTzR7Jc1Rw5tYUrg = (NI)0; HEX3Atmp_SpkK0aME9c3igJOkgchgkag_2 = (NI)0; HEX3Atmp_SpkK0aME9c3igJOkgchgkag_2 = (NI)(i_AWFZ0Qqb8QOVYSDflNamTQ - ((NI) 1)); res_NCSepf9cjsSnYVVgmtp5ubQ_2 = lastkey0; { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* pair0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; if (!(res_NCSepf9cjsSnYVVgmtp5ubQ_2 <= HEX3Atmp_SpkK0aME9c3igJOkgchgkag_2)) goto LA14; j_eGdO45LTzR7Jc1Rw5tYUrg = res_NCSepf9cjsSnYVVgmtp5ubQ_2; pair0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37), (*x0).info); add_gCCf68XrWL79bKes6htzFjQ_3(pair0, (*n0).kindU.S6.sons->data[j_eGdO45LTzR7Jc1Rw5tYUrg]); LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 1)); add_gCCf68XrWL79bKes6htzFjQ_3(pair0, LOC15); add_gCCf68XrWL79bKes6htzFjQ_3(result0, pair0); res_NCSepf9cjsSnYVVgmtp5ubQ_2 += ((NI) 1); } LA14: ; } } pair0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37), (*x0).info); LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 0)); add_gCCf68XrWL79bKes6htzFjQ_3(pair0, LOC16); LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(x0, ((NI) 1)); add_gCCf68XrWL79bKes6htzFjQ_3(pair0, LOC17); add_gCCf68XrWL79bKes6htzFjQ_3(result0, pair0); lastkey0 = (NI)(i_AWFZ0Qqb8QOVYSDflNamTQ + ((NI) 1)); } LA10: ; res_NCSepf9cjsSnYVVgmtp5ubQ += ((NI) 1); } LA4: ; } } { NI LOC20; LOC20 = (NI)0; LOC20 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!!((lastkey0 == LOC20))) goto LA21; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } LA21: ; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, 0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstaticexpr_NBTNEqzl5NBSHnN0VGYkSQ_41)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; a0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0); result0 = evalstaticexpr_aYkCxVNU4XgpwnpIBuyO0A((*c0).module, (*c0).cache, a0, (*(*c0).p).owner); { NimStringDesc* LOC5; if (!(result0 == 0)) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 0); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 212), LOC5); result0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; } goto LA1; LA3: ; { result0 = fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ(c0, result0, a0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semblock_NBTNEqzl5NBSHnN0VGYkSQ_42)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; (*(*c0).p).nestedblockcounter += ((NI) 1); checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* labl0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4; labl0 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 21), (*n0).kindU.S6.sons->data[((NI) 0)], c0); { if (!!((((*labl0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA8; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, labl0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(labl0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).info)); } LA8: ; suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, labl0, NIM_TRUE); } LA4: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0)); asgnRefNoCycle((void**) (&(*n0).typ), (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*n0).typ); if (!LOC12) goto LA13; (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 112); } goto LA10; LA13: ; { (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 127); } LA10: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); (*(*c0).p).nestedblockcounter -= ((NI) 1); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtry_NBTNEqzl5NBSHnN0VGYkSQ_43)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ_Av6tEqHjLhfDRIC7yglphw; Intset_PQrmFm4BXFkFSVOUl1ojSg check0; NI last0; NI LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; (*(*c0).p).intrystmt += ((NI) 1); checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); typ_Av6tEqHjLhfDRIC7yglphw = commontypebegin_5IYyOwx7aTjCCrOoOI3Czg; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); typ_Av6tEqHjLhfDRIC7yglphw = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ_Av6tEqHjLhfDRIC7yglphw, (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ); memset((void*)(&check0), 0, sizeof(check0)); chckNil((void*)(&check0)); memset((void*)(&check0), 0, sizeof(check0)); initintset_a9a80eJplB17xrdZJ41Baww((&check0)); LOC1 = (NI)0; LOC1 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); last0 = (NI)(LOC1 - ((NI) 1)); { NI i_6RmNvL8JHgL9aXLtabu3NwQ; NI res_d2DAnrZRWyGLKtLTXsrsfw; i_6RmNvL8JHgL9aXLtabu3NwQ = (NI)0; res_d2DAnrZRWyGLKtLTXsrsfw = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI length0; if (!(res_d2DAnrZRWyGLKtLTXsrsfw <= last0)) goto LA4; i_6RmNvL8JHgL9aXLtabu3NwQ = res_d2DAnrZRWyGLKtLTXsrsfw; a0 = (*n0).kindU.S6.sons->data[i_6RmNvL8JHgL9aXLtabu3NwQ]; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 1)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA7; { NIM_BOOL LOC11; Slice_qL3WGViqT0p5sVr4YFHsLg LOC15; LOC11 = (NIM_BOOL)0; LOC11 = (length0 == ((NI) 2)); if (!(LOC11)) goto LA12; LOC11 = ((*(*a0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); LA12: ; if (!LOC11) goto LA13; LOC15 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands(((NI) 0), ((NI) 0)); HEX5BHEX5DHEX3D_ZpqxXkl8BcDfI2hEjJx9baQ((&(*a0).kindU.S6.sons), LOC15, (*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data, (*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->Sup.len); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); } LA13: ; { NI j_j9a1PbFT4KXRp7jxRSHShtQ; NI HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q; NI res_d2DAnrZRWyGLKtLTXsrsfw_2; j_j9a1PbFT4KXRp7jxRSHShtQ = (NI)0; HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q = (NI)0; HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q = (NI)(length0 - ((NI) 2)); res_d2DAnrZRWyGLKtLTXsrsfw_2 = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; if (!(res_d2DAnrZRWyGLKtLTXsrsfw_2 <= HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q)) goto LA18; j_j9a1PbFT4KXRp7jxRSHShtQ = res_d2DAnrZRWyGLKtLTXsrsfw_2; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ], NIM_NIL); { if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA21; typ0 = (*typ0).sons->data[((NI) 0)]; } LA21: ; { if (!!(((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA25; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 115), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA25: ; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ]), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ]).info)); asgnRefNoCycle((void**) (&(*(*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ]).typ), typ0); { NIM_BOOL LOC29; LOC29 = (NIM_BOOL)0; LOC29 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&check0), (*typ0).Sup.id); if (!LOC29) goto LA30; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[j_j9a1PbFT4KXRp7jxRSHShtQ]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 36), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA30: ; res_d2DAnrZRWyGLKtLTXsrsfw_2 += ((NI) 1); } LA18: ; } } } goto LA5; LA7: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA33; illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } goto LA5; LA33: ; LA5: ; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]), semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))])); { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA37; typ_Av6tEqHjLhfDRIC7yglphw = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ_Av6tEqHjLhfDRIC7yglphw, (*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).typ); } goto LA35; LA37: ; { last0 -= ((NI) 1); } LA35: ; res_d2DAnrZRWyGLKtLTXsrsfw += ((NI) 1); } LA4: ; } } (*(*c0).p).intrystmt -= ((NI) 1); { NIM_BOOL LOC42; LOC42 = (NIM_BOOL)0; LOC42 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen(typ_Av6tEqHjLhfDRIC7yglphw); if (LOC42) goto LA43; LOC42 = ((*typ_Av6tEqHjLhfDRIC7yglphw).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA43: ; if (!LOC42) goto LA44; discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); { NI i_6RmNvL8JHgL9aXLtabu3NwQ_2; NI HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q_2; NI LOC47; NI res_d2DAnrZRWyGLKtLTXsrsfw_3; i_6RmNvL8JHgL9aXLtabu3NwQ_2 = (NI)0; HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q_2 = (NI)0; LOC47 = (NI)0; LOC47 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q_2 = (NI)(LOC47 - ((NI) 1)); res_d2DAnrZRWyGLKtLTXsrsfw_3 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC50; if (!(res_d2DAnrZRWyGLKtLTXsrsfw_3 <= HEX3Atmp_GJZJr1hTM6eej5zBxYyp5Q_2)) goto LA49; i_6RmNvL8JHgL9aXLtabu3NwQ_2 = res_d2DAnrZRWyGLKtLTXsrsfw_3; LOC50 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC50 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_6RmNvL8JHgL9aXLtabu3NwQ_2]); discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, LOC50); res_d2DAnrZRWyGLKtLTXsrsfw_3 += ((NI) 1); } LA49: ; } } { if (!(typ_Av6tEqHjLhfDRIC7yglphw == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA53; asgnRefNoCycle((void**) (&(*result0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA53: ; } goto LA40; LA44: ; { { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC58; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC61; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC62; LOC58 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC58 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); if (!((*LOC58).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA59; LOC61 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC61 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); LOC62 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC62 = lastson_esDJA7239bJDiq4UrX9aHCjg(LOC61); discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, LOC62); } LA59: ; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ_Av6tEqHjLhfDRIC7yglphw, (*n0).kindU.S6.sons->data[((NI) 0)])); { NI i_6RmNvL8JHgL9aXLtabu3NwQ_3; NI res_d2DAnrZRWyGLKtLTXsrsfw_4; i_6RmNvL8JHgL9aXLtabu3NwQ_3 = (NI)0; res_d2DAnrZRWyGLKtLTXsrsfw_4 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; NI j0; NI LOC66; if (!(res_d2DAnrZRWyGLKtLTXsrsfw_4 <= last0)) goto LA65; i_6RmNvL8JHgL9aXLtabu3NwQ_3 = res_d2DAnrZRWyGLKtLTXsrsfw_4; it0 = (*n0).kindU.S6.sons->data[i_6RmNvL8JHgL9aXLtabu3NwQ_3]; LOC66 = (NI)0; LOC66 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0); j0 = (NI)(LOC66 - ((NI) 1)); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[j0]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ_Av6tEqHjLhfDRIC7yglphw, (*it0).kindU.S6.sons->data[j0])); res_d2DAnrZRWyGLKtLTXsrsfw_4 += ((NI) 1); } LA65: ; } } asgnRefNoCycle((void**) (&(*result0).typ), typ_Av6tEqHjLhfDRIC7yglphw); } LA40: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmtlist_tayBCUAEli3HMPwxdS9aMbg_22)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI length0; NIM_BOOL voidcontext0; NI last0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); voidcontext0 = NIM_FALSE; last0 = (NI)(length0 - ((NI) 1)); { NI i_cVoYK2GWKTgnbctvXy48cA; NI HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ; NI res_r8dLiMEMAbbyWm5lGSurzQ; i_cVoYK2GWKTgnbctvXy48cA = (NI)0; HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ = (NI)0; HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ = (NI)(length0 - ((NI) 1)); res_r8dLiMEMAbbyWm5lGSurzQ = ((NI) 0); { while (1) { if (!(res_r8dLiMEMAbbyWm5lGSurzQ <= HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ)) goto LA3; i_cVoYK2GWKTgnbctvXy48cA = res_r8dLiMEMAbbyWm5lGSurzQ; { Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw k0; k0 = (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).kind; switch (k0) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 87): { Tnode_bROa11lyF5vxEN9aYNbHmhw* deferpart0; Tnode_bROa11lyF5vxEN9aYNbHmhw* trystmt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; deferpart0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!(k0 == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105))) goto LA8; deferpart0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).info); add_gCCf68XrWL79bKes6htzFjQ_3(deferpart0, (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).kindU.S6.sons->data[((NI) 0)]); } goto LA6; LA8: ; { if (!(k0 == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA11; message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_220)); deferpart0 = (*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]; } goto LA6; LA11: ; { message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_221)); deferpart0 = (*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]; } LA6: ; trystmt0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 106), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).info); body0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).info); { NI LOC16; NI LOC19; Slice_qL3WGViqT0p5sVr4YFHsLg LOC20; LOC16 = (NI)0; LOC16 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!(i_cVoYK2GWKTgnbctvXy48cA < (NI)(LOC16 - ((NI) 1)))) goto LA17; LOC19 = (NI)0; LOC19 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC20 = HEX2EHEX2E_18yoMoUbfoITYgEZSwZDYAcommands((NI)(i_cVoYK2GWKTgnbctvXy48cA + ((NI) 1)), (NI)(LOC19 - ((NI) 1))); asgnRefNoCycle((void**) (&(*body0).kindU.S6.sons), HEX5BHEX5D_Gp1eO9bAFjBxVwyUqF7LQ9cg((*n0).kindU.S6.sons, LOC20)); } LA17: ; addson_gCCf68XrWL79bKes6htzFjQ(trystmt0, body0); addson_gCCf68XrWL79bKes6htzFjQ(trystmt0, deferpart0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]), semtry_NBTNEqzl5NBSHnN0VGYkSQ_43(c0, trystmt0)); (*n0).kindU.S6.sons = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*n0).kindU.S6.sons)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) ((NI)(i_cVoYK2GWKTgnbctvXy48cA + ((NI) 1))))); asgnRefNoCycle((void**) (&(*n0).typ), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).typ); goto BeforeRet; } break; default: { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA], 0)); { NIM_BOOL LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC26; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; LOC24 = (NIM_BOOL)0; LOC24 = (((NI) 0) < (*c0).intypeclass); if (!(LOC24)) goto LA25; LOC26 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC26 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_cVoYK2GWKTgnbctvXy48cA); LOC24 = !(((*LOC26).typ == NIM_NIL)); LA25: ; if (!LOC24) goto LA27; LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_cVoYK2GWKTgnbctvXy48cA); switch ((*(*LOC29).typ).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): { Tnode_bROa11lyF5vxEN9aYNbHmhw* verdict0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC31; LOC31 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC31 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_cVoYK2GWKTgnbctvXy48cA); verdict0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, LOC31); { if (!((*verdict0).kindU.S1.intval == IL64(0))) goto LA34; localerror_GarD0CQJ5aQhoHekHYinVQ((*result0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_222)); } LA34: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): { goto LA4; } break; default: { } break; } } LA27: ; { if (!((*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).typ == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA40; voidcontext0 = NIM_TRUE; asgnRefNoCycle((void**) (&(*n0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA40: ; { NIM_BOOL LOC44; NIM_BOOL LOC46; LOC44 = (NIM_BOOL)0; LOC44 = (i_cVoYK2GWKTgnbctvXy48cA == last0); if (!(LOC44)) goto LA45; LOC46 = (NIM_BOOL)0; LOC46 = (length0 == ((NI) 1)); if (LOC46) goto LA47; LOC46 = ((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 7))&15U)))!=0); LA47: ; LOC44 = LOC46; LA45: ; if (!LOC44) goto LA48; asgnRefNoCycle((void**) (&(*n0).typ), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).typ); { NIM_BOOL LOC52; LOC52 = (NIM_BOOL)0; LOC52 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*n0).typ); if (!!(LOC52)) goto LA53; (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126); } LA53: ; } goto LA42; LA48: ; { NIM_BOOL LOC56; LOC56 = (NIM_BOOL)0; LOC56 = !((i_cVoYK2GWKTgnbctvXy48cA == last0)); if (LOC56) goto LA57; LOC56 = voidcontext0; LA57: ; if (!LOC56) goto LA58; discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, (*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]); } goto LA42; LA58: ; { asgnRefNoCycle((void**) (&(*n0).typ), (*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).typ); { NIM_BOOL LOC63; LOC63 = (NIM_BOOL)0; LOC63 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*n0).typ); if (!!(LOC63)) goto LA64; (*n0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126); } LA64: ; } LA42: ; switch ((*(*n0).kindU.S6.sons->data[i_cVoYK2GWKTgnbctvXy48cA]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 108): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 109): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 110): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111): { { NI j_Qe9c9b6P8vLrsUORYOGz6eZQ; NI HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_2; NI HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_3; NI res_r8dLiMEMAbbyWm5lGSurzQ_2; j_Qe9c9b6P8vLrsUORYOGz6eZQ = (NI)0; HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_2 = (NI)0; HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_3 = (NI)0; HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_2 = (NI)(i_cVoYK2GWKTgnbctvXy48cA + ((NI) 1)); HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_3 = (NI)(length0 - ((NI) 1)); res_r8dLiMEMAbbyWm5lGSurzQ_2 = HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_2; { while (1) { if (!(res_r8dLiMEMAbbyWm5lGSurzQ_2 <= HEX3Atmp_8ShW9czhxwmXEEMwtXv5nGQ_3)) goto LA69; j_Qe9c9b6P8vLrsUORYOGz6eZQ = res_r8dLiMEMAbbyWm5lGSurzQ_2; switch ((*(*n0).kindU.S6.sons->data[j_Qe9c9b6P8vLrsUORYOGz6eZQ]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): { } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[j_Qe9c9b6P8vLrsUORYOGz6eZQ]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 42), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } break; } res_r8dLiMEMAbbyWm5lGSurzQ_2 += ((NI) 1); } LA69: ; } } } break; default: { } break; } } break; } } LA4: ; res_r8dLiMEMAbbyWm5lGSurzQ += ((NI) 1); } LA3: ; } } { NIM_BOOL LOC75; NI LOC76; LOC75 = (NIM_BOOL)0; LOC76 = (NI)0; LOC76 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); LOC75 = (LOC76 == ((NI) 1)); if (!(LOC75)) goto LA77; LOC75 = !(((*(*result0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105))); LA77: ; if (!LOC75) goto LA78; result0 = (*result0).kindU.S6.sons->data[((NI) 0)]; } LA78: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semraise_NBTNEqzl5NBSHnN0VGYkSQ_44)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); typ0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ; { NIM_BOOL LOC7; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC7 = (NIM_BOOL)0; LOC7 = !(((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22))); if (LOC7) goto LA8; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = lastson_E41DMKHtT9c6sAMyyvhmSIw(typ0); LOC7 = !(((*LOC9).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); LA8: ; if (!LOC7) goto LA10; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 115), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA10: ; } LA3: ; return result0; } N_NIMCALL(NIM_BOOL, hasempty_5I3J6n6miHdpMvPTN5LLlg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC5; if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3; LOC5 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC5 = lastson_E41DMKHtT9c6sAMyyvhmSIw(typ0); result0 = ((*LOC5).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); } goto LA1; LA3: ; { if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA7; { Ttype_LTUWCZolpovw9cWE3JBWSUw* s_lRS0yO21tXIiMpFelaglGg; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ; NI i_7Zt0YcB3VT4Bgwllv2Eykg; NI L_PzIAGcqtUrC21dMjcOxIQw; s_lRS0yO21tXIiMpFelaglGg = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ = (*typ0).sons; i_7Zt0YcB3VT4Bgwllv2Eykg = ((NI) 0); L_PzIAGcqtUrC21dMjcOxIQw = (HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ ? HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ->Sup.len : 0); { while (1) { NIM_BOOL LOC12; if (!(i_7Zt0YcB3VT4Bgwllv2Eykg < L_PzIAGcqtUrC21dMjcOxIQw)) goto LA11; s_lRS0yO21tXIiMpFelaglGg = HEX3Atmp_2rkqYTbyxnr0AiDtI4qtgQ->data[i_7Zt0YcB3VT4Bgwllv2Eykg]; LOC12 = (NIM_BOOL)0; LOC12 = result0; if (LOC12) goto LA13; LOC12 = hasempty_5I3J6n6miHdpMvPTN5LLlg(s_lRS0yO21tXIiMpFelaglGg); LA13: ; result0 = LOC12; i_7Zt0YcB3VT4Bgwllv2Eykg += ((NI) 1); } LA11: ; } } } goto LA1; LA7: ; LA1: ; return result0; } N_NIMCALL(void, addtovarsection_1P9cxy7K9aYCKpI3Hq3meVDg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** result0, Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0, Tnode_bROa11lyF5vxEN9aYNbHmhw* identdefs0) { NI L0; Tnode_bROa11lyF5vxEN9aYNbHmhw* value0; L0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(identdefs0); value0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(identdefs0, (NI)(L0 - ((NI) 1))); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((*value0).typ == NIM_NIL)); if (!(LOC3)) goto LA4; LOC3 = (((*(*value0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 26))&31U)))!=0); LA4: ; if (!LOC3) goto LA5; asgnRefNoCycle((void**) (&(*identdefs0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), emptynode_69ccLGuQ2mITw7zylZYtWcA); { Tnode_bROa11lyF5vxEN9aYNbHmhw* oldresult0; if (!!(((*(*result0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA9; oldresult0 = (*result0); add_gCCf68XrWL79bKes6htzFjQ_3(oldresult0, identdefs0); unsureAsgnRef((void**) (&(*result0)), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*result0)).info)); add_gCCf68XrWL79bKes6htzFjQ_3((*result0), oldresult0); } goto LA7; LA9: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* o0; o0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(orig0); add_gCCf68XrWL79bKes6htzFjQ_3(o0, identdefs0); add_gCCf68XrWL79bKes6htzFjQ_3((*result0), o0); } LA7: ; { NI i_bUYucsaX3VToYBSayZPRUg; NI HEX3Atmp_bJX2ctgZlxut9cxpweNGW1w; NI res_qEeySe5S9c3pNzkMmCI3IKA; i_bUYucsaX3VToYBSayZPRUg = (NI)0; HEX3Atmp_bJX2ctgZlxut9cxpweNGW1w = (NI)0; HEX3Atmp_bJX2ctgZlxut9cxpweNGW1w = (NI)(L0 - ((NI) 3)); res_qEeySe5S9c3pNzkMmCI3IKA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; if (!(res_qEeySe5S9c3pNzkMmCI3IKA <= HEX3Atmp_bJX2ctgZlxut9cxpweNGW1w)) goto LA14; i_bUYucsaX3VToYBSayZPRUg = res_qEeySe5S9c3pNzkMmCI3IKA; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(identdefs0, i_bUYucsaX3VToYBSayZPRUg); LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = overloadedasgn_06nxIJKdZx87XBkRWF0ziQ(c0, LOC15, value0); add_gCCf68XrWL79bKes6htzFjQ_3((*result0), LOC16); res_qEeySe5S9c3pNzkMmCI3IKA += ((NI) 1); } LA14: ; } } } goto LA1; LA5: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* o0; if (!((*(*result0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA18; o0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(orig0); add_gCCf68XrWL79bKes6htzFjQ_3(o0, identdefs0); add_gCCf68XrWL79bKes6htzFjQ_3((*result0), o0); } goto LA1; LA18: ; { add_gCCf68XrWL79bKes6htzFjQ_3((*result0), identdefs0); } LA1: ; } N_NIMCALL(NIM_BOOL, isdiscardunderscore_3N9bG4OBX9bg2lFhd1W0U9a2Q)(Tsym_AXG7xcvKqaxY6koRX1xkCw* v0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { if (!eqStrings((*(*v0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_225))) goto LA3; (*v0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))%(sizeof(NU32)*8)); result0 = NIM_TRUE; } LA3: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, findshadowedvar_tsBK9cTUQnkrYM5djcp9bFSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* v0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { Tscope_1cQRXW6aAknk7ywAwjH3nw* scope_372J5vmyDkwkl9cQuqH2maA; Tscope_1cQRXW6aAknk7ywAwjH3nw* HEX3Atmp_w0vq19cAlWdAmWsxR9a68N1w; Tscope_1cQRXW6aAknk7ywAwjH3nw* current_Jtkm28bAzrr9a0vVUery8pQ; scope_372J5vmyDkwkl9cQuqH2maA = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_w0vq19cAlWdAmWsxR9a68N1w = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_w0vq19cAlWdAmWsxR9a68N1w = (*(*c0).currentscope).parent; current_Jtkm28bAzrr9a0vVUery8pQ = HEX3Atmp_w0vq19cAlWdAmWsxR9a68N1w; { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* shadowed0; if (!!((current_Jtkm28bAzrr9a0vVUery8pQ == NIM_NIL))) goto LA3; scope_372J5vmyDkwkl9cQuqH2maA = current_Jtkm28bAzrr9a0vVUery8pQ; { if (!(scope_372J5vmyDkwkl9cQuqH2maA == (*c0).toplevelscope)) goto LA6; goto LA1; } LA6: ; shadowed0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*scope_372J5vmyDkwkl9cQuqH2maA).symbols, (*v0).name); { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = !((shadowed0 == NIM_NIL)); if (!(LOC10)) goto LA11; LOC10 = ((1051400 &(1U<<((NU)((*shadowed0).kind)&31U)))!=0); LA11: ; if (!LOC10) goto LA12; result0 = shadowed0; goto BeforeRet; } LA12: ; current_Jtkm28bAzrr9a0vVUery8pQ = (*current_Jtkm28bAzrr9a0vVUery8pQ).parent; } LA3: ; } } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, identwithin_RJOjUwBqKr7t2kf40zrBUQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tident_4umxGerWTHGPwUms7Yqu3g* s0) { NIM_BOOL result0; NIM_BOOL LOC10; { result0 = (NIM_BOOL)0; { NI i_Wpc4VqaKduyTL9axyxtqwzg; NI HEX3Atmp_Zn7sZPiqiIn9bZLJexWM3eg; NI LOC2; NI res_4yZovtKqnHphLIsmwayxtA; i_Wpc4VqaKduyTL9axyxtqwzg = (NI)0; HEX3Atmp_Zn7sZPiqiIn9bZLJexWM3eg = (NI)0; LOC2 = (NI)0; LOC2 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_Zn7sZPiqiIn9bZLJexWM3eg = (NI)(LOC2 - ((NI) 1)); res_4yZovtKqnHphLIsmwayxtA = ((NI) 0); { while (1) { if (!(res_4yZovtKqnHphLIsmwayxtA <= HEX3Atmp_Zn7sZPiqiIn9bZLJexWM3eg)) goto LA4; i_Wpc4VqaKduyTL9axyxtqwzg = res_4yZovtKqnHphLIsmwayxtA; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = identwithin_RJOjUwBqKr7t2kf40zrBUQ((*n0).kindU.S6.sons->data[i_Wpc4VqaKduyTL9axyxtqwzg], s0); if (!LOC7) goto LA8; result0 = NIM_TRUE; goto BeforeRet; } LA8: ; res_4yZovtKqnHphLIsmwayxtA += ((NI) 1); } LA4: ; } } LOC10 = (NIM_BOOL)0; LOC10 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC10)) goto LA11; LOC10 = ((*(*(*n0).kindU.S4.sym).name).Sup.id == (*s0).Sup.id); LA11: ; result0 = LOC10; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, createdestructorcall_EyqK0myjaccLDtTGAkOTLg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* vartyp0; Ttype_LTUWCZolpovw9cWE3JBWSUw* destructablet0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; vartyp0 = (*s0).typ; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (vartyp0 == NIM_NIL); if (LOC3) goto LA4; LOC3 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))&31U)))!=0); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; destructablet0 = instantiatedestructor_b04wmJZNmRs48ayVXpmKbg(c0, vartyp0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC11; TY_AB6yfoUgfWM2NtGe9bzkCmw LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* LOC14; TY_jlWPjgtbdjE069arIWHC9c9bg LOC15; if (!!((destructablet0 == NIM_NIL))) goto LA9; LOC11 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC11 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 2); memset((void*)LOC12, 0, sizeof(LOC12)); LOC12[0] = usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ((*destructablet0).destructor); LOC12[1] = usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ(s0); asgnRefNoCycle((void**) (&LOC11->data[0]), LOC12[0]); asgnRefNoCycle((void**) (&LOC11->data[1]), LOC12[1]); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*s0).info, LOC11, NIM_NIL); call0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, LOC13); LOC14 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0; LOC14 = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), 1); memset((void*)LOC15, 0, sizeof(LOC15)); LOC15[0] = call0; asgnRefNoCycle((void**) (&LOC14->data[0]), LOC15[0]); result0 = newnode_o9aHrUvOCIeQhfywzvo7yOA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105), (*s0).info, LOC14, NIM_NIL); } LA9: ; }BeforeRet: ; return result0; } N_NIMCALL(void, adddefer_CqlvgNCidVFKYsST5paG1w)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw** result0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* deferdestructorcall0; deferdestructorcall0 = createdestructorcall_EyqK0myjaccLDtTGAkOTLg(c0, s0); { if (!!((deferdestructorcall0 == NIM_NIL))) goto LA3; { Tnode_bROa11lyF5vxEN9aYNbHmhw* oldresult0; if (!!(((*(*result0)).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA7; oldresult0 = (*result0); unsureAsgnRef((void**) (&(*result0)), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*(*result0)).info)); add_gCCf68XrWL79bKes6htzFjQ_3((*result0), oldresult0); } LA7: ; add_gCCf68XrWL79bKes6htzFjQ_3((*result0), deferdestructorcall0); } LA3: ; } N_NIMCALL(void, checknilable_oe9a8GRc7SIjkJMiSnlFq9aA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* v0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((40 & (*v0).flags) == 8); if (!(LOC3)) goto LA4; LOC3 = !(((196608 & (*(*v0).typ).flags) == 0)); LA4: ; if (!LOC3) goto LA5; { if (!((*v0).ast == 0)) goto LA9; message_VpilfPWbplGz6ny7O9cfr2g_2((*v0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 256), (*(*v0).name).s); } goto LA7; LA9: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = (((*(*v0).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 17))&31U)))!=0); if (!(LOC12)) goto LA13; LOC12 = !((((*(*(*v0).ast).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA13: ; if (!LOC12) goto LA14; message_VpilfPWbplGz6ny7O9cfr2g_2((*v0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 256), (*(*v0).name).s); } goto LA7; LA14: ; LA7: ; } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semvarorlet_6Rdn0jKaIRKP81jsTLDciw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; NIM_BOOL hascompiletime0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; b0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); hascompiletime0 = NIM_FALSE; { NI i_WKqnlf1gVqeq0bDcOvYobg; NI HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg; NI LOC2; NI res_5ZBTdY9aVYmt3VSBITp88Hg; i_WKqnlf1gVqeq0bDcOvYobg = (NI)0; HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg = (NI)(LOC2 - ((NI) 1)); res_5ZBTdY9aVYmt3VSBITp88Hg = ((NI) 0); { while (1) { if (!(res_5ZBTdY9aVYmt3VSBITp88Hg <= HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg)) goto LA4; i_WKqnlf1gVqeq0bDcOvYobg = res_5ZBTdY9aVYmt3VSBITp88Hg; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI length0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; Ttype_LTUWCZolpovw9cWE3JBWSUw* tup0; a0 = (*n0).kindU.S6.sons->data[i_WKqnlf1gVqeq0bDcOvYobg]; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA8; suggeststmt_Ph9cBAfASttahD6s5CLnVLQ(c0, a0); } LA8: ; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA12; goto LA5; } LA12: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA16; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA16: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); typ0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA20; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], NIM_NIL); } goto LA18; LA20: ; { typ0 = NIM_NIL; } LA18: ; def0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA25; def0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))], 64); { NIM_BOOL LOC29; LOC29 = (NIM_BOOL)0; LOC29 = ((*(*def0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)); if (!(LOC29)) goto LA30; LOC29 = !(((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16))); LA30: ; if (!LOC29) goto LA31; localerror_GarD0CQJ5aQhoHekHYinVQ((*def0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_223)); asgnRefNoCycle((void**) (&(*def0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } LA31: ; { if (!!((typ0 == NIM_NIL))) goto LA35; { NIM_BOOL LOC39; LOC39 = (NIM_BOOL)0; LOC39 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(typ0); if (!LOC39) goto LA40; def0 = inferwithmetatype_zxcTA9cfDCRYoPTKthQbpVQ(c0, typ0, def0, NIM_FALSE); typ0 = (*def0).typ; } goto LA37; LA40: ; { def0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, def0); } LA37: ; } goto LA33; LA35: ; { typ0 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys((*def0).typ); { NIM_BOOL LOC46; NimStringDesc* LOC49; NimStringDesc* LOC50; LOC46 = (NIM_BOOL)0; LOC46 = hasempty_5I3J6n6miHdpMvPTN5LLlg(typ0); if (!LOC46) goto LA47; LOC49 = (NimStringDesc*)0; LOC49 = copyStr(reprEnum((NI)(*typ0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag)), ((NI) 2)); LOC50 = (NimStringDesc*)0; LOC50 = nsuToLowerAsciiStr(LOC49); localerror_VpilfPWbplGz6ny7O9cfr2g((*def0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 229), LOC50); } LA47: ; } LA33: ; } goto LA23; LA25: ; { def0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; { if (!(symkind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9))) goto LA54; localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 223), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA54: ; } LA23: ; { if (!(typ0 == NIM_NIL)) goto LA58; goto LA5; } LA58: ; typeallowedcheck_NYdMxmPuqrY45Z2ld0gWSA((*a0).info, typ0, symkind0); tup0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 2064); { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA62; { if (!!(((*tup0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA66; localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 192), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_224)); } goto LA64; LA66: ; { NI LOC69; LOC69 = (NI)0; LOC69 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(tup0); if (!!(((NI)(length0 - ((NI) 2)) == LOC69))) goto LA70; localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 114), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA64; LA70: ; { b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a0).info); newsons_W9cZG9c5PyHYZPzxHXuunFyQ(b0, length0); asgnRefNoCycle((void**) (&(*b0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]), (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]); asgnRefNoCycle((void**) (&(*b0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]), def0); addtovarsection_1P9cxy7K9aYCKpI3Hq3meVDg(c0, &result0, n0, b0); } LA64: ; } goto LA60; LA62: ; { NIM_BOOL LOC74; NIM_BOOL LOC75; NIM_BOOL LOC76; NI LOC80; LOC74 = (NIM_BOOL)0; LOC75 = (NIM_BOOL)0; LOC76 = (NIM_BOOL)0; LOC76 = ((*tup0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC76)) goto LA77; LOC76 = ((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37)); LA77: ; LOC75 = LOC76; if (!(LOC75)) goto LA78; LOC75 = ((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35)); LA78: ; LOC74 = LOC75; if (!(LOC74)) goto LA79; LOC80 = (NI)0; LOC80 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(a0); LOC74 = (((NI) 3) < LOC80); LA79: ; if (!LOC74) goto LA81; message_VpilfPWbplGz6ny7O9cfr2g_2((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 254), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA60; LA81: ; LA60: ; { NI j_Q6l6oCy6GeO1d9ckDQdAA1A; NI HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg_2; NI res_5ZBTdY9aVYmt3VSBITp88Hg_2; j_Q6l6oCy6GeO1d9ckDQdAA1A = (NI)0; HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg_2 = (NI)0; HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg_2 = (NI)(length0 - ((NI) 3)); res_5ZBTdY9aVYmt3VSBITp88Hg_2 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; if (!(res_5ZBTdY9aVYmt3VSBITp88Hg_2 <= HEX3Atmp_kRmultC1B9bT3BXiaO5TeOg_2)) goto LA85; j_Q6l6oCy6GeO1d9ckDQdAA1A = res_5ZBTdY9aVYmt3VSBITp88Hg_2; v0 = semidentdef_qqiCDzCWiApL1VOjVbfHrw(c0, (*a0).kindU.S6.sons->data[j_Q6l6oCy6GeO1d9ckDQdAA1A], symkind0); { NIM_BOOL LOC88; NIM_BOOL LOC90; LOC88 = (NIM_BOOL)0; LOC88 = !((((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); if (!(LOC88)) goto LA89; LOC90 = (NIM_BOOL)0; LOC90 = isdiscardunderscore_3N9bG4OBX9bg2lFhd1W0U9a2Q(v0); LOC88 = !(LOC90); LA89: ; if (!LOC88) goto LA91; addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA(c0, v0); } LA91: ; { if (!(((NI) 0) < (*c0).inunrolledcontext)) goto LA95; (*v0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 21))%(sizeof(NU32)*8)); } goto LA93; LA95: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* shadowed0; shadowed0 = findshadowedvar_tsBK9cTUQnkrYM5djcp9bFSQ(c0, v0); { if (!!((shadowed0 == NIM_NIL))) goto LA100; (*shadowed0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 21))%(sizeof(NU32)*8)); { NIM_BOOL LOC104; LOC104 = (NIM_BOOL)0; LOC104 = ((*shadowed0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11)); if (!(LOC104)) goto LA105; LOC104 = !((((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); LA105: ; if (!LOC104) goto LA106; message_VpilfPWbplGz6ny7O9cfr2g_2((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 265), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA106: ; { NIM_BOOL LOC110; NIM_BOOL LOC112; LOC110 = (NIM_BOOL)0; LOC110 = ((gnotes_ra0BBMaJz6cOxn1JA3c6Bg &((NU64)1<<((NU)((((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) 255)- 236))&63U)))!=0); if (!(LOC110)) goto LA111; LOC112 = (NIM_BOOL)0; LOC112 = identwithin_RJOjUwBqKr7t2kf40zrBUQ(def0, (*v0).name); LOC110 = !(LOC112); LA111: ; if (!LOC110) goto LA113; message_VpilfPWbplGz6ny7O9cfr2g_2((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 255), (*(*v0).name).s); } LA113: ; } LA100: ; } LA93: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC135; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC136; if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA117; { NIM_BOOL LOC121; LOC121 = (NIM_BOOL)0; LOC121 = !((def0 == NIM_NIL)); if (!(LOC121)) goto LA122; LOC121 = !(((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); LA122: ; if (!LOC121) goto LA123; asgnRefNoCycle((void**) (&(*v0).ast), def0); { if (!(((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 22))&31U)))!=0)) goto LA127; localerror_VpilfPWbplGz6ny7O9cfr2g((*def0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 224), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA127: ; } LA123: ; asgnRefNoCycle((void**) (&(*v0).typ), typ0); b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a0).info); { NIM_BOOL LOC131; NimStringDesc* LOC134; LOC131 = (NIM_BOOL)0; LOC131 = importantcomments_9bOOl1CRXwH84L9baCwIFbjgsem(); if (!LOC131) goto LA132; LOC134 = (NimStringDesc*)0; LOC134 = (*b0).comment; (*b0).comment = copyStringRC1((*a0).comment); if (LOC134) nimGCunrefNoCycle(LOC134); } LA132: ; LOC135 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC135 = newsymnode_1ARBpggFQuvUDBVYjBelcw(v0); addson_gCCf68XrWL79bKes6htzFjQ(b0, LOC135); addson_gCCf68XrWL79bKes6htzFjQ(b0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]); LOC136 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC136 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(def0); addson_gCCf68XrWL79bKes6htzFjQ(b0, LOC136); addtovarsection_1P9cxy7K9aYCKpI3Hq3meVDg(c0, &result0, n0, b0); } goto LA115; LA117: ; { { if (!((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37))) goto LA140; asgnRefNoCycle((void**) (&(*v0).ast), HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(def0, j_Q6l6oCy6GeO1d9ckDQdAA1A)); } LA140: ; asgnRefNoCycle((void**) (&(*v0).typ), (*tup0).sons->data[j_Q6l6oCy6GeO1d9ckDQdAA1A]); asgnRefNoCycle((void**) (&(*b0).kindU.S6.sons->data[j_Q6l6oCy6GeO1d9ckDQdAA1A]), newsymnode_1ARBpggFQuvUDBVYjBelcw(v0)); } LA115: ; adddefer_CqlvgNCidVFKYsST5paG1w(c0, &result0, v0); checknilable_oe9a8GRc7SIjkJMiSnlFq9aA(v0); { if (!(((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 23))&31U)))!=0)) goto LA144; hascompiletime0 = NIM_TRUE; } LA144: ; res_5ZBTdY9aVYmt3VSBITp88Hg_2 += ((NI) 1); } LA85: ; } } } LA5: ; res_5ZBTdY9aVYmt3VSBITp88Hg += ((NI) 1); } LA4: ; } } { if (!hascompiletime0) goto LA148; setupcompiletimevar_JttNQ9bYthz62RVe5YmEhDA((*c0).module, (*c0).cache, result0); } LA148: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, fitremovehiddenconv_ymAzTgGsRQNxT0HuncQRvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, n0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* r10; if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3; r10 = (*result0).kindU.S6.sons->data[((NI) 1)]; { NIM_BOOL LOC7; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC7 = (NIM_BOOL)0; LOC7 = ((*r10).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*r10).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15)); if (!(LOC7)) goto LA8; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 1091856); LOC7 = ((*LOC9).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*LOC9).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39)); LA8: ; if (!LOC7) goto LA10; result0 = newfloatnode_TjQAA1fOcrmI6Hb9bZNtixw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16), ((NF) ((*r10).kindU.S1.intval))); (*result0).info = (*n0).info; asgnRefNoCycle((void**) (&(*result0).typ), typ0); } goto LA5; LA10: ; { changetype_REwyfGkprno5W0Lbgq59aKA(r10, typ0, NIM_TRUE); result0 = r10; } LA5: ; } goto LA1; LA3: ; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ((*result0).typ, typ0, 0); if (!!(LOC14)) goto LA15; changetype_REwyfGkprno5W0Lbgq59aKA(result0, typ0, NIM_FALSE); } goto LA1; LA15: ; LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconst_NBTNEqzl5NBSHnN0VGYkSQ_45)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); { NI i_dqafNMZ5BvZwf7jB9auFkUQ; NI HEX3Atmp_CEDlbHF2niTGmRDRm6FB3g; NI LOC2; NI res_5heQMbQaA5iJCOMXouSbGg; i_dqafNMZ5BvZwf7jB9auFkUQ = (NI)0; HEX3Atmp_CEDlbHF2niTGmRDRm6FB3g = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_CEDlbHF2niTGmRDRm6FB3g = (NI)(LOC2 - ((NI) 1)); res_5heQMbQaA5iJCOMXouSbGg = ((NI) 0); { while (1) { if (!(res_5heQMbQaA5iJCOMXouSbGg <= HEX3Atmp_CEDlbHF2niTGmRDRm6FB3g)) goto LA4; i_dqafNMZ5BvZwf7jB9auFkUQ = res_5heQMbQaA5iJCOMXouSbGg; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC54; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC55; a0 = (*n0).kindU.S6.sons->data[i_dqafNMZ5BvZwf7jB9auFkUQ]; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA8; suggeststmt_Ph9cBAfASttahD6s5CLnVLQ(c0, a0); } LA8: ; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA12; goto LA5; } LA12: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA16; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA16: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); v0 = semidentdef_qqiCDzCWiApL1VOjVbfHrw(c0, (*a0).kindU.S6.sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); typ0 = NIM_NIL; { if (!!(((*(*a0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA20; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[((NI) 1)], NIM_NIL); } LA20: ; def0 = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ(c0, (*a0).kindU.S6.sons->data[((NI) 2)]); { if (!(def0 == NIM_NIL)) goto LA24; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[((NI) 2)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto LA5; } LA24: ; { if (!!((typ0 == NIM_NIL))) goto LA28; def0 = fitremovehiddenconv_ymAzTgGsRQNxT0HuncQRvA(c0, typ0, def0); } goto LA26; LA28: ; { typ0 = (*def0).typ; } LA26: ; { if (!(typ0 == NIM_NIL)) goto LA33; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*a0).kindU.S6.sons->data[((NI) 2)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto LA5; } LA33: ; { NIM_BOOL LOC37; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC38; NimStringDesc* LOC42; NimStringDesc* LOC43; LOC37 = (NIM_BOOL)0; LOC38 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC38 = typeallowed_bHa9arT9b20nGEtBco5rXr1g(typ0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); LOC37 = !((LOC38 == NIM_NIL)); if (!(LOC37)) goto LA39; LOC37 = !(((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))); LA39: ; if (!LOC37) goto LA40; LOC42 = (NimStringDesc*)0; LOC43 = (NimStringDesc*)0; LOC43 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(typ0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC42 = rawNewString(LOC43->Sup.len + 24); appendString(LOC42, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_226)); appendString(LOC42, LOC43); localerror_GarD0CQJ5aQhoHekHYinVQ((*a0).info, LOC42); goto LA5; } LA40: ; asgnRefNoCycle((void**) (&(*v0).typ), typ0); asgnRefNoCycle((void**) (&(*v0).ast), def0); { if (!!((((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA46; addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA(c0, v0); } LA46: ; b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102), (*a0).info); { NIM_BOOL LOC50; NimStringDesc* LOC53; LOC50 = (NIM_BOOL)0; LOC50 = importantcomments_9bOOl1CRXwH84L9baCwIFbjgsem(); if (!LOC50) goto LA51; LOC53 = (NimStringDesc*)0; LOC53 = (*b0).comment; (*b0).comment = copyStringRC1((*a0).comment); if (LOC53) nimGCunrefNoCycle(LOC53); } LA51: ; LOC54 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC54 = newsymnode_1ARBpggFQuvUDBVYjBelcw(v0); addson_gCCf68XrWL79bKes6htzFjQ(b0, LOC54); addson_gCCf68XrWL79bKes6htzFjQ(b0, (*a0).kindU.S6.sons->data[((NI) 1)]); LOC55 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC55 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(def0); addson_gCCf68XrWL79bKes6htzFjQ(b0, LOC55); addson_gCCf68XrWL79bKes6htzFjQ(result0, b0); } LA5: ; res_5heQMbQaA5iJCOMXouSbGg += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(void, typesectionleftsidepass_jzk1KGIc0vzv6pth3zm9bkw_8)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_RrGCOIvpxJPAviuxn59aJag; NI HEX3Atmp_DXH2GDKpX34pyatSF0qMMA; NI LOC2; NI res_6IVES5HaxiHR5JFQCou1xg; i_RrGCOIvpxJPAviuxn59aJag = (NI)0; HEX3Atmp_DXH2GDKpX34pyatSF0qMMA = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_DXH2GDKpX34pyatSF0qMMA = (NI)(LOC2 - ((NI) 1)); res_6IVES5HaxiHR5JFQCou1xg = ((NI) 0); { while (1) { if (!(res_6IVES5HaxiHR5JFQCou1xg <= HEX3Atmp_DXH2GDKpX34pyatSF0qMMA)) goto LA4; i_RrGCOIvpxJPAviuxn59aJag = res_6IVES5HaxiHR5JFQCou1xg; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* name0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; a0 = (*n0).kindU.S6.sons->data[i_RrGCOIvpxJPAviuxn59aJag]; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA8; suggeststmt_Ph9cBAfASttahD6s5CLnVLQ(c0, a0); } LA8: ; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA12; goto LA5; } LA12: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA16; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA16: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); name0 = (*a0).kindU.S6.sons->data[((NI) 0)]; s0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*name0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA20; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, name0, 6); { NIM_BOOL LOC24; NIM_BOOL LOC25; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC27; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC29; LOC24 = (NIM_BOOL)0; LOC25 = (NIM_BOOL)0; LOC25 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7))); if (LOC25) goto LA26; LOC27 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC27 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*s0).typ, 14723344); LOC25 = !(((*LOC27).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); LA26: ; LOC24 = LOC25; if (LOC24) goto LA28; LOC29 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC29 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*s0).typ, 14723344); LOC24 = !((((*LOC29).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 15))&31U)))!=0)); LA28: ; if (!LOC24) goto LA30; localerror_GarD0CQJ5aQhoHekHYinVQ((*name0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_227)); } LA30: ; } goto LA18; LA20: ; { s0 = semidentdef_qqiCDzCWiApL1VOjVbfHrw(c0, name0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); asgnRefNoCycle((void**) (&(*s0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30), c0)); asgnRefNoCycle((void**) (&(*(*s0).typ).sym), s0); { if (!((*name0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA35; pragma_7200QCbjfWhEBN4qPDke4w(c0, s0, (*name0).kindU.S6.sons->data[((NI) 1)], T_rF9caJawfOjYTjsgLVUSGFA_185); } LA35: ; { if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA39; addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA(c0, s0); } LA39: ; } LA18: ; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(s0)); } LA5: ; res_6IVES5HaxiHR5JFQCou1xg += ((NI) 1); } LA4: ; } } } N_NIMCALL(void, setmagictype_VaNrb4YvEOm283Ncs60FoA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, NI size0) { (*(*m0).typ).kind = kind0; (*(*m0).typ).align = ((NI16) (size0)); (*(*m0).typ).size = ((NI64) (size0)); } N_NIMCALL(void, processmagictype_1tobamGWqMm6thgsi7nVfg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* m0) { switch ((*m0).magic) { case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 178): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31), intsize_a1bNgZBNVciKYuzCi2sD5A); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 179): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32), ((NI) 1)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 180): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33), ((NI) 2)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 181): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34), ((NI) 4)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 182): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35), ((NI) 8)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 183): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40), intsize_a1bNgZBNVciKYuzCi2sD5A); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 184): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41), ((NI) 1)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 185): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42), ((NI) 2)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 186): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43), ((NI) 4)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 187): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44), ((NI) 8)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 188): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36), floatsize_9aPM39cxaqttCZlYIk3psY3g); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 189): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 37), ((NI) 4)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 190): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 38), ((NI) 8)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 191): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39), ((NI) 16)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 192): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1), ((NI) 1)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 193): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2), ((NI) 1)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 194): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC18; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28), ptrsize_3AYcIlvHY9bTK1eNdc8MESQ); LOC18 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC18 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC18); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 195): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC20; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29), ptrsize_3AYcIlvHY9bTK1eNdc8MESQ); LOC20 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC20 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2)); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC20); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 196): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26), ptrsize_3AYcIlvHY9bTK1eNdc8MESQ); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 197): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC23; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19), ((NI) 1)); LOC23 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC23 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC23); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 198): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20), intsize_a1bNgZBNVciKYuzCi2sD5A); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 199): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5), ptrsize_3AYcIlvHY9bTK1eNdc8MESQ); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 200): { { if (!eqStrings((*(*m0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_228))) goto LA29; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58), ((NI) 0)); } goto LA27; LA29: ; { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6), ((NI) 0)); { if (!eqStrings((*(*m0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_229))) goto LA34; (*(*m0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))%(sizeof(NU32)*8)); } LA34: ; } LA27: ; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 201): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7), ((NI) 0)); { if (!eqStrings((*(*m0).name).s, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_230))) goto LA39; (*(*m0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))%(sizeof(NU32)*8)); } LA39: ; } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 202): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC42; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8), ((NI) 0)); LOC42 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC42 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC42); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 203): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 165): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 166): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 170): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 167): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC48; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20), ((NI) 0)); LOC48 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC48 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC48); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 168): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 169): { setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NI) 0)); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 177): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC52; setmagictype_VaNrb4YvEOm283Ncs60FoA(m0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15), ((NI) 0)); LOC52 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC52 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*m0).typ, LOC52); } break; case ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 204): { (*(*m0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 28))%(sizeof(NU32)*8)); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*m0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } break; } } N_NIMCALL(void, typesectionrightsidepass_jzk1KGIc0vzv6pth3zm9bkw_9)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_7d8ryXtDmsTSl9akIIJfekw; NI HEX3Atmp_CARArnDTMG8Ka0Xqg4eakA; NI LOC2; NI res_Ql9cyurfmF9bO1SR8LUNuD7A; i_7d8ryXtDmsTSl9akIIJfekw = (NI)0; HEX3Atmp_CARArnDTMG8Ka0Xqg4eakA = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_CARArnDTMG8Ka0Xqg4eakA = (NI)(LOC2 - ((NI) 1)); res_Ql9cyurfmF9bO1SR8LUNuD7A = ((NI) 0); { while (1) { if (!(res_Ql9cyurfmF9bO1SR8LUNuD7A <= HEX3Atmp_CARArnDTMG8Ka0Xqg4eakA)) goto LA4; i_7d8ryXtDmsTSl9akIIJfekw = res_Ql9cyurfmF9bO1SR8LUNuD7A; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* name0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* aa0; a0 = (*n0).kindU.S6.sons->data[i_7d8ryXtDmsTSl9akIIJfekw]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8; goto LA5; } LA8: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA12; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA12: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(a0, ((NI) 3)); name0 = (*a0).kindU.S6.sons->data[((NI) 0)]; { if (!!(((*name0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA16; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA16: ; s0 = (*name0).kindU.S4.sym; { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = ((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)); if (!(LOC20)) goto LA21; LOC20 = ((*(*a0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA21: ; if (!LOC20) goto LA22; localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*s0).name).s); } LA22: ; { if (!!(((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA26; processmagictype_1tobamGWqMm6thgsi7nVfg(c0, s0); } LA26: ; { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC32; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC37; Ttype_LTUWCZolpovw9cWE3JBWSUw* body0; if (!!(((*(*a0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30; LOC32 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC32 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA35; (*(*s0).typ).kind = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10); } LA35: ; asgnRefNoCycle((void**) (&(*(*s0).typ).n), semgenericparamlist_FHnQxPg6tiMHsFOOdAhreA(c0, (*a0).kindU.S6.sons->data[((NI) 1)], (*s0).typ)); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 1)]), (*(*s0).typ).n); (*(*s0).typ).size = IL64(-1); LOC37 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC37 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*s0).typ, LOC37); asgnRefNoCycle((void**) (&(*s0).ast), a0); (*c0).ingenericcontext += ((NI) 1); body0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[((NI) 2)], NIM_NIL); (*c0).ingenericcontext -= ((NI) 1); { NI LOC42; if (!!((body0 == NIM_NIL))) goto LA40; asgnRefNoCycle((void**) (&(*body0).sym), s0); (*body0).size = IL64(-1); LOC42 = (NI)0; LOC42 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*s0).typ); asgnRefNoCycle((void**) (&(*(*s0).typ).sons->data[(NI)(LOC42 - ((NI) 1))]), body0); } LA40: ; popowner_YTPTto4OU9aNWE72yJP9aDwA(); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } goto LA28; LA30: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!!(((*(*a0).kindU.S6.sons->data[((NI) 2)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44; pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); t0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[((NI) 2)], (*s0).typ); { if (!((*s0).typ == NIM_NIL)) goto LA48; asgnRefNoCycle((void**) (&(*s0).typ), t0); } goto LA46; LA48: ; { NIM_BOOL LOC51; NIM_BOOL LOC53; LOC51 = (NIM_BOOL)0; LOC51 = !((t0 == (*s0).typ)); if (!(LOC51)) goto LA52; LOC53 = (NIM_BOOL)0; LOC53 = ((*s0).typ == NIM_NIL); if (LOC53) goto LA54; LOC53 = !(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4))); LA54: ; LOC51 = LOC53; LA52: ; if (!LOC51) goto LA55; assigntype_50w9aT349c89bOXl19bOrS5HnA((*s0).typ, t0); } goto LA46; LA55: ; LA46: ; asgnRefNoCycle((void**) (&(*s0).ast), a0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); } goto LA28; LA44: ; LA28: ; aa0 = (*a0).kindU.S6.sons->data[((NI) 2)]; { NIM_BOOL LOC59; NIM_BOOL LOC60; NI LOC62; Ttype_LTUWCZolpovw9cWE3JBWSUw* st0; Tsym_AXG7xcvKqaxY6koRX1xkCw* obj0; NimStringDesc* LOC81; Tident_4umxGerWTHGPwUms7Yqu3g* LOC82; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC83; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC84; LOC59 = (NIM_BOOL)0; LOC60 = (NIM_BOOL)0; LOC60 = ((*aa0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 141) || (*aa0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 142)); if (!(LOC60)) goto LA61; LOC62 = (NI)0; LOC62 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(aa0); LOC60 = (LOC62 == ((NI) 1)); LA61: ; LOC59 = LOC60; if (!(LOC59)) goto LA63; LOC59 = ((*(*aa0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133)); LA63: ; if (!LOC59) goto LA64; st0 = (*s0).typ; { if (!((*st0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA68; st0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(st0); } LA68: ; { NimStringDesc* LOC74; if (!!(((*st0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*st0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA72; LOC74 = (NimStringDesc*)0; LOC74 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_231); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC74); } LA72: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC77; NimStringDesc* LOC80; LOC77 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC77 = lastson_E41DMKHtT9c6sAMyyvhmSIw(st0); if (!!(((*LOC77).sym == NIM_NIL))) goto LA78; LOC80 = (NimStringDesc*)0; LOC80 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_233); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC80); } LA78: ; (*st0).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 29))%(sizeof(NU32)*8)); LOC81 = (NimStringDesc*)0; LOC81 = rawNewString((*(*s0).name).s->Sup.len + 11); appendString(LOC81, (*(*s0).name).s); appendString(LOC81, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_234)); LOC82 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC82 = getident_oH8GBf4tG3b1F5BIuNPwtA(LOC81); LOC83 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC83 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); obj0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), LOC82, LOC83, (*s0).info); asgnRefNoCycle((void**) (&(*obj0).typ), lastson_E41DMKHtT9c6sAMyyvhmSIw(st0)); LOC84 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC84 = lastson_E41DMKHtT9c6sAMyyvhmSIw(st0); asgnRefNoCycle((void**) (&(*LOC84).sym), obj0); } LA64: ; } LA5: ; res_Ql9cyurfmF9bO1SR8LUNuD7A += ((NI) 1); } LA4: ; } } } N_NIMCALL(void, checkformetafields_sIxO9bj7Xwv3qFTK7z9b5jSg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { { if (!(n0 == 0)) goto LA3; goto BeforeRet; } LA3: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* s_upHY8cMH3IfI4W5ZnCCsrw; s_upHY8cMH3IfI4W5ZnCCsrw = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_8659bcH3odA3G3LZj49bxcFA; NI HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA; NI LOC8; NI res_13cTldAElqtFtgHHcY3rFw; i_8659bcH3odA3G3LZj49bxcFA = (NI)0; HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA = (NI)0; LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA = (LOC8 - 1); res_13cTldAElqtFtgHHcY3rFw = ((NI) 0); { while (1) { if (!(res_13cTldAElqtFtgHHcY3rFw <= HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA)) goto LA10; i_8659bcH3odA3G3LZj49bxcFA = res_13cTldAElqtFtgHHcY3rFw; s_upHY8cMH3IfI4W5ZnCCsrw = (*n0).kindU.S6.sons->data[i_8659bcH3odA3G3LZj49bxcFA]; checkformetafields_sIxO9bj7Xwv3qFTK7z9b5jSg_2(s_upHY8cMH3IfI4W5ZnCCsrw); res_13cTldAElqtFtgHHcY3rFw += ((NI) 1); } LA10: ; } } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0); checkformetafields_sIxO9bj7Xwv3qFTK7z9b5jSg_2(LOC12); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; t0 = (*(*n0).kindU.S4.sym).typ; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { NI start0; start0 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); { NI i_8659bcH3odA3G3LZj49bxcFA_2; NI HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA_2; NI res_13cTldAElqtFtgHHcY3rFw_2; i_8659bcH3odA3G3LZj49bxcFA_2 = (NI)0; HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA_2 = (NI)0; HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA_2 = (((*t0).sons ? (*t0).sons->Sup.len : 0) - 1); res_13cTldAElqtFtgHHcY3rFw_2 = ((NI) (start0)); { while (1) { if (!(res_13cTldAElqtFtgHHcY3rFw_2 <= HEX3Atmp_UewTMbZie5yu5nTR9a9bU9arA_2)) goto LA17; i_8659bcH3odA3G3LZj49bxcFA_2 = res_13cTldAElqtFtgHHcY3rFw_2; { NIM_BOOL LOC20; NIM_BOOL LOC21; NimStringDesc* LOC26; LOC20 = (NIM_BOOL)0; LOC21 = (NIM_BOOL)0; LOC21 = !(((*t0).sons->data[i_8659bcH3odA3G3LZj49bxcFA_2] == NIM_NIL)); if (!(LOC21)) goto LA22; LOC21 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ((*t0).sons->data[i_8659bcH3odA3G3LZj49bxcFA_2]); LA22: ; LOC20 = LOC21; if (!(LOC20)) goto LA23; LOC20 = !((((*(*t0).sons->data[i_8659bcH3odA3G3LZj49bxcFA_2]).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 23))&31U)))!=0)); LA23: ; if (!LOC20) goto LA24; LOC26 = (NimStringDesc*)0; LOC26 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_8659bcH3odA3G3LZj49bxcFA_2], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 193), LOC26); } LA24: ; res_13cTldAElqtFtgHHcY3rFw_2 += ((NI) 1); } LA17: ; } } } break; default: { { NIM_BOOL LOC30; NIM_BOOL LOC31; NimStringDesc* LOC36; LOC30 = (NIM_BOOL)0; LOC31 = (NIM_BOOL)0; LOC31 = !((t0 == NIM_NIL)); if (!(LOC31)) goto LA32; LOC31 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(t0); LA32: ; LOC30 = LOC31; if (!(LOC30)) goto LA33; LOC30 = !((((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 23))&31U)))!=0)); LA33: ; if (!LOC30) goto LA34; LOC36 = (NimStringDesc*)0; LOC36 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 193), LOC36); } LA34: ; } break; } } break; default: { { NimStringDesc* LOC42; if (!NIM_TRUE) goto LA40; LOC42 = (NimStringDesc*)0; LOC42 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_rF9caJawfOjYTjsgLVUSGFA_235); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC42); } LA40: ; } break; } }BeforeRet: ; } N_NIMCALL(void, typesectionfinalpass_jzk1KGIc0vzv6pth3zm9bkw_10)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_NLPmbD3lk3d5PILg4RZjlg; NI HEX3Atmp_KVj59aqGRsCu9aiC2kRTPdZQ; NI LOC2; NI res_rewzI3aH4rSUIBEVlJNWUQ; i_NLPmbD3lk3d5PILg4RZjlg = (NI)0; HEX3Atmp_KVj59aqGRsCu9aiC2kRTPdZQ = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_KVj59aqGRsCu9aiC2kRTPdZQ = (NI)(LOC2 - ((NI) 1)); res_rewzI3aH4rSUIBEVlJNWUQ = ((NI) 0); { while (1) { if (!(res_rewzI3aH4rSUIBEVlJNWUQ <= HEX3Atmp_KVj59aqGRsCu9aiC2kRTPdZQ)) goto LA4; i_NLPmbD3lk3d5PILg4RZjlg = res_rewzI3aH4rSUIBEVlJNWUQ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; a0 = (*n0).kindU.S6.sons->data[i_NLPmbD3lk3d5PILg4RZjlg]; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA8; goto LA5; } LA8: ; { if (!!(((*(*a0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA12: ; s0 = (*(*a0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!((*(*a0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA16; x0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(a0, ((NI) 2)); { while (1) { NIM_BOOL LOC20; NI LOC22; LOC20 = (NIM_BOOL)0; LOC20 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126)); if (!(LOC20)) goto LA21; LOC22 = (NI)0; LOC22 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(x0); LOC20 = (((NI) 0) < LOC22); LA21: ; if (!LOC20) goto LA19; x0 = lastson_esDJA7239bJDiq4UrX9aHCjg(x0); } LA19: ; } { NIM_BOOL LOC25; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; LOC25 = (NIM_BOOL)0; LOC25 = !(((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 133) || (*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 146) || (*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150) || (*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))); if (!(LOC25)) goto LA26; LOC25 = !(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14))); LA26: ; if (!LOC25) goto LA27; t0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, x0, NIM_NIL); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA31; { if (!!(((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4)))) goto LA35; assigntype_50w9aT349c89bOXl19bOrS5HnA((*s0).typ, t0); (*(*s0).typ).Sup.id = (*t0).Sup.id; } LA35: ; } LA31: ; } LA27: ; checkconstructedtype_DjnhSDYiTT9aAcoOKm9bgFaQ((*s0).info, (*s0).typ); { NIM_BOOL LOC39; LOC39 = (NIM_BOOL)0; LOC39 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC39)) goto LA40; LOC39 = !(((*(*s0).typ).n == 0)); LA40: ; if (!LOC39) goto LA41; checkformetafields_sIxO9bj7Xwv3qFTK7z9b5jSg_2((*(*s0).typ).n); } LA41: ; } LA16: ; } LA5: ; res_rewzI3aH4rSUIBEVlJNWUQ += ((NI) 1); } LA4: ; } } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semtypesection_NBTNEqzl5NBSHnN0VGYkSQ_46)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !((((*(*c0).module).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 8))&31U)))!=0)); if (LOC3) goto LA4; LOC3 = !((((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 7))&15U)))!=0)); LA4: ; if (!LOC3) goto LA5; typesectionleftsidepass_jzk1KGIc0vzv6pth3zm9bkw_8(c0, n0); typesectionrightsidepass_jzk1KGIc0vzv6pth3zm9bkw_9(c0, n0); typesectionfinalpass_jzk1KGIc0vzv6pth3zm9bkw_10(c0, n0); } LA5: ; result0 = n0; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semdiscard_NBTNEqzl5NBSHnN0VGYkSQ_47)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ); if (LOC7) goto LA8; LOC7 = ((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0)); LA8: ; if (!LOC7) goto LA9; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 144), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA9: ; } LA3: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semwhile_NBTNEqzl5NBSHnN0VGYkSQ_48)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25(c0, LOC2)); (*(*c0).p).nestedloopcounter += ((NI) 1); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, (*n0).kindU.S6.sons->data[((NI) 1)])); (*(*c0).p).nestedloopcounter -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); { if (!((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA5; asgnRefNoCycle((void**) (&(*result0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA5: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sembreakorcontinue_NBTNEqzl5NBSHnN0VGYkSQ_49)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3; { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111)))) goto LA7; s0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; switch ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { s0 = lookup_IOsv2I6GLAg6uZx8BH20Hw_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { s0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(n0); } break; } { NIM_BOOL LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; LOC14 = (NIM_BOOL)0; LOC14 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 21)); if (!(LOC14)) goto LA15; LOC14 = ((*(*s0).owner).Sup.id == (*(*(*c0).p).owner).Sup.id); LA15: ; if (!LOC14) goto LA16; x0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(s0); (*x0).info = (*n0).info; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), x0); suggestsym_0Pd6krQY7I1Ldxb8Yh9bbPAsem((*x0).info, s0, NIM_TRUE); } goto LA12; LA16: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 167), (*(*s0).name).s); } LA12: ; } goto LA5; LA7: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_236)); } LA5: ; } goto LA1; LA3: ; { NIM_BOOL LOC21; NimStringDesc* LOC25; LOC21 = (NIM_BOOL)0; LOC21 = ((*(*c0).p).nestedloopcounter <= ((NI) 0)); if (!(LOC21)) goto LA22; LOC21 = ((*(*c0).p).nestedblockcounter <= ((NI) 0)); LA22: ; if (!LOC21) goto LA23; LOC25 = (NimStringDesc*)0; LOC25 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 167), LOC25); } goto LA1; LA23: ; LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprnoderef_tayBCUAEli3HMPwxdS9aMbg_23)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, flags0); { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3; result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); } LA3: ; { NimStringDesc* LOC9; if (!((*result0).typ == NIM_NIL)) goto LA7; LOC9 = (NimStringDesc*)0; LOC9 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(result0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 93), LOC9); asgnRefNoCycle((void**) (&(*result0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } goto LA5; LA7: ; { semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4(c0, result0); semdestructorcheck_9cNKx7gmG1plo0hCFv2igQgsem(c0, result0, flags0); } LA5: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, symforvar_RiNpYDzSB8OUnjHue9b4s2g_4)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* m0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3; m0 = (*n0).kindU.S6.sons->data[((NI) 0)]; } goto LA1; LA3: ; { m0 = n0; } LA1: ; result0 = newsymg_4zMCRU3VuII34h7KWa4igg(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 20), m0, c0); return result0; } N_NIMCALL(void, addforvardecl_ANKAQsuRDXngtFN9a1A0ssw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* v0) { { Tsym_AXG7xcvKqaxY6koRX1xkCw* shadowed0; if (!((gnotes_ra0BBMaJz6cOxn1JA3c6Bg &((NU64)1<<((NU)((((Tmsgkind_nDM9aiGzuSlpuw3CrqwaebA) 255)- 236))&63U)))!=0)) goto LA3; shadowed0 = findshadowedvar_tsBK9cTUQnkrYM5djcp9bFSQ(c0, v0); { if (!!((shadowed0 == NIM_NIL))) goto LA7; message_VpilfPWbplGz6ny7O9cfr2g_2((*v0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 255), (*(*v0).name).s); } LA7: ; } LA3: ; adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, v0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI length0; Ttype_LTUWCZolpovw9cWE3JBWSUw* iterbase0; Ttype_LTUWCZolpovw9cWE3JBWSUw* iter0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); iterbase0 = (*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).typ; iter0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(iterbase0, 2064); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((*iter0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))); if (LOC3) goto LA4; LOC3 = (length0 == ((NI) 3)); LA4: ; if (!LOC3) goto LA5; { Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; if (!(length0 == ((NI) 3))) goto LA9; v0 = symforvar_RiNpYDzSB8OUnjHue9b4s2g_4(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC13; LOC13 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC13 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); if (!((*LOC13).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA14; (*v0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8)); } LA14: ; asgnRefNoCycle((void**) (&(*v0).typ), iterbase0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), newsymnode_1ARBpggFQuvUDBVYjBelcw(v0)); { if (!!((((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA18; addforvardecl_ANKAQsuRDXngtFN9a1A0ssw(c0, v0); } LA18: ; } goto LA7; LA9: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 114), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA7: ; } goto LA1; LA5: ; { NI LOC22; LOC22 = (NI)0; LOC22 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(iter0); if (!!(((NI)(length0 - ((NI) 2)) == LOC22))) goto LA23; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 114), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA1; LA23: ; { { NI i_8D3uPKiprBhGcLVzkA5ZFQ; NI HEX3Atmp_Sh1gs238zv9bKLG0Y88g89bg; NI res_7HN12EYetE6bCXiEe3DiBw; i_8D3uPKiprBhGcLVzkA5ZFQ = (NI)0; HEX3Atmp_Sh1gs238zv9bKLG0Y88g89bg = (NI)0; HEX3Atmp_Sh1gs238zv9bKLG0Y88g89bg = (NI)(length0 - ((NI) 3)); res_7HN12EYetE6bCXiEe3DiBw = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; if (!(res_7HN12EYetE6bCXiEe3DiBw <= HEX3Atmp_Sh1gs238zv9bKLG0Y88g89bg)) goto LA28; i_8D3uPKiprBhGcLVzkA5ZFQ = res_7HN12EYetE6bCXiEe3DiBw; v0 = symforvar_RiNpYDzSB8OUnjHue9b4s2g_4(c0, (*n0).kindU.S6.sons->data[i_8D3uPKiprBhGcLVzkA5ZFQ]); { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC31; LOC31 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC31 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); if (!((*LOC31).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA32; (*v0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))%(sizeof(NU32)*8)); } LA32: ; asgnRefNoCycle((void**) (&(*v0).typ), (*iter0).sons->data[i_8D3uPKiprBhGcLVzkA5ZFQ]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_8D3uPKiprBhGcLVzkA5ZFQ]), newsymnode_1ARBpggFQuvUDBVYjBelcw(v0)); { NIM_BOOL LOC36; NIM_BOOL LOC38; LOC36 = (NIM_BOOL)0; LOC36 = !((((*v0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); if (!(LOC36)) goto LA37; LOC38 = (NIM_BOOL)0; LOC38 = isdiscardunderscore_3N9bG4OBX9bg2lFhd1W0U9a2Q(v0); LOC36 = !(LOC38); LA37: ; if (!LOC36) goto LA39; addforvardecl_ANKAQsuRDXngtFN9a1A0ssw(c0, v0); } LA39: ; res_7HN12EYetE6bCXiEe3DiBw += ((NI) 1); } LA28: ; } } } LA1: ; (*(*c0).p).nestedloopcounter += ((NI) 1); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]), semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))])); (*(*c0).p).nestedloopcounter -= ((NI) 1); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, instfieldloopbody_NWigU6dr5apz5g827GjO4w)(Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* forloop0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { result0 = n0; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tident_4umxGerWTHGPwUms7Yqu3g* ident0; NI L0; result0 = n0; ident0 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(n0); L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(forloop0); { if (!c0.replacebyfieldname) goto LA5; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tident_4umxGerWTHGPwUms7Yqu3g* LOC10; NimStringDesc* fieldname0; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(forloop0, ((NI) 0)); LOC10 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC10 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC9); if (!((*ident0).Sup.id == (*LOC10).Sup.id)) goto LA11; { if (!(c0.tupletype == 0)) goto LA15; fieldname0 = (*(*c0.field).name).s; } goto LA13; LA15: ; { NimStringDesc* LOC20; NimStringDesc* LOC21; if (!((*c0.tupletype).n == 0)) goto LA18; LOC20 = (NimStringDesc*)0; LOC21 = (NimStringDesc*)0; LOC21 = nimIntToStr(c0.tupleindex); LOC20 = rawNewString(LOC21->Sup.len + 5); appendString(LOC20, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_240)); appendString(LOC20, LOC21); fieldname0 = LOC20; } goto LA13; LA18: ; { fieldname0 = (*(*(*(*(*c0.tupletype).n).kindU.S6.sons->data[c0.tupleindex]).kindU.S4.sym).name).s; } LA13: ; result0 = newstrnode_8GaTnuPqpzGLNcerzDOURQ(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20), fieldname0); goto BeforeRet; } LA11: ; } LA5: ; { NI i_wos7ZVub9bphD72gf4ksRfA; NI HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log; NI HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_2; NI res_V2qsqY3xqwtCFuKygCXSCw; i_wos7ZVub9bphD72gf4ksRfA = (NI)0; HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log = (NI)0; HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_2 = (NI)0; HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log = c0.replacebyfieldname; HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_2 = (NI)(L0 - ((NI) 3)); res_V2qsqY3xqwtCFuKygCXSCw = ((NI) (HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log)); { while (1) { if (!(res_V2qsqY3xqwtCFuKygCXSCw <= HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_2)) goto LA25; i_wos7ZVub9bphD72gf4ksRfA = res_V2qsqY3xqwtCFuKygCXSCw; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; Tident_4umxGerWTHGPwUms7Yqu3g* LOC29; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tnode_bROa11lyF5vxEN9aYNbHmhw* tupl0; LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(forloop0, i_wos7ZVub9bphD72gf4ksRfA); LOC29 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC29 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(LOC28); if (!((*ident0).Sup.id == (*LOC29).Sup.id)) goto LA30; call0 = (*forloop0).kindU.S6.sons->data[(NI)(L0 - ((NI) 2))]; tupl0 = (*call0).kindU.S6.sons->data[(NI)((NI)(i_wos7ZVub9bphD72gf4ksRfA + ((NI) 1)) - ((NI) (c0.replacebyfieldname)))]; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC36; if (!(c0.field == 0)) goto LA34; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, tupl0); LOC36 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC36 = newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (c0.tupleindex))); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC36); } goto LA32; LA34: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC38; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, tupl0); LOC38 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC38 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(c0.field, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC38); } LA32: ; goto LA23; } LA30: ; res_V2qsqY3xqwtCFuKygCXSCw += ((NI) 1); } LA25: ; } } LA23: ; } break; default: { NI LOC44; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111))) goto LA42; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_241)); } LA42: ; result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); LOC44 = (NI)0; LOC44 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); newsons_W9cZG9c5PyHYZPzxHXuunFyQ(result0, LOC44); { NI i_wos7ZVub9bphD72gf4ksRfA_2; NI HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_3; NI LOC46; NI res_V2qsqY3xqwtCFuKygCXSCw_2; i_wos7ZVub9bphD72gf4ksRfA_2 = (NI)0; HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_3 = (NI)0; LOC46 = (NI)0; LOC46 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_3 = (NI)(LOC46 - ((NI) 1)); res_V2qsqY3xqwtCFuKygCXSCw_2 = ((NI) 0); { while (1) { if (!(res_V2qsqY3xqwtCFuKygCXSCw_2 <= HEX3Atmp_HVbQH5q8C6y4Qnpoue0Log_3)) goto LA48; i_wos7ZVub9bphD72gf4ksRfA_2 = res_V2qsqY3xqwtCFuKygCXSCw_2; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_wos7ZVub9bphD72gf4ksRfA_2]), instfieldloopbody_NWigU6dr5apz5g827GjO4w(c0, (*n0).kindU.S6.sons->data[i_wos7ZVub9bphD72gf4ksRfA_2], forloop0)); res_V2qsqY3xqwtCFuKygCXSCw_2 += ((NI) 1); } LA48: ; } } } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ)(Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* typ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* forloop0, Tnode_bROa11lyF5vxEN9aYNbHmhw* father0) { { switch ((*typ0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA fc0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC2; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC3; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; memset((void*)(&fc0), 0, sizeof(fc0)); fc0.field = (*typ0).kindU.S4.sym; fc0.replacebyfieldname = (c0.m == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 142)); LOC2 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC2 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0.c); (*c0.c).inunrolledcontext += ((NI) 1); LOC3 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC3 = lastson_esDJA7239bJDiq4UrX9aHCjg(forloop0); body0 = instfieldloopbody_NWigU6dr5apz5g827GjO4w(fc0, LOC3, forloop0); LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0.c, body0); add_gCCf68XrWL79bKes6htzFjQ_3(father0, LOC4); (*c0.c).inunrolledcontext -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0.c); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { NI L_lSuWMyRtmaWSEnYc9cdX0Uw; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* casestmt0; Tnode_bROa11lyF5vxEN9aYNbHmhw* access0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; L_lSuWMyRtmaWSEnYc9cdX0Uw = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(forloop0); call0 = (*forloop0).kindU.S6.sons->data[(NI)(L_lSuWMyRtmaWSEnYc9cdX0Uw - ((NI) 2))]; { NI LOC9; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(call0); if (!(((NI) 2) < LOC9)) goto LA10; localerror_VpilfPWbplGz6ny7O9cfr2g((*forloop0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_242)); goto BeforeRet; } LA10: ; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(typ0, ((NI) 0)); semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ(c0, LOC12, forloop0, father0); casestmt0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97), (*forloop0).info); access0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45), (*forloop0).info, ((NI) 2)); asgnRefNoCycle((void**) (&(*access0).kindU.S6.sons->data[((NI) 0)]), (*call0).kindU.S6.sons->data[((NI) 1)]); asgnRefNoCycle((void**) (&(*access0).kindU.S6.sons->data[((NI) 1)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g((*(*typ0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym, (*forloop0).info)); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0.c, access0, 0); add_gCCf68XrWL79bKes6htzFjQ_3(casestmt0, LOC13); { NI i_qVLTwb2K6Tbq5bKwWq1DUw; NI HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA; NI LOC15; NI res_JViDcwFp6ofA1HaHeN6u9cw; i_qVLTwb2K6Tbq5bKwWq1DUw = (NI)0; HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA = (NI)0; LOC15 = (NI)0; LOC15 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(typ0); HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA = (LOC15 - 1); res_JViDcwFp6ofA1HaHeN6u9cw = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* branch0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; NI L0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21; if (!(res_JViDcwFp6ofA1HaHeN6u9cw <= HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA)) goto LA17; i_qVLTwb2K6Tbq5bKwWq1DUw = res_JViDcwFp6ofA1HaHeN6u9cw; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(typ0, i_qVLTwb2K6Tbq5bKwWq1DUw); branch0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC18); L0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(branch0); asgnRefNoCycle((void**) (&(*branch0).kindU.S6.sons->data[(NI)(L0 - ((NI) 1))]), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*forloop0).info)); LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(typ0, i_qVLTwb2K6Tbq5bKwWq1DUw); LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = lastson_esDJA7239bJDiq4UrX9aHCjg(LOC19); LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC21 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(branch0, (NI)(L0 - ((NI) 1))); semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ(c0, LOC20, forloop0, LOC21); add_gCCf68XrWL79bKes6htzFjQ_3(casestmt0, branch0); res_JViDcwFp6ofA1HaHeN6u9cw += ((NI) 1); } LA17: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(father0, casestmt0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* t_yVUTVAWxQTz89aVCdHgnY1w; t_yVUTVAWxQTz89aVCdHgnY1w = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_qVLTwb2K6Tbq5bKwWq1DUw_2; NI HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA_2; NI LOC25; NI res_JViDcwFp6ofA1HaHeN6u9cw_2; i_qVLTwb2K6Tbq5bKwWq1DUw_2 = (NI)0; HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA_2 = (NI)0; LOC25 = (NI)0; LOC25 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(typ0); HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA_2 = (LOC25 - 1); res_JViDcwFp6ofA1HaHeN6u9cw_2 = ((NI) 0); { while (1) { if (!(res_JViDcwFp6ofA1HaHeN6u9cw_2 <= HEX3Atmp_bmpFBhW9cEc29bkFuNx9cRWNA_2)) goto LA27; i_qVLTwb2K6Tbq5bKwWq1DUw_2 = res_JViDcwFp6ofA1HaHeN6u9cw_2; t_yVUTVAWxQTz89aVCdHgnY1w = (*typ0).kindU.S6.sons->data[i_qVLTwb2K6Tbq5bKwWq1DUw_2]; semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ(c0, t_yVUTVAWxQTz89aVCdHgnY1w, forloop0, father0); res_JViDcwFp6ofA1HaHeN6u9cw_2 += ((NI) 1); } LA27: ; } } } } break; default: { illformedastlocal_DpsImAn3UbwOKcZFm2pVSg_2(typ0); } break; } }BeforeRet: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semforfields_S9brLJW1Nbrxs3E5z3cKFKQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tmagic_shZhZOdbVC5nnFvcXQAImg m0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* truesymbol0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* stmts0; NI length0; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Ttype_LTUWCZolpovw9cWE3JBWSUw* tupletypea0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96), (*n0).info, ((NI) 2)); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_237)); truesymbol0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*systemmodule_zVRpbHNEGZHBIbdtvq2fVg).kindU.S3.tab, LOC1); { Tident_4umxGerWTHGPwUms7Yqu3g* LOC6; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC7; if (!(truesymbol0 == NIM_NIL)) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 67), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_238)); LOC6 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC6 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_237)); LOC7 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC7 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); truesymbol0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 0), LOC6, LOC7, (*n0).info); asgnRefNoCycle((void**) (&(*truesymbol0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1))); } LA4: ; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), newsymnode_slQ2jWOFI1ND3N9c79b7b18g(truesymbol0, (*n0).info)); stmts0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), stmts0); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); call0 = (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]; { NI LOC10; LOC10 = (NI)0; LOC10 = sonslen_qPWPHw7WgJeEVYUdcaRIig(call0); if (!!(((NI)(length0 - ((NI) 2)) == (NI)((NI)(LOC10 - ((NI) 1)) + ((NI) ((m0 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 142)))))))) goto LA11; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 114), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto BeforeRet; } LA11: ; tupletypea0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*call0).kindU.S6.sons->data[((NI) 1)]).typ, 8431632); { if (!!(((*tupletypea0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*tupletypea0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA15; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_239)); goto BeforeRet; } LA15: ; { NI i_C9bYHwLfdRNOKW9aoQrRtL5Q; NI HEX3Atmp_UOIory9aeUoehaygRCH2n3g; NI LOC18; NI res_ZdOVJB5COjUIjqyDRvDtmg; i_C9bYHwLfdRNOKW9aoQrRtL5Q = (NI)0; HEX3Atmp_UOIory9aeUoehaygRCH2n3g = (NI)0; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(call0); HEX3Atmp_UOIory9aeUoehaygRCH2n3g = (NI)(LOC18 - ((NI) 1)); res_ZdOVJB5COjUIjqyDRvDtmg = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* tupletypeb0; if (!(res_ZdOVJB5COjUIjqyDRvDtmg <= HEX3Atmp_UOIory9aeUoehaygRCH2n3g)) goto LA20; i_C9bYHwLfdRNOKW9aoQrRtL5Q = res_ZdOVJB5COjUIjqyDRvDtmg; tupletypeb0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*call0).kindU.S6.sons->data[i_C9bYHwLfdRNOKW9aoQrRtL5Q]).typ, 8431632); { NIM_BOOL LOC23; LOC23 = (NIM_BOOL)0; LOC23 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(tupletypea0, tupletypeb0, 0); if (!!(LOC23)) goto LA24; typemismatch_ScpDxXjg7tRc9a9aUBDo3etA((*call0).kindU.S6.sons->data[i_C9bYHwLfdRNOKW9aoQrRtL5Q], tupletypea0, tupletypeb0); } LA24: ; res_ZdOVJB5COjUIjqyDRvDtmg += ((NI) 1); } LA20: ; } } (*(*c0).p).nestedloopcounter += ((NI) 1); { Tnode_bROa11lyF5vxEN9aYNbHmhw* loopbody0; if (!((*tupletypea0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA28; loopbody0 = (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]; { NI i_C9bYHwLfdRNOKW9aoQrRtL5Q_2; NI HEX3Atmp_UOIory9aeUoehaygRCH2n3g_2; NI LOC31; NI res_ZdOVJB5COjUIjqyDRvDtmg_2; i_C9bYHwLfdRNOKW9aoQrRtL5Q_2 = (NI)0; HEX3Atmp_UOIory9aeUoehaygRCH2n3g_2 = (NI)0; LOC31 = (NI)0; LOC31 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(tupletypea0); HEX3Atmp_UOIory9aeUoehaygRCH2n3g_2 = (NI)(LOC31 - ((NI) 1)); res_ZdOVJB5COjUIjqyDRvDtmg_2 = ((NI) 0); { while (1) { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC34; Tfieldinstctx_GtjfcSJJiOiQ0USEydDBBA fc0; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC35; if (!(res_ZdOVJB5COjUIjqyDRvDtmg_2 <= HEX3Atmp_UOIory9aeUoehaygRCH2n3g_2)) goto LA33; i_C9bYHwLfdRNOKW9aoQrRtL5Q_2 = res_ZdOVJB5COjUIjqyDRvDtmg_2; LOC34 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC34 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); memset((void*)(&fc0), 0, sizeof(fc0)); fc0.tupletype = tupletypea0; fc0.tupleindex = i_C9bYHwLfdRNOKW9aoQrRtL5Q_2; fc0.replacebyfieldname = (m0 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 142)); body0 = instfieldloopbody_NWigU6dr5apz5g827GjO4w(fc0, loopbody0, n0); (*c0).inunrolledcontext += ((NI) 1); LOC35 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC35 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, body0); add_gCCf68XrWL79bKes6htzFjQ_3(stmts0, LOC35); (*c0).inunrolledcontext -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); res_ZdOVJB5COjUIjqyDRvDtmg_2 += ((NI) 1); } LA33: ; } } } goto LA26; LA28: ; { Tfieldsctx_Oumniq9anVI0B7eyXhL1U9cw fc0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; memset((void*)(&fc0), 0, sizeof(fc0)); fc0.m = m0; fc0.c = c0; t0 = tupletypea0; { while (1) { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA38; semforobjectfields_QePBJ9bHaUde9cnkvf6xqUYQ(fc0, (*t0).n, n0, stmts0); { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA41; goto LA37; } LA41: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); } LA38: ; } LA37: ; } LA26: ; (*(*c0).p).nestedloopcounter -= ((NI) 1); { NIM_BOOL LOC45; Tnode_bROa11lyF5vxEN9aYNbHmhw* b0; LOC45 = (NIM_BOOL)0; LOC45 = containsnode_vtJbTerB9bjOPfqY2DqeCGA(stmts0, T_rF9caJawfOjYTjsgLVUSGFA_243); if (!LOC45) goto LA46; b0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(b0, emptynode_69ccLGuQ2mITw7zylZYtWcA); add_gCCf68XrWL79bKes6htzFjQ_3(stmts0, b0); } goto LA43; LA46: ; { result0 = stmts0; } LA43: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, implicititerator_wAlljPu84JgBnwPuO8vnew)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, NimStringDesc* it0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC2; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg0).info); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(it0); LOC2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC2 = newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC1, (*arg0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC2); { NIM_BOOL LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC5 = (NIM_BOOL)0; LOC5 = !(((*arg0).typ == NIM_NIL)); if (!(LOC5)) goto LA6; LOC5 = ((*(*arg0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA6: ; if (!LOC5) goto LA7; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = newderef_HtAG89bn1UDHEhRcS27NOXQlocals(arg0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC9); } goto LA3; LA7: ; { add_gCCf68XrWL79bKes6htzFjQ_3(result0, arg0); } LA3: ; result0 = semexprnoderef_tayBCUAEli3HMPwxdS9aMbg_23(c0, result0, 2); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semfor_NBTNEqzl5NBSHnN0VGYkSQ_50)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NI length0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; NIM_BOOL iscallexpr0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 3)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]), semexprnoderef_tayBCUAEli3HMPwxdS9aMbg_23(c0, (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], 2)); call0 = (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]; iscallexpr0 = ((*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*call0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)); { NIM_BOOL LOC4; NIM_BOOL LOC5; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC5 = iscallexpr0; if (!(LOC5)) goto LA6; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(call0, ((NI) 0)); LOC5 = ((*LOC7).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA6: ; LOC4 = LOC5; if (!(LOC4)) goto LA8; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(call0, ((NI) 0)); LOC4 = ((*(*LOC9).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 141) || (*(*LOC9).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 142) || (*(*LOC9).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 143)); LA8: ; if (!LOC4) goto LA10; { if (!((*(*(*call0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 143))) goto LA14; result0 = semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51(c0, n0); (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 95); } goto LA12; LA14: ; { result0 = semforfields_S9brLJW1Nbrxs3E5z3cKFKQ_2(c0, n0, (*(*(*call0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).magic); } LA12: ; } goto LA2; LA10: ; { NIM_BOOL LOC18; NIM_BOOL LOC19; LOC18 = (NIM_BOOL)0; LOC19 = (NIM_BOOL)0; LOC19 = iscallexpr0; if (!(LOC19)) goto LA20; LOC19 = ((*(*(*call0).kindU.S6.sons->data[((NI) 0)]).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA20: ; LOC18 = LOC19; if (!(LOC18)) goto LA21; LOC18 = (((*(*(*call0).kindU.S6.sons->data[((NI) 0)]).typ).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))&31U)))!=0); LA21: ; if (!LOC18) goto LA22; result0 = semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51(c0, n0); } goto LA2; LA22: ; { NIM_BOOL LOC25; NIM_BOOL LOC26; LOC25 = (NIM_BOOL)0; LOC26 = (NIM_BOOL)0; LOC26 = !(iscallexpr0); if (LOC26) goto LA27; LOC26 = !(((*(*call0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))); LA27: ; LOC25 = LOC26; if (LOC25) goto LA28; LOC25 = !(((*(*(*call0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))); LA28: ; if (!LOC25) goto LA29; { if (!(length0 == ((NI) 3))) goto LA33; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]), implicititerator_wAlljPu84JgBnwPuO8vnew(c0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_244), (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))])); } goto LA31; LA33: ; { if (!(length0 == ((NI) 4))) goto LA36; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]), implicititerator_wAlljPu84JgBnwPuO8vnew(c0, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_245), (*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))])); } goto LA31; LA36: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 222), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA31: ; result0 = semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51(c0, n0); } goto LA2; LA29: ; { result0 = semforvars_NBTNEqzl5NBSHnN0VGYkSQ_51(c0, n0); } LA2: ; { if (!((*(*n0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).typ == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA42; asgnRefNoCycle((void**) (&(*result0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA42: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(NI64, tocover_uIOiDSjVsbr9bojwUw6gHqA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NI64 result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; result0 = (NI64)0; t20 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 9480208); { NIM_BOOL LOC3; NI LOC7; LOC3 = (NIM_BOOL)0; LOC3 = ((*t20).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14)); if (!(LOC3)) goto LA4; LOC3 = enumhasholes_XI7vH8jtAcp7rWqTmfZOSg_5(t20); LA4: ; if (!LOC3) goto LA5; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*t20).n); result0 = ((NI64) (LOC7)); } goto LA1; LA5: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 8431632); result0 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(LOC9); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semcase_NBTNEqzl5NBSHnN0VGYkSQ_52)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC1; NIM_BOOL chckcovered0; NI64 covered0; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; NIM_BOOL haselse0; NIM_BOOL notordinal0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); LOC1 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC1 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); chckcovered0 = NIM_FALSE; covered0 = IL64(0); typ0 = commontypebegin_5IYyOwx7aTjCCrOoOI3Czg; haselse0 = NIM_FALSE; notordinal0 = NIM_FALSE; LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 9480208); switch ((*LOC2).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): { chckcovered0 = NIM_TRUE; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): { notordinal0 = NIM_TRUE; } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 110), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); goto BeforeRet; } break; } { NI i_VzaDjorD9bCnPNq21c0vkGA; NI HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw; NI LOC7; NI res_L8HrS5Z9cWmDlqIDWUm2EBg; i_VzaDjorD9bCnPNq21c0vkGA = (NI)0; HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw = (NI)0; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw = (NI)(LOC7 - ((NI) 1)); res_L8HrS5Z9cWmDlqIDWUm2EBg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!(res_L8HrS5Z9cWmDlqIDWUm2EBg <= HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw)) goto LA9; i_VzaDjorD9bCnPNq21c0vkGA = res_L8HrS5Z9cWmDlqIDWUm2EBg; x0 = (*n0).kindU.S6.sons->data[i_VzaDjorD9bCnPNq21c0vkGA]; switch ((*x0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): { NI last0; NI LOC11; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(x0, ((NI) 2)); semcasebranch_Hp1LLYCqSOjFmp7QOVdlsw(c0, n0, x0, i_VzaDjorD9bCnPNq21c0vkGA, (&covered0)); LOC11 = (NI)0; LOC11 = sonslen_qPWPHw7WgJeEVYUdcaRIig(x0); last0 = (NI)(LOC11 - ((NI) 1)); asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[last0]), semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39(c0, (*x0).kindU.S6.sons->data[last0])); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*x0).kindU.S6.sons->data[last0]).typ); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86): { Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; chckcovered0 = NIM_FALSE; checksonslen_rPu9akNNYZgL0UexjMvt0HA(x0, ((NI) 2)); LOC13 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC13 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*x0).kindU.S6.sons->data[((NI) 0)], 0); asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[((NI) 0)]), forcebool_NBTNEqzl5NBSHnN0VGYkSQ_25(c0, LOC14)); asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[((NI) 1)]), semexprbranch_NBTNEqzl5NBSHnN0VGYkSQ_38(c0, (*x0).kindU.S6.sons->data[((NI) 1)])); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*x0).kindU.S6.sons->data[((NI) 1)]).typ); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { chckcovered0 = NIM_FALSE; checksonslen_rPu9akNNYZgL0UexjMvt0HA(x0, ((NI) 1)); asgnRefNoCycle((void**) (&(*x0).kindU.S6.sons->data[((NI) 0)]), semexprbranchscope_NBTNEqzl5NBSHnN0VGYkSQ_39(c0, (*x0).kindU.S6.sons->data[((NI) 0)])); typ0 = commontype_L4h2iAoroCJWZ2uFM8A8GQ(typ0, (*(*x0).kindU.S6.sons->data[((NI) 0)]).typ); haselse0 = NIM_TRUE; } break; default: { illformedast_DpsImAn3UbwOKcZFm2pVSg(x0); } break; } res_L8HrS5Z9cWmDlqIDWUm2EBg += ((NI) 1); } LA9: ; } } { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = notordinal0; if (!(LOC19)) goto LA20; LOC19 = !(haselse0); LA20: ; if (!LOC19) goto LA21; message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_246)); } LA21: ; { if (!chckcovered0) goto LA25; { NI64 LOC29; LOC29 = (NI64)0; LOC29 = tocover_uIOiDSjVsbr9bojwUw6gHqA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ); if (!(covered0 == LOC29)) goto LA30; haselse0 = NIM_TRUE; } goto LA27; LA30: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 154), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA27: ; } LA25: ; closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); { NIM_BOOL LOC35; NIM_BOOL LOC36; LOC35 = (NIM_BOOL)0; LOC36 = (NIM_BOOL)0; LOC36 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen(typ0); if (LOC36) goto LA37; LOC36 = ((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA37: ; LOC35 = LOC36; if (LOC35) goto LA38; LOC35 = !(haselse0); LA38: ; if (!LOC35) goto LA39; { NI i_VzaDjorD9bCnPNq21c0vkGA_2; NI HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_2; NI LOC42; NI res_L8HrS5Z9cWmDlqIDWUm2EBg_2; i_VzaDjorD9bCnPNq21c0vkGA_2 = (NI)0; HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_2 = (NI)0; LOC42 = (NI)0; LOC42 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_2 = (NI)(LOC42 - ((NI) 1)); res_L8HrS5Z9cWmDlqIDWUm2EBg_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC45; if (!(res_L8HrS5Z9cWmDlqIDWUm2EBg_2 <= HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_2)) goto LA44; i_VzaDjorD9bCnPNq21c0vkGA_2 = res_L8HrS5Z9cWmDlqIDWUm2EBg_2; LOC45 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC45 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_VzaDjorD9bCnPNq21c0vkGA_2]); discardcheck_kpkEIJf789bDnaDxYKwtuZw(c0, LOC45); res_L8HrS5Z9cWmDlqIDWUm2EBg_2 += ((NI) 1); } LA44: ; } } { if (!(typ0 == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg)) goto LA48; asgnRefNoCycle((void**) (&(*result0).typ), enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); } LA48: ; } goto LA33; LA39: ; { { NI i_VzaDjorD9bCnPNq21c0vkGA_3; NI HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_3; NI LOC52; NI res_L8HrS5Z9cWmDlqIDWUm2EBg_3; i_VzaDjorD9bCnPNq21c0vkGA_3 = (NI)0; HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_3 = (NI)0; LOC52 = (NI)0; LOC52 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_3 = (NI)(LOC52 - ((NI) 1)); res_L8HrS5Z9cWmDlqIDWUm2EBg_3 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; NI j0; NI LOC55; if (!(res_L8HrS5Z9cWmDlqIDWUm2EBg_3 <= HEX3Atmp_kdlDyaGkUxmKR8Ydaf1cxw_3)) goto LA54; i_VzaDjorD9bCnPNq21c0vkGA_3 = res_L8HrS5Z9cWmDlqIDWUm2EBg_3; it0 = (*n0).kindU.S6.sons->data[i_VzaDjorD9bCnPNq21c0vkGA_3]; LOC55 = (NI)0; LOC55 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(it0); j0 = (NI)(LOC55 - ((NI) 1)); asgnRefNoCycle((void**) (&(*it0).kindU.S6.sons->data[j0]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, typ0, (*it0).kindU.S6.sons->data[j0])); res_L8HrS5Z9cWmDlqIDWUm2EBg_3 += ((NI) 1); } LA54: ; } } asgnRefNoCycle((void**) (&(*result0).typ), typ0); } LA33: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semreturn_NBTNEqzl5NBSHnN0VGYkSQ_53)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((110592 &(1U<<((NU)((*(*(*c0).p).owner).kind)&31U)))!=0); if (LOC3) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = ((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14)); if (!(LOC5)) goto LA6; LOC5 = ((*(*(*(*c0).p).owner).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA6: ; LOC3 = LOC5; LA4: ; if (!LOC3) goto LA7; { if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; if (!!(((*(*c0).p).resultsym == NIM_NIL))) goto LA15; a0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*n0).kindU.S6.sons->data[((NI) 0)]).info); LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*c0).p).resultsym); addson_gCCf68XrWL79bKes6htzFjQ(a0, LOC17); addson_gCCf68XrWL79bKes6htzFjQ(a0, (*n0).kindU.S6.sons->data[((NI) 0)]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, a0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 0))); { NIM_BOOL LOC20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC25; LOC20 = (NIM_BOOL)0; LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC21 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC21, ((NI) 1)); LOC20 = ((*LOC22).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC20)) goto LA23; LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC24 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC25 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC25 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC24, ((NI) 1)); LOC20 = ((*LOC25).kindU.S4.sym == (*(*c0).p).resultsym); LA23: ; if (!LOC20) goto LA26; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA26: ; } goto LA13; LA15: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 182), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA13: ; } LA11: ; } goto LA1; LA7: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 166), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_247)); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semusing_NBTNEqzl5NBSHnN0VGYkSQ_54)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC3)) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_248)); } LA4: ; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = experimentalmode_pTZO9c9bvaTdS73mRLgD1TuAsem(c0); if (!!(LOC8)) goto LA9; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_249)); } LA9: ; { NI i_uFTF8mbJXyHUDV39ajdSSkw; NI HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg; NI LOC12; NI res_QWEWfBhGKV7DGndrbVBpQg; i_uFTF8mbJXyHUDV39ajdSSkw = (NI)0; HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg = (NI)0; LOC12 = (NI)0; LOC12 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg = (NI)(LOC12 - ((NI) 1)); res_QWEWfBhGKV7DGndrbVBpQg = ((NI) 0); { while (1) { if (!(res_QWEWfBhGKV7DGndrbVBpQg <= HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg)) goto LA14; i_uFTF8mbJXyHUDV39ajdSSkw = res_QWEWfBhGKV7DGndrbVBpQg; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; NI length0; Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; a0 = (*n0).kindU.S6.sons->data[i_uFTF8mbJXyHUDV39ajdSSkw]; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA18; suggeststmt_Ph9cBAfASttahD6s5CLnVLQ(c0, a0); } LA18: ; { if (!((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA22; goto LA15; } LA22: ; { if (!!(((*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 36) || (*a0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA26; illformedast_DpsImAn3UbwOKcZFm2pVSg(a0); } LA26: ; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(a0, ((NI) 3)); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30; typ0 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, (*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 2))], NIM_NIL); { NI j_5HVT2fqSXpn9c29bPxhIKsgg; NI HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg_2; NI res_QWEWfBhGKV7DGndrbVBpQg_2; j_5HVT2fqSXpn9c29bPxhIKsgg = (NI)0; HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg_2 = (NI)0; HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg_2 = (NI)(length0 - ((NI) 3)); res_QWEWfBhGKV7DGndrbVBpQg_2 = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; NIM_BOOL LOC35; if (!(res_QWEWfBhGKV7DGndrbVBpQg_2 <= HEX3Atmp_qsZbG7Jb1NfPyBxNS5Lzyg_2)) goto LA34; j_5HVT2fqSXpn9c29bPxhIKsgg = res_QWEWfBhGKV7DGndrbVBpQg_2; v0 = semidentdef_qqiCDzCWiApL1VOjVbfHrw(c0, (*a0).kindU.S6.sons->data[j_5HVT2fqSXpn9c29bPxhIKsgg], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); asgnRefNoCycle((void**) (&(*v0).typ), typ0); LOC35 = (NIM_BOOL)0; LOC35 = strtableincl_ZkoOMnVPhudcLs4AfKupyg((&(*c0).signatures), v0, NIM_FALSE); res_QWEWfBhGKV7DGndrbVBpQg_2 += ((NI) 1); } LA34: ; } } } goto LA28; LA30: ; { localerror_GarD0CQJ5aQhoHekHYinVQ((*a0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_250)); } LA28: ; def0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*(*a0).kindU.S6.sons->data[(NI)(length0 - ((NI) 1))]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA39; localerror_GarD0CQJ5aQhoHekHYinVQ((*a0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_251)); } LA39: ; } LA15: ; res_QWEWfBhGKV7DGndrbVBpQg += ((NI) 1); } LA14: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semasm_9cBgg4Puq9bFcIkNEVHBNwHg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* con0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NIM_CHAR marker0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); marker0 = pragmaasm_zyWdzlRcExhyQ9bpGo9bo4Kw(con0, (*n0).kindU.S6.sons->data[((NI) 0)]); { if (!((NU8)(marker0) == (NU8)(0))) goto LA3; marker0 = 96; } LA3: ; result0 = semasmoremit_tiG8Ac9cad9bFkIVsa5UVeKQ(con0, n0, marker0); return result0; } N_NIMCALL(void, semyieldvarresult_uQJWAzMlSbxmsX6ar9aXgKQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* restype0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(restype0, 2064); switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24(c0, (*n0).kindU.S6.sons->data[((NI) 0)])); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { NI i_o8Egs9bSB9cg4fxfoC7IOAFQ; NI HEX3Atmp_mJoEjonVBQGKeipEiI1tyA; NI LOC4; NI res_fmdy9clJT9bi8cJuRqOWEMxw; i_o8Egs9bSB9cg4fxfoC7IOAFQ = (NI)0; HEX3Atmp_mJoEjonVBQGKeipEiI1tyA = (NI)0; LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_mJoEjonVBQGKeipEiI1tyA = (LOC4 - 1); res_fmdy9clJT9bi8cJuRqOWEMxw = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* e0; if (!(res_fmdy9clJT9bi8cJuRqOWEMxw <= HEX3Atmp_mJoEjonVBQGKeipEiI1tyA)) goto LA6; i_o8Egs9bSB9cg4fxfoC7IOAFQ = res_fmdy9clJT9bi8cJuRqOWEMxw; e0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[i_o8Egs9bSB9cg4fxfoC7IOAFQ], 2064); { if (!((*e0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA9; { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37))) goto LA13; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[i_o8Egs9bSB9cg4fxfoC7IOAFQ]), takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24(c0, (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[i_o8Egs9bSB9cg4fxfoC7IOAFQ])); } goto LA11; LA13: ; { NIM_BOOL LOC16; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; LOC16 = (NIM_BOOL)0; LOC16 = ((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59)); if (!(LOC16)) goto LA17; LOC16 = ((*(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37)); LA17: ; if (!LOC16) goto LA18; a0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S6.sons->data[((NI) 1)]; asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[i_o8Egs9bSB9cg4fxfoC7IOAFQ]), takeimplicitaddr_NBTNEqzl5NBSHnN0VGYkSQ_24(c0, (*a0).kindU.S6.sons->data[i_o8Egs9bSB9cg4fxfoC7IOAFQ])); } goto LA11; LA18: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[((NI) 0)]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 192), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_253)); } LA11: ; } LA9: ; res_fmdy9clJT9bi8cJuRqOWEMxw += ((NI) 1); } LA6: ; } } } break; default: { } break; } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semyield_NBTNEqzl5NBSHnN0VGYkSQ_55)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*(*c0).p).owner == NIM_NIL); if (LOC3) goto LA4; LOC3 = !(((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))); LA4: ; if (!LOC3) goto LA5; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 37), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA1; LA5: ; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = (((NI) 0) < (*(*c0).p).intrystmt); if (!(LOC8)) goto LA9; LOC8 = !(((*(*(*(*c0).p).owner).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5))); LA9: ; if (!LOC8) goto LA10; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 38), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } goto LA1; LA10: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* itertype0; Ttype_LTUWCZolpovw9cWE3JBWSUw* restype0; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); itertype0 = (*(*(*c0).p).owner).typ; restype0 = (*itertype0).sons->data[((NI) 0)]; { if (!!((restype0 == NIM_NIL))) goto LA17; { if (!!(((*restype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA21; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), fitnode_KLicmLLVSSbWTkeTAPc49cA(c0, restype0, (*n0).kindU.S6.sons->data[((NI) 0)])); } LA21: ; { if (!((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ == NIM_NIL)) goto LA25; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_252)); } LA25: ; { NIM_BOOL LOC29; Ttype_LTUWCZolpovw9cWE3JBWSUw* inferred0; LOC29 = (NIM_BOOL)0; LOC29 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(restype0); if (!(LOC29)) goto LA30; LOC29 = !(((*restype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))); LA30: ; if (!LOC29) goto LA31; inferred0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).typ; asgnRefNoCycle((void**) (&(*itertype0).sons->data[((NI) 0)]), inferred0); } LA31: ; semyieldvarresult_uQJWAzMlSbxmsX6ar9aXgKQ(c0, n0, restype0); } goto LA15; LA17: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 40), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA15: ; } goto LA1; LA13: ; { if (!!(((*(*(*(*c0).p).owner).typ).sons->data[((NI) 0)] == NIM_NIL))) goto LA35; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_254)); } goto LA1; LA35: ; LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semiterator_NBTNEqzl5NBSHnN0VGYkSQ_56)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; NIM_BOOL isanon0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); isanon0 = ((*LOC1).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC4; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; LOC4 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC4 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); if (!((*LOC4).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA5; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); asgnRefNoCycle((void**) (&(*(*LOC7).kindU.S4.sym).owner), getcurrowner_vtvHgJFBzj1VdwBSMUceQQ()); LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); (*(*LOC8).kindU.S4.sym).kind = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14); } LA5: ; result0 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14), T_rF9caJawfOjYTjsgLVUSGFA_256, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 0)); s0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; t0 = (*s0).typ; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = ((*t0).sons->data[((NI) 0)] == NIM_NIL); if (!(LOC11)) goto LA12; LOC11 = !(((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))); LA12: ; if (!LOC11) goto LA13; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 181), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_257)); } LA13: ; { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = isanon0; if (!(LOC17)) goto LA18; LOC17 = ((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5)); LA18: ; if (!LOC17) goto LA19; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_258)); } LA19: ; { if (!((*(*s0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))) goto LA23; (*(*s0).typ).flags |= ((NU32)1)<<((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 11))%(sizeof(NU32)*8)); } goto LA21; LA23: ; { (*(*s0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5); } LA21: ; { NIM_BOOL LOC28; LOC28 = (NIM_BOOL)0; LOC28 = ((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (!(LOC28)) goto LA29; LOC28 = ((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)); LA29: ; if (!LOC28) goto LA30; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*s0).name).s); } LA30: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmethod_NBTNEqzl5NBSHnN0VGYkSQ_57)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC3)) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_259)); } LA4: ; result0 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13), T_rF9caJawfOjYTjsgLVUSGFA_260, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 0)); { NI LOC8; LOC8 = (NI)0; LOC8 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(result0); if (!(LOC8 <= ((NI) 0))) goto LA9; goto BeforeRet; } LA9: ; s0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; { NIM_BOOL LOC13; Ttype_LTUWCZolpovw9cWE3JBWSUw* tt0; NIM_BOOL foundobj0; LOC13 = (NIM_BOOL)0; LOC13 = isgenericroutine_djUd579cPfs7OC9aZ8QT9cItg(s0); if (!LOC13) goto LA14; tt0 = (*s0).typ; foundobj0 = NIM_FALSE; { NI col_qoOlfV0BOpKoFHGmWdXtdA; NI HEX3Atmp_CrnAgYxxu9cQ7CXAlEv20rg; NI LOC17; NI res_DJJZYLQrBGA9aMbKWtAh6cA; col_qoOlfV0BOpKoFHGmWdXtdA = (NI)0; HEX3Atmp_CrnAgYxxu9cQ7CXAlEv20rg = (NI)0; LOC17 = (NI)0; LOC17 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(tt0); HEX3Atmp_CrnAgYxxu9cQ7CXAlEv20rg = (NI)(LOC17 - ((NI) 1)); res_DJJZYLQrBGA9aMbKWtAh6cA = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!(res_DJJZYLQrBGA9aMbKWtAh6cA <= HEX3Atmp_CrnAgYxxu9cQ7CXAlEv20rg)) goto LA19; col_qoOlfV0BOpKoFHGmWdXtdA = res_DJJZYLQrBGA9aMbKWtAh6cA; t0 = (*tt0).sons->data[col_qoOlfV0BOpKoFHGmWdXtdA]; { NIM_BOOL LOC22; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; LOC22 = (NIM_BOOL)0; LOC22 = !((t0 == NIM_NIL)); if (!(LOC22)) goto LA23; LOC22 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9)); LA23: ; if (!LOC22) goto LA24; x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14683664); { NIM_BOOL LOC28; NI LOC30; NI LOC31; TY_a09bGTAl9ceOKTAytYdkbyKg LOC34; LOC28 = (NIM_BOOL)0; LOC28 = ((*x0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC28)) goto LA29; LOC30 = (NI)0; LOC30 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); LOC31 = (NI)0; LOC31 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*result0).kindU.S6.sons->data[((NI) 2)]); LOC28 = ((NI)(LOC30 - ((NI) 1)) == LOC31); LA29: ; if (!LOC28) goto LA32; foundobj0 = NIM_TRUE; memset((void*)(&LOC34), 0, sizeof(LOC34)); LOC34.Field0 = col_qoOlfV0BOpKoFHGmWdXtdA; LOC34.Field1 = s0; safeadd_XuI5bupZeUeWgjk44qSPBA((&(*x0).methods), LOC34); } LA32: ; } LA24: ; res_DJJZYLQrBGA9aMbKWtAh6cA += ((NI) 1); } LA19: ; } } { if (!!(foundobj0)) goto LA37; message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_261)); } LA37: ; } goto LA11; LA14: ; { { NIM_BOOL LOC42; LOC42 = (NIM_BOOL)0; LOC42 = hasobjparam_7x647vd4Aiq6RPSC5HCqMQ(s0); if (!LOC42) goto LA43; methoddef_RBScY1GpdCG6tkZ3MVBFgw(s0, NIM_FALSE); } goto LA40; LA43: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 186), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_259)); } LA40: ; } LA11: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconverterdef_NBTNEqzl5NBSHnN0VGYkSQ_58)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC3)) goto LA4; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_262)); } LA4: ; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); result0 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15), T_rF9caJawfOjYTjsgLVUSGFA_102, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 0)); { NI LOC8; LOC8 = (NI)0; LOC8 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(result0); if (!(LOC8 <= ((NI) 0))) goto LA9; goto BeforeRet; } LA9: ; s0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; t0 = (*s0).typ; { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA13; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 181), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_262)); } LA13: ; { NI LOC17; LOC17 = (NI)0; LOC17 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!!((LOC17 == ((NI) 2)))) goto LA18; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 217), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_262)); } LA18: ; addconverter_sNqlDRI9cQLfS9anVD2PODVw(c0, s0); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semmacrodef_NBTNEqzl5NBSHnN0VGYkSQ_59)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NIM_BOOL alluntyped0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 7)); result0 = semprocaux_2X4w7TX75QUfTLhnxQFKJA(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16), T_rF9caJawfOjYTjsgLVUSGFA_263, ((Tproccompilationsteps_2LY1MARGn5z4Y5kU8eJFMg) 0)); { NI LOC3; LOC3 = (NI)0; LOC3 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(result0); if (!(LOC3 <= ((NI) 0))) goto LA4; goto BeforeRet; } LA4: ; s0 = (*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; t0 = (*s0).typ; alluntyped0 = NIM_TRUE; { NI i_5HXTYZNvCtc29byd2iWjrig; NI HEX3Atmp_GNaTV3I6OkxiP09aZK6vjwg; NI LOC7; NI res_7CkGjfBVULSQoTAUbcXrFA; i_5HXTYZNvCtc29byd2iWjrig = (NI)0; HEX3Atmp_GNaTV3I6OkxiP09aZK6vjwg = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*t0).n); HEX3Atmp_GNaTV3I6OkxiP09aZK6vjwg = (NI)(LOC7 - ((NI) 1)); res_7CkGjfBVULSQoTAUbcXrFA = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; if (!(res_7CkGjfBVULSQoTAUbcXrFA <= HEX3Atmp_GNaTV3I6OkxiP09aZK6vjwg)) goto LA9; i_5HXTYZNvCtc29byd2iWjrig = res_7CkGjfBVULSQoTAUbcXrFA; param0 = (*(*(*t0).n).kindU.S6.sons->data[i_5HXTYZNvCtc29byd2iWjrig]).kindU.S4.sym; { if (!!(((*(*param0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA12; alluntyped0 = NIM_FALSE; } LA12: ; res_7CkGjfBVULSQoTAUbcXrFA += ((NI) 1); } LA9: ; } } { if (!alluntyped0) goto LA16; (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 7))%(sizeof(NU32)*8)); } LA16: ; { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA20; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 181), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_264)); } LA20: ; { if (!((*(*n0).kindU.S6.sons->data[((NI) 6)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA24; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 141), (*(*s0).name).s); } LA24: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evalinclude_NBTNEqzl5NBSHnN0VGYkSQ_60)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); { NI i_4OlE35Af5woB9b1J3cBHA9bQ; NI HEX3Atmp_nHIGPgwaUu1KvtLtZ8edwQ; NI LOC2; NI res_JAkdoDxN7Sug3tMmXhJ8yg; i_4OlE35Af5woB9b1J3cBHA9bQ = (NI)0; HEX3Atmp_nHIGPgwaUu1KvtLtZ8edwQ = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_nHIGPgwaUu1KvtLtZ8edwQ = (NI)(LOC2 - ((NI) 1)); res_JAkdoDxN7Sug3tMmXhJ8yg = ((NI) 0); { while (1) { NI32 f0; if (!(res_JAkdoDxN7Sug3tMmXhJ8yg <= HEX3Atmp_nHIGPgwaUu1KvtLtZ8edwQ)) goto LA4; i_4OlE35Af5woB9b1J3cBHA9bQ = res_JAkdoDxN7Sug3tMmXhJ8yg; f0 = checkmodulename_Kg51K0T2kZ3LqXLFR6u83g((*n0).kindU.S6.sons->data[i_4OlE35Af5woB9b1J3cBHA9bQ], NIM_TRUE); { if (!!((f0 == ((NI32) -1)))) goto LA7; { NIM_BOOL LOC11; NimStringDesc* LOC14; LOC11 = (NIM_BOOL)0; LOC11 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&(*c0).includedfiles), ((NI) (f0))); if (!LOC11) goto LA12; LOC14 = (NimStringDesc*)0; { if (!(f0 < ((NI32) 0))) goto LA17; LOC14 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_141)); } goto LA15; LA17: ; { LOC14 = copyString(fileinfos_0nMtuXd9csTLLtuDok8ckXw->data[f0].projpath); } LA15: ; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 26), LOC14); } goto LA9; LA12: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC21 = gincludefile_xRgu8Wul7H8ptXIl9aVbwIw((*c0).graph, (*c0).module, f0, (*c0).cache); LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, LOC21); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC22); excl_iUpE9bYmIR0fROyJskQwN8g_2((&(*c0).includedfiles), ((NI) (f0))); } LA9: ; } LA7: ; res_JAkdoDxN7Sug3tMmXhJ8yg += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexport_NBTNEqzl5NBSHnN0VGYkSQ_61)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; x0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w((*n0).kind, (*n0).info); { NI i_fJZA9aLHlCbJgESsqu0MWXA; NI HEX3Atmp_uMfvGD0l9cLICVa6rP1LeEg; NI LOC2; NI res_cOJ9by4bQtluZtmnXw1zyuA; i_fJZA9aLHlCbJgESsqu0MWXA = (NI)0; HEX3Atmp_uMfvGD0l9cLICVa6rP1LeEg = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_uMfvGD0l9cLICVa6rP1LeEg = (LOC2 - 1); res_cOJ9by4bQtluZtmnXw1zyuA = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Toverloaditer_5JoRhlHqSIiHe1n9a5m6IAQ o0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; if (!(res_cOJ9by4bQtluZtmnXw1zyuA <= HEX3Atmp_uMfvGD0l9cLICVa6rP1LeEg)) goto LA4; i_fJZA9aLHlCbJgESsqu0MWXA = res_cOJ9by4bQtluZtmnXw1zyuA; a0 = (*n0).kindU.S6.sons->data[i_fJZA9aLHlCbJgESsqu0MWXA]; memset((void*)(&o0), 0, sizeof(o0)); s0 = initoverloaditer_9cKgCYMdPICI0In36EERMsA((&o0), c0, a0); { NimStringDesc* LOC9; NimStringDesc* LOC10; if (!(s0 == NIM_NIL)) goto LA7; LOC9 = (NimStringDesc*)0; LOC10 = (NimStringDesc*)0; LOC10 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(a0, 0); LOC9 = rawNewString(LOC10->Sup.len + 15); appendString(LOC9, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_267)); appendString(LOC9, LOC10); localerror_VpilfPWbplGz6ny7O9cfr2g((*a0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC9); } goto LA5; LA7: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg ti0; Tsym_AXG7xcvKqaxY6koRX1xkCw* it0; if (!((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA12; strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).module).kindU.S3.tab), s0); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*a0).info); add_gCCf68XrWL79bKes6htzFjQ_3(x0, LOC14); memset((void*)(&ti0), 0, sizeof(ti0)); it0 = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&ti0), (*s0).kindU.S3.tab); { while (1) { if (!!((it0 == NIM_NIL))) goto LA16; { if (!((21755840 &(1U<<((NU)((*it0).kind)&31U)))!=0)) goto LA19; strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).module).kindU.S3.tab), it0); } LA19: ; it0 = nextiter_MtRRPpsZix0WHVpZVShg0A((&ti0), (*s0).kindU.S3.tab); } LA16: ; } } goto LA5; LA12: ; { { while (1) { if (!!((s0 == NIM_NIL))) goto LA23; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; if (!((21755840 &(1U<<((NU)((*s0).kind)&31U)))!=0)) goto LA26; LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*a0).info); add_gCCf68XrWL79bKes6htzFjQ_3(x0, LOC28); strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).module).kindU.S3.tab), s0); } LA26: ; s0 = nextoverloaditer_9cKgCYMdPICI0In36EERMsA_2((&o0), c0, a0); } LA23: ; } } LA5: ; res_cOJ9by4bQtluZtmnXw1zyuA += ((NI) 1); } LA4: ; } } result0 = n0; return result0; } N_NIMCALL(void, setline_gL7xhcfcqoUeyaVAD42DxA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { { NI i_lVBXxKtN2KZBPCaH26GPZg; NI HEX3Atmp_AYlkt19a8Foxuj6Nn4AnAhA; NI LOC2; NI res_2JYtyXIIqVmlwSocmc0kBg; i_lVBXxKtN2KZBPCaH26GPZg = (NI)0; HEX3Atmp_AYlkt19a8Foxuj6Nn4AnAhA = (NI)0; LOC2 = (NI)0; LOC2 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_AYlkt19a8Foxuj6Nn4AnAhA = (LOC2 - 1); res_2JYtyXIIqVmlwSocmc0kBg = ((NI) 0); { while (1) { if (!(res_2JYtyXIIqVmlwSocmc0kBg <= HEX3Atmp_AYlkt19a8Foxuj6Nn4AnAhA)) goto LA4; i_lVBXxKtN2KZBPCaH26GPZg = res_2JYtyXIIqVmlwSocmc0kBg; setline_gL7xhcfcqoUeyaVAD42DxA((*n0).kindU.S6.sons->data[i_lVBXxKtN2KZBPCaH26GPZg], info0); res_2JYtyXIIqVmlwSocmc0kBg += ((NI) 1); } LA4: ; } } (*n0).info = info0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, sempragmablock_NBTNEqzl5NBSHnN0VGYkSQ_62)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* pragmalist0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; pragmalist0 = (*n0).kindU.S6.sons->data[((NI) 0)]; pragma_7200QCbjfWhEBN4qPDke4w(c0, NIM_NIL, pragmalist0, T_rF9caJawfOjYTjsgLVUSGFA_268); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 1)], 0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 1)]), result0); { NI i_RbI1K7SvY9cLjUWRPcPou6Q; NI HEX3Atmp_oX09cuY7tR36oHdz6mf9bkdg; NI LOC2; NI res_M9aE8SjHAMjEtUV9cVMjfxlA; i_RbI1K7SvY9cLjUWRPcPou6Q = (NI)0; HEX3Atmp_oX09cuY7tR36oHdz6mf9bkdg = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(pragmalist0); HEX3Atmp_oX09cuY7tR36oHdz6mf9bkdg = (LOC2 - 1); res_M9aE8SjHAMjEtUV9cVMjfxlA = ((NI) 0); { while (1) { Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw LOC5; if (!(res_M9aE8SjHAMjEtUV9cVMjfxlA <= HEX3Atmp_oX09cuY7tR36oHdz6mf9bkdg)) goto LA4; i_RbI1K7SvY9cLjUWRPcPou6Q = res_M9aE8SjHAMjEtUV9cVMjfxlA; LOC5 = (Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw)0; LOC5 = whichpragma_tadMdqrtQd2cek9aFwyE1XQ((*pragmalist0).kindU.S6.sons->data[i_RbI1K7SvY9cLjUWRPcPou6Q]); switch (LOC5) { case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 118): { setline_gL7xhcfcqoUeyaVAD42DxA(result0, (*(*pragmalist0).kindU.S6.sons->data[i_RbI1K7SvY9cLjUWRPcPou6Q]).info); } break; case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 199): { result0 = n0; asgnRefNoCycle((void**) (&(*result0).typ), (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ); } break; case ((Tspecialword_ycbpMCRV6Cd2eBh3X9biEiw) 168): { (*result0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 6))%(sizeof(NU16)*8)); } break; default: { } break; } res_M9aE8SjHAMjEtUV9cVMjfxlA += ((NI) 1); } LA4: ; } } return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstaticstmt_NBTNEqzl5NBSHnN0VGYkSQ_63)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; a0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), a0); evalstaticstmt_LZ2ELQMlHR1ojZf552D15A((*c0).module, (*c0).cache, a0, (*(*c0).p).owner); result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 114), (*n0).info, ((NI) 1)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexpr_tayBCUAEli3HMPwxdS9aMbg_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA3; suggestexpr_GPATGlMDRN5VZ5q4eCQYag(c0, n0); } LA3: ; { if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 7))&15U)))!=0)) goto LA7; goto BeforeRet; } LA7: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 53): { Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set checks0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; { if (!((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 11))&15U)))!=0)) goto LA12; checks0 = 2; } goto LA10; LA12: ; { checks0 = 7; } LA10: ; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, n0, checks0); { if (!((*c0).intypeclass == ((NI) 0))) goto LA17; semcapturesym_wz9cxcPAng9cCy1HG0XN4ssw(s0, (*(*c0).p).owner); } LA17: ; result0 = semsym_InSQ3LpBhnCqFgw1Hbb18Q(c0, n0, s0, flags0); { if (!((61440 &(1U<<((NU)((*s0).kind)&31U)))!=0)) goto LA21; result0 = symchoice_kvfg9avzuPqhlyP5kQoSy6w(c0, n0, s0, ((Tsymchoicerule_lH3J6G7FTKg8Ow3uXV36OA) 0)); { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA25; markindirect_O6Goi0HOTgd4UUjew33hWwsem(c0, (*result0).kindU.S4.sym); } LA25: ; } LA21: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = semsym_InSQ3LpBhnCqFgw1Hbb18Q(c0, n0, (*n0).kindU.S4.sym, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { { if (!((*result0).typ == NIM_NIL)) goto LA32; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))); } LA32: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6): { { if (!((*result0).typ == NIM_NIL)) goto LA37; setintlittype_FeEpI5unbdG6fIWSkDktYQ(result0); } LA37: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 7): { { if (!((*result0).typ == NIM_NIL)) goto LA42; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32))); } LA42: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 8): { { if (!((*result0).typ == NIM_NIL)) goto LA47; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33))); } LA47: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 9): { { if (!((*result0).typ == NIM_NIL)) goto LA52; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34))); } LA52: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10): { { if (!((*result0).typ == NIM_NIL)) goto LA57; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35))); } LA57: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 11): { { if (!((*result0).typ == NIM_NIL)) goto LA62; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40))); } LA62: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 12): { { if (!((*result0).typ == NIM_NIL)) goto LA67; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41))); } LA67: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 13): { { if (!((*result0).typ == NIM_NIL)) goto LA72; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42))); } LA72: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 14): { { if (!((*result0).typ == NIM_NIL)) goto LA77; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43))); } LA77: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15): { { if (!((*result0).typ == NIM_NIL)) goto LA82; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44))); } LA82: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16): { { if (!((*result0).typ == NIM_NIL)) goto LA87; asgnRefNoCycle((void**) (&(*result0).typ), getfloatlittype_Nf3A6zHXUGTpIeip8JVyDg_2(result0)); } LA87: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 17): { { if (!((*result0).typ == NIM_NIL)) goto LA92; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 37))); } LA92: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18): { { if (!((*result0).typ == NIM_NIL)) goto LA97; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 38))); } LA97: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 19): { { if (!((*result0).typ == NIM_NIL)) goto LA102; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39))); } LA102: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { { if (!((*result0).typ == NIM_NIL)) goto LA107; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28))); } LA107: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5): { { if (!((*result0).typ == NIM_NIL)) goto LA112; asgnRefNoCycle((void**) (&(*result0).typ), getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2))); } LA112: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45): { result0 = semfieldaccess_tayBCUAEli3HMPwxdS9aMbg_11(c0, n0, flags0); { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA117; (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, flags0); } LA117: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 55): { message_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_192)); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 132): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 134): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 135): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 141) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 150): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 137): { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC121; LOC121 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC121 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC121, 256); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, typ0)); } 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): { Tlookupflag_ObWMY5GMSl1GiMcrKaAhKQ_Set mode0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); { if (!(((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 9))&15U)))!=0)) goto LA125; mode0 = 0; } goto LA123; LA125: ; { mode0 = 2; } LA123: ; s0 = qualifiedlookup_7VCOa78IcftaMpH9ctb8ifg(c0, (*n0).kindU.S6.sons->data[((NI) 0)], mode0); { if (!!((s0 == NIM_NIL))) goto LA130; switch ((*s0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { { if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))&31U)))!=0))) goto LA135; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA133; LA135: ; { result0 = semmacroexpr_woULc1D9b2DCEYOx5yRZXRg(c0, n0, n0, s0, flags0); } LA133: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): { { if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))&31U)))!=0))) goto LA141; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA139; LA141: ; { result0 = semtemplateexpr_InSQ3LpBhnCqFgw1Hbb18Q_3(c0, n0, s0, flags0); } LA139: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7): { { NI LOC147; LOC147 = (NI)0; LOC147 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC147 == ((NI) 2))) goto LA148; result0 = semconv_NBTNEqzl5NBSHnN0VGYkSQ_26(c0, n0); } goto LA145; LA148: ; { NI LOC151; LOC151 = (NI)0; LOC151 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(LOC151 == ((NI) 1))) goto LA152; result0 = semobjconstr_tayBCUAEli3HMPwxdS9aMbg_12(c0, n0, flags0); } goto LA145; LA152: ; { NIM_BOOL LOC155; LOC155 = (NIM_BOOL)0; LOC155 = contains_sYBLNwnPJlAFi0nfWU79awg((*c0).ambiguoussymbols, (*s0).Sup.id); if (!LOC155) goto LA156; errorusequalifier_9cGfUAm9aoATyTJ1builOBlA(c0, (*n0).info, s0); } goto LA145; LA156: ; { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA159; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA145; LA159: ; { result0 = semmagic_InSQ3LpBhnCqFgw1Hbb18Q_4(c0, n0, s0, flags0); } LA145: ; } break; case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): { { if (!((*s0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0))) goto LA165; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA163; LA165: ; { result0 = semmagic_InSQ3LpBhnCqFgw1Hbb18Q_4(c0, n0, s0, flags0); } LA163: ; } break; default: { result0 = semindirectop_tayBCUAEli3HMPwxdS9aMbg_15(c0, n0, flags0); } break; } } goto LA128; LA130: ; { NIM_BOOL LOC170; NIM_BOOL LOC171; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC172; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC175; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC176; LOC170 = (NIM_BOOL)0; LOC171 = (NIM_BOOL)0; LOC172 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC172 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC171 = ((*LOC172).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42)); if (LOC171) goto LA173; LOC171 = shouldbebracketexpr_J6cfuIanCXYEsLNE8M8o9cQ_5(n0); LA173: ; LOC170 = LOC171; if (!(LOC170)) goto LA174; LOC175 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC175 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); LOC176 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC176 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC175, ((NI) 0)); LOC170 = issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem(LOC176); LA174: ; if (!LOC170) goto LA177; setgenericparams_jzk1KGIc0vzv6pth3zm9bkw_7(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA128; LA177: ; { NIM_BOOL LOC180; LOC180 = (NIM_BOOL)0; LOC180 = issymchoice_kR3j4BVoX6LmX0p7IycneQ_3sem((*n0).kindU.S6.sons->data[((NI) 0)]); if (LOC180) goto LA181; LOC180 = (((*n0).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 9))&15U)))!=0); LA181: ; if (!LOC180) goto LA182; result0 = semdirectop_tayBCUAEli3HMPwxdS9aMbg_4(c0, n0, flags0); } goto LA128; LA182: ; { result0 = semindirectop_tayBCUAEli3HMPwxdS9aMbg_15(c0, n0, flags0); } LA128: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 93): { { if (!((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&15U)))!=0)) goto LA188; result0 = semwhen_r8HjfCfaaAHheABRntFqPg(c0, n0, NIM_TRUE); } goto LA186; LA188: ; { result0 = semwhen_r8HjfCfaaAHheABRntFqPg(c0, n0, NIM_FALSE); { if (!(result0 == n0)) goto LA193; result0 = semwhen_r8HjfCfaaAHheABRntFqPg(c0, n0, NIM_TRUE); } goto LA191; LA193: ; { result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, flags0); } LA191: ; } LA186: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 1)); result0 = semarrayaccess_tayBCUAEli3HMPwxdS9aMbg_16(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40): { Tident_4umxGerWTHGPwUms7Yqu3g* LOC198; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC199; LOC198 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC198 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_217)); LOC199 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC199 = buildoverloadedsubscripts_gt9ciDPenNH4qA1F3mxY6Kg(n0, LOC198); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, LOC199, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 43): { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_218)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37): { Tparkind_halZ9aqjYDH0l2n5E6sCJdg LOC202; LOC202 = (Tparkind_halZ9aqjYDH0l2n5E6sCJdg)0; LOC202 = checkpar_I2pC6ZV7iVgsU6TPfhel9ag(n0); switch (LOC202) { case ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 0): { result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); } break; case ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 3): { Tnode_bROa11lyF5vxEN9aYNbHmhw* tupexp0; tupexp0 = semtuplepositionsconstr_tayBCUAEli3HMPwxdS9aMbg_17(c0, n0, flags0); { NIM_BOOL LOC207; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC210; LOC207 = (NIM_BOOL)0; LOC207 = istupletype_J6cfuIanCXYEsLNE8M8o9cQ_6(tupexp0); if (!LOC207) goto LA208; LOC210 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC210 = semtypenode_lOYiaJyT4uh4YNmn53vE6w(c0, n0, NIM_NIL); typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC210, 256); asgnRefNoCycle((void**) (&(*result0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, typ0)); } goto LA205; LA208: ; { result0 = tupexp0; } LA205: ; } break; case ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 2): { result0 = semtuplefieldsconstr_tayBCUAEli3HMPwxdS9aMbg_18(c0, n0, flags0); } break; case ((Tparkind_halZ9aqjYDH0l2n5E6sCJdg) 1): { result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], flags0); } break; } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 39): { result0 = semsetconstr_NBTNEqzl5NBSHnN0VGYkSQ_35(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41): { result0 = semarrayconstr_tayBCUAEli3HMPwxdS9aMbg_19(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 38): { result0 = semobjconstr_tayBCUAEli3HMPwxdS9aMbg_12(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51): { result0 = semlambda_tayBCUAEli3HMPwxdS9aMbg_20(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52): { result0 = semdo_tayBCUAEli3HMPwxdS9aMbg_21(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47): { result0 = semderef_NBTNEqzl5NBSHnN0VGYkSQ_16(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 63): { result0 = n0; checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); result0 = semaddr_g9ay67gfQCKqn9akofTrVvgQ(c0, (*n0).kindU.S6.sons->data[((NI) 0)], NIM_FALSE); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], flags0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 61): { result0 = semcast_NBTNEqzl5NBSHnN0VGYkSQ_36(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 48): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92): { result0 = semif_NBTNEqzl5NBSHnN0VGYkSQ_37(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 2)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 71): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 72): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 1)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 68): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 69): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 70): { checksonslen_rPu9akNNYZgL0UexjMvt0HA(n0, ((NI) 3)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46): { checkminsonslen_rPu9akNNYZgL0UexjMvt0HA_2(n0, ((NI) 2)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 54): { result0 = semtableconstr_NBTNEqzl5NBSHnN0VGYkSQ_40(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57): { } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 62): { result0 = semstaticexpr_NBTNEqzl5NBSHnN0VGYkSQ_41(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73): { result0 = semasgn_41mPO3XBCUDPZnbaNrwpNw(c0, n0, ((Semasgnmode_e9aTobe3zFbbfTs9bHC7XMIQ) 0)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 112): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 127): { result0 = semblock_NBTNEqzl5NBSHnN0VGYkSQ_42(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126): { result0 = semstmtlist_tayBCUAEli3HMPwxdS9aMbg_22(c0, n0, flags0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 108): { result0 = semraise_NBTNEqzl5NBSHnN0VGYkSQ_44(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 99): { result0 = semvarorlet_6Rdn0jKaIRKP81jsTLDciw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 100): { result0 = semvarorlet_6Rdn0jKaIRKP81jsTLDciw(c0, n0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9)); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 101): { result0 = semconst_NBTNEqzl5NBSHnN0VGYkSQ_45(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98): { result0 = semtypesection_NBTNEqzl5NBSHnN0VGYkSQ_46(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 114): { result0 = semdiscard_NBTNEqzl5NBSHnN0VGYkSQ_47(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 96): { result0 = semwhile_NBTNEqzl5NBSHnN0VGYkSQ_48(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 106): { result0 = semtry_NBTNEqzl5NBSHnN0VGYkSQ_43(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 110): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 111): { result0 = sembreakorcontinue_NBTNEqzl5NBSHnN0VGYkSQ_49(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 94): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 95): { result0 = semfor_NBTNEqzl5NBSHnN0VGYkSQ_50(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 97): { result0 = semcase_NBTNEqzl5NBSHnN0VGYkSQ_52(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 109): { result0 = semreturn_NBTNEqzl5NBSHnN0VGYkSQ_53(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 124): { result0 = semusing_NBTNEqzl5NBSHnN0VGYkSQ_54(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 89): { result0 = semasm_9cBgg4Puq9bFcIkNEVHBNwHg(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 104): { result0 = semyield_NBTNEqzl5NBSHnN0VGYkSQ_55(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 90): { pragma_7200QCbjfWhEBN4qPDke4w(c0, (*(*c0).p).owner, n0, T_rF9caJawfOjYTjsgLVUSGFA_255); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84): { result0 = semiterator_NBTNEqzl5NBSHnN0VGYkSQ_56(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79): { result0 = semproc_NBTNEqzl5NBSHnN0VGYkSQ_9(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 80): { result0 = semmethod_NBTNEqzl5NBSHnN0VGYkSQ_57(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 81): { result0 = semconverterdef_NBTNEqzl5NBSHnN0VGYkSQ_58(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 82): { result0 = semmacrodef_NBTNEqzl5NBSHnN0VGYkSQ_59(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 83): { result0 = semtemplatedef_NBTNEqzl5NBSHnN0VGYkSQ_33(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 116): { { NIM_BOOL LOC259; LOC259 = (NIM_BOOL)0; LOC259 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC259)) goto LA260; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_265)); } LA260: ; result0 = evalimport_rlI2ulrJgB3tjNcA8reHfg(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 117): { { NIM_BOOL LOC265; LOC265 = (NIM_BOOL)0; LOC265 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC265)) goto LA266; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_265)); } LA266: ; result0 = evalimportexcept_rlI2ulrJgB3tjNcA8reHfg_2(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 120): { { NIM_BOOL LOC271; LOC271 = (NIM_BOOL)0; LOC271 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC271)) goto LA272; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_266)); } LA272: ; result0 = evalfrom_rlI2ulrJgB3tjNcA8reHfg_3(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 121): { result0 = evalinclude_NBTNEqzl5NBSHnN0VGYkSQ_60(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 118): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 119): { { NIM_BOOL LOC278; LOC278 = (NIM_BOOL)0; LOC278 = istoplevel_9bkq9cASeagJTpH5Dz9aZoVrAsem(c0); if (!!(LOC278)) goto LA279; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 185), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_67)); } LA279: ; result0 = semexport_NBTNEqzl5NBSHnN0VGYkSQ_61(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 91): { result0 = sempragmablock_NBTNEqzl5NBSHnN0VGYkSQ_62(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 113): { result0 = semstaticstmt_NBTNEqzl5NBSHnN0VGYkSQ_63(c0, n0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105): { asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 0)]), semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, (*n0).kindU.S6.sons->data[((NI) 0)], 0)); { NIM_BOOL LOC286; NIM_BOOL LOC287; NIM_BOOL LOC289; LOC286 = (NIM_BOOL)0; LOC287 = (NIM_BOOL)0; LOC287 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ); LOC286 = !(LOC287); if (!(LOC286)) goto LA288; LOC289 = (NIM_BOOL)0; LOC289 = implicitlydiscardable_J6cfuIanCXYEsLNE8M8o9cQ((*n0).kindU.S6.sons->data[((NI) 0)]); LOC286 = !(LOC289); LA288: ; if (!LOC286) goto LA290; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_269)); } LA290: ; } break; default: { NimStringDesc* LOC293; LOC293 = (NimStringDesc*)0; LOC293 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 171), LOC293); } break; } { if (!!((result0 == NIM_NIL))) goto LA296; (*result0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 7))%(sizeof(NU16)*8)); } LA296: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semexprwithtype_tayBCUAEli3HMPwxdS9aMbg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, (flags0 | 128)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (result0 == 0); if (LOC3) goto LA4; LOC3 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA4: ; if (!LOC3) goto LA5; result0 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); } LA5: ; { NIM_BOOL LOC9; NimStringDesc* LOC13; LOC9 = (NIM_BOOL)0; LOC9 = ((*result0).typ == NIM_NIL); if (LOC9) goto LA10; LOC9 = ((*result0).typ == enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg); LA10: ; if (!LOC9) goto LA11; LOC13 = (NimStringDesc*)0; LOC13 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(result0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 93), LOC13); asgnRefNoCycle((void**) (&(*result0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } goto LA7; LA11: ; { { if (!!(((flags0 &(1U<<((NU)(((Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&15U)))!=0))) goto LA17; semprocvarcheck_jzk1KGIc0vzv6pth3zm9bkw_4(c0, result0); } LA17: ; { if (!((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA21; result0 = newderef_HtAG89bn1UDHEhRcS27NOXQlocals(result0); } LA21: ; semdestructorcheck_9cNKx7gmG1plo0hCFv2igQgsem(c0, result0, flags0); } LA7: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; e0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 0); { if (!(e0 == NIM_NIL)) goto LA3; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); result0 = n0; goto BeforeRet; } LA3: ; result0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, e0); { if (!(result0 == NIM_NIL)) goto LA7; result0 = evalconstexpr_ibIdTJgCiL68euIFHqOBEg((*c0).module, (*c0).cache, e0); { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = (result0 == NIM_NIL); if (LOC11) goto LA12; LOC11 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA12: ; if (!LOC11) goto LA13; { NIM_BOOL LOC17; LOC17 = (NIM_BOOL)0; LOC17 = HEX3DHEX3D_JLrVYZ9bD3rT9ae9c3QGG3gSQ((*e0).info, (*n0).info); if (!!(LOC17)) goto LA18; pushinfocontext_zQWo2MALtrYvLPyMtv28iA((*n0).info); localerror_VpilfPWbplGz6ny7O9cfr2g((*e0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); popinfocontext_GmmyRSXe1noER8ex1U9aGUA(); } goto LA15; LA18: ; { localerror_VpilfPWbplGz6ny7O9cfr2g((*e0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 107), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_17)); } LA15: ; result0 = e0; } goto LA9; LA13: ; { result0 = fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ(c0, result0, e0); } LA9: ; } LA7: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryconstexpr_NBTNEqzl5NBSHnN0VGYkSQ_64)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* volatile result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* e0; NI olderrorcount0; NI olderrormax0; Terroroutput_Arf2Sd69cWst7QFd6o9cPEeg_Set olderroroutputs0; TSafePoint T_rF9caJawfOjYTjsgLVUSGFA_270; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; e0 = semexprwithtype_tayBCUAEli3HMPwxdS9aMbg(c0, n0, 0); { if (!(e0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; result0 = getconstexpr_G9ctFSfrtNtfjHempqC6sgg((*c0).module, e0); { if (!!((result0 == NIM_NIL))) goto LA7; goto BeforeRet; } LA7: ; olderrorcount0 = gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ; olderrormax0 = gerrormax_3SQ5c6N518fjbsvI7YHFOA; olderroroutputs0 = erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ; erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ = 0; gerrormax_3SQ5c6N518fjbsvI7YHFOA = ((NI) 2147483647); pushSafePoint(&T_rF9caJawfOjYTjsgLVUSGFA_270); T_rF9caJawfOjYTjsgLVUSGFA_270.status = setjmp(T_rF9caJawfOjYTjsgLVUSGFA_270.context); if (T_rF9caJawfOjYTjsgLVUSGFA_270.status == 0) { result0 = evalconstexpr_ibIdTJgCiL68euIFHqOBEg((*c0).module, (*c0).cache, e0); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = (result0 == NIM_NIL); if (LOC12) goto LA13; LOC12 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA13: ; if (!LOC12) goto LA14; result0 = NIM_NIL; } goto LA10; LA14: ; { result0 = fixuptypeaftereval_3uoE7lQu0zXb2ITLbc6kfQ(c0, result0, e0); } LA10: ; popSafePoint(); } else { popSafePoint(); if (isObj(getCurrentException()->Sup.m_type, (&NTI_YAlYTV9cm9c08Uxrh3d9aczDg))) { T_rF9caJawfOjYTjsgLVUSGFA_270.status = 0; result0 = NIM_NIL; popCurrentException(); } } if (T_rF9caJawfOjYTjsgLVUSGFA_270.status != 0) reraiseException(); gerrorcounter_BdMIKofstJQD5Y2GBaRdzQ = olderrorcount0; gerrormax_3SQ5c6N518fjbsvI7YHFOA = olderrormax0; erroroutputs_LSQOVyAZRyEIjUa7iYsIoQ = olderroroutputs0; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semoperand_tayBCUAEli3HMPwxdS9aMbg_24)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, n0, (flags0 | 256)); { if (!!(((*result0).typ == NIM_NIL))) goto LA3; { if (!((*(*result0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA7; result0 = newderef_HtAG89bn1UDHEhRcS27NOXQlocals(result0); } LA7: ; } goto LA1; LA3: ; { if (!!(((24 & flags0) == 0))) goto LA10; asgnRefNoCycle((void**) (&(*result0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62), c0)); } goto LA1; LA10: ; { NimStringDesc* LOC13; LOC13 = (NimStringDesc*)0; LOC13 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(result0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 93), LOC13); asgnRefNoCycle((void**) (&(*result0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, seminferredlambda_QUV6OylBtL7lAQC9aqBSTVw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_byz5Vkv9a0r3pb9bAOFiZ0qQ) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Tsym_AXG7xcvKqaxY6koRX1xkCw* original0; Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* params0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC12; Tnode_bROa11lyF5vxEN9aYNbHmhw* sembody0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC13; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; n0 = n_byz5Vkv9a0r3pb9bAOFiZ0qQ; original0 = (*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym; s0 = original0; n0 = replacetypesinbody_B4zyXrESj1hI8fRLnmKryA(c0, pt0, n0, original0); result0 = n0; asgnRefNoCycle((void**) (&(*s0).ast), result0); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym), s0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 2)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); params0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*(*n0).typ).n); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 3)]), params0); asgnRefNoCycle((void**) (&(*s0).typ), (*n0).typ); { NI i_gZHrpep6roY4CL3f2L0nvw; NI HEX3Atmp_N7RMl9bGmY18FZ2YIS0oixQ; NI i_gZHrpep6roY4CL3f2L0nvw_2; i_gZHrpep6roY4CL3f2L0nvw = (NI)0; HEX3Atmp_N7RMl9bGmY18FZ2YIS0oixQ = (NI)0; HEX3Atmp_N7RMl9bGmY18FZ2YIS0oixQ = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); i_gZHrpep6roY4CL3f2L0nvw_2 = ((NI) 1); { while (1) { if (!(i_gZHrpep6roY4CL3f2L0nvw_2 < HEX3Atmp_N7RMl9bGmY18FZ2YIS0oixQ)) goto LA3; i_gZHrpep6roY4CL3f2L0nvw = i_gZHrpep6roY4CL3f2L0nvw_2; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; NimStringDesc* LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, i_gZHrpep6roY4CL3f2L0nvw); if (!((*(*LOC6).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8) || (*(*LOC6).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*(*LOC6).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51) && (*(*LOC6).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58) || (*(*LOC6).typ).kind >= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60) && (*(*LOC6).typ).kind <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA7; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, i_gZHrpep6roY4CL3f2L0nvw); LOC10 = (NimStringDesc*)0; LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(params0, i_gZHrpep6roY4CL3f2L0nvw); LOC10 = rawNewString((*(*(*LOC11).kindU.S4.sym).name).s->Sup.len + 32); appendString(LOC10, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_271)); appendString(LOC10, (*(*(*LOC11).kindU.S4.sym).name).s); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC9).info, LOC10); } LA7: ; i_gZHrpep6roY4CL3f2L0nvw_2 += ((NI) 1); } LA3: ; } } LOC12 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC12 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); pushowner_I2TXPZgEYX5SdpUVWDPIlQ(s0); addparams_zCs4p739b2m9cRi9auRLptiZg_2(c0, params0, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); pushproccon_bvkA8slTYt1UIXkpYpaKog_3(c0, s0); addresult_IHjwgZPSHiFfjDFWOdBcKw(c0, (*(*n0).typ).sons->data[((NI) 0)], (*n0).info, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12)); addresultnode_KpXrxZxDEqEzAegpvzmW3g(c0, n0); LOC13 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC13 = semprocbody_NBTNEqzl5NBSHnN0VGYkSQ_6(c0, (*n0).kindU.S6.sons->data[((NI) 6)]); sembody0 = hlobody_NBTNEqzl5NBSHnN0VGYkSQ_10(c0, LOC13); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[((NI) 6)]), transformbody_J5txp2NXODCe0Qzl9bJjNzA((*c0).module, sembody0, s0)); popproccon_JpIn6HCQok16g8frnWqg6Qsem(c0); popowner_YTPTto4OU9aNWE72yJP9aDwA(); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); return result0; } N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopen_nghaS9a3K4tKKg9bBWPvZ9a7w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache0) { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* result0; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0; TY_rVRuvning49bS21o9c7OfIPQ LOC5; TY_jT9bmmdeK1mqhnuxic7a1jw LOC6; result0 = (Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*)0; c0 = newcontext_XzuICb0V9a0bYLPthaUvcSg(graph0, module0, cache0); { if (!!(((*c0).p == NIM_NIL))) goto LA3; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*module0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_14)); } LA3: ; (*c0).semconstexpr = semconstexpr_NBTNEqzl5NBSHnN0VGYkSQ; (*c0).semexpr = semexpr_tayBCUAEli3HMPwxdS9aMbg_2; (*c0).semtryexpr = tryexpr_tayBCUAEli3HMPwxdS9aMbg_14; (*c0).semtryconstexpr = tryconstexpr_NBTNEqzl5NBSHnN0VGYkSQ_64; (*c0).semoperand = semoperand_tayBCUAEli3HMPwxdS9aMbg_24; (*c0).semconstboolexpr = semconstboolexpr_NBTNEqzl5NBSHnN0VGYkSQ_5; (*c0).semoverloadedcall = semoverloadedcall_ZGH9b75JFL2hBvWzEkWVMxw; memset((void*)(&LOC5), 0, sizeof(LOC5)); LOC5.ClPrc = ((T_rF9caJawfOjYTjsgLVUSGFA_272) (seminferredlambda_QUV6OylBtL7lAQC9aqBSTVw)); LOC5.ClEnv = NIM_NIL; asgnRef((void**) (&(*c0).seminferredlambda.ClEnv), LOC5.ClEnv); (*c0).seminferredlambda.ClPrc = LOC5.ClPrc; memset((void*)(&LOC6), 0, sizeof(LOC6)); LOC6.ClPrc = ((T_rF9caJawfOjYTjsgLVUSGFA_273) (generateinstance_KtAmihMG1Kq6M7PWjOiVzA)); LOC6.ClEnv = NIM_NIL; asgnRef((void**) (&(*c0).semgenerateinstance.ClEnv), LOC6.ClEnv); (*c0).semgenerateinstance.ClPrc = LOC6.ClPrc; (*c0).semtypenode = semtypenode_lOYiaJyT4uh4YNmn53vE6w; (*c0).insttypeboundop = insttypeboundop_z7CQkFe9cVhDFxoWtJhu5Aw; pushproccon_bvkA8slTYt1UIXkpYpaKog_3(c0, module0); pushowner_I2TXPZgEYX5SdpUVWDPIlQ((*c0).module); asgnRef((void**) (&(*c0).importtable), openscope_en8ki68OmR49cqJSPN5rSJQ(c0)); strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).importtable).symbols), module0); { if (!(((*module0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 13))&31U)))!=0)) goto LA9; asgnRefNoCycle((void**) (&systemmodule_zVRpbHNEGZHBIbdtvq2fVg), module0); } LA9: ; asgnRef((void**) (&(*c0).toplevelscope), openscope_en8ki68OmR49cqJSPN5rSJQ(c0)); { if (!((*(*module0).owner).Sup.id == gmainpackageid_9cwEOFAmQDogkWTNLtVENxw)) goto LA13; gnotes_ra0BBMaJz6cOxn1JA3c6Bg = gmainpackagenotes_g0SF5CYRDJtnU59byFMXYHg; } goto LA11; LA13: ; { { if (!(gmainpackagenotes_g0SF5CYRDJtnU59byFMXYHg == 0)) goto LA18; gmainpackagenotes_g0SF5CYRDJtnU59byFMXYHg = gnotes_ra0BBMaJz6cOxn1JA3c6Bg; } LA18: ; gnotes_ra0BBMaJz6cOxn1JA3c6Bg = Foreignpackagenotes_5QHXi4dPy9aohMG3tPKFteA; } LA11: ; result0 = &c0->Sup; return result0; } N_NIMCALL(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*, myopencached_hDZPqT3s0HjFkuOkRAdt9cQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph0, Tsym_AXG7xcvKqaxY6koRX1xkCw* module0, Trodreader_16TURXdqtpMMssNVfU5WqQ* rd0) { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* result0; result0 = (Tpasscontext_qNsm39cWb35W2r5AAd9ch87g*)0; result0 = myopen_nghaS9a3K4tKKg9bBWPvZ9a7w(graph0, module0, (*rd0).cache); { Tsym_AXG7xcvKqaxY6koRX1xkCw* m_NDOjss3u4q9aUzAb3kUG9atQ; TY_sksVpmPRIkNR9axiwtD1Guw* HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA; NI i_jDe6pyqDGGvyGbnM6XOCQw; NI L_TTp3WbHgR9czuifqzhwCkqQ; m_NDOjss3u4q9aUzAb3kUG9atQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA = (TY_sksVpmPRIkNR9axiwtD1Guw*)0; HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA = (*rd0).methods; i_jDe6pyqDGGvyGbnM6XOCQw = ((NI) 0); L_TTp3WbHgR9czuifqzhwCkqQ = (HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA ? HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA->Sup.len : 0); { while (1) { if (!(i_jDe6pyqDGGvyGbnM6XOCQw < L_TTp3WbHgR9czuifqzhwCkqQ)) goto LA3; m_NDOjss3u4q9aUzAb3kUG9atQ = HEX3Atmp_bpuPYzZjwnjQfs0zZDqtgA->data[i_jDe6pyqDGGvyGbnM6XOCQw]; methoddef_RBScY1GpdCG6tkZ3MVBFgw(m_NDOjss3u4q9aUzAb3kUG9atQ, NIM_TRUE); i_jDe6pyqDGGvyGbnM6XOCQw += ((NI) 1); } LA3: ; } } return result0; } N_NIMCALL(NIM_BOOL, isimportsystemstmt_OiccTa3ruRNl9anoSqZh2Sg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!(systemmodule_zVRpbHNEGZHBIbdtvq2fVg == NIM_NIL)) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 116): { { Tnode_bROa11lyF5vxEN9aYNbHmhw* x_BU6OgJk5jo2NgNs9cz8GspQ; x_BU6OgJk5jo2NgNs9cz8GspQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_BQtd2R3j5YtQeTHjGlTn2Q; NI HEX3Atmp_hKh39bGfGkckRxHP1PgTWgQ; NI LOC8; NI res_jjSyPaBWtFoPC14hM4hFaA; i_BQtd2R3j5YtQeTHjGlTn2Q = (NI)0; HEX3Atmp_hKh39bGfGkckRxHP1PgTWgQ = (NI)0; LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_hKh39bGfGkckRxHP1PgTWgQ = (LOC8 - 1); res_jjSyPaBWtFoPC14hM4hFaA = ((NI) 0); { while (1) { NI32 f0; if (!(res_jjSyPaBWtFoPC14hM4hFaA <= HEX3Atmp_hKh39bGfGkckRxHP1PgTWgQ)) goto LA10; i_BQtd2R3j5YtQeTHjGlTn2Q = res_jjSyPaBWtFoPC14hM4hFaA; x_BU6OgJk5jo2NgNs9cz8GspQ = (*n0).kindU.S6.sons->data[i_BQtd2R3j5YtQeTHjGlTn2Q]; f0 = checkmodulename_Kg51K0T2kZ3LqXLFR6u83g(x_BU6OgJk5jo2NgNs9cz8GspQ, NIM_FALSE); { if (!(f0 == (*systemmodule_zVRpbHNEGZHBIbdtvq2fVg).info.fileindex)) goto LA13; result0 = NIM_TRUE; goto BeforeRet; } LA13: ; res_jjSyPaBWtFoPC14hM4hFaA += ((NI) 1); } LA10: ; } } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 117): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 120): { NI32 f0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 0)); f0 = checkmodulename_Kg51K0T2kZ3LqXLFR6u83g(LOC16, NIM_FALSE); { if (!(f0 == (*systemmodule_zVRpbHNEGZHBIbdtvq2fVg).info.fileindex)) goto LA19; result0 = NIM_TRUE; goto BeforeRet; } LA19: ; } break; default: { } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, gatherstmts_TGqo1OiePDZaLPP7BAu5gg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 121): { { NI i_5Z64xzvdr1f9czQ2tUlR4QQ; NI HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg; NI i_5Z64xzvdr1f9czQ2tUlR4QQ_2; i_5Z64xzvdr1f9czQ2tUlR4QQ = (NI)0; HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg = (NI)0; HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_5Z64xzvdr1f9czQ2tUlR4QQ_2 = ((NI) 0); { while (1) { NI32 f0; if (!(i_5Z64xzvdr1f9czQ2tUlR4QQ_2 < HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg)) goto LA4; i_5Z64xzvdr1f9czQ2tUlR4QQ = i_5Z64xzvdr1f9czQ2tUlR4QQ_2; f0 = checkmodulename_Kg51K0T2kZ3LqXLFR6u83g((*n0).kindU.S6.sons->data[i_5Z64xzvdr1f9czQ2tUlR4QQ], NIM_TRUE); { if (!!((f0 == ((NI32) -1)))) goto LA7; { NIM_BOOL LOC11; NimStringDesc* LOC14; LOC11 = (NIM_BOOL)0; LOC11 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&(*c0).includedfiles), ((NI) (f0))); if (!LOC11) goto LA12; LOC14 = (NimStringDesc*)0; { if (!(f0 < ((NI32) 0))) goto LA17; LOC14 = copyString(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_141)); } goto LA15; LA17: ; { LOC14 = copyString(fileinfos_0nMtuXd9csTLLtuDok8ckXw->data[f0].projpath); } LA15: ; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 26), LOC14); } goto LA9; LA12: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* code0; code0 = gincludefile_xRgu8Wul7H8ptXIl9aVbwIw((*c0).graph, (*c0).module, f0, (*c0).cache); gatherstmts_TGqo1OiePDZaLPP7BAu5gg(c0, code0, result0); excl_iUpE9bYmIR0fROyJskQwN8g_2((&(*c0).includedfiles), ((NI) (f0))); } LA9: ; } LA7: ; i_5Z64xzvdr1f9czQ2tUlR4QQ_2 += ((NI) 1); } LA4: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115): { { NI i_5Z64xzvdr1f9czQ2tUlR4QQ_3; NI HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg_2; NI i_5Z64xzvdr1f9czQ2tUlR4QQ_4; i_5Z64xzvdr1f9czQ2tUlR4QQ_3 = (NI)0; HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg_2 = (NI)0; HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg_2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); i_5Z64xzvdr1f9czQ2tUlR4QQ_4 = ((NI) 0); { while (1) { if (!(i_5Z64xzvdr1f9czQ2tUlR4QQ_4 < HEX3Atmp_BCwyEwIAqLEL0xKEsBHUDg_2)) goto LA24; i_5Z64xzvdr1f9czQ2tUlR4QQ_3 = i_5Z64xzvdr1f9czQ2tUlR4QQ_4; gatherstmts_TGqo1OiePDZaLPP7BAu5gg(c0, (*n0).kindU.S6.sons->data[i_5Z64xzvdr1f9czQ2tUlR4QQ_3], result0); i_5Z64xzvdr1f9czQ2tUlR4QQ_4 += ((NI) 1); } LA24: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98): { (*n0).flags |= ((NU16)1)<<((((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 7))%(sizeof(NU16)*8)); typesectionleftsidepass_jzk1KGIc0vzv6pth3zm9bkw_8(c0, n0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); } break; default: { add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); } break; } } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semalltypesections_NBTNEqzl5NBSHnN0VGYkSQ_66)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); gatherstmts_TGqo1OiePDZaLPP7BAu5gg(c0, n0, result0); { NI i_FDqQoBblcftqTUu6esbVuQ; NI HEX3Atmp_g2udxpg2CwSgjo2moM5eTw; NI i_FDqQoBblcftqTUu6esbVuQ_2; i_FDqQoBblcftqTUu6esbVuQ = (NI)0; HEX3Atmp_g2udxpg2CwSgjo2moM5eTw = (NI)0; HEX3Atmp_g2udxpg2CwSgjo2moM5eTw = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); i_FDqQoBblcftqTUu6esbVuQ_2 = ((NI) 0); { while (1) { if (!(i_FDqQoBblcftqTUu6esbVuQ_2 < HEX3Atmp_g2udxpg2CwSgjo2moM5eTw)) goto LA3; i_FDqQoBblcftqTUu6esbVuQ = i_FDqQoBblcftqTUu6esbVuQ_2; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, i_FDqQoBblcftqTUu6esbVuQ); if (!((*LOC6).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA7; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, i_FDqQoBblcftqTUu6esbVuQ); typesectionrightsidepass_jzk1KGIc0vzv6pth3zm9bkw_9(c0, LOC9); } LA7: ; i_FDqQoBblcftqTUu6esbVuQ_2 += ((NI) 1); } LA3: ; } } { NI i_FDqQoBblcftqTUu6esbVuQ_3; NI HEX3Atmp_g2udxpg2CwSgjo2moM5eTw_2; NI i_FDqQoBblcftqTUu6esbVuQ_4; i_FDqQoBblcftqTUu6esbVuQ_3 = (NI)0; HEX3Atmp_g2udxpg2CwSgjo2moM5eTw_2 = (NI)0; HEX3Atmp_g2udxpg2CwSgjo2moM5eTw_2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); i_FDqQoBblcftqTUu6esbVuQ_4 = ((NI) 0); { while (1) { if (!(i_FDqQoBblcftqTUu6esbVuQ_4 < HEX3Atmp_g2udxpg2CwSgjo2moM5eTw_2)) goto LA12; i_FDqQoBblcftqTUu6esbVuQ_3 = i_FDqQoBblcftqTUu6esbVuQ_4; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, i_FDqQoBblcftqTUu6esbVuQ_3); if (!((*LOC15).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA16; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(result0, i_FDqQoBblcftqTUu6esbVuQ_3); typesectionfinalpass_jzk1KGIc0vzv6pth3zm9bkw_10(c0, LOC18); } LA16: ; i_FDqQoBblcftqTUu6esbVuQ_4 += ((NI) 1); } LA12: ; } } return result0; } N_NIMCALL(void, addcodeforgenerics_jzk1KGIc0vzv6pth3zm9bkw_11)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_dlqyRbwYOHLbFO2jtTO9cAA; NI HEX3Atmp_ZRpjkb31DWx9aI6S285to3A; NI HEX3Atmp_ZRpjkb31DWx9aI6S285to3A_2; NI res_sAbJq2ta67M7rj9cObTDy3A; i_dlqyRbwYOHLbFO2jtTO9cAA = (NI)0; HEX3Atmp_ZRpjkb31DWx9aI6S285to3A = (NI)0; HEX3Atmp_ZRpjkb31DWx9aI6S285to3A_2 = (NI)0; HEX3Atmp_ZRpjkb31DWx9aI6S285to3A = (*c0).lastgenericidx; HEX3Atmp_ZRpjkb31DWx9aI6S285to3A_2 = (NI)(((*c0).generics ? (*c0).generics->Sup.len : 0) - ((NI) 1)); res_sAbJq2ta67M7rj9cObTDy3A = HEX3Atmp_ZRpjkb31DWx9aI6S285to3A; { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0; if (!(res_sAbJq2ta67M7rj9cObTDy3A <= HEX3Atmp_ZRpjkb31DWx9aI6S285to3A_2)) goto LA3; i_dlqyRbwYOHLbFO2jtTO9cAA = res_sAbJq2ta67M7rj9cObTDy3A; prc0 = (*(*c0).generics->data[i_dlqyRbwYOHLbFO2jtTO9cAA].inst).sym; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = ((45056 &(1U<<((NU)((*prc0).kind)&31U)))!=0); if (!(LOC6)) goto LA7; LOC6 = ((*prc0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 0)); LA7: ; if (!LOC6) goto LA8; { NIM_BOOL LOC12; NimStringDesc* LOC16; LOC12 = (NIM_BOOL)0; LOC12 = ((*prc0).ast == NIM_NIL); if (LOC12) goto LA13; LOC12 = ((*(*prc0).ast).kindU.S6.sons->data[((NI) 6)] == NIM_NIL); LA13: ; if (!LOC12) goto LA14; LOC16 = (NimStringDesc*)0; LOC16 = rawNewString((*(*prc0).name).s->Sup.len + 12); appendString(LOC16, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_275)); appendString(LOC16, (*(*prc0).name).s); internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*prc0).info, LOC16); } goto LA10; LA14: ; { addson_gCCf68XrWL79bKes6htzFjQ(n0, (*prc0).ast); } LA10: ; } LA8: ; res_sAbJq2ta67M7rj9cObTDy3A += ((NI) 1); } LA3: ; } } (*c0).lastgenericidx = ((*c0).generics ? (*c0).generics->Sup.len : 0); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, hlostmt_NBTNEqzl5NBSHnN0VGYkSQ_67)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((*c0).patterns ? (*c0).patterns->Sup.len : 0) == ((NI) 0)); if (LOC3) goto LA4; LOC3 = !(((goptions_KL5B8sF4szIsM2AXCWFsIw &(1U<<((NU)(((Toption_WspMeQySXNP2XoTWR5MTgg) 21))&31U)))!=0)); LA4: ; if (!LOC3) goto LA5; result0 = n0; goto BeforeRet; } LA5: ; (*c0).hloloopdetector = ((NI) 0); result0 = hlo_NBTNEqzl5NBSHnN0VGYkSQ_11(c0, n0); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, buildechostmt_NBTNEqzl5NBSHnN0VGYkSQ_68)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* e0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC1 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC1 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_276)); e0 = strtableget_lwInE2j9aCwWqT2bvslVRNA((*systemmodule_zVRpbHNEGZHBIbdtvq2fVg).kindU.S3.tab, LOC1); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; if (!!((e0 == NIM_NIL))) goto LA4; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newsymnode_1ARBpggFQuvUDBVYjBelcw(e0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); } goto LA2; LA4: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8; localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 67), ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_277)); LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC8 = errornode_mlAsfDaGXMFtARnohF7MOA_2(c0, n0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC8); } LA2: ; add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); result0 = semexpr_tayBCUAEli3HMPwxdS9aMbg_2(c0, result0, 0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, semstmtandgenerategenerics_NBTNEqzl5NBSHnN0VGYkSQ_65)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 105))) goto LA3; localerror_GarD0CQJ5aQhoHekHYinVQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_274)); } LA3: ; { NIM_BOOL LOC7; NIM_BOOL LOC9; LOC7 = (NIM_BOOL)0; LOC7 = ((*c0).topstmts == ((NI) 0)); if (!(LOC7)) goto LA8; LOC9 = (NIM_BOOL)0; LOC9 = isimportsystemstmt_OiccTa3ruRNl9anoSqZh2Sg(n0); LOC7 = !(LOC9); LA8: ; if (!LOC7) goto LA10; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = !((((*(*c0).module).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 13))&31U)))!=0)); if (!(LOC14)) goto LA15; LOC14 = !(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125))); LA15: ; if (!LOC14) goto LA16; strtableadd_Tcb9aDxXz9ch8cAXKFCMrlbA((&(*(*c0).importtable).symbols), systemmodule_zVRpbHNEGZHBIbdtvq2fVg); importallsymbols_v9bYwKRWh0kA7lMQcI9bUxDw(c0, systemmodule_zVRpbHNEGZHBIbdtvq2fVg); (*c0).topstmts += ((NI) 1); } LA16: ; } goto LA5; LA10: ; { (*c0).topstmts += ((NI) 1); } LA5: ; { if (!(((*(*c0).module).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 8))&31U)))!=0)) goto LA21; result0 = semalltypesections_NBTNEqzl5NBSHnN0VGYkSQ_66(c0, n0); } goto LA19; LA21: ; { result0 = n0; } LA19: ; result0 = semstmt_NBTNEqzl5NBSHnN0VGYkSQ_2(c0, result0); { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!((*c0).lastgenericidx < ((*c0).generics ? (*c0).generics->Sup.len : 0))) goto LA26; a0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); addcodeforgenerics_jzk1KGIc0vzv6pth3zm9bkw_11(c0, a0); { NI LOC30; LOC30 = (NI)0; LOC30 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); if (!(((NI) 0) < LOC30)) goto LA31; { if (!!(((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA35; addson_gCCf68XrWL79bKes6htzFjQ(a0, result0); } LA35: ; result0 = a0; } LA31: ; } LA26: ; result0 = hlostmt_NBTNEqzl5NBSHnN0VGYkSQ_67(c0, result0); { NIM_BOOL LOC39; NIM_BOOL LOC41; LOC39 = (NIM_BOOL)0; LOC39 = (gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 19)); if (!(LOC39)) goto LA40; LOC41 = (NIM_BOOL)0; LOC41 = isemptytype_9bToMoy0nns9a3tJPtRpLUVAvmgen((*result0).typ); LOC39 = !(LOC41); LA40: ; if (!LOC39) goto LA42; result0 = buildechostmt_NBTNEqzl5NBSHnN0VGYkSQ_68(c0, result0); } LA42: ; { if (!(gcmd_0oKScFtMiSKnjiHF9cU9c5GQ == ((Tcommands_VH3ghgQVwLSg3krOAoXigw) 15))) goto LA46; appendtomodule_a9a13ptcv0XxCkQAcqYrozA((*c0).module, result0); } LA46: ; result0 = transformstmt_oFnKjjDP89cQdiW2R6xJh6Q_2((*c0).module, result0); return result0; } N_NIMCALL(void, recovercontext_Q86WPqYQzpDHXTptcEdXFQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { asgnRef((void**) (&(*c0).currentscope), (*c0).toplevelscope); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC3; LOC3 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC3 = getcurrowner_vtvHgJFBzj1VdwBSMUceQQ(); if (!!(((*LOC3).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA2; popowner_YTPTto4OU9aNWE72yJP9aDwA(); } LA2: ; } { while (1) { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = !(((*c0).p == NIM_NIL)); if (!(LOC6)) goto LA7; LOC6 = !(((*(*(*c0).p).owner).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))); LA7: ; if (!LOC6) goto LA5; asgnRef((void**) (&(*c0).p), (*(*c0).p).next); } LA5: ; } } static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj0, TNimType* subclass0, TNimType** cache0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!(obj0 == subclass0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { if (!((*obj0).base == subclass0)) goto LA7; result0 = NIM_TRUE; goto BeforeRet; } LA7: ; { if (!(cache0[(((NI) 0))- 0] == obj0)) goto LA11; result0 = NIM_FALSE; goto BeforeRet; } LA11: ; { if (!(cache0[(((NI) 1))- 0] == obj0)) goto LA15; result0 = NIM_TRUE; goto BeforeRet; } LA15: ; result0 = isobjslowpath_k9bdq9bQE075AR7scLFt5wIg(obj0, subclass0, cache0); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myprocess_9aYtClTzGl7gCIMK0iQSuhQ)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* context0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* volatile result0; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; c0 = ((Tcontext_5TfOJKwTttj3W1t1tMzWUQ*) (context0)); { if (!(gerrormax_3SQ5c6N518fjbsvI7YHFOA <= ((NI) 1))) goto LA3; result0 = semstmtandgenerategenerics_NBTNEqzl5NBSHnN0VGYkSQ_65(c0, n0); } goto LA1; LA3: ; { NI oldcontextlen0; NI oldingenericinst0; TSafePoint T_rF9caJawfOjYTjsgLVUSGFA_278; oldcontextlen0 = getinfocontextlen_0lkQdWPL9cInSudoB8uZo6g(); oldingenericinst0 = (*c0).ingenericinst; pushSafePoint(&T_rF9caJawfOjYTjsgLVUSGFA_278); T_rF9caJawfOjYTjsgLVUSGFA_278.status = setjmp(T_rF9caJawfOjYTjsgLVUSGFA_278.context); if (T_rF9caJawfOjYTjsgLVUSGFA_278.status == 0) { result0 = semstmtandgenerategenerics_NBTNEqzl5NBSHnN0VGYkSQ_65(c0, n0); popSafePoint(); } else { popSafePoint(); if (isObj(getCurrentException()->Sup.m_type, (&NTI_YAlYTV9cm9c08Uxrh3d9aczDg))||isObj(getCurrentException()->Sup.m_type, (&NTI_ByzMaSugmuAYKl2YCjqKtg))) { T_rF9caJawfOjYTjsgLVUSGFA_278.status = 0; recovercontext_Q86WPqYQzpDHXTptcEdXFQ(c0); (*c0).ingenericinst = oldingenericinst0; setinfocontextlen_CUC2nrYwUx4AGmcsbz84aA(oldcontextlen0); { Exception* LOC11; LOC11 = (Exception*)0; LOC11 = getCurrentException(); if (!((LOC11) && (isObjWithCache((*LOC11).Sup.m_type, (&NTI_ByzMaSugmuAYKl2YCjqKtg), Nim_OfCheck_CACHE280)))) goto LA12; result0 = NIM_NIL; } goto LA9; LA12: ; { result0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; } LA9: ; popCurrentException(); } } if (T_rF9caJawfOjYTjsgLVUSGFA_278.status != 0) reraiseException(); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, myclose_9aYtClTzGl7gCIMK0iQSuhQ_2)(Tpasscontext_qNsm39cWb35W2r5AAd9ch87g* context0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; c0 = ((Tcontext_5TfOJKwTttj3W1t1tMzWUQ*) (context0)); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); rawclosescope_xwamnOIxoPUrnfhDEzqSwQ(c0); result0 = newnode_IgnRxkID5wXTWvTZf9ct0rA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); { if (!!((n0 == NIM_NIL))) goto LA3; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_280)); } LA3: ; addcodeforgenerics_jzk1KGIc0vzv6pth3zm9bkw_11(c0, result0); { if (!!(((*(*c0).module).ast == NIM_NIL))) goto LA7; add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*(*c0).module).ast); } LA7: ; popowner_YTPTto4OU9aNWE72yJP9aDwA(); popproccon_JpIn6HCQok16g8frnWqg6Qsem(c0); return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_semInit000)(void) { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; Tident_4umxGerWTHGPwUms7Yqu3g* LOC3; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw LOC4; nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_2); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_3); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_5); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_6); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_7); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_8); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_10); nimRegisterGlobalMarker(T_rF9caJawfOjYTjsgLVUSGFA_12); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*) newObj((&NTI_1EooIlSGbJRPSt3SfQJd7Q), sizeof(Ttype_LTUWCZolpovw9cWE3JBWSUw)); (*LOC1).Sup.Sup.m_type = (&NTI_LTUWCZolpovw9cWE3JBWSUw); (*LOC1).kind = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6); asgnRefNoCycle((void**) (&commontypebegin_5IYyOwx7aTjCCrOoOI3Czg), LOC1); asgnRefNoCycle((void**) (&typedescid_iEM3AJ1dWH9cllAYCN9bR0Wg), getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_4))); LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*) newObj((&NTI_1EooIlSGbJRPSt3SfQJd7Q), sizeof(Ttype_LTUWCZolpovw9cWE3JBWSUw)); (*LOC2).Sup.Sup.m_type = (&NTI_LTUWCZolpovw9cWE3JBWSUw); (*LOC2).kind = ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7); asgnRefNoCycle((void**) (&enforcevoidcontext_IYMwLnJqL62R9b9aPvQn1QFg), LOC2); if (analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ) nimGCunrefNoCycle(analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ); analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*) newObjRC1((&NTI_83n62yi1b9bgUtRR9axFWW9ag), sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw)); (*analyzingdestructor_XFrXm4wVFGI1MnLfEp36nQ).Sup.Sup.m_type = (&NTI_AXG7xcvKqaxY6koRX1xkCw); if (destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag) nimGCunrefNoCycle(destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag); destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag = (Tsym_AXG7xcvKqaxY6koRX1xkCw*) newObjRC1((&NTI_83n62yi1b9bgUtRR9axFWW9ag), sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw)); (*destructoristrivial_QyU3MPQkxx0WnPK7wMw2Ag).Sup.Sup.m_type = (&NTI_AXG7xcvKqaxY6koRX1xkCw); asgnRefNoCycle((void**) (&destructorname_kp9b9bPYJfu4p3PE2q9aRyqZQ), getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_9))); asgnRefNoCycle((void**) (&destructorparam_RZeMbj6q0movCinJndkybg), getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_11))); LOC3 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC3 = getident_oH8GBf4tG3b1F5BIuNPwtA(((NimStringDesc*) &T_rF9caJawfOjYTjsgLVUSGFA_13)); LOC4 = unknownlineinfo_Ad9ctQofZYxhKVXoXjdL0Fw(); asgnRefNoCycle((void**) (&destructorpragma_6zxt5AwQFrL9cd9bToeKD9cAw), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC3, LOC4)); } NIM_EXTERNC N_NOINLINE(void, compiler_semDatInit000)(void) { static TNimNode* T_rF9caJawfOjYTjsgLVUSGFA_73[5]; static TNimNode T_rF9caJawfOjYTjsgLVUSGFA_0[6]; NTI_EBHdDiOwpaTTLyX3BFJg2A.size = sizeof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A); NTI_EBHdDiOwpaTTLyX3BFJg2A.kind = 18; NTI_EBHdDiOwpaTTLyX3BFJg2A.base = 0; T_rF9caJawfOjYTjsgLVUSGFA_73[0] = &T_rF9caJawfOjYTjsgLVUSGFA_0[1]; T_rF9caJawfOjYTjsgLVUSGFA_0[1].kind = 1; T_rF9caJawfOjYTjsgLVUSGFA_0[1].offset = offsetof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A, HEX3Astate); T_rF9caJawfOjYTjsgLVUSGFA_0[1].typ = (&NTI_xHTZrq9aYs6boc9bCba0JbpQ); T_rF9caJawfOjYTjsgLVUSGFA_0[1].name = ":state"; T_rF9caJawfOjYTjsgLVUSGFA_73[1] = &T_rF9caJawfOjYTjsgLVUSGFA_0[2]; T_rF9caJawfOjYTjsgLVUSGFA_0[2].kind = 1; T_rF9caJawfOjYTjsgLVUSGFA_0[2].offset = offsetof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A, genericparams492474); T_rF9caJawfOjYTjsgLVUSGFA_0[2].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q); T_rF9caJawfOjYTjsgLVUSGFA_0[2].name = "genericParams492474"; T_rF9caJawfOjYTjsgLVUSGFA_73[2] = &T_rF9caJawfOjYTjsgLVUSGFA_0[3]; T_rF9caJawfOjYTjsgLVUSGFA_0[3].kind = 1; T_rF9caJawfOjYTjsgLVUSGFA_0[3].offset = offsetof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A, paramname492476); T_rF9caJawfOjYTjsgLVUSGFA_0[3].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_rF9caJawfOjYTjsgLVUSGFA_0[3].name = "paramName492476"; T_rF9caJawfOjYTjsgLVUSGFA_73[3] = &T_rF9caJawfOjYTjsgLVUSGFA_0[4]; T_rF9caJawfOjYTjsgLVUSGFA_0[4].kind = 1; T_rF9caJawfOjYTjsgLVUSGFA_0[4].offset = offsetof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A, info492477); T_rF9caJawfOjYTjsgLVUSGFA_0[4].typ = (&NTI_T9c3PM9bs7WZ4LIQfEici9cZw); T_rF9caJawfOjYTjsgLVUSGFA_0[4].name = "info492477"; T_rF9caJawfOjYTjsgLVUSGFA_73[4] = &T_rF9caJawfOjYTjsgLVUSGFA_0[5]; T_rF9caJawfOjYTjsgLVUSGFA_0[5].kind = 1; T_rF9caJawfOjYTjsgLVUSGFA_0[5].offset = offsetof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A, c492472); T_rF9caJawfOjYTjsgLVUSGFA_0[5].typ = (&NTI_QxKU6hUjq23Dy0KTbUHAjg); T_rF9caJawfOjYTjsgLVUSGFA_0[5].name = "c492472"; T_rF9caJawfOjYTjsgLVUSGFA_0[0].len = 5; T_rF9caJawfOjYTjsgLVUSGFA_0[0].kind = 2; T_rF9caJawfOjYTjsgLVUSGFA_0[0].sons = &T_rF9caJawfOjYTjsgLVUSGFA_73[0]; NTI_EBHdDiOwpaTTLyX3BFJg2A.node = &T_rF9caJawfOjYTjsgLVUSGFA_0[0]; NTI_6kNGFy25odmjALIosriC8A.size = sizeof(EnvsemtypesHEX2Enim779_EBHdDiOwpaTTLyX3BFJg2A*); NTI_6kNGFy25odmjALIosriC8A.kind = 22; NTI_6kNGFy25odmjALIosriC8A.base = (&NTI_EBHdDiOwpaTTLyX3BFJg2A); NTI_6kNGFy25odmjALIosriC8A.marker = Marker_TY_6kNGFy25odmjALIosriC8A; }