Internals: Refactoring V3Param. No functional change intended.
This commit is contained in:
parent
d7b8ede53f
commit
121193e49b
|
|
@ -1122,32 +1122,26 @@ class ParamProcessor final {
|
||||||
|
|
||||||
void cellDeparam(AstCell* nodep, AstNodeModule*& srcModpr) {
|
void cellDeparam(AstCell* nodep, AstNodeModule*& srcModpr) {
|
||||||
// Must always clone __Vrcm (recursive modules)
|
// Must always clone __Vrcm (recursive modules)
|
||||||
if (nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nodep->pinsp(),
|
nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nodep->pinsp(), nodep->recursive());
|
||||||
nodep->recursive())) {
|
nodep->modp(srcModpr); // Might be unchanged if not cloned (newModp == srcModp)
|
||||||
nodep->modp(srcModpr);
|
nodep->modName(srcModpr->name());
|
||||||
nodep->modName(srcModpr->name());
|
|
||||||
}
|
|
||||||
nodep->recursive(false);
|
nodep->recursive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ifaceRefDeparam(AstIfaceRefDType* const nodep, AstNodeModule*& srcModpr) {
|
void ifaceRefDeparam(AstIfaceRefDType* const nodep, AstNodeModule*& srcModpr) {
|
||||||
nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false);
|
nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false);
|
||||||
nodep->ifacep(VN_AS(srcModpr, Iface));
|
nodep->ifacep(VN_AS(srcModpr, Iface));
|
||||||
}
|
}
|
||||||
|
|
||||||
void classRefDeparam(AstClassOrPackageRef* nodep, AstNodeModule*& srcModpr) {
|
void classRefDeparam(AstClassOrPackageRef* nodep, AstNodeModule*& srcModpr) {
|
||||||
resolveDefaultParams(nodep);
|
resolveDefaultParams(nodep);
|
||||||
if (nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false))
|
nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false);
|
||||||
nodep->classOrPackagep(srcModpr);
|
nodep->classOrPackagep(srcModpr); // Might be unchanged if not cloned (newModp == srcModp)
|
||||||
}
|
}
|
||||||
|
|
||||||
void classRefDeparam(AstClassRefDType* nodep, AstNodeModule*& srcModpr) {
|
void classRefDeparam(AstClassRefDType* nodep, AstNodeModule*& srcModpr) {
|
||||||
resolveDefaultParams(nodep);
|
resolveDefaultParams(nodep);
|
||||||
if (nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false)) {
|
nodeDeparamCommon(nodep, srcModpr, nodep->paramsp(), nullptr, false);
|
||||||
AstClass* const classp = VN_AS(srcModpr, Class);
|
AstClass* const newClassp = VN_AS(srcModpr, Class);
|
||||||
nodep->classp(classp);
|
nodep->classp(newClassp); // Might be unchanged if not cloned (newModp == srcModp)
|
||||||
nodep->classOrPackagep(classp);
|
nodep->classOrPackagep(newClassp);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue