Merge 055bcab408 into 1b93033690
This commit is contained in:
commit
1163dc43b3
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
Loading…
Reference in New Issue