示例#1
0
void compileClassExtensions()
{
	if (sClassExtFiles) {
		ClassExtFile *classext = sClassExtFiles;
		do {
			//postfl("compile class ext: %d/%d\n", classext->startPos, classext->endPos);
			compileClass(classext->fileSym, classext->startPos, classext->endPos, -1);
			classext = classext->next;
		} while (classext);
	}
}
bool CompilationEngine::compile()
{
    try {
        compileClass();
    } catch (CompilationException e) {
        cerr << e.what() << endl;
        return false;
    }

    return true;
}
示例#3
0
void compileDepTree()
{
	ClassDependancy *classdep;
	int i;

	for (i=gClassCompileOrderNum-1; i>=0; --i) {
		classdep = gClassCompileOrder[i];
		/*postfl("compile %d '%s' '%s' '%s'...%d/%d/%d\n", i, classdep->className->name, classdep->superClassName->name,
			classdep->fileSym->name, classdep->startLine, classdep->endLine, classDep->lineOffset);*/
		compileClass(classdep->fileSym, classdep->startPos, classdep->endPos, classdep->lineOffset);
	}
	//postfl("<compile\n");
}