Apply 'make format'

This commit is contained in:
github action 2025-07-11 17:11:31 +00:00
parent 0982260d3b
commit 2fc12d951e
3 changed files with 11 additions and 17 deletions

View File

@ -63,12 +63,10 @@ class ClassVisitor final : public VNVisitor {
// as there is only single ancestor allowed
// - implements of concrete classes / extends of interface classes: mapped
// to virtual inheritance to allow diamond patterns with multiple ancestors
if (nodep->useVirtualPublic()) return; // Short-circuit to exit diamond cycles
if (nodep->isInterfaceClass()) {
nodep->useVirtualPublic(true);
}
if (nodep->useVirtualPublic()) return; // Short-circuit to exit diamond cycles
if (nodep->isInterfaceClass()) { nodep->useVirtualPublic(true); }
for (const AstClassExtends* extp = nodep->extendsp(); extp;
extp = VN_AS(extp->nextp(), ClassExtends)) {
extp = VN_AS(extp->nextp(), ClassExtends)) {
recurseImplements(extp->classp());
}
}

View File

@ -277,11 +277,10 @@ public:
puts("(vlSymsp)");
}
}
const AstCNew* const superNewCallp =
getSuperNewCallRecursep(cfuncp->stmtsp());
const AstCNew* const superNewCallp = getSuperNewCallRecursep(cfuncp->stmtsp());
// Direct non-virtual bases in declaration order
for (const AstClassExtends* extp = classp->extendsp(); extp;
extp = VN_AS(extp->nextp(), ClassExtends)) {
extp = VN_AS(extp->nextp(), ClassExtends)) {
if (extp->classp()->useVirtualPublic()) continue;
if (doneClasses.count(extp->classp())) continue;
puts(doneClasses.empty() ? "" : "\n , ");
@ -300,22 +299,19 @@ public:
}
}
void collectVirtualBasesRecursep(const AstClass* classp,
std::vector<AstClass*>& virtualBases) {
std::vector<AstClass*>& virtualBases) {
std::set<const AstClass*> visited;
collectVirtualBasesRecursep(classp, virtualBases /*ref*/, visited /*ref*/);
}
void collectVirtualBasesRecursep(const AstClass* classp,
std::vector<AstClass*>& virtualBases,
std::set<const AstClass*>& visited) {
void collectVirtualBasesRecursep(const AstClass* classp, std::vector<AstClass*>& virtualBases,
std::set<const AstClass*>& visited) {
if (visited.count(classp)) return;
visited.emplace(classp);
for (const AstClassExtends* extp = classp->extendsp(); extp;
extp = VN_AS(extp->nextp(), ClassExtends)) {
extp = VN_AS(extp->nextp(), ClassExtends)) {
// Depth-first: recurse into this base first
collectVirtualBasesRecursep(extp->classp(), virtualBases, visited);
if (extp->classp()->useVirtualPublic()) {
virtualBases.push_back(extp->classp());
}
if (extp->classp()->useVirtualPublic()) { virtualBases.push_back(extp->classp()); }
}
}

View File

@ -568,7 +568,7 @@ class EmitCHeader final : public EmitCConstInit {
if (classp->extendsp()) {
bool needComma = false;
for (const AstClassExtends* extp = classp->extendsp(); extp;
extp = VN_AS(extp->nextp(), ClassExtends)) {
extp = VN_AS(extp->nextp(), ClassExtends)) {
if (needComma) puts(", ");
// Use virtual only for interfaces for class inheritance
// (extends)