示例#1
0
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;
}
示例#2
0
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;
}