Exemple #1
0
N_NIMCALL(void, patternerror_WCa9bfuEYPAnEySVcJ29aYHw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4);
	localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 1), LOC1);
}
Exemple #2
0
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforprocnew_XUBQS3wiYN5kYQxrNN9awNQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0) {
	Tsym_AXG7xcvKqaxY6koRX1xkCw* result0;
	Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA it0;
{	result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
	memset((void*)(&it0), 0, sizeof(it0));
	result0 = initidentiter_mWFOqJ9be21lsluYGFm6uRA((&it0), (*scope0).symbols, (*fn0).name);
	{
		while (1) {
			if (!!((result0 == NIM_NIL))) goto LA2;
			{
				NIM_BOOL LOC5;
				Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ LOC9;
				LOC5 = (NIM_BOOL)0;
				LOC5 = ((*result0).kind == (*fn0).kind);
				if (!(LOC5)) goto LA6;
				LOC5 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ((*result0).typ, (*fn0).typ, 30);
				LA6: ;
				if (!LOC5) goto LA7;
				LOC9 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0;
				LOC9 = equalparams_rxsP2U5qp9atwRH9aUfmAquQ((*(*result0).typ).n, (*(*fn0).typ).n);
				switch (LOC9) {
				case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1):
				{
					{
						NIM_BOOL LOC13;
						NimStringDesc* message0;
						TY_Re75IspeoxXy2oCZHwcRrA LOC17;
						LOC13 = (NIM_BOOL)0;
						LOC13 = !((((*result0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0));
						if (!(LOC13)) goto LA14;
						LOC13 = (((*fn0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0);
						LA14: ;
						if (!LOC13) goto LA15;
						memset((void*)LOC17, 0, sizeof(LOC17));
						LOC17[0] = getprocheader_9c0TLKVGuRBEJe67tk7UlpA(result0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0));
						LOC17[1] = HEX24_yjUDf1xsp2Vnrl7HYmqNww((*result0).info);
						message0 = nsuFormatOpenArray(((NimStringDesc*) &T_UQi3TxvDqkoRVo8YKAWcxA_2), LOC17, 2);
						localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), message0);
					}
					LA15: ;
					goto BeforeRet;
				}
				break;
				case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2):
				{
					localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 69), (*(*fn0).name).s);
					goto BeforeRet;
				}
				break;
				case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0):
				{
				}
				break;
				}
			}
			LA7: ;
			result0 = nextidentiter_rTNfZVe9bciOJ9bfDRjx5gIw((&it0), (*scope0).symbols);
		} LA2: ;
	}
	result0 = NIM_NIL;
	goto BeforeRet;
	}BeforeRet: ;
	return result0;
}
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, evaltemplateargs_dw0jfqH3BrkE5IDOxRZp9cw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL fromhlo0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	NI totalparams0;
	NI genericparams0;
	NI expectedregularparams0;
	NI LOC12;
	NI givenregularparams0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		NI LOC2;
		LOC2 = (NI)0;
		LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0);
		totalparams0 = (NI)(LOC2 - ((NI) 1));
	}
	break;
	default:
	{
		totalparams0 = ((NI) 0);
	}
	break;
	}
	{
		NIM_BOOL LOC6;
		LOC6 = (NIM_BOOL)0;
		LOC6 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))&31U)))!=0);
		if (LOC6) goto LA7;
		LOC6 = fromhlo0;
		LA7: ;
		if (!LOC6) goto LA8;
		genericparams0 = ((NI) 0);
	}
	goto LA4;
	LA8: ;
	{
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11;
		LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC11 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*s0).ast, ((NI) 2));
		genericparams0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(LOC11);
	}
	LA4: ;
	LOC12 = (NI)0;
	LOC12 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*s0).typ);
	expectedregularparams0 = (LOC12 - 1);
	givenregularparams0 = (NI)(totalparams0 - genericparams0);
	{
		if (!(givenregularparams0 < ((NI) 0))) goto LA15;
		givenregularparams0 = ((NI) 0);
	}
	LA15: ;
	{
		if (!((NI)(expectedregularparams0 + genericparams0) < totalparams0)) goto LA19;
		globalerror_VpilfPWbplGz6ny7O9cfr2g_3((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 136), ((NimStringDesc*) &T_N0xGjswvcjwwH43PvVNJAg_2));
	}
	LA19: ;
	result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n0).info);
	{
		NI i_PYl9cv9bQnghKQXyXdxMDYzg;
		NI res_TrLd5q7GRjzsRNmujZ5Kog;
		i_PYl9cv9bQnghKQXyXdxMDYzg = (NI)0;
		res_TrLd5q7GRjzsRNmujZ5Kog = ((NI) 1);
		{
			while (1) {
				if (!(res_TrLd5q7GRjzsRNmujZ5Kog <= givenregularparams0)) goto LA23;
				i_PYl9cv9bQnghKQXyXdxMDYzg = res_TrLd5q7GRjzsRNmujZ5Kog;
				addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[i_PYl9cv9bQnghKQXyXdxMDYzg]);
				res_TrLd5q7GRjzsRNmujZ5Kog += ((NI) 1);
			} LA23: ;
		}
	}
	{
		NI i_PYl9cv9bQnghKQXyXdxMDYzg_2;
		NI HEX3Atmp_TikpdK7Q4mtvBGSlduHjng;
		NI res_TrLd5q7GRjzsRNmujZ5Kog_2;
		i_PYl9cv9bQnghKQXyXdxMDYzg_2 = (NI)0;
		HEX3Atmp_TikpdK7Q4mtvBGSlduHjng = (NI)0;
		HEX3Atmp_TikpdK7Q4mtvBGSlduHjng = (NI)(givenregularparams0 + ((NI) 1));
		res_TrLd5q7GRjzsRNmujZ5Kog_2 = HEX3Atmp_TikpdK7Q4mtvBGSlduHjng;
		{
			while (1) {
				Tnode_bROa11lyF5vxEN9aYNbHmhw* default_BdXr9c9bxIvQs559cCj7oBmLQ;
				if (!(res_TrLd5q7GRjzsRNmujZ5Kog_2 <= expectedregularparams0)) goto LA26;
				i_PYl9cv9bQnghKQXyXdxMDYzg_2 = res_TrLd5q7GRjzsRNmujZ5Kog_2;
				default_BdXr9c9bxIvQs559cCj7oBmLQ = (*(*(*(*(*s0).typ).n).kindU.S6.sons->data[i_PYl9cv9bQnghKQXyXdxMDYzg_2]).kindU.S4.sym).ast;
				{
					NIM_BOOL LOC29;
					LOC29 = (NIM_BOOL)0;
					LOC29 = (default_BdXr9c9bxIvQs559cCj7oBmLQ == 0);
					if (LOC29) goto LA30;
					LOC29 = ((*default_BdXr9c9bxIvQs559cCj7oBmLQ).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1));
					LA30: ;
					if (!LOC29) goto LA31;
					localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 136), ((NimStringDesc*) &T_N0xGjswvcjwwH43PvVNJAg_2));
					addson_gCCf68XrWL79bKes6htzFjQ(result0, emptynode_69ccLGuQ2mITw7zylZYtWcA);
				}
				goto LA27;
				LA31: ;
				{
					Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34;
					LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
					LOC34 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(default_BdXr9c9bxIvQs559cCj7oBmLQ);
					addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC34);
				}
				LA27: ;
				res_TrLd5q7GRjzsRNmujZ5Kog_2 += ((NI) 1);
			} LA26: ;
		}
	}
	{
		NI i_PYl9cv9bQnghKQXyXdxMDYzg_3;
		NI res_TrLd5q7GRjzsRNmujZ5Kog_3;
		i_PYl9cv9bQnghKQXyXdxMDYzg_3 = (NI)0;
		res_TrLd5q7GRjzsRNmujZ5Kog_3 = ((NI) 1);
		{
			while (1) {
				if (!(res_TrLd5q7GRjzsRNmujZ5Kog_3 <= genericparams0)) goto LA37;
				i_PYl9cv9bQnghKQXyXdxMDYzg_3 = res_TrLd5q7GRjzsRNmujZ5Kog_3;
				addson_gCCf68XrWL79bKes6htzFjQ(result0, (*n0).kindU.S6.sons->data[(NI)(givenregularparams0 + i_PYl9cv9bQnghKQXyXdxMDYzg_3)]);
				res_TrLd5q7GRjzsRNmujZ5Kog_3 += ((NI) 1);
			} LA37: ;
		}
	}
	return result0;
}
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;
}
Exemple #5
0
N_NIMCALL(void, invalidpragma_54ZurtFnCR0LbrbLzC8vrw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) {
	NimStringDesc* LOC1;
	LOC1 = (NimStringDesc*)0;
	LOC1 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4);
	localerror_VpilfPWbplGz6ny7O9cfr2g((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 166), LOC1);
}