N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evaltemplate_xOup9aA9cJdjuapy5rkGnHBQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* tmpl0, Tsym_AXG7xcvKqaxY6koRX1xkCw* gensymowner0, NIM_BOOL fromhlo0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* args0; Templctx_og0XwfDLUlsX2HzoVx0s3Q ctx0; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA += ((NI) 1); { if (!(((NI) 100) < evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA)) goto LA3; globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 187), ((NimStringDesc*) &T_N0xGjswvcjwwH43PvVNJAg_2)); result0 = n0; } LA3: ; args0 = evaltemplateargs_dw0jfqH3BrkE5IDOxRZp9cw(n0, tmpl0, fromhlo0); memset((void*)(&ctx0), 0, sizeof(ctx0)); ctx0.owner = tmpl0; ctx0.gensymowner = gensymowner0; initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&ctx0.mapping)); body0 = getbody_eMf5HLowckpW9cDxAV9bNIZw(tmpl0); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = isatom_NyXYMHACmbtWJZnWqE9cJCAparampatterns(body0); if (!LOC7) goto LA8; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 37), (*body0).info); evaltemplateaux_AHGrgjfRCGeqRF8aKpZ9apw(body0, args0, (&ctx0), result0); { NI LOC12; LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0); if (!(LOC12 == ((NI) 1))) goto LA13; result0 = (*result0).kindU.S6.sons->data[((NI) 0)]; } goto LA10; LA13: ; { NimStringDesc* LOC16; LOC16 = (NimStringDesc*)0; LOC16 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(result0, 4); localerror_VpilfPWbplGz6ny7O9cfr2g((*result0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 1), LOC16); } LA10: ; } goto LA5; LA8: ; { result0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(body0); { NI i_SNYOzy7RzNR8C5fM3A5wWQ; NI HEX3Atmp_nYz53CxK4Lv8EpLGchkEWg; NI LOC19; NI res_yGU1MAzLpa1QBpOBXdb9aQw; i_SNYOzy7RzNR8C5fM3A5wWQ = (NI)0; HEX3Atmp_nYz53CxK4Lv8EpLGchkEWg = (NI)0; LOC19 = (NI)0; LOC19 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(body0); HEX3Atmp_nYz53CxK4Lv8EpLGchkEWg = (NI)(LOC19 - ((NI) 1)); res_yGU1MAzLpa1QBpOBXdb9aQw = ((NI) 0); { while (1) { if (!(res_yGU1MAzLpa1QBpOBXdb9aQw <= HEX3Atmp_nYz53CxK4Lv8EpLGchkEWg)) goto LA21; i_SNYOzy7RzNR8C5fM3A5wWQ = res_yGU1MAzLpa1QBpOBXdb9aQw; evaltemplateaux_AHGrgjfRCGeqRF8aKpZ9apw((*body0).kindU.S6.sons->data[i_SNYOzy7RzNR8C5fM3A5wWQ], args0, (&ctx0), result0); res_yGU1MAzLpa1QBpOBXdb9aQw += ((NI) 1); } LA21: ; } } } LA5: ; result0 = wrapincomesfrom_YbfXH27kQZj5oIysAn7Rfg((*n0).info, result0); evaltemplatecounter_jPNQnHnAL0wozxUYkowWUA -= ((NI) 1); return result0; }
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, itertoprocimpl_8Ju1JTLo6ouAMsxkpHAWIQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* iter0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC19; Tnode_bROa11lyF5vxEN9aYNbHmhw* body0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; Tsym_AXG7xcvKqaxY6koRX1xkCw* prc0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC30; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC31; Tnode_bROa11lyF5vxEN9aYNbHmhw* orig0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC32; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC33; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info); iter0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 1)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((*iter0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))); if (LOC3) goto LA4; LOC3 = !(((*(*iter0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14))); LA4: ; if (!LOC3) goto LA5; localerror_GarD0CQJ5aQhoHekHYinVQ((*iter0).info, ((NimStringDesc*) &T_fVT8Frbe1eY8sI6VOwxZZg_5)); goto BeforeRet; } LA5: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC9; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; LOC9 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC9 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); if (!((*LOC9).typ == 0)) goto LA10; LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC12).info, ((NimStringDesc*) &T_fVT8Frbe1eY8sI6VOwxZZg_6)); goto BeforeRet; } LA10: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC18; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3)); if (!!(((*LOC15).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA16; LOC18 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC18 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3)); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC18).info, ((NimStringDesc*) &T_fVT8Frbe1eY8sI6VOwxZZg_7)); goto BeforeRet; } LA16: ; LOC19 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC19 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*LOC19).typ, 2304); { NIM_BOOL LOC22; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC27; LOC22 = (NIM_BOOL)0; LOC22 = !(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21))); if (LOC22) goto LA23; LOC24 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC24 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); LOC22 = !(((*LOC24).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))); LA23: ; if (!LOC22) goto LA25; LOC27 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC27 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 2)); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC27).info, ((NimStringDesc*) &T_fVT8Frbe1eY8sI6VOwxZZg_8)); goto BeforeRet; } LA25: ; LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = getbody_eMf5HLowckpW9cDxAV9bNIZw((*iter0).kindU.S4.sym); body0 = liftitertoproc_yw6ySuqJpp5U29bE3CP0gMg((*iter0).kindU.S4.sym, LOC28, t0); LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, ((NI) 3)); prc0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12), (*LOC29).kindU.S5.ident, (*(*iter0).kindU.S4.sym).owner, (*(*iter0).kindU.S4.sym).info); asgnRefNoCycle((void**) (&(*prc0).typ), copytype_50MJeIR3xcM7dF9b6Ly3suQ((*(*iter0).kindU.S4.sym).typ, prc0, NIM_FALSE)); (*(*prc0).typ).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 11)) % (sizeof(NU32)*8))); LOC30 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC30 = getenvparam_qj1Hj30TtUYCPgOKm6E9crQ((*iter0).kindU.S4.sym); LOC31 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC31 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC30); add_gCCf68XrWL79bKes6htzFjQ_3((*(*prc0).typ).n, LOC31); rawaddson_52UH8yKinsYmFX9bFij9c2Hw((*prc0).typ, t0); orig0 = (*(*iter0).kindU.S4.sym).ast; LOC32 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC32 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(orig0, ((NI) 3)); LOC33 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC33 = newsymnode_1ARBpggFQuvUDBVYjBelcw(prc0); LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(orig0, ((NI) 4)); asgnRefNoCycle((void**) (&(*prc0).ast), newprocnode_PcNymLorEQYsV8Qh55K4Ug(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79), (*n0).info, body0, LOC32, LOC33, emptynode_69ccLGuQ2mITw7zylZYtWcA, emptynode_69ccLGuQ2mITw7zylZYtWcA, LOC34, emptynode_69ccLGuQ2mITw7zylZYtWcA)); add_gCCf68XrWL79bKes6htzFjQ_3((*prc0).ast, (*(*(*iter0).kindU.S4.sym).ast).kindU.S6.sons->data[((NI) 7)]); addinterfacedecl_n1KYyMdrfFhXnSjpmEHg9cA(c0, prc0); }BeforeRet: ; return result0; }