当前位置: 首页>>代码示例>>C++>>正文


C++ AstNodeModule::castPackage方法代码示例

本文整理汇总了C++中AstNodeModule::castPackage方法的典型用法代码示例。如果您正苦于以下问题:C++ AstNodeModule::castPackage方法的具体用法?C++ AstNodeModule::castPackage怎么用?C++ AstNodeModule::castPackage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AstNodeModule的用法示例。


在下文中一共展示了AstNodeModule::castPackage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: visit

    virtual void visit(AstVar* nodep, AstNUser*) {
	// Make new scope variable
	if (m_modp->castPackage()
	    ? !nodep->user3p() : !nodep->user1p()) {
	    AstVarScope* varscp = new AstVarScope(nodep->fileline(), m_scopep, nodep);
	    UINFO(6,"   New scope "<<varscp<<endl);
	    nodep->user1p(varscp);
	    if (m_modp->castPackage()) nodep->user3p(varscp);
	    m_scopep->addVarp(varscp);
	}
    }
开发者ID:duythanhphan,项目名称:verilator,代码行数:11,代码来源:V3Scope.cpp

示例2: visit

    virtual void visit(AstTypedef* nodep, AstNUser*) {
	nodep->iterateChildren(*this);
	checkAll(nodep);
	// Don't let packages with only public variables disappear
	// Normal modules may disappear, e.g. if they are parameterized then removed
	if (nodep->attrPublic() && m_modp && m_modp->castPackage()) m_modp->user1Inc();
    }
开发者ID:RCSL-HKUST,项目名称:heterosim,代码行数:7,代码来源:V3Dead.cpp

示例3: AstCell

void V3LinkLevel::wrapTopPackages(AstNetlist* netlistp) {
    // Instantiate all packages under the top wrapper
    // This way all later SCOPE based optimizations can ignore packages
    AstNodeModule* newmodp = netlistp->modulesp();
    if (!newmodp || !newmodp->isTop()) netlistp->v3fatalSrc("No TOP module found to process");
    for (AstNodeModule* modp = netlistp->modulesp(); modp; modp=modp->nextp()->castNodeModule()) {
	if (modp->castPackage()) {
	    AstCell* cellp = new AstCell(modp->fileline(),
					 // Could add __03a__03a="::" to prevent conflict
					 // with module names/"v"
					 modp->name(),
					 modp->name(),
					 NULL, NULL, NULL);
	    cellp->modp(modp);
	    newmodp->addStmtp(cellp);
	}
    }
}
开发者ID:mballance,项目名称:verilator-svtnt,代码行数:18,代码来源:V3LinkLevel.cpp


注:本文中的AstNodeModule::castPackage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。