diff --git a/PExpr.cc b/PExpr.cc index 8a32b0506..e9634511b 100644 --- a/PExpr.cc +++ b/PExpr.cc @@ -108,6 +108,16 @@ PEAssignPattern::~PEAssignPattern() { } +bool PEAssignPattern::has_aa_term(Design*des, NetScope*scope) const +{ + bool flag = false; + for (const auto *parm : parms_) { + if (parm) + flag = parm->has_aa_term(des, scope) || flag; + } + return flag; +} + PEBinary::PEBinary(char op, PExpr*l, PExpr*r) : op_(op), left_(l), right_(r) { diff --git a/PExpr.h b/PExpr.h index 6f6eaf07e..bf8f1e2ef 100644 --- a/PExpr.h +++ b/PExpr.h @@ -208,6 +208,8 @@ class PEAssignPattern : public PExpr { void dump(std::ostream&) const override; + virtual bool has_aa_term(Design*des, NetScope*scope) const override; + virtual unsigned test_width(Design*des, NetScope*scope, width_mode_t&mode) override; virtual NetExpr*elaborate_expr(Design*des, NetScope*scope, ivl_type_t type, unsigned flags) const override;