N_NIMCALL(Tsym190843*, importmoduleas_250671)(Tnode190813* n, Tsym190843* realmodule) { Tsym190843* result; result = 0; result = realmodule; { if (!!(((*n).kind == ((NU8) 78)))) goto LA3; } goto LA1; LA3: ; { NIM_BOOL LOC6; NI LOC7; LOC6 = 0; LOC7 = 0; LOC7 = len_191097(n); LOC6 = !((LOC7 == ((NI) 2))); if (LOC6) goto LA8; LOC6 = !(((*(*n).kindU.S6.sons->data[((NI) 1)]).kind == ((NU8) 2))); LA8: ; if (!LOC6) goto LA9; localerror_164171((*n).info, ((NU16) 4), ((NimStringDesc*) &TMP3465)); } goto LA1; LA9: ; { if (!!(((*(*(*n).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident).Sup.id == (*(*realmodule).name).Sup.id))) goto LA12; result = createmodulealias_193844(realmodule, (*(*n).kindU.S6.sons->data[((NI) 1)]).kindU.S5.ident, (*realmodule).info); } goto LA1; LA12: ; LA1: ; return result; }
N_NIMCALL(NU8, ispartof_398375)(Tnode190813* a, Tnode190813* b) { NU8 result; result = 0; { if (!((*a).kind == (*b).kind)) goto LA3; switch ((*a).kind) { case ((NU8) 3): { { if (!((*(*a).kindU.S4.sym).Sup.id == (*(*b).kindU.S4.sym).Sup.id)) goto LA8; result = ((NU8) 2); } goto LA6; LA8: ; { NIM_BOOL LOC11; LOC11 = 0; LOC11 = ((4384 &(1<<(((*(*a).kindU.S4.sym).kind)&31)))!=0); if (LOC11) goto LA12; LOC11 = ((4384 &(1<<(((*(*b).kindU.S4.sym).kind)&31)))!=0); LA12: ; if (!LOC11) goto LA13; result = ((NU8) 0); } goto LA6; LA13: ; { { NU8 LOC18; LOC18 = 0; LOC18 = ispartof_398362((*(*a).kindU.S4.sym).typ, (*(*b).kindU.S4.sym).typ); if (!!((LOC18 == ((NU8) 0)))) goto LA19; result = ((NU8) 1); } LA19: ; } LA6: ; } break; case ((NU8) 42): { Tnode190813* LOC22; Tnode190813* LOC23; LOC22 = 0; LOC22 = HEX5BHEX5D_191246(a, ((NI) 0)); LOC23 = 0; LOC23 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(LOC22, LOC23); { NIM_BOOL LOC26; NI LOC27; NI LOC29; LOC26 = 0; LOC27 = 0; LOC27 = len_191097(a); LOC26 = (((NI) 2) <= LOC27); if (!(LOC26)) goto LA28; LOC29 = 0; LOC29 = len_191097(b); LOC26 = (((NI) 2) <= LOC29); LA28: ; if (!LOC26) goto LA30; { NIM_BOOL LOC34; NIM_BOOL LOC35; Tnode190813* LOC37; Tnode190813* LOC39; Tnode190813* x; Tnode190813* y; LOC34 = 0; LOC35 = 0; LOC35 = (result == ((NU8) 2)); if (!(LOC35)) goto LA36; LOC37 = 0; LOC37 = HEX5BHEX5D_191246(a, ((NI) 1)); LOC35 = isdeepconstexpr_219459(LOC37); LA36: ; LOC34 = LOC35; if (!(LOC34)) goto LA38; LOC39 = 0; LOC39 = HEX5BHEX5D_191246(b, ((NI) 1)); LOC34 = isdeepconstexpr_219459(LOC39); LA38: ; if (!LOC34) goto LA40; { Tnode190813* LOC44; Tnode190813* LOC47; LOC44 = 0; LOC44 = HEX5BHEX5D_191246(a, ((NI) 1)); if (!((*LOC44).kind == ((NU8) 58))) goto LA45; LOC47 = 0; LOC47 = HEX5BHEX5D_191246(a, ((NI) 1)); x = HEX5BHEX5D_191246(LOC47, ((NI) 1)); } goto LA42; LA45: ; { x = HEX5BHEX5D_191246(a, ((NI) 1)); } LA42: ; { Tnode190813* LOC51; Tnode190813* LOC54; LOC51 = 0; LOC51 = HEX5BHEX5D_191246(b, ((NI) 1)); if (!((*LOC51).kind == ((NU8) 58))) goto LA52; LOC54 = 0; LOC54 = HEX5BHEX5D_191246(b, ((NI) 1)); y = HEX5BHEX5D_191246(LOC54, ((NI) 1)); } goto LA49; LA52: ; { y = HEX5BHEX5D_191246(b, ((NI) 1)); } LA49: ; { NIM_BOOL LOC58; LOC58 = 0; LOC58 = samevalue_198324(x, y); if (!LOC58) goto LA59; result = ((NU8) 2); } goto LA56; LA59: ; { result = ((NU8) 0); } LA56: ; } LA40: ; } goto LA24; LA30: ; { { if (!!((result == ((NU8) 2)))) goto LA65; { NU8 LOC69; LOC69 = 0; LOC69 = ispartof_398362((*a).typ, (*b).typ); if (!!((LOC69 == ((NU8) 0)))) goto LA70; result = ((NU8) 1); } LA70: ; } LA65: ; } LA24: ; } break; case ((NU8) 45): { Tnode190813* LOC73; Tnode190813* LOC74; LOC73 = 0; LOC73 = HEX5BHEX5D_191246(a, ((NI) 0)); LOC74 = 0; LOC74 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(LOC73, LOC74); { if (!!((result == ((NU8) 0)))) goto LA77; { Tnode190813* LOC81; Tnode190813* LOC82; LOC81 = 0; LOC81 = HEX5BHEX5D_191246(a, ((NI) 1)); LOC82 = 0; LOC82 = HEX5BHEX5D_191246(b, ((NI) 1)); if (!!(((*(*LOC81).kindU.S4.sym).Sup.id == (*(*LOC82).kindU.S4.sym).Sup.id))) goto LA83; result = ((NU8) 0); } LA83: ; } LA77: ; } break; case ((NU8) 65): case ((NU8) 47): { Tnode190813* LOC86; Tnode190813* LOC87; LOC86 = 0; LOC86 = HEX5BHEX5D_191246(a, ((NI) 0)); LOC87 = 0; LOC87 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(LOC86, LOC87); { if (!!((result == ((NU8) 2)))) goto LA90; { NU8 LOC94; LOC94 = 0; LOC94 = ispartof_398362((*a).typ, (*b).typ); if (!!((LOC94 == ((NU8) 0)))) goto LA95; result = ((NU8) 1); } LA95: ; } LA90: ; } break; case ((NU8) 58): case ((NU8) 59): case ((NU8) 60): { Tnode190813* LOC98; Tnode190813* LOC99; LOC98 = 0; LOC98 = HEX5BHEX5D_191246(a, ((NI) 1)); LOC99 = 0; LOC99 = HEX5BHEX5D_191246(b, ((NI) 1)); result = ispartof_398375(LOC98, LOC99); } break; case ((NU8) 67): case ((NU8) 66): case ((NU8) 46): { Tnode190813* LOC101; Tnode190813* LOC102; LOC101 = 0; LOC101 = HEX5BHEX5D_191246(a, ((NI) 0)); LOC102 = 0; LOC102 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(LOC101, LOC102); } break; default: { } break; } } goto LA1; LA3: ; { switch ((*b).kind) { case ((NU8) 45): case ((NU8) 42): case ((NU8) 67): case ((NU8) 66): case ((NU8) 46): { Tnode190813* LOC106; LOC106 = 0; LOC106 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(a, LOC106); } break; case ((NU8) 65): case ((NU8) 47): { { NU8 LOC110; Tnode190813* LOC113; LOC110 = 0; LOC110 = ispartof_398362((*a).typ, (*b).typ); if (!!((LOC110 == ((NU8) 0)))) goto LA111; LOC113 = 0; LOC113 = HEX5BHEX5D_191246(b, ((NI) 0)); result = ispartof_398375(a, LOC113); { if (!(result == ((NU8) 0))) goto LA116; result = ((NU8) 1); } LA116: ; } LA111: ; } break; case ((NU8) 58): case ((NU8) 59): case ((NU8) 60): { Tnode190813* LOC119; LOC119 = 0; LOC119 = HEX5BHEX5D_191246(b, ((NI) 1)); result = ispartof_398375(a, LOC119); } break; case ((NU8) 3): { switch ((*a).kind) { case ((NU8) 45): case ((NU8) 42): case ((NU8) 67): case ((NU8) 66): case ((NU8) 46): { Tnode190813* LOC122; LOC122 = 0; LOC122 = HEX5BHEX5D_191246(a, ((NI) 0)); result = ispartof_398375(LOC122, b); } break; case ((NU8) 58): case ((NU8) 59): case ((NU8) 60): { Tnode190813* LOC124; LOC124 = 0; LOC124 = HEX5BHEX5D_191246(a, ((NI) 1)); result = ispartof_398375(LOC124, b); } break; case ((NU8) 65): case ((NU8) 47): { { NU8 LOC128; Tnode190813* LOC131; LOC128 = 0; LOC128 = ispartof_398362((*a).typ, (*b).typ); if (!!((LOC128 == ((NU8) 0)))) goto LA129; LOC131 = 0; LOC131 = HEX5BHEX5D_191246(a, ((NI) 0)); result = ispartof_398375(LOC131, b); { if (!(result == ((NU8) 0))) goto LA134; result = ((NU8) 1); } LA134: ; } LA129: ; } break; default: { } break; } } break; default: { } break; } } LA1: ; return result; }
N_NIMCALL(Tnode190813*, evaltemplate_383260)(Tnode190813* n, Tsym190843* tmpl, Tsym190843* gensymowner) { Tnode190813* result; NI TMP7634; Tnode190813* args; Templctx383019 ctx; Tnode190813* body; NI TMP7637; nimfr("evalTemplate", "evaltempl.nim") result = 0; nimln(78, "evaltempl.nim"); TMP7634 = addInt(evaltemplatecounter_383256, ((NI) 1)); evaltemplatecounter_383256 = (NI)(TMP7634); nimln(79, "evaltempl.nim"); { if (!(((NI) 100) < evaltemplatecounter_383256)) goto LA3; nimln(80, "evaltempl.nim"); globalerror_164134((*n).info, ((NU16) 183), ((NimStringDesc*) &TMP7631)); nimln(81, "evaltempl.nim"); result = n; } LA3: ; nimln(84, "evaltempl.nim"); args = evaltemplateargs_383184(n, tmpl); memset((void*)(&ctx), 0, sizeof(ctx)); nimln(86, "evaltempl.nim"); ctx.owner = tmpl; nimln(87, "evaltempl.nim"); ctx.gensymowner = gensymowner; nimln(88, "evaltempl.nim"); initidtable_194057((&ctx.mapping)); nimln(90, "evaltempl.nim"); body = getbody_235648(tmpl); nimln(91, "evaltempl.nim"); { NIM_BOOL LOC7; LOC7 = 0; LOC7 = isatom_195905(body); if (!LOC7) goto LA8; nimln(92, "evaltempl.nim"); result = newnodei_192351(((NU8) 37), (*body).info); nimln(93, "evaltempl.nim"); evaltemplateaux_383039(body, args, (&ctx), result); nimln(94, "evaltempl.nim"); { NI LOC12; LOC12 = 0; LOC12 = len_191097(result); if (!(LOC12 == ((NI) 1))) goto LA13; if (((TMP7624[(*result).kind/8] &(1<<((*result).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(((NI) 0)) >= (NU)((*result).kindU.S6.sons->Sup.len)) raiseIndexError(); result = (*result).kindU.S6.sons->data[((NI) 0)]; } goto LA10; LA13: ; { NimStringDesc* LOC16; nimln(96, "evaltempl.nim"); nimln(97, "evaltempl.nim"); LOC16 = 0; LOC16 = rendertree_212058(result, 4); localerror_164155((*result).info, ((NU16) 1), LOC16); } LA10: ; } goto LA5; LA8: ; { nimln(99, "evaltempl.nim"); result = copynode_194640(body); nimln(100, "evaltempl.nim"); ctx.instlines = !(((*body).kind == ((NU8) 115) || (*body).kind == ((NU8) 126) || (*body).kind == ((NU8) 112) || (*body).kind == ((NU8) 127))); nimln(102, "evaltempl.nim"); { if (!ctx.instlines) goto LA20; (*result).info = (*n).info; } LA20: ; { NI i_383308; NI HEX3Atmp_383322; NI LOC23; NI TMP7635; NI res_383325; i_383308 = 0; HEX3Atmp_383322 = 0; nimln(103, "evaltempl.nim"); LOC23 = 0; LOC23 = safelen_191125(body); TMP7635 = subInt(LOC23, ((NI) 1)); HEX3Atmp_383322 = (NI)(TMP7635); nimln(1598, "system.nim"); res_383325 = ((NI) 0); { nimln(1599, "system.nim"); while (1) { NI TMP7636; if (!(res_383325 <= HEX3Atmp_383322)) goto LA25; nimln(1600, "system.nim"); i_383308 = res_383325; nimln(104, "evaltempl.nim"); if (((TMP7624[(*body).kind/8] &(1<<((*body).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(i_383308) >= (NU)((*body).kindU.S6.sons->Sup.len)) raiseIndexError(); evaltemplateaux_383039((*body).kindU.S6.sons->data[i_383308], args, (&ctx), result); nimln(1614, "system.nim"); TMP7636 = addInt(res_383325, ((NI) 1)); res_383325 = (NI)(TMP7636); } LA25: ; } } } LA5: ; nimln(106, "evaltempl.nim"); TMP7637 = subInt(evaltemplatecounter_383256, ((NI) 1)); evaltemplatecounter_383256 = (NI)(TMP7637); popFrame(); return result; }
N_NIMCALL(void, evaltemplateaux_383039)(Tnode190813* templ, Tnode190813* actual, Templctx383019* c, Tnode190813* result) { nimfr("evalTemplateAux", "evaltempl.nim") nimln(28, "evaltempl.nim"); switch ((*templ).kind) { case ((NU8) 3): { Tsym190843* s; nimln(30, "evaltempl.nim"); if (!(((TMP7622[(*templ).kind/8] &(1<<((*templ).kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP7623)); s = (*templ).kindU.S4.sym; nimln(31, "evaltempl.nim"); { if (!((*(*s).owner).Sup.id == (*(*c).owner).Sup.id)) goto LA4; nimln(32, "evaltempl.nim"); { NIM_BOOL LOC8; Tnode190813* x; LOC8 = 0; LOC8 = ((*s).kind == ((NU8) 3)); if (!(LOC8)) goto LA9; LOC8 = !((((*s).flags &(1<<((((NU8) 31))&31)))!=0)); LA9: ; if (!LOC8) goto LA10; nimln(33, "evaltempl.nim"); if (((TMP7624[(*actual).kind/8] &(1<<((*actual).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)((*s).position) >= (NU)((*actual).kindU.S6.sons->Sup.len)) raiseIndexError(); x = (*actual).kindU.S6.sons->data[(*s).position]; nimln(34, "evaltempl.nim"); { if (!((*x).kind == ((NU8) 152))) goto LA14; { Tnode190813* y_383083; y_383083 = 0; { NI i_383142; NI HEX3Atmp_383144; NI LOC18; NI res_383146; i_383142 = 0; HEX3Atmp_383144 = 0; nimln(1537, "ast.nim"); LOC18 = 0; LOC18 = len_191097(x); HEX3Atmp_383144 = subInt(LOC18, 1); nimln(1598, "system.nim"); res_383146 = ((NI) 0); { nimln(1599, "system.nim"); while (1) { NI TMP7626; if (!(res_383146 <= HEX3Atmp_383144)) goto LA20; nimln(1600, "system.nim"); i_383142 = res_383146; nimln(1537, "ast.nim"); if (((TMP7624[(*x).kind/8] &(1<<((*x).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(i_383142) >= (NU)((*x).kindU.S6.sons->Sup.len)) raiseIndexError(); y_383083 = (*x).kindU.S6.sons->data[i_383142]; nimln(35, "evaltempl.nim"); add_191164(result, y_383083); nimln(1619, "system.nim"); TMP7626 = addInt(res_383146, ((NI) 1)); res_383146 = (NI)(TMP7626); } LA20: ; } } } } goto LA12; LA14: ; { Tnode190813* LOC22; nimln(37, "evaltempl.nim"); LOC22 = 0; LOC22 = copytree_195028(x); add_191164(result, LOC22); } LA12: ; } goto LA6; LA10: ; { Tsym190843* x; Tidobj166015* LOC29; TNimObject* LOC30; Tlineinfo162338 LOC37; Tnode190813* LOC43; nimln(854, "msgs.nim"); { NimStringDesc* LOC28; nimln(39, "evaltempl.nim"); if (!!((((*s).flags &(1<<((((NU8) 31))&31)))!=0))) goto LA26; nimln(854, "msgs.nim"); LOC28 = 0; LOC28 = HEX24_164306(TMP7627); internalerror_164218(LOC28); } LA26: ; nimln(40, "evaltempl.nim"); LOC29 = 0; LOC29 = &s->Sup; LOC30 = 0; LOC30 = idtableget_198182((*c).mapping, LOC29); if (LOC30) chckObj((*LOC30).m_type, (&NTI190843)); x = ((Tsym190843*) (LOC30)); nimln(41, "evaltempl.nim"); { Tidobj166015* LOC35; TNimObject* LOC36; if (!(x == NIM_NIL)) goto LA33; nimln(42, "evaltempl.nim"); x = copysym_193607(s, NIM_FALSE); nimln(43, "evaltempl.nim"); asgnRefNoCycle((void**) (&(*x).owner), (*c).gensymowner); nimln(44, "evaltempl.nim"); LOC35 = 0; LOC35 = &s->Sup; LOC36 = 0; LOC36 = &x->Sup.Sup; idtableput_198196((&(*c).mapping), LOC35, LOC36); } LA33: ; nimln(45, "evaltempl.nim"); { if (!(*c).instlines) goto LA40; LOC37 = (*actual).info; } goto LA38; LA40: ; { LOC37 = (*templ).info; } LA38: ; LOC43 = 0; LOC43 = newsymnode_192338(x, LOC37); add_191164(result, LOC43); } LA6: ; } goto LA2; LA4: ; { Tnode190813* LOC45; nimln(47, "evaltempl.nim"); LOC45 = 0; LOC45 = copynode_383027((&(*c)), templ, actual); add_191164(result, LOC45); } LA2: ; } break; case ((NU8) 0) ... ((NU8) 2): case ((NU8) 4) ... ((NU8) 23): { Tnode190813* LOC47; nimln(49, "evaltempl.nim"); LOC47 = 0; LOC47 = copynode_383027((&(*c)), templ, actual); add_191164(result, LOC47); } break; default: { Tnode190813* res; nimln(51, "evaltempl.nim"); res = copynode_383027((&(*c)), templ, actual); { NI i_383135; NI HEX3Atmp_383150; NI LOC50; NI TMP7629; NI res_383153; i_383135 = 0; HEX3Atmp_383150 = 0; nimln(52, "evaltempl.nim"); LOC50 = 0; LOC50 = sonslen_193403(templ); TMP7629 = subInt(LOC50, ((NI) 1)); HEX3Atmp_383150 = (NI)(TMP7629); nimln(1598, "system.nim"); res_383153 = ((NI) 0); { nimln(1599, "system.nim"); while (1) { NI TMP7630; if (!(res_383153 <= HEX3Atmp_383150)) goto LA52; nimln(1600, "system.nim"); i_383135 = res_383153; nimln(53, "evaltempl.nim"); if (((TMP7624[(*templ).kind/8] &(1<<((*templ).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(i_383135) >= (NU)((*templ).kindU.S6.sons->Sup.len)) raiseIndexError(); evaltemplateaux_383039((*templ).kindU.S6.sons->data[i_383135], actual, c, res); nimln(1614, "system.nim"); TMP7630 = addInt(res_383153, ((NI) 1)); res_383153 = (NI)(TMP7630); } LA52: ; } } nimln(54, "evaltempl.nim"); add_191164(result, res); } break; } popFrame(); }
N_NIMCALL(Tnode190813*, evaltemplate_382260)(Tnode190813* n, Tsym190843* tmpl, Tsym190843* gensymowner) { Tnode190813* result; Tnode190813* args; Templctx382019 ctx; Tnode190813* body; result = 0; evaltemplatecounter_382256 += ((NI) 1); { if (!(((NI) 100) < evaltemplatecounter_382256)) goto LA3; globalerror_164150((*n).info, ((NU16) 183), ((NimStringDesc*) &TMP2819)); result = n; } LA3: ; args = evaltemplateargs_382184(n, tmpl); memset((void*)(&ctx), 0, sizeof(ctx)); ctx.owner = tmpl; ctx.gensymowner = gensymowner; initidtable_194057((&ctx.mapping)); body = getbody_234647(tmpl); { NIM_BOOL LOC7; LOC7 = 0; LOC7 = isatom_195906(body); if (!LOC7) goto LA8; result = newnodei_192351(((NU8) 37), (*body).info); evaltemplateaux_382039(body, args, (&ctx), result); { NI LOC12; LOC12 = 0; LOC12 = len_191097(result); if (!(LOC12 == ((NI) 1))) goto LA13; result = (*result).kindU.S6.sons->data[((NI) 0)]; } goto LA10; LA13: ; { NimStringDesc* LOC16; LOC16 = 0; LOC16 = rendertree_212058(result, 4); localerror_164171((*result).info, ((NU16) 1), LOC16); } LA10: ; } goto LA5; LA8: ; { result = copynode_194644(body); ctx.instlines = !(((*body).kind == ((NU8) 115) || (*body).kind == ((NU8) 126) || (*body).kind == ((NU8) 112) || (*body).kind == ((NU8) 127))); { if (!ctx.instlines) goto LA20; (*result).info = (*n).info; } LA20: ; { NI i_382308; NI HEX3Atmp_382322; NI LOC23; NI res_382325; i_382308 = 0; HEX3Atmp_382322 = 0; LOC23 = 0; LOC23 = safelen_191125(body); HEX3Atmp_382322 = (NI)(LOC23 - ((NI) 1)); res_382325 = ((NI) 0); { while (1) { if (!(res_382325 <= HEX3Atmp_382322)) goto LA25; i_382308 = res_382325; evaltemplateaux_382039((*body).kindU.S6.sons->data[i_382308], args, (&ctx), result); res_382325 += ((NI) 1); } LA25: ; } } } LA5: ; evaltemplatecounter_382256 -= ((NI) 1); return result; }
N_NIMCALL(void, evaltemplateaux_382039)(Tnode190813* templ, Tnode190813* actual, Templctx382019* c, Tnode190813* result) { switch ((*templ).kind) { case ((NU8) 3): { Tsym190843* s; s = (*templ).kindU.S4.sym; { if (!((*(*s).owner).Sup.id == (*(*c).owner).Sup.id)) goto LA4; { NIM_BOOL LOC8; Tnode190813* x; LOC8 = 0; LOC8 = ((*s).kind == ((NU8) 3)); if (!(LOC8)) goto LA9; LOC8 = !((((*s).flags &(1<<((((NU8) 31))&31)))!=0)); LA9: ; if (!LOC8) goto LA10; x = (*actual).kindU.S6.sons->data[(*s).position]; { if (!((*x).kind == ((NU8) 152))) goto LA14; { Tnode190813* y_382083; y_382083 = 0; { NI i_382142; NI HEX3Atmp_382144; NI LOC18; NI res_382146; i_382142 = 0; HEX3Atmp_382144 = 0; LOC18 = 0; LOC18 = len_191097(x); HEX3Atmp_382144 = (LOC18 - 1); res_382146 = ((NI) 0); { while (1) { if (!(res_382146 <= HEX3Atmp_382144)) goto LA20; i_382142 = res_382146; y_382083 = (*x).kindU.S6.sons->data[i_382142]; add_191164(result, y_382083); res_382146 += ((NI) 1); } LA20: ; } } } } goto LA12; LA14: ; { Tnode190813* LOC22; LOC22 = 0; LOC22 = copytree_195028(x); add_191164(result, LOC22); } LA12: ; } goto LA6; LA10: ; { Tsym190843* x; Tidobj166015* LOC29; TNimObject* LOC30; Tlineinfo162338 LOC37; Tnode190813* LOC43; { NimStringDesc* LOC28; if (!!((((*s).flags &(1<<((((NU8) 31))&31)))!=0))) goto LA26; LOC28 = 0; LOC28 = HEX24_164322(TMP2820); internalerror_164234(LOC28); } LA26: ; LOC29 = 0; LOC29 = &s->Sup; LOC30 = 0; LOC30 = idtableget_198182((*c).mapping, LOC29); x = ((Tsym190843*) (LOC30)); { Tidobj166015* LOC35; TNimObject* LOC36; if (!(x == NIM_NIL)) goto LA33; x = copysym_193607(s, NIM_FALSE); asgnRefNoCycle((void**) (&(*x).owner), (*c).gensymowner); LOC35 = 0; LOC35 = &s->Sup; LOC36 = 0; LOC36 = &x->Sup.Sup; idtableput_198196((&(*c).mapping), LOC35, LOC36); } LA33: ; { if (!(*c).instlines) goto LA40; LOC37 = (*actual).info; } goto LA38; LA40: ; { LOC37 = (*templ).info; } LA38: ; LOC43 = 0; LOC43 = newsymnode_192338(x, LOC37); add_191164(result, LOC43); } LA6: ; } goto LA2; LA4: ; { Tnode190813* LOC45; LOC45 = 0; LOC45 = copynode_382027((&(*c)), templ, actual); add_191164(result, LOC45); } LA2: ; } break; case ((NU8) 0) ... ((NU8) 2): case ((NU8) 4) ... ((NU8) 23): { Tnode190813* LOC47; LOC47 = 0; LOC47 = copynode_382027((&(*c)), templ, actual); add_191164(result, LOC47); } break; default: { Tnode190813* res; res = copynode_382027((&(*c)), templ, actual); { NI i_382135; NI HEX3Atmp_382150; NI LOC50; NI res_382153; i_382135 = 0; HEX3Atmp_382150 = 0; LOC50 = 0; LOC50 = sonslen_193403(templ); HEX3Atmp_382150 = (NI)(LOC50 - ((NI) 1)); res_382153 = ((NI) 0); { while (1) { if (!(res_382153 <= HEX3Atmp_382150)) goto LA52; i_382135 = res_382153; evaltemplateaux_382039((*templ).kindU.S6.sons->data[i_382135], actual, c, res); res_382153 += ((NI) 1); } LA52: ; } } add_191164(result, res); } break; } }