Internals: Refactor V3EmitUtil to not be base class. No functional change.

This commit is contained in:
Wilson Snyder
2025-08-25 22:05:40 -04:00
parent ac2859bf24
commit 5f23bf95f6
24 changed files with 259 additions and 236 deletions
+2 -2
View File
@@ -897,7 +897,7 @@ class TaskVisitor final : public VNVisitor {
// Convert input/inout DPI arguments to Internal types
string args;
args += ("(" + EmitCBase::symClassName()
args += ("(" + EmitCUtil::symClassName()
+ "*)(__Vscopep->symsp())"); // Upcast w/o overhead
AstNode* argnodesp = nullptr;
for (AstNode* stmtp = nodep->stmtsp(); stmtp; stmtp = stmtp->nextp()) {
@@ -1284,7 +1284,7 @@ class TaskVisitor final : public VNVisitor {
if (!nodep->dpiImport() && !nodep->taskPublic()) {
// Need symbol table
cfuncp->argTypes(EmitCBase::symClassVar());
cfuncp->argTypes(EmitCUtil::symClassVar());
if (cfuncp->name() == "new") {
const string stmt = VIdProtect::protect("_ctor_var_reset") + "(vlSymsp);\n";
cfuncp->addInitsp(new AstCStmt{nodep->fileline(), stmt});