astgen: generate type specific addNext, remove astNextNull

Generate type specific static overloads of Ast<Node>::addNext, which
return the correct sub-type of the 'this' they were invoked on.

Also remove AstNode::addNextNull, which is now only used in the parser,
implement in verilog.y directly as a template function.
This commit is contained in:
Geza Lore
2022-09-17 15:05:22 +01:00
parent 79be097e34
commit 7d88e63bab
14 changed files with 142 additions and 160 deletions
+1 -5
View File
@@ -177,11 +177,7 @@ private:
AstNode* addsp = nullptr;
if (AstNode* const stmtsp = nodep->stmtsp()) {
stmtsp->unlinkFrBackWithNext();
if (addsp) {
addsp = addsp->addNextNull(stmtsp);
} else {
addsp = stmtsp;
}
addsp = AstNode::addNext(addsp, stmtsp);
}
if (addsp) {
nodep->replaceWith(addsp);