mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 10:03:44 +02:00
More V3EmitV support (#5779)
This commit is contained in:
+20
-1
@@ -235,6 +235,18 @@ class EmitVBaseVisitorConst VL_NOT_FINAL : public EmitCBaseVisitorConst {
|
||||
void visit(AstCoverInc*) override {} // N/A
|
||||
void visit(AstCoverToggle*) override {} // N/A
|
||||
|
||||
void visit(AstTestPlusArgs* nodep) override {
|
||||
putfs(nodep, nodep->verilogKwd());
|
||||
putbs("(");
|
||||
iterateChildrenConst(nodep);
|
||||
puts(")");
|
||||
}
|
||||
void visit(AstValuePlusArgs* nodep) override {
|
||||
putfs(nodep, nodep->verilogKwd());
|
||||
putbs("(");
|
||||
iterateChildrenConst(nodep);
|
||||
puts(")");
|
||||
}
|
||||
void visitNodeDisplay(AstNode* nodep, AstNode* fileOrStrgp, const string& text,
|
||||
AstNode* exprsp) {
|
||||
putfs(nodep, nodep->verilogKwd());
|
||||
@@ -476,7 +488,7 @@ class EmitVBaseVisitorConst VL_NOT_FINAL : public EmitCBaseVisitorConst {
|
||||
bool inPct = false;
|
||||
putbs("");
|
||||
for (const char c : format) {
|
||||
if (c == '%') {
|
||||
if (!inPct && c == '%') {
|
||||
inPct = true;
|
||||
} else if (!inPct) { // Normal text
|
||||
string s;
|
||||
@@ -676,6 +688,13 @@ class EmitVBaseVisitorConst VL_NOT_FINAL : public EmitCBaseVisitorConst {
|
||||
iterateAndNextConstNull(nodep->itemsp());
|
||||
puts("}");
|
||||
}
|
||||
void visit(AstEnumItemRef* nodep) override {
|
||||
if (AstNodeModule* const classOrPackagep = nodep->classOrPackagep()) {
|
||||
putfs(nodep, classOrPackagep->prettyName());
|
||||
puts("::");
|
||||
}
|
||||
putfs(nodep, nodep->name());
|
||||
}
|
||||
void visit(AstEnumItem* nodep) override {
|
||||
putfs(nodep, nodep->name());
|
||||
iterateConstNull(nodep->rangep());
|
||||
|
||||
Reference in New Issue
Block a user