| 307 | } |
| 308 | |
| 309 | UHDM::task_func *getFuncFromPackage(std::string_view name, |
| 310 | DesignComponent *component, |
| 311 | std::set<DesignComponent *> &visited) { |
| 312 | for (Package *pack : component->getAccessPackages()) { |
| 313 | if (pack->getTask_funcs()) { |
| 314 | for (UHDM::task_func *tf : *pack->getTask_funcs()) { |
| 315 | if (tf->VpiName() == name) { |
| 316 | return tf; |
| 317 | } |
| 318 | } |
| 319 | } |
| 320 | if (visited.find(pack) == visited.end()) { |
| 321 | visited.insert(pack); |
| 322 | UHDM::task_func *res = getFuncFromPackage(name, pack, visited); |
| 323 | if (res) { |
| 324 | return res; |
| 325 | } |
| 326 | } |
| 327 | } |
| 328 | return nullptr; |
| 329 | } |
| 330 | |
| 331 | std::pair<UHDM::task_func *, DesignComponent *> CompileHelper::getTaskFunc( |
| 332 | std::string_view name, DesignComponent *component, |
no test coverage detected