Internals: Prepare for hierarchical NodeModule's. No functional change intended.
This commit is contained in:
parent
5ae09daf5b
commit
e8ff191a17
|
|
@ -356,12 +356,15 @@ private:
|
|||
}
|
||||
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_modPastNum = 0;
|
||||
//
|
||||
iterateChildren(nodep);
|
||||
// Reset defaults
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
unsigned origPastNum = m_modPastNum;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_modPastNum = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_modPastNum = origPastNum;
|
||||
}
|
||||
virtual void visit(AstBegin* nodep) {
|
||||
// This code is needed rather than a visitor in V3Begin,
|
||||
|
|
|
|||
|
|
@ -2244,7 +2244,7 @@ public:
|
|||
AstActive* activesp() const { return VN_CAST(op3p(), Active); } // op3 = List of i/sblocks
|
||||
// METHODS
|
||||
void addInlinesp(AstNode* nodep) { addOp1p(nodep); }
|
||||
void addStmtp(AstNode* nodep) { addOp2p(nodep); }
|
||||
void addStmtp(AstNode* nodep) { addNOp2p(nodep); }
|
||||
void addActivep(AstNode* nodep) { addOp3p(nodep); }
|
||||
// ACCESSORS
|
||||
virtual void name(const string& name) { m_name = name; }
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ private:
|
|||
AstNodeFTask* m_ftaskp; // Current function/task
|
||||
string m_namedScope; // Name of begin blocks above us
|
||||
string m_unnamedScope; // Name of begin blocks, including unnamed blocks
|
||||
int m_repeatNum; // Repeat counter
|
||||
int m_ifDepth; // Current if depth
|
||||
|
||||
// METHODS
|
||||
|
|
@ -80,10 +79,12 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_repeatNum = 0;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstNodeFTask* nodep) {
|
||||
UINFO(8," "<<nodep<<endl);
|
||||
|
|
@ -232,7 +233,6 @@ public:
|
|||
m_statep = statep;
|
||||
m_modp = NULL;
|
||||
m_ftaskp = NULL;
|
||||
m_repeatNum = 0;
|
||||
m_ifDepth = 0;
|
||||
iterate(nodep);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -609,9 +609,12 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
UINFO(4," SCOPE "<<nodep<<endl);
|
||||
|
|
|
|||
|
|
@ -177,9 +177,12 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstNodeUniop* nodep) {
|
||||
iterateChildren(nodep);
|
||||
|
|
|
|||
|
|
@ -256,9 +256,12 @@ private:
|
|||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
//UINFO(4," MOD "<<nodep<<endl);
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp= NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
//UINFO(4," SCOPE "<<nodep<<endl);
|
||||
|
|
|
|||
|
|
@ -1287,9 +1287,12 @@ private:
|
|||
iterateChildrenBackwards(nodep);
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCFunc* nodep) {
|
||||
// No ASSIGNW removals under funcs, we've long eliminated INITIALs
|
||||
|
|
|
|||
|
|
@ -150,12 +150,16 @@ private:
|
|||
}
|
||||
// VISITORS - BOTH
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_inModOff = nodep->isTop(); // Ignore coverage on top module; it's a shell we created
|
||||
m_fileps.clear();
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
m_inModOff = true;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
bool origInModOff = m_inModOff;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_inModOff = nodep->isTop(); // Ignore coverage on top module; it's a shell we created
|
||||
m_fileps.clear();
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_inModOff = origInModOff;
|
||||
}
|
||||
|
||||
// VISITORS - TOGGLE COVERAGE
|
||||
|
|
|
|||
|
|
@ -134,12 +134,15 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
if (!nodep->dead()) {
|
||||
iterateChildren(nodep);
|
||||
checkAll(nodep);
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
if (!nodep->dead()) {
|
||||
iterateChildren(nodep);
|
||||
checkAll(nodep);
|
||||
}
|
||||
}
|
||||
m_modp = NULL;
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCFunc* nodep) {
|
||||
iterateChildren(nodep);
|
||||
|
|
|
|||
|
|
@ -84,10 +84,13 @@ private:
|
|||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UINFO(4," MOD "<<nodep<<endl);
|
||||
m_modp = nodep;
|
||||
m_funcp = NULL;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_funcp = NULL;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCFunc* nodep) {
|
||||
m_funcp = nodep;
|
||||
|
|
|
|||
|
|
@ -73,10 +73,13 @@ private:
|
|||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UINFO(4," MOD "<<nodep<<endl);
|
||||
m_modp = nodep;
|
||||
m_deepNum = 0;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_deepNum = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCFunc* nodep) {
|
||||
// We recurse into this.
|
||||
|
|
|
|||
|
|
@ -228,12 +228,15 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_modFuncs.clear();
|
||||
m_modSingleton = modIsSingleton(m_modp);
|
||||
iterateChildren(nodep);
|
||||
makePublicFuncWrappers();
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_modFuncs.clear();
|
||||
m_modSingleton = modIsSingleton(m_modp);
|
||||
iterateChildren(nodep);
|
||||
makePublicFuncWrappers();
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
m_scopep = nodep;
|
||||
|
|
|
|||
|
|
@ -270,9 +270,12 @@ class EmitCSyms : EmitCBaseVisitor {
|
|||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
nameCheck(nodep);
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCellInline* nodep) {
|
||||
if (v3Global.opt.vpi()) {
|
||||
|
|
|
|||
|
|
@ -420,10 +420,13 @@ private:
|
|||
replaceAssigns();
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_activeReducible = true;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_activeReducible = true;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
UINFO(4," SCOPE "<<nodep<<endl);
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UASSERT_OBJ(!m_modp, nodep, "Unsupported: Recursive modules");
|
||||
m_modp = nodep;
|
||||
m_allMods.push_back(nodep);
|
||||
m_modp->user2(CIL_MAYBE);
|
||||
|
|
@ -525,8 +526,12 @@ private:
|
|||
}
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCell* nodep) {
|
||||
if (nodep->modp()->user1()) { // Marked with inline request
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ private:
|
|||
AstNodeFTask* m_ftaskp; // Current function/task
|
||||
AstWhile* m_loopp; // Current loop
|
||||
bool m_loopInc; // In loop increment
|
||||
int m_repeatNum; // Repeat counter
|
||||
int m_modRepeatNum; // Repeat counter
|
||||
BeginStack m_beginStack; // All begin blocks above current node
|
||||
|
||||
// METHODS
|
||||
|
|
@ -109,10 +109,15 @@ private:
|
|||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
if (nodep->dead()) return;
|
||||
m_modp = nodep;
|
||||
m_repeatNum = 0;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
int origRepeatNum = m_modRepeatNum;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_modRepeatNum = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_modRepeatNum = origRepeatNum;
|
||||
}
|
||||
virtual void visit(AstNodeFTask* nodep) {
|
||||
m_ftaskp = nodep;
|
||||
|
|
@ -130,7 +135,7 @@ private:
|
|||
// REPEAT(count,body) -> loop=count,WHILE(loop>0) { body, loop-- }
|
||||
// Note var can be signed or unsigned based on original number.
|
||||
AstNode* countp = nodep->countp()->unlinkFrBackWithNext();
|
||||
string name = string("__Vrepeat")+cvtToStr(m_repeatNum++);
|
||||
string name = string("__Vrepeat")+cvtToStr(m_modRepeatNum++);
|
||||
// Spec says value is integral, if negative is ignored
|
||||
AstVar* varp = new AstVar(nodep->fileline(), AstVarType::BLOCKTEMP, name,
|
||||
nodep->findSigned32DType());
|
||||
|
|
@ -254,7 +259,7 @@ public:
|
|||
m_ftaskp = NULL;
|
||||
m_loopp = NULL;
|
||||
m_loopInc = false;
|
||||
m_repeatNum = 0;
|
||||
m_modRepeatNum = 0;
|
||||
iterate(nodep);
|
||||
}
|
||||
virtual ~LinkJumpVisitor() {}
|
||||
|
|
|
|||
|
|
@ -446,14 +446,17 @@ private:
|
|||
virtual void visit(AstNodeModule* nodep) {
|
||||
V3Config::applyModule(nodep);
|
||||
|
||||
// Module: Create sim table for entire module and iterate
|
||||
cleanFileline(nodep);
|
||||
//
|
||||
m_modp = nodep;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
// Module: Create sim table for entire module and iterate
|
||||
cleanFileline(nodep);
|
||||
//
|
||||
m_modp = nodep;
|
||||
m_valueModp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_valueModp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
m_valueModp = NULL;
|
||||
}
|
||||
void visitIterateNoValueMod(AstNode* nodep) {
|
||||
// Iterate a node which shouldn't have any local variables moved to an Initial
|
||||
|
|
|
|||
|
|
@ -69,10 +69,15 @@ private:
|
|||
// Module: Create sim table for entire module and iterate
|
||||
UINFO(8,"MODULE "<<nodep<<endl);
|
||||
if (nodep->dead()) return;
|
||||
m_modp = nodep;
|
||||
m_senitemCvtNum = 0;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
int origSenitemCvtNum = m_senitemCvtNum;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_senitemCvtNum = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_senitemCvtNum = origSenitemCvtNum;
|
||||
}
|
||||
virtual void visit(AstInitial* nodep) {
|
||||
iterateChildren(nodep);
|
||||
|
|
@ -489,9 +494,12 @@ private:
|
|||
iterateChildrenBackwards(nodep);
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCell* nodep) {
|
||||
// Parent module inherits child's publicity
|
||||
|
|
|
|||
|
|
@ -74,9 +74,12 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
// Add __PVT__ to names of local signals
|
||||
virtual void visit(AstVar* nodep) {
|
||||
|
|
|
|||
|
|
@ -1001,9 +1001,12 @@ private:
|
|||
AstNode::user4ClearTree();
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
UINFO(4," SCOPE "<<nodep<<endl);
|
||||
|
|
|
|||
|
|
@ -199,10 +199,13 @@ private:
|
|||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UINFO(4," MOD "<<nodep<<endl);
|
||||
m_modp = nodep;
|
||||
m_funcp = NULL;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_funcp = NULL;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstCFunc* nodep) {
|
||||
m_funcp = nodep;
|
||||
|
|
|
|||
|
|
@ -80,7 +80,8 @@ private:
|
|||
// State cleared on each module
|
||||
AstNodeModule* m_modp; // Current MODULE
|
||||
int m_modTables; // Number of tables created in this module
|
||||
std::deque<AstVarScope*> m_modTableVscs; // All tables created
|
||||
typedef std::deque<AstVarScope*> ModTableVector;
|
||||
ModTableVector m_modTableVscs; // All tables created
|
||||
|
||||
// State cleared on each scope
|
||||
AstScope* m_scopep; // Current SCOPE
|
||||
|
|
@ -427,11 +428,18 @@ private:
|
|||
iterateChildren(nodep);
|
||||
}
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modTables = 0;
|
||||
m_modTableVscs.clear();
|
||||
m_modp = nodep;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
int origModTables = m_modTables;
|
||||
ModTableVector origModTableVscs = m_modTableVscs;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_modTables = 0;
|
||||
m_modTableVscs.clear();
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_modTables = origModTables;
|
||||
m_modTableVscs = origModTableVscs;
|
||||
}
|
||||
virtual void visit(AstScope* nodep) {
|
||||
UINFO(4," SCOPE "<<nodep<<endl);
|
||||
|
|
|
|||
|
|
@ -1128,11 +1128,16 @@ private:
|
|||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
m_modp = nodep;
|
||||
m_insStmtp = NULL;
|
||||
m_modNCalls = 0;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
int origNCalls = m_modNCalls;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_insStmtp = NULL;
|
||||
m_modNCalls = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
m_modNCalls = origNCalls;
|
||||
}
|
||||
virtual void visit(AstTopScope* nodep) {
|
||||
m_topScopep = nodep;
|
||||
|
|
|
|||
|
|
@ -1306,28 +1306,38 @@ class TristateVisitor : public TristateBaseVisitor {
|
|||
}
|
||||
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UINFO(8, nodep<<endl);
|
||||
UASSERT_OBJ(!m_graphing, nodep,
|
||||
"Modules under modules not supported"); // Lots of per-module state breaks
|
||||
// Clear state
|
||||
m_tgraph.clear();
|
||||
m_unique = 0;
|
||||
m_logicp = NULL;
|
||||
m_lhsmap.clear();
|
||||
m_modp = nodep;
|
||||
// Walk the graph, finding all variables and tristate constructs
|
||||
UINFO(8, nodep << endl);
|
||||
AstNodeModule* origModp = m_modp;
|
||||
bool origGraphing = m_graphing;
|
||||
int origUnique = m_unique;
|
||||
VarMap origLhsmap = m_lhsmap;
|
||||
TristateGraph origTgraph = m_tgraph;
|
||||
{
|
||||
m_graphing = true;
|
||||
iterateChildren(nodep);
|
||||
// Clear state
|
||||
m_graphing = false;
|
||||
m_tgraph.clear();
|
||||
m_unique = 0;
|
||||
m_logicp = NULL;
|
||||
m_lhsmap.clear();
|
||||
m_modp = nodep;
|
||||
// Walk the graph, finding all variables and tristate constructs
|
||||
{
|
||||
m_graphing = true;
|
||||
iterateChildren(nodep);
|
||||
m_graphing = false;
|
||||
}
|
||||
// Use graph to find tristate signals
|
||||
m_tgraph.graphWalk(nodep);
|
||||
// Build the LHS drivers map for this module
|
||||
iterateChildren(nodep);
|
||||
// Insert new logic for all tristates
|
||||
insertTristates(nodep);
|
||||
}
|
||||
// Use graph to find tristate signals
|
||||
m_tgraph.graphWalk(nodep);
|
||||
// Build the LHS drivers map for this module
|
||||
iterateChildren(nodep);
|
||||
// Insert new logic for all tristates
|
||||
insertTristates(nodep);
|
||||
m_modp = NULL;
|
||||
m_modp = origModp;
|
||||
m_graphing = origGraphing;
|
||||
m_unique = origUnique;
|
||||
m_lhsmap = origLhsmap;
|
||||
m_tgraph = origTgraph;
|
||||
}
|
||||
|
||||
virtual void visit(AstNodeFTask* nodep) {
|
||||
|
|
|
|||
|
|
@ -147,10 +147,13 @@ private:
|
|||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) {
|
||||
UINFO(4," MOD "<<nodep<<endl);
|
||||
m_modp = nodep;
|
||||
m_constXCvt = true;
|
||||
iterateChildren(nodep);
|
||||
m_modp = NULL;
|
||||
AstNodeModule* origModp = m_modp;
|
||||
{
|
||||
m_modp = nodep;
|
||||
m_constXCvt = true;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
m_modp = origModp;
|
||||
}
|
||||
virtual void visit(AstAssignDly* nodep) {
|
||||
m_assigndlyp = nodep;
|
||||
|
|
|
|||
Loading…
Reference in New Issue