Example #1
0
N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, wrapincomesfrom_YbfXH27kQZj5oIysAn7Rfg)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tnode_bROa11lyF5vxEN9aYNbHmhw* res0) {
	Tnode_bROa11lyF5vxEN9aYNbHmhw* result0;
	result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result0 = res0;
	(*result0).info = info0;
	{
		NIM_BOOL LOC3;
		NI LOC5;
		Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC8;
		LOC3 = (NIM_BOOL)0;
		LOC3 = ((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126));
		if (!(LOC3)) goto LA4;
		LOC5 = (NI)0;
		LOC5 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(result0);
		LOC3 = (((NI) 0) < LOC5);
		LA4: ;
		if (!LOC3) goto LA6;
		LOC8 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
		LOC8 = lastson_esDJA7239bJDiq4UrX9aHCjg(result0);
		(*LOC8).info = info0;
	}
	LA6: ;
	return result0;
}
Example #2
0
N_NIMCALL(Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag, isassignable_KOwAOGLDd1pP23MT9bwF88w)(Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL isunsafeaddr0) {
	Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag result0;
	result0 = (Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag)0;
	result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 0);
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		{
			NIM_BOOL LOC4;
			LOC4 = (NIM_BOOL)0;
			LOC4 = !(((*n0).typ == NIM_NIL));
			if (!(LOC4)) goto LA5;
			LOC4 = ((*(*n0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23));
			LA5: ;
			if (!LOC4) goto LA6;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
		}
		LA6: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set kinds0;
		{
			if (!isunsafeaddr0) goto LA11;
			kinds0 = 2856;
		}
		goto LA9;
		LA11: ;
		{
			kinds0 = 2336;
		}
		LA9: ;
		{
			if (!((kinds0 &(1U<<((NU)((*(*n0).kindU.S4.sym).kind)&31U)))!=0)) goto LA16;
			{
				NIM_BOOL LOC20;
				NIM_BOOL LOC21;
				LOC20 = (NIM_BOOL)0;
				LOC21 = (NIM_BOOL)0;
				LOC21 = !((owner0 == NIM_NIL));
				if (!(LOC21)) goto LA22;
				LOC21 = ((*owner0).Sup.id == (*(*(*n0).kindU.S4.sym).owner).Sup.id);
				LA22: ;
				LOC20 = LOC21;
				if (!(LOC20)) goto LA23;
				LOC20 = !((((*(*n0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))&31U)))!=0));
				LA23: ;
				if (!LOC20) goto LA24;
				result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 2);
			}
			goto LA18;
			LA24: ;
			{
				result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
			}
			LA18: ;
		}
		goto LA14;
		LA16: ;
		{
			NIM_BOOL LOC28;
			LOC28 = (NIM_BOOL)0;
			LOC28 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3));
			if (!(LOC28)) goto LA29;
			LOC28 = ((*(*(*n0).kindU.S4.sym).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23));
			LA29: ;
			if (!LOC28) goto LA30;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
		}
		goto LA14;
		LA30: ;
		{
			Ttype_LTUWCZolpovw9cWE3JBWSUw* t0;
			if (!((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7))) goto LA33;
			t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S4.sym).typ, 256);
			{
				if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA37;
				result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 4);
			}
			LA37: ;
		}
		goto LA14;
		LA33: ;
		LA14: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		{
			Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC42;
			LOC42 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
			LOC42 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 43024);
			if (!((14680064 &((NU64)1<<((NU)((*LOC42).kind)&63U)))!=0)) goto LA43;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
		}
		goto LA40;
		LA43: ;
		{
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 0)], isunsafeaddr0);
		}
		LA40: ;
		{
			NIM_BOOL LOC48;
			LOC48 = (NIM_BOOL)0;
			LOC48 = !((result0 == ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 0)));
			if (!(LOC48)) goto LA49;
			LOC48 = (((*(*(*n0).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 18))&31U)))!=0);
			LA49: ;
			if (!LOC48) goto LA50;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 3);
		}
		LA50: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		{
			Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC55;
			LOC55 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
			LOC55 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, 43024);
			if (!((14680064 &((NU64)1<<((NU)((*LOC55).kind)&63U)))!=0)) goto LA56;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
		}
		goto LA53;
		LA56: ;
		{
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 0)], isunsafeaddr0);
		}
		LA53: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	{
		{
			Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC62;
			LOC62 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0;
			LOC62 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 14723088);
			if (!((134610944 &((NU64)1<<((NU)((*LOC62).kind)&63U)))!=0)) goto LA63;
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 1)], isunsafeaddr0);
		}
		goto LA60;
		LA63: ;
		{
			NIM_BOOL LOC66;
			LOC66 = (NIM_BOOL)0;
			LOC66 = comparetypes_Wiat9a9c5vPvjDreVawQ2qgA((*n0).typ, (*(*n0).kindU.S6.sons->data[((NI) 1)]).typ, ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 1), 0);
			if (!LOC66) goto LA67;
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 1)], isunsafeaddr0);
		}
		goto LA60;
		LA67: ;
		LA60: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 0)], isunsafeaddr0);
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			Tmagic_shZhZOdbVC5nnFvcXQAImg LOC74;
			LOC74 = (Tmagic_shZhZOdbVC5nnFvcXQAImg)0;
			LOC74 = getmagic_gSv3iFkSzJc9bXZaNBHR9bQA(n0);
			if (!(LOC74 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4) || LOC74 == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 139))) goto LA75;
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, (*n0).kindU.S6.sons->data[((NI) 1)], isunsafeaddr0);
		}
		goto LA72;
		LA75: ;
		{
			NIM_BOOL LOC78;
			LOC78 = (NIM_BOOL)0;
			LOC78 = !(((*n0).typ == NIM_NIL));
			if (!(LOC78)) goto LA79;
			LOC78 = ((*(*n0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23));
			LA79: ;
			if (!LOC78) goto LA80;
			result0 = ((Tassignableresult_JFgO3TudAWntzWI8Fmx4Ag) 1);
		}
		goto LA72;
		LA80: ;
		LA72: ;
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		{
			Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC87;
			if (!!(((*n0).typ == NIM_NIL))) goto LA85;
			LOC87 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
			LOC87 = lastson_esDJA7239bJDiq4UrX9aHCjg(n0);
			result0 = isassignable_KOwAOGLDd1pP23MT9bwF88w(owner0, LOC87, isunsafeaddr0);
		}
		LA85: ;
	}
	break;
	default:
	{
	}
	break;
	}
	return result0;
}
Example #3
0
N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, ithfield_dVbj6zm1IqxrJtEDcHXhiQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* field0) {
	Tsym_AXG7xcvKqaxY6koRX1xkCw* result0;
{	result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0;
	result0 = NIM_NIL;
	switch ((*n0).kind) {
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI i_5M1Q39a38XnDTLT39bx5Of2g;
			NI HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w;
			NI LOC3;
			NI res_wmHNF0yxZFOhJROjDAEFrQ;
			i_5M1Q39a38XnDTLT39bx5Of2g = (NI)0;
			HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w = (NI)0;
			LOC3 = (NI)0;
			LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w = (NI)(LOC3 - ((NI) 1));
			res_wmHNF0yxZFOhJROjDAEFrQ = ((NI) 0);
			{
				while (1) {
					if (!(res_wmHNF0yxZFOhJROjDAEFrQ <= HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w)) goto LA5;
					i_5M1Q39a38XnDTLT39bx5Of2g = res_wmHNF0yxZFOhJROjDAEFrQ;
					result0 = ithfield_dVbj6zm1IqxrJtEDcHXhiQ((*n0).kindU.S6.sons->data[i_5M1Q39a38XnDTLT39bx5Of2g], field0);
					{
						if (!!((result0 == NIM_NIL))) goto LA8;
						goto BeforeRet;
					}
					LA8: ;
					res_wmHNF0yxZFOhJROjDAEFrQ += ((NI) 1);
				} LA5: ;
			}
		}
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		{
			if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13;
			internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_gkmEeaIyT0wHpJzs9ciIEJg_2));
		}
		LA13: ;
		result0 = ithfield_dVbj6zm1IqxrJtEDcHXhiQ((*n0).kindU.S6.sons->data[((NI) 0)], field0);
		{
			if (!!((result0 == NIM_NIL))) goto LA17;
			goto BeforeRet;
		}
		LA17: ;
		{
			NI i_5M1Q39a38XnDTLT39bx5Of2g_2;
			NI HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w_2;
			NI LOC20;
			NI res_wmHNF0yxZFOhJROjDAEFrQ_2;
			i_5M1Q39a38XnDTLT39bx5Of2g_2 = (NI)0;
			HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w_2 = (NI)0;
			LOC20 = (NI)0;
			LOC20 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0);
			HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w_2 = (NI)(LOC20 - ((NI) 1));
			res_wmHNF0yxZFOhJROjDAEFrQ_2 = ((NI) 1);
			{
				while (1) {
					if (!(res_wmHNF0yxZFOhJROjDAEFrQ_2 <= HEX3Atmp_Pdi9b8enJ39a4BPR69buMUH8w_2)) goto LA22;
					i_5M1Q39a38XnDTLT39bx5Of2g_2 = res_wmHNF0yxZFOhJROjDAEFrQ_2;
					switch ((*(*n0).kindU.S6.sons->data[i_5M1Q39a38XnDTLT39bx5Of2g_2]).kind) {
					case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
					case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
					{
						Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24;
						LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0;
						LOC24 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_5M1Q39a38XnDTLT39bx5Of2g_2]);
						result0 = ithfield_dVbj6zm1IqxrJtEDcHXhiQ(LOC24, field0);
						{
							if (!!((result0 == NIM_NIL))) goto LA27;
							goto BeforeRet;
						}
						LA27: ;
					}
					break;
					default:
					{
						internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_gkmEeaIyT0wHpJzs9ciIEJg_3));
					}
					break;
					}
					res_wmHNF0yxZFOhJROjDAEFrQ_2 += ((NI) 1);
				} LA22: ;
			}
		}
	}
	break;
	case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			if (!((*field0) == ((NI) 0))) goto LA33;
			result0 = (*n0).kindU.S4.sym;
		}
		goto LA31;
		LA33: ;
		{
			(*field0) -= ((NI) 1);
		}
		LA31: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet: ;
	return result0;
}