コード例 #1
0
ファイル: test_scobind.c プロジェクト: pbroadbery/aldor
local void
scobindTestCheckUnique(Stab stab, Symbol sym)
{
	SymeList sl = stabGetMeanings(stab, ablogFalse(), sym);
	testIntEqual("unique", 1, listLength(Syme)(sl));
	testPointerEqual("name", sym, symeId(car(sl)));
}
コード例 #2
0
ファイル: test_syme.c プロジェクト: pdo/aldor
local void
testSymeSExpr()
{

	String aSimpleDomain = "+++Comment\nDom: Category == with {f: () -> () ++ f\n}";
	StringList lines = listList(String)(1, aSimpleDomain);
	AbSynList code = listCons(AbSyn)(stdtypes(), abqParseLines(lines));
	
	AbSyn absyn = abNewSequenceL(sposNone, code);

	initFile();
	Stab stab = stabFile();
	
	abPutUse(absyn, AB_Use_NoValue);
	scopeBind(stab, absyn);
	typeInfer(stab, absyn);

	testTrue("Declare is sefo", abIsSefo(absyn));
	testIntEqual("Error Count", 0, comsgErrorCount());

	SymeList symes = stabGetMeanings(stab, ablogFalse(), symInternConst("Dom"));
	testIntEqual("unique meaning", 1, listLength(Syme)(symes));

	Syme syme = car(symes);
	SExpr sx = symeSExprAList(syme);
	
	finiFile();
}
コード例 #3
0
ファイル: tfcond.c プロジェクト: hemmecke/aldor
TfCond
tfCondNew()
{
	TfCond tfcond = (TfCond) stoAlloc(OB_Other, sizeof(*tfcond));

	tfcond->conditions = listNil(TfCondElt);
	tfcond->containsEmpty = false;
	tfcond->known = ablogFalse();

	return tfcond;
}
コード例 #4
0
ファイル: tfcond.c プロジェクト: hemmecke/aldor
TfCondElt
tfCondEltNew(Stab stab, AbSynList absynList)
{
	return tfCondEltNewFull(stab, absynList, ablogFalse());
}