N_NIMCALL(Tnode190813*, evaltemplateargs_383184)(Tnode190813* n, Tsym190843* s) { Tnode190813* result; NI a; NI f; nimfr("evalTemplateArgs", "evaltempl.nim") result = 0; a = 0; nimln(60, "evaltempl.nim"); switch ((*n).kind) { case ((NU8) 27): case ((NU8) 29): case ((NU8) 30): case ((NU8) 31): case ((NU8) 26): case ((NU8) 28): { nimln(62, "evaltempl.nim"); a = sonslen_193403(n); } break; default: { nimln(63, "evaltempl.nim"); a = ((NI) 0); } break; } nimln(64, "evaltempl.nim"); f = sonslen_193351((*s).typ); nimln(65, "evaltempl.nim"); { if (!(f < a)) goto LA5; globalerror_164134((*n).info, ((NU16) 133), ((NimStringDesc*) &TMP7631)); } LA5: ; nimln(67, "evaltempl.nim"); result = newnodei_192351(((NU8) 152), (*n).info); { NI i_383204; NI HEX3Atmp_383234; NI TMP7632; NI res_383237; i_383204 = 0; HEX3Atmp_383234 = 0; nimln(68, "evaltempl.nim"); TMP7632 = subInt(f, ((NI) 1)); HEX3Atmp_383234 = (NI)(TMP7632); nimln(1598, "system.nim"); res_383237 = ((NI) 1); { nimln(1599, "system.nim"); while (1) { Tnode190813* arg; NI TMP7633; if (!(res_383237 <= HEX3Atmp_383234)) goto LA9; nimln(1600, "system.nim"); i_383204 = res_383237; nimln(69, "evaltempl.nim"); { if (!(i_383204 < a)) goto LA12; if (((TMP7624[(*n).kind/8] &(1<<((*n).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(i_383204) >= (NU)((*n).kindU.S6.sons->Sup.len)) raiseIndexError(); arg = (*n).kindU.S6.sons->data[i_383204]; } goto LA10; LA12: ; { if (((TMP7624[(*(*(*s).typ).n).kind/8] &(1<<((*(*(*s).typ).n).kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP7625)); if ((NU)(i_383204) >= (NU)((*(*(*s).typ).n).kindU.S6.sons->Sup.len)) raiseIndexError(); if (!(((TMP7622[(*(*(*(*s).typ).n).kindU.S6.sons->data[i_383204]).kind/8] &(1<<((*(*(*(*s).typ).n).kindU.S6.sons->data[i_383204]).kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP7623)); arg = copytree_195028((*(*(*(*(*s).typ).n).kindU.S6.sons->data[i_383204]).kindU.S4.sym).ast); } LA10: ; nimln(70, "evaltempl.nim"); { NIM_BOOL LOC17; LOC17 = 0; LOC17 = (arg == NIM_NIL); if (LOC17) goto LA18; LOC17 = ((*arg).kind == ((NU8) 1)); LA18: ; if (!LOC17) goto LA19; nimln(71, "evaltempl.nim"); localerror_164155((*n).info, ((NU16) 133), ((NimStringDesc*) &TMP7631)); } LA19: ; nimln(72, "evaltempl.nim"); addson_192819(result, arg); nimln(1614, "system.nim"); TMP7633 = addInt(res_383237, ((NI) 1)); res_383237 = (NI)(TMP7633); } LA9: ; } } popFrame(); return result; }
N_NIMCALL(NU8, ispartofaux_398020)(Ttype190849* a, Ttype190849* b, Intset187056* marker) { NU8 result; { result = 0; result = ((NU8) 0); { NIM_BOOL LOC3; LOC3 = 0; LOC3 = (a == NIM_NIL); if (LOC3) goto LA4; LOC3 = (b == NIM_NIL); LA4: ; if (!LOC3) goto LA5; goto BeforeRet; } LA5: ; { NIM_BOOL LOC9; LOC9 = 0; LOC9 = containsorincl_187898(marker, (*a).Sup.id); if (!LOC9) goto LA10; goto BeforeRet; } LA10: ; { NIM_BOOL LOC14; LOC14 = 0; LOC14 = comparetypes_227047(a, b, ((NU8) 1), 0); if (!LOC14) goto LA15; result = ((NU8) 2); goto BeforeRet; } LA15: ; switch ((*a).kind) { case ((NU8) 17): { result = ispartofaux_398020((*a).sons->data[((NI) 0)], b, marker); { if (!(result == ((NU8) 0))) goto LA20; result = ispartofaux_398029((*a).n, b, marker); } LA20: ; } break; case ((NU8) 11): case ((NU8) 13): { Ttype190849* LOC23; LOC23 = 0; LOC23 = lastson_193442(a); result = ispartofaux_398020(LOC23, b, marker); } break; case ((NU8) 16): case ((NU8) 4): case ((NU8) 19): case ((NU8) 18): { { NI i_398329; NI HEX3Atmp_398340; NI LOC26; NI res_398343; i_398329 = 0; HEX3Atmp_398340 = 0; LOC26 = 0; LOC26 = sonslen_193351(a); HEX3Atmp_398340 = (NI)(LOC26 - ((NI) 1)); res_398343 = ((NI) 0); { while (1) { if (!(res_398343 <= HEX3Atmp_398340)) goto LA28; i_398329 = res_398343; result = ispartofaux_398020((*a).sons->data[i_398329], b, marker); { if (!(result == ((NU8) 2))) goto LA31; goto BeforeRet; } LA31: ; res_398343 += ((NI) 1); } LA28: ; } } } break; default: { } break; } }BeforeRet: ; return result; }
N_NIMCALL(Tnode190813*, evaltemplateargs_382184)(Tnode190813* n, Tsym190843* s) { Tnode190813* result; NI a; NI f; result = 0; a = 0; switch ((*n).kind) { case ((NU8) 27): case ((NU8) 29): case ((NU8) 30): case ((NU8) 31): case ((NU8) 26): case ((NU8) 28): { a = sonslen_193403(n); } break; default: { a = ((NI) 0); } break; } f = sonslen_193351((*s).typ); { if (!(f < a)) goto LA5; globalerror_164150((*n).info, ((NU16) 133), ((NimStringDesc*) &TMP2819)); } LA5: ; result = newnodei_192351(((NU8) 152), (*n).info); { NI i_382204; NI HEX3Atmp_382234; NI res_382237; i_382204 = 0; HEX3Atmp_382234 = 0; HEX3Atmp_382234 = (NI)(f - ((NI) 1)); res_382237 = ((NI) 1); { while (1) { Tnode190813* arg; if (!(res_382237 <= HEX3Atmp_382234)) goto LA9; i_382204 = res_382237; { if (!(i_382204 < a)) goto LA12; arg = (*n).kindU.S6.sons->data[i_382204]; } goto LA10; LA12: ; { arg = copytree_195028((*(*(*(*(*s).typ).n).kindU.S6.sons->data[i_382204]).kindU.S4.sym).ast); } LA10: ; { NIM_BOOL LOC17; LOC17 = 0; LOC17 = (arg == NIM_NIL); if (LOC17) goto LA18; LOC17 = ((*arg).kind == ((NU8) 1)); LA18: ; if (!LOC17) goto LA19; localerror_164171((*n).info, ((NU16) 133), ((NimStringDesc*) &TMP2819)); } LA19: ; addson_192819(result, arg); res_382237 += ((NI) 1); } LA9: ; } } return result; }