diff --git a/src/V3AstNodes.cpp b/src/V3AstNodes.cpp index a2d24be29..d3e69b222 100644 --- a/src/V3AstNodes.cpp +++ b/src/V3AstNodes.cpp @@ -748,34 +748,33 @@ string AstVar::cPubArgType(bool named, bool forReturn) const { return arg; } -class dpiTypesToStringConverter VL_NOT_FINAL{public : virtual string openArray(const AstVar*) - const {return "const svOpenArrayHandle"; -} -virtual string bitLogicVector(const AstVar* /*varp*/, bool isBit) const { - return isBit ? "svBitVecVal" : "svLogicVecVal"; -} -virtual string primitive(const AstVar* varp) const { - string type; - const VBasicDTypeKwd keyword = varp->basicp()->keyword(); - if (keyword.isDpiUnsignable() && !varp->basicp()->isSigned()) type = "unsigned "; - type += keyword.dpiType(); - return type; -} -string convert(const AstVar* varp) const { - if (varp->isDpiOpenArray()) { - return openArray(varp); - } else if (const AstBasicDType* const basicp = varp->basicp()) { - if (basicp->isDpiBitVec() || basicp->isDpiLogicVec()) { - return bitLogicVector(varp, basicp->isDpiBitVec()); - } else { - return primitive(varp); - } - } else { - return "UNKNOWN"; +class dpiTypesToStringConverter VL_NOT_FINAL { +public: + virtual string openArray(const AstVar*) const { return "const svOpenArrayHandle"; } + virtual string bitLogicVector(const AstVar* /*varp*/, bool isBit) const { + return isBit ? "svBitVecVal" : "svLogicVecVal"; } -} -} -; + virtual string primitive(const AstVar* varp) const { + string type; + const VBasicDTypeKwd keyword = varp->basicp()->keyword(); + if (keyword.isDpiUnsignable() && !varp->basicp()->isSigned()) type = "unsigned "; + type += keyword.dpiType(); + return type; + } + string convert(const AstVar* varp) const { + if (varp->isDpiOpenArray()) { + return openArray(varp); + } else if (const AstBasicDType* const basicp = varp->basicp()) { + if (basicp->isDpiBitVec() || basicp->isDpiLogicVec()) { + return bitLogicVector(varp, basicp->isDpiBitVec()); + } else { + return primitive(varp); + } + } else { + return "UNKNOWN"; + } + } +}; string AstVar::dpiArgType(bool named, bool forReturn) const { if (forReturn) {