ObjectType Module::specify(const ObjectType &parent) const { ObjectType child = specifyLocally(parent); if(child.isNull()) { for(const Module* module : reverse(_importedModules)) { child = module->specify(parent); if(!child.isNull()) return child; } } return child; }
ObjectType Module::specify(const ObjectType &parent) const { if (!parent.typeTemplate().isVirtual()) { return ObjectType(); } ObjectType child = specifyLocally(parent); if(child.isNull()) { for(const Module* importedModule : _importedModulesChain) { child = importedModule->specifyLocally(parent); if(!child.isNull()) break; } } return child; }