This commit is contained in:
Alex Zhou 2025-12-24 01:19:15 +00:00 committed by GitHub
commit 1163dc43b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 23 additions and 3 deletions

View File

@ -273,6 +273,7 @@ Yutetsu TAKATSUKASA
Yves Mathieu Yves Mathieu
Zhanglei Wang Zhanglei Wang
Zhen Yan Zhen Yan
Zhou Qinnan (Alex)
Zhou Shen Zhou Shen
Zhouyi Shen Zhouyi Shen
Zixi Li Zixi Li

View File

@ -5016,6 +5016,23 @@ class LinkDotResolveVisitor final : public VNVisitor {
refParamp->refDTypep(paramp); refParamp->refDTypep(paramp);
nodep->childDTypep(refParamp); nodep->childDTypep(refParamp);
nodep->parameterized(true); nodep->parameterized(true);
} else if (AstTypedef* const typedefp = VN_CAST(foundp->nodep(), Typedef)) {
AstNodeDType* const unwrappedp = typedefp->subDTypep()->skipRefp(); // Unwrap typedef to get the underlying type
if (AstClassRefDType* const classRefp = VN_CAST(unwrappedp, ClassRefDType)) {
AstPin* paramsp = cpackagerefp->paramsp();
if (paramsp) {
paramsp = paramsp->cloneTree(true);
nodep->parameterized(true);
}
nodep->childDTypep(new AstClassRefDType{nodep->fileline(), classRefp->classp(), paramsp});
iterate(nodep->childDTypep());
}
else {
nodep->v3warn(E_UNSUPPORTED,
"Unsupported: " << foundp->nodep()->prettyTypeName()
<< " in 'class extends'");
return;
}
} else { } else {
nodep->v3warn(E_UNSUPPORTED, nodep->v3warn(E_UNSUPPORTED,
"Unsupported: " << foundp->nodep()->prettyTypeName() "Unsupported: " << foundp->nodep()->prettyTypeName()

View File

@ -9,8 +9,10 @@
import vltest_bootstrap import vltest_bootstrap
test.scenarios('linter') test.scenarios('simulator')
test.lint(fails=True, expect_filename=test.golden_filename) test.compile()
test.passes() test.execute()
test.passes()