Add typedef
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
This commit is contained in:
parent
ce194dada9
commit
a1bae47cd3
|
|
@ -1778,6 +1778,15 @@ public:
|
|||
addAttrsp(attrsp);
|
||||
dtypep(nullptr); // V3Width will resolve
|
||||
}
|
||||
AstTypedef(FileLine* fl, const string& name, AstNodeDType* dtp, bool underClass)
|
||||
: ASTGEN_SUPER_Typedef(fl)
|
||||
, m_name{name}
|
||||
, m_declTokenNum{fl->tokenNum()}
|
||||
, m_isHideLocal{false}
|
||||
, m_isHideProtected{false}
|
||||
, m_isUnderClass{underClass} {
|
||||
dtypep(dtp);
|
||||
}
|
||||
ASTGEN_MEMBERS_AstTypedef;
|
||||
void dump(std::ostream& str) const override;
|
||||
void dumpJson(std::ostream& str) const override;
|
||||
|
|
|
|||
|
|
@ -288,8 +288,7 @@ private:
|
|||
return 1;
|
||||
}
|
||||
}
|
||||
static AstNodeDType* getEnVarpDTypeRecursep(const AstVar* const varp,
|
||||
AstNodeDType* const dtypep) {
|
||||
static AstNodeDType* getEnVarpDTypeRecursep(AstVar* const varp, AstNodeDType* const dtypep) {
|
||||
if (dtypep->user1p()) return VN_AS(dtypep->user1p(), NodeDType);
|
||||
const size_t unpackElemNum = checkIfDTypeSupportedRecurse(dtypep, varp);
|
||||
if (unpackElemNum > ELEMENTS_MAX) {
|
||||
|
|
@ -361,6 +360,10 @@ private:
|
|||
enStructp->dtypep(enStructp);
|
||||
enStructp->classOrPackagep(structp->classOrPackagep());
|
||||
dtypep->user1p(enStructp);
|
||||
AstTypedef* const typedefp
|
||||
= new AstTypedef{enStructp->fileline(), enStructp->name(), enStructp,
|
||||
VN_IS(enStructp->classOrPackagep(), Class)};
|
||||
varp->addNextHere(typedefp);
|
||||
return enStructp;
|
||||
} else {
|
||||
for (const auto& memberp : enMemberDTypes) memberp->deleteTree();
|
||||
|
|
|
|||
Loading…
Reference in New Issue