N_NIMCALL(void, unneststmts_9c5lwXyiq4AUtthHD0LdCvQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { { if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA3; { Tnode_bROa11lyF5vxEN9aYNbHmhw* x_L0fdn9avvsn3btXlMPccZNw; x_L0fdn9avvsn3btXlMPccZNw = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_EWs3umbSmlVrXsMq7wWquA; NI HEX3Atmp_xU11G30nlnU0KasrgV45kw; NI LOC7; NI res_ekwFbROBHev5OOyiBW9cTyQ; i_EWs3umbSmlVrXsMq7wWquA = (NI)0; HEX3Atmp_xU11G30nlnU0KasrgV45kw = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_xU11G30nlnU0KasrgV45kw = (LOC7 - 1); res_ekwFbROBHev5OOyiBW9cTyQ = ((NI) 0); { while (1) { if (!(res_ekwFbROBHev5OOyiBW9cTyQ <= HEX3Atmp_xU11G30nlnU0KasrgV45kw)) goto LA9; i_EWs3umbSmlVrXsMq7wWquA = res_ekwFbROBHev5OOyiBW9cTyQ; x_L0fdn9avvsn3btXlMPccZNw = (*n0).kindU.S6.sons->data[i_EWs3umbSmlVrXsMq7wWquA]; unneststmts_9c5lwXyiq4AUtthHD0LdCvQ(x_L0fdn9avvsn3btXlMPccZNw, result0); res_ekwFbROBHev5OOyiBW9cTyQ += ((NI) 1); } LA9: ; } } } } goto LA1; LA3: ; { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 125) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA11; add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); } goto LA1; LA11: ; LA1: ; }
N_NIMCALL(void, evaltemplateaux_AHGrgjfRCGeqRF8aKpZ9apw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* templ0, Tnode_bROa11lyF5vxEN9aYNbHmhw* actual0, Templctx_og0XwfDLUlsX2HzoVx0s3Q* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* result0) { switch ((*templ0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { Tsym_AXG7xcvKqaxY6koRX1xkCw* s0; s0 = (*templ0).kindU.S4.sym; { if (!((*(*s0).owner).Sup.id == (*(*c0).owner).Sup.id)) goto LA4; { NIM_BOOL LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* x_bpH68CEPoNrC9czs9a6EqbOg; LOC8 = (NIM_BOOL)0; LOC8 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); if (!(LOC8)) goto LA9; LOC8 = !((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0)); LA9: ; if (!LOC8) goto LA10; x_bpH68CEPoNrC9czs9a6EqbOg = (*actual0).kindU.S6.sons->data[(*s0).position]; { if (!((*x_bpH68CEPoNrC9czs9a6EqbOg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152))) goto LA14; { Tnode_bROa11lyF5vxEN9aYNbHmhw* y_sHgbS9bPoBpoZKm4v8bGWYg; y_sHgbS9bPoBpoZKm4v8bGWYg = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_UyOiZSYKpbQs42BU32yTQQ; NI HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg; NI LOC18; NI res_mrbSWFKRIi4XqJhjBWoMJg; i_UyOiZSYKpbQs42BU32yTQQ = (NI)0; HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg = (NI)0; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(x_bpH68CEPoNrC9czs9a6EqbOg); HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg = (LOC18 - 1); res_mrbSWFKRIi4XqJhjBWoMJg = ((NI) 0); { while (1) { if (!(res_mrbSWFKRIi4XqJhjBWoMJg <= HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg)) goto LA20; i_UyOiZSYKpbQs42BU32yTQQ = res_mrbSWFKRIi4XqJhjBWoMJg; y_sHgbS9bPoBpoZKm4v8bGWYg = (*x_bpH68CEPoNrC9czs9a6EqbOg).kindU.S6.sons->data[i_UyOiZSYKpbQs42BU32yTQQ]; add_gCCf68XrWL79bKes6htzFjQ_3(result0, y_sHgbS9bPoBpoZKm4v8bGWYg); res_mrbSWFKRIi4XqJhjBWoMJg += ((NI) 1); } LA20: ; } } } } goto LA12; LA14: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(x_bpH68CEPoNrC9czs9a6EqbOg); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC22); } LA12: ; } goto LA6; LA10: ; { NIM_BOOL LOC24; NIM_BOOL LOC26; NIM_BOOL LOC27; Tnode_bROa11lyF5vxEN9aYNbHmhw* x_bpH68CEPoNrC9czs9a6EqbOg_2; NI LOC32; LOC24 = (NIM_BOOL)0; LOC24 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 4)); if (LOC24) goto LA25; LOC26 = (NIM_BOOL)0; LOC27 = (NIM_BOOL)0; LOC27 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); if (!(LOC27)) goto LA28; LOC27 = !(((*s0).typ == NIM_NIL)); LA28: ; LOC26 = LOC27; if (!(LOC26)) goto LA29; LOC26 = ((*(*s0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)); LA29: ; LOC24 = LOC26; LA25: ; if (!LOC24) goto LA30; LOC32 = (NI)0; LOC32 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*(*s0).owner).typ); x_bpH68CEPoNrC9czs9a6EqbOg_2 = (*actual0).kindU.S6.sons->data[(NI)((NI)(LOC32 + (*s0).position) - ((NI) 1))]; { if (!((*x_bpH68CEPoNrC9czs9a6EqbOg_2).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152))) goto LA35; { Tnode_bROa11lyF5vxEN9aYNbHmhw* y_sHgbS9bPoBpoZKm4v8bGWYg_2; y_sHgbS9bPoBpoZKm4v8bGWYg_2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_UyOiZSYKpbQs42BU32yTQQ_2; NI HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_2; NI LOC39; NI res_mrbSWFKRIi4XqJhjBWoMJg_2; i_UyOiZSYKpbQs42BU32yTQQ_2 = (NI)0; HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_2 = (NI)0; LOC39 = (NI)0; LOC39 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(x_bpH68CEPoNrC9czs9a6EqbOg_2); HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_2 = (LOC39 - 1); res_mrbSWFKRIi4XqJhjBWoMJg_2 = ((NI) 0); { while (1) { if (!(res_mrbSWFKRIi4XqJhjBWoMJg_2 <= HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_2)) goto LA41; i_UyOiZSYKpbQs42BU32yTQQ_2 = res_mrbSWFKRIi4XqJhjBWoMJg_2; y_sHgbS9bPoBpoZKm4v8bGWYg_2 = (*x_bpH68CEPoNrC9czs9a6EqbOg_2).kindU.S6.sons->data[i_UyOiZSYKpbQs42BU32yTQQ_2]; add_gCCf68XrWL79bKes6htzFjQ_3(result0, y_sHgbS9bPoBpoZKm4v8bGWYg_2); res_mrbSWFKRIi4XqJhjBWoMJg_2 += ((NI) 1); } LA41: ; } } } } goto LA33; LA35: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(x_bpH68CEPoNrC9czs9a6EqbOg_2); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC43); } LA33: ; } goto LA6; LA30: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* x0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC50; TNimObject* LOC51; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw LOC58; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC64; { NimStringDesc* LOC49; if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 31))&31U)))!=0))) goto LA47; LOC49 = (NimStringDesc*)0; LOC49 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_N0xGjswvcjwwH43PvVNJAg_3); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC49); } LA47: ; LOC50 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC50 = &s0->Sup; LOC51 = (TNimObject*)0; LOC51 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).mapping, LOC50); x0 = ((Tsym_AXG7xcvKqaxY6koRX1xkCw*) (LOC51)); { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC56; TNimObject* LOC57; if (!(x0 == NIM_NIL)) goto LA54; x0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(s0, NIM_FALSE); asgnRefNoCycle((void**) (&(*x0).owner), (*c0).gensymowner); LOC56 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC56 = &s0->Sup; LOC57 = (TNimObject*)0; LOC57 = &x0->Sup.Sup; idtableput_3gLsywwJ9bZDaf06DfKpYbw((&(*c0).mapping), LOC56, LOC57); } LA54: ; { if (!(*c0).instlines) goto LA61; LOC58 = (*actual0).info; } goto LA59; LA61: ; { LOC58 = (*templ0).info; } LA59: ; LOC64 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC64 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(x0, LOC58); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC64); } LA6: ; } goto LA2; LA4: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC66; LOC66 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC66 = copynode_HoisCusAu6Qks82zEN9cbNg((&(*c0)), templ0, actual0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC66); } LA2: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC68; LOC68 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC68 = copynode_HoisCusAu6Qks82zEN9cbNg((&(*c0)), templ0, actual0); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC68); } break; default: { Tnode_bROa11lyF5vxEN9aYNbHmhw* res0; res0 = copynode_HoisCusAu6Qks82zEN9cbNg((&(*c0)), templ0, actual0); { NI i_UyOiZSYKpbQs42BU32yTQQ_3; NI HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_3; NI LOC71; NI res_mrbSWFKRIi4XqJhjBWoMJg_3; i_UyOiZSYKpbQs42BU32yTQQ_3 = (NI)0; HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_3 = (NI)0; LOC71 = (NI)0; LOC71 = sonslen_qPWPHw7WgJeEVYUdcaRIig(templ0); HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_3 = (NI)(LOC71 - ((NI) 1)); res_mrbSWFKRIi4XqJhjBWoMJg_3 = ((NI) 0); { while (1) { if (!(res_mrbSWFKRIi4XqJhjBWoMJg_3 <= HEX3Atmp_xrewkryzQlwNCc2YCCU9bXg_3)) goto LA73; i_UyOiZSYKpbQs42BU32yTQQ_3 = res_mrbSWFKRIi4XqJhjBWoMJg_3; evaltemplateaux_AHGrgjfRCGeqRF8aKpZ9apw((*templ0).kindU.S6.sons->data[i_UyOiZSYKpbQs42BU32yTQQ_3], actual0, c0, res0); res_mrbSWFKRIi4XqJhjBWoMJg_3 += ((NI) 1); } LA73: ; } } add_gCCf68XrWL79bKes6htzFjQ_3(result0, res0); } break; } }
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; }