示例#1
0
N_NIMCALL(void, annotatetype_420194)(tnode191813* n, ttype191847* t) {
	ttype191847* x;
	nimfr("annotateType", "semmacrosanity.nim")
	nimln(37, "semmacrosanity.nim");
	x = skiptypes_195793(t, IL64(211106232576256));
	nimln(40, "semmacrosanity.nim");
	switch ((*n).Kind) {
	case ((NU8) 37):
	{
		nimln(42, "semmacrosanity.nim");
		{
			NI i_420229;
			NI HEX3Atmp_420404;
			NI LOC6;
			NI res_420406;
			nimln(42, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 17))) goto LA4;
			nimln(43, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
			i_420229 = 0;
			HEX3Atmp_420404 = 0;
			nimln(44, "semmacrosanity.nim");
			nimln(44, "semmacrosanity.nim");
			nimln(44, "semmacrosanity.nim");
			LOC6 = 0;
			LOC6 = len_192274(n);
			HEX3Atmp_420404 = subInt(LOC6, 1);
			nimln(1458, "system.nim");
			res_420406 = 0;
			nimln(1459, "system.nim");
			while (1) {
				tsym191843* field;
				nimln(1459, "system.nim");
				if (!(res_420406 <= HEX3Atmp_420404)) goto LA7;
				nimln(1458, "system.nim");
				i_420229 = res_420406;
				nimln(45, "semmacrosanity.nim");
				field = ithfield_420007((*x).N, i_420229);
				nimln(46, "semmacrosanity.nim");
				{
					NimStringDesc* LOC12;
					NimStringDesc* LOC13;
					nimln(46, "semmacrosanity.nim");
					if (!field == 0) goto LA10;
					nimln(46, "semmacrosanity.nim");
					nimln(46, "semmacrosanity.nim");
					LOC12 = 0;
					nimln(46, "semmacrosanity.nim");
					LOC13 = 0;
					LOC13 = nimIntToStr(i_420229);
					LOC12 = rawNewString(LOC13->Sup.len + 23);
appendString(LOC12, ((NimStringDesc*) &TMP5691));
appendString(LOC12, LOC13);
					globalerror_168565((*n).Info, LOC12);
				}
				goto LA8;
				LA10: ;
				{
					nimln(47, "semmacrosanity.nim");
					if (((TMP5679[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP5680));
					if ((NU)(i_420229) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
					annotatetype_420194((*n).kindU.S6.Sons->data[i_420229], (*field).Typ);
				}
				LA8: ;
				nimln(1461, "system.nim");
				res_420406 = addInt(res_420406, 1);
			} LA7: ;
		}
		goto LA2;
		LA4: ;
		{
			NI i_420286;
			NI HEX3Atmp_420408;
			NI LOC18;
			NI res_420410;
			nimln(48, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 18))) goto LA16;
			nimln(49, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
			i_420286 = 0;
			HEX3Atmp_420408 = 0;
			nimln(50, "semmacrosanity.nim");
			nimln(50, "semmacrosanity.nim");
			nimln(50, "semmacrosanity.nim");
			LOC18 = 0;
			LOC18 = len_192274(n);
			HEX3Atmp_420408 = subInt(LOC18, 1);
			nimln(1458, "system.nim");
			res_420410 = 0;
			nimln(1459, "system.nim");
			while (1) {
				nimln(1459, "system.nim");
				if (!(res_420410 <= HEX3Atmp_420408)) goto LA19;
				nimln(1458, "system.nim");
				i_420286 = res_420410;
				nimln(51, "semmacrosanity.nim");
				{
					NI LOC22;
					NimStringDesc* LOC25;
					NimStringDesc* LOC26;
					nimln(51, "semmacrosanity.nim");
					nimln(51, "semmacrosanity.nim");
					LOC22 = 0;
					LOC22 = len_195569(x);
					if (!(LOC22 <= i_420286)) goto LA23;
					nimln(51, "semmacrosanity.nim");
					nimln(51, "semmacrosanity.nim");
					LOC25 = 0;
					nimln(51, "semmacrosanity.nim");
					LOC26 = 0;
					LOC26 = nimIntToStr(i_420286);
					LOC25 = rawNewString(LOC26->Sup.len + 23);
appendString(LOC25, ((NimStringDesc*) &TMP5691));
appendString(LOC25, LOC26);
					globalerror_168565((*n).Info, LOC25);
				}
				goto LA20;
				LA23: ;
				{
					nimln(52, "semmacrosanity.nim");
					if (((TMP5679[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP5680));
					if ((NU)(i_420286) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
					if ((NU)(i_420286) >= (NU)((*x).Sons->Sup.len)) raiseIndexError();
					annotatetype_420194((*n).kindU.S6.Sons->data[i_420286], (*x).Sons->data[i_420286]);
				}
				LA20: ;
				nimln(1461, "system.nim");
				res_420410 = addInt(res_420410, 1);
			} LA19: ;
		}
		goto LA2;
		LA16: ;
		{
			NIM_BOOL LOC29;
			nimln(53, "semmacrosanity.nim");
			LOC29 = 0;
			nimln(53, "semmacrosanity.nim");
			LOC29 = ((*x).Kind == ((NU8) 25));
			if (!(LOC29)) goto LA30;
			nimln(53, "semmacrosanity.nim");
			LOC29 = ((*x).Callconv == ((NU8) 8));
			LA30: ;
			if (!LOC29) goto LA31;
			nimln(54, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
		}
		goto LA2;
		LA31: ;
		{
			nimln(56, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5692));
		}
		LA2: ;
	}
	break;
	case ((NU8) 41):
	{
		nimln(58, "semmacrosanity.nim");
		{
			tnode191813* m_420333;
			NI i_420413;
			NI HEX3Atmp_420415;
			NI LOC39;
			NI res_420417;
			nimln(58, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 4) || (*x).Kind == ((NU8) 16) || (*x).Kind == ((NU8) 24) || (*x).Kind == ((NU8) 27))) goto LA37;
			nimln(59, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
			m_420333 = 0;
			i_420413 = 0;
			HEX3Atmp_420415 = 0;
			nimln(1521, "ast.nim");
			nimln(1521, "ast.nim");
			nimln(1521, "ast.nim");
			LOC39 = 0;
			LOC39 = len_192274(n);
			HEX3Atmp_420415 = subInt(LOC39, 1);
			nimln(1458, "system.nim");
			res_420417 = 0;
			nimln(1459, "system.nim");
			while (1) {
				ttype191847* LOC41;
				nimln(1459, "system.nim");
				if (!(res_420417 <= HEX3Atmp_420415)) goto LA40;
				nimln(1458, "system.nim");
				i_420413 = res_420417;
				nimln(1521, "ast.nim");
				if (((TMP5679[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP5680));
				if ((NU)(i_420413) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
				m_420333 = (*n).kindU.S6.Sons->data[i_420413];
				nimln(60, "semmacrosanity.nim");
				nimln(60, "semmacrosanity.nim");
				LOC41 = 0;
				LOC41 = elemtype_227559(x);
				annotatetype_420194(m_420333, LOC41);
				nimln(1461, "system.nim");
				res_420417 = addInt(res_420417, 1);
			} LA40: ;
		}
		goto LA35;
		LA37: ;
		{
			nimln(62, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5693));
		}
		LA35: ;
	}
	break;
	case ((NU8) 39):
	{
		nimln(64, "semmacrosanity.nim");
		{
			tnode191813* m_420348;
			NI i_420419;
			NI HEX3Atmp_420421;
			NI LOC48;
			NI res_420423;
			nimln(64, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 19))) goto LA46;
			nimln(65, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
			m_420348 = 0;
			i_420419 = 0;
			HEX3Atmp_420421 = 0;
			nimln(1521, "ast.nim");
			nimln(1521, "ast.nim");
			nimln(1521, "ast.nim");
			LOC48 = 0;
			LOC48 = len_192274(n);
			HEX3Atmp_420421 = subInt(LOC48, 1);
			nimln(1458, "system.nim");
			res_420423 = 0;
			nimln(1459, "system.nim");
			while (1) {
				ttype191847* LOC50;
				nimln(1459, "system.nim");
				if (!(res_420423 <= HEX3Atmp_420421)) goto LA49;
				nimln(1458, "system.nim");
				i_420419 = res_420423;
				nimln(1521, "ast.nim");
				if (((TMP5679[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP5680));
				if ((NU)(i_420419) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
				m_420348 = (*n).kindU.S6.Sons->data[i_420419];
				nimln(66, "semmacrosanity.nim");
				nimln(66, "semmacrosanity.nim");
				LOC50 = 0;
				LOC50 = elemtype_227559(x);
				annotatetype_420194(m_420348, LOC50);
				nimln(1461, "system.nim");
				res_420423 = addInt(res_420423, 1);
			} LA49: ;
		}
		goto LA44;
		LA46: ;
		{
			nimln(68, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5694));
		}
		LA44: ;
	}
	break;
	case ((NU8) 16) ... ((NU8) 19):
	{
		nimln(70, "semmacrosanity.nim");
		{
			nimln(70, "semmacrosanity.nim");
			if (!((*x).Kind >= ((NU8) 36) && (*x).Kind <= ((NU8) 39))) goto LA55;
			nimln(71, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
		}
		goto LA53;
		LA55: ;
		{
			nimln(73, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5695));
		}
		LA53: ;
	}
	break;
	case ((NU8) 5) ... ((NU8) 15):
	{
		nimln(75, "semmacrosanity.nim");
		{
			nimln(75, "semmacrosanity.nim");
			if (!((*x).Kind >= ((NU8) 31) && (*x).Kind <= ((NU8) 44) || (*x).Kind == ((NU8) 1) || (*x).Kind == ((NU8) 2) || (*x).Kind == ((NU8) 14))) goto LA61;
			nimln(76, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
		}
		goto LA59;
		LA61: ;
		{
			nimln(78, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5696));
		}
		LA59: ;
	}
	break;
	case ((NU8) 20) ... ((NU8) 22):
	{
		nimln(80, "semmacrosanity.nim");
		{
			nimln(80, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 28) || (*x).Kind == ((NU8) 29))) goto LA67;
			nimln(81, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
		}
		goto LA65;
		LA67: ;
		{
			nimln(83, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5697));
		}
		LA65: ;
	}
	break;
	case ((NU8) 23):
	{
		nimln(85, "semmacrosanity.nim");
		{
			nimln(85, "semmacrosanity.nim");
			if (!((*x).Kind == ((NU8) 26) || (*x).Kind == ((NU8) 29) || (*x).Kind == ((NU8) 22) || (*x).Kind == ((NU8) 21) || (*x).Kind == ((NU8) 24) || (*x).Kind == ((NU8) 25) || (*x).Kind == ((NU8) 28) || (*x).Kind == ((NU8) 50))) goto LA73;
			nimln(86, "semmacrosanity.nim");
			asgnRefNoCycle((void**) &(*n).Typ, t);
		}
		goto LA71;
		LA73: ;
		{
			nimln(88, "semmacrosanity.nim");
			globalerror_168565((*n).Info, ((NimStringDesc*) &TMP5698));
		}
		LA71: ;
	}
	break;
	default:
	{
	}
	break;
	}
	popFrame();
}
示例#2
0
N_NIMCALL(NU8, isassignable_280970)(tsym191843* owner, tnode191813* n) {
	NU8 result;
	nimfr("isAssignable", "parampatterns.nim")
	result = 0;
	nimln(181, "parampatterns.nim");
	result = ((NU8) 0);
	nimln(182, "parampatterns.nim");
	switch ((*n).Kind) {
	case ((NU8) 3):
	{
		nimln(185, "parampatterns.nim");
		{
			nimln(185, "parampatterns.nim");
			if (!(((TMP3593[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP3594));
			if (!((2336 &(1<<(((*(*n).kindU.S4.Sym).Kind)&31)))!=0)) goto LA4;
			nimln(186, "parampatterns.nim");
			{
				NIM_BOOL LOC8;
				NIM_BOOL LOC9;
				nimln(186, "parampatterns.nim");
				LOC8 = 0;
				nimln(186, "parampatterns.nim");
				LOC9 = 0;
				nimln(186, "parampatterns.nim");
				nimln(186, "parampatterns.nim");
				LOC9 = !((owner == NIM_NIL));
				if (!(LOC9)) goto LA10;
				nimln(186, "parampatterns.nim");
				if (!(((TMP3593[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP3594));
				LOC9 = ((*owner).Sup.Id == (*(*(*n).kindU.S4.Sym).Owner).Sup.Id);
				LA10: ;
				LOC8 = LOC9;
				if (!(LOC8)) goto LA11;
				nimln(187, "parampatterns.nim");
				nimln(187, "parampatterns.nim");
				if (!(((TMP3593[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP3594));
				LOC8 = !((((*(*n).kindU.S4.Sym).Flags &(1<<((((NU8) 3))&31)))!=0));
				LA11: ;
				if (!LOC8) goto LA12;
				nimln(188, "parampatterns.nim");
				result = ((NU8) 2);
			}
			goto LA6;
			LA12: ;
			{
				nimln(190, "parampatterns.nim");
				result = ((NU8) 1);
			}
			LA6: ;
		}
		LA4: ;
	}
	break;
	case ((NU8) 45):
	{
		nimln(192, "parampatterns.nim");
		{
			ttype191847* LOC18;
			nimln(192, "parampatterns.nim");
			nimln(192, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(0) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			LOC18 = 0;
			LOC18 = skiptypes_195793((*(*n).kindU.S6.Sons->data[0]).Typ, IL64(211106232576000));
			if (!((*LOC18).Kind == ((NU8) 23) || (*LOC18).Kind == ((NU8) 21) || (*LOC18).Kind == ((NU8) 22))) goto LA19;
			nimln(194, "parampatterns.nim");
			result = ((NU8) 1);
		}
		goto LA16;
		LA19: ;
		{
			nimln(196, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(0) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[0]);
		}
		LA16: ;
		nimln(197, "parampatterns.nim");
		{
			NIM_BOOL LOC24;
			nimln(197, "parampatterns.nim");
			LOC24 = 0;
			nimln(197, "parampatterns.nim");
			nimln(197, "parampatterns.nim");
			LOC24 = !((result == ((NU8) 0)));
			if (!(LOC24)) goto LA25;
			nimln(197, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(1) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			if (!(((TMP3593[(*(*n).kindU.S6.Sons->data[1]).Kind/8] &(1<<((*(*n).kindU.S6.Sons->data[1]).Kind%8)))!=0))) raiseFieldError(((NimStringDesc*) &TMP3594));
			LOC24 = (((*(*(*n).kindU.S6.Sons->data[1]).kindU.S4.Sym).Flags &(1<<((((NU8) 18))&31)))!=0);
			LA25: ;
			if (!LOC24) goto LA26;
			nimln(198, "parampatterns.nim");
			result = ((NU8) 3);
		}
		LA26: ;
	}
	break;
	case ((NU8) 42):
	{
		nimln(200, "parampatterns.nim");
		{
			ttype191847* LOC31;
			nimln(200, "parampatterns.nim");
			nimln(200, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(0) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			LOC31 = 0;
			LOC31 = skiptypes_195793((*(*n).kindU.S6.Sons->data[0]).Typ, IL64(211106232576000));
			if (!((*LOC31).Kind == ((NU8) 23) || (*LOC31).Kind == ((NU8) 21) || (*LOC31).Kind == ((NU8) 22))) goto LA32;
			nimln(202, "parampatterns.nim");
			result = ((NU8) 1);
		}
		goto LA29;
		LA32: ;
		{
			nimln(204, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(0) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[0]);
		}
		LA29: ;
	}
	break;
	case ((NU8) 58):
	case ((NU8) 59):
	case ((NU8) 60):
	{
		nimln(208, "parampatterns.nim");
		{
			ttype191847* LOC38;
			nimln(208, "parampatterns.nim");
			nimln(208, "parampatterns.nim");
			LOC38 = 0;
			LOC38 = skiptypes_195793((*n).Typ, IL64(211106247256064));
			if (!((*LOC38).Kind == ((NU8) 27) || (*LOC38).Kind == ((NU8) 18) || (*LOC38).Kind == ((NU8) 17))) goto LA39;
			nimln(210, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(1) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[1]);
		}
		goto LA36;
		LA39: ;
		{
			NIM_BOOL LOC42;
			nimln(211, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(1) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			LOC42 = 0;
			LOC42 = comparetypes_234564((*n).Typ, (*(*n).kindU.S6.Sons->data[1]).Typ, ((NU8) 1), 0);
			if (!LOC42) goto LA43;
			nimln(213, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(1) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[1]);
		}
		goto LA36;
		LA43: ;
		LA36: ;
	}
	break;
	case ((NU8) 65):
	case ((NU8) 47):
	{
		nimln(215, "parampatterns.nim");
		result = ((NU8) 1);
	}
	break;
	case ((NU8) 67):
	case ((NU8) 66):
	case ((NU8) 46):
	{
		nimln(217, "parampatterns.nim");
		if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
		if ((NU)(0) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
		result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[0]);
	}
	break;
	case ((NU8) 27):
	case ((NU8) 29):
	case ((NU8) 30):
	case ((NU8) 31):
	case ((NU8) 26):
	case ((NU8) 28):
	case ((NU8) 32):
	{
		nimln(220, "parampatterns.nim");
		{
			NU16 LOC50;
			nimln(220, "parampatterns.nim");
			nimln(220, "parampatterns.nim");
			LOC50 = 0;
			LOC50 = getmagic_225775(n);
			if (!(LOC50 == ((NU16) 151))) goto LA51;
			nimln(220, "parampatterns.nim");
			if (((TMP3570[(*n).Kind/8] &(1<<((*n).Kind%8)))!=0)) raiseFieldError(((NimStringDesc*) &TMP3571));
			if ((NU)(1) >= (NU)((*n).kindU.S6.Sons->Sup.len)) raiseIndexError();
			result = isassignable_280970(owner, (*n).kindU.S6.Sons->data[1]);
		}
		LA51: ;
	}
	break;
	default:
	{
	}
	break;
	}
	popFrame();
	return result;
}