void Universe::LoadSystemClass(VMClass* systemClass) { VMClass* result = LoadClassBasic(systemClass->GetName(), systemClass); StdString s = systemClass->GetName()->GetStdString(); if (!result) { cout << "Can't load system class: " << s << endl; Universe::Quit(ERR_FAIL); } if (result->HasPrimitives() || result->GetClass()->HasPrimitives()) result->LoadPrimitives(classPath); }
VMClass* Universe::LoadClass(VMSymbol* name) { VMClass* result = static_cast<VMClass*>(GetGlobal(name)); if (result != nullptr) return result; result = LoadClassBasic(name, nullptr); if (!result) { // we fail silently, it is not fatal that loading a class failed return (VMClass*) nilObject; } if (result->HasPrimitives() || result->GetClass()->HasPrimitives()) result->LoadPrimitives(classPath); SetGlobal(name, result); return result; }