Ejemplo n.º 1
0
N_NIMCALL(void, processimplicits_240621)(TY121008* implicits, NU8 nodekind, Tpasscontext240005** a) {
	{
		NimStringDesc* module_240637;
		NI i_240644;
		NI L_240646;
		module_240637 = 0;
		i_240644 = ((NI) 0);
		L_240646 = (implicits ? implicits->Sup.len : 0);
		{
			while (1) {
				Tnode190813* importstmt;
				Tnode190813* str;
				if (!(i_240644 < L_240646)) goto LA3;
				module_240637 = implicits->data[i_240644];
				importstmt = newnodei_192351(nodekind, gcmdlineinfo_162926);
				str = newstrnode_191644(((NU8) 20), module_240637);
				(*str).info = gcmdlineinfo_162926;
				addson_192819(importstmt, str);
				{
					NIM_BOOL LOC6;
					LOC6 = 0;
					LOC6 = processtoplevelstmt_240454(importstmt, a);
					if (!!(LOC6)) goto LA7;
					goto LA1;
				}
				LA7: ;
				i_240644 += ((NI) 1);
			} LA3: ;
		}
	} LA1: ;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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;
}