bool Module::canHandleFunction(const std::string& name) const { if(doCanHandleFunction(name)) return true; for(const Module* importedModule: _importedModulesChain) { if(importedModule->doCanHandleFunction(name)) return true; } return false; }
const Module *Module::functionHandler(const std::string &name) const { if(doCanHandleFunction(name)) return this; for(const Module* importedModule: _importedModulesChain) { if(importedModule->doCanHandleFunction(name)) return importedModule; } return nullptr; }
const Module *Module::functionHandler(const std::string &name) const { if(doCanHandleFunction(name)) return this; for(const Module* importedModule: _importedModules) { const Module* result = importedModule->functionHandler(name); if(result != nullptr) return result; } return nullptr; }