| 81 | using namespace UHDM; // NOLINT (using a bunch of them) |
| 82 | |
| 83 | bool CompileHelper::substituteAssignedValue(const UHDM::any *oper, |
| 84 | CompileDesign *compileDesign) { |
| 85 | bool substitute = true; |
| 86 | if (!oper) { |
| 87 | return false; |
| 88 | } |
| 89 | UHDM_OBJECT_TYPE opType = oper->UhdmType(); |
| 90 | if (opType == uhdmoperation) { |
| 91 | operation *op = (operation *)oper; |
| 92 | int32_t opType = op->VpiOpType(); |
| 93 | if (opType == vpiAssignmentPatternOp || opType == vpiConcatOp) { |
| 94 | substitute = compileDesign->getCompiler() |
| 95 | ->getCommandLineParser() |
| 96 | ->getParametersSubstitution(); |
| 97 | } |
| 98 | for (auto operand : *op->Operands()) { |
| 99 | if (!substituteAssignedValue(operand, compileDesign)) { |
| 100 | return false; |
| 101 | } |
| 102 | } |
| 103 | } |
| 104 | return substitute; |
| 105 | } |
| 106 | |
| 107 | any *CompileHelper::getObject(std::string_view name, DesignComponent *component, |
| 108 | CompileDesign *compileDesign, |
no test coverage detected