Support always / always[m:n] / s_always[m:n] property operators (#7482)

This commit is contained in:
Yilou Wang
2026-04-27 08:20:34 -04:00
committed by GitHub
parent e4803f29b6
commit c8893b64de
21 changed files with 435 additions and 84 deletions
+12
View File
@@ -1058,6 +1058,18 @@ class EmitVBaseVisitorConst VL_NOT_FINAL : public VNVisitorConst {
puts("\n");
}
void visit(AstPExpr* nodep) override { iterateConst(nodep->bodyp()); }
void visit(AstPropAlways* nodep) override {
puts(nodep->isStrong() ? "s_always" : "always");
if (!VN_IS(nodep->loBoundp(), Unbounded) || !VN_IS(nodep->hiBoundp(), Unbounded)) {
puts(" [");
iterateConst(nodep->loBoundp());
puts(":");
iterateConst(nodep->hiBoundp());
puts("]");
}
puts(" ");
iterateConst(nodep->propp());
}
void visit(AstSExpr* nodep) override {
iterateConstNull(nodep->preExprp());
{