예제 #1
0
파일: syme.c 프로젝트: pdo/aldor
SefoList
symeCondition(Syme syme)
{
	/* Ignore the conditions if needed for syme equality tests. */
	if (symePopConds(syme)) return listNil(Sefo);
	return (SefoList) symeGetField(syme, SYFI_Condition);
}
예제 #2
0
파일: syme.c 프로젝트: hemmecke/aldor
Lib
symeConstLib(Syme syme)
{
	if (symeSameLibs(syme))
		return symeLib(syme);

	return (Lib) symeGetField(syme, SYFI_ConstLib);
}
예제 #3
0
파일: syme.c 프로젝트: hemmecke/aldor
StabLevel
symeDefLevel(Syme syme)
{
	if (symeLibLevel(syme) && symeLib(syme))
		return car(symeLib(syme)->stab);

	return (StabLevel) symeGetField(syme, SYFI_DefLevel);
}
예제 #4
0
파일: syme.c 프로젝트: hemmecke/aldor
Syme
symeOriginal(Syme syme)
{
	/* Use symeFull(syme) unless an explicit value is present. */
	while (!symeHasLocal(syme, SYFI_Original)) {
		if (!symeFull(syme)) return syme;
		syme = symeFull(syme);
	}

	return (Syme) symeGetField(syme, SYFI_Original);
}
예제 #5
0
파일: syme.c 프로젝트: hemmecke/aldor
AInt
symeGetFieldX(Syme s, AInt f) { return symeGetField(s, f); }
예제 #6
0
파일: syme.c 프로젝트: hemmecke/aldor
Syme
symeExtensionFirst(Syme syme)
{
	Syme ext = (Syme) symeGetField(syme, SYFI_Extension);
	return ext;
}
예제 #7
0
파일: syme.c 프로젝트: hemmecke/aldor
TForm
symeExporter(Syme syme)
{
	assert(symeIsImport(syme));
	return (TForm) symeGetField(symeExportingSyme(syme), SYFI_Exporter);
}