Internals: Move iterators to AstNVisitor to avoid null this.

This commit is contained in:
Wilson Snyder
2018-05-10 20:55:37 -04:00
parent 489f58011b
commit 05db8ce6c8
71 changed files with 1145 additions and 1099 deletions
+6 -6
View File
@@ -90,12 +90,12 @@ private:
}
}
virtual void visit(AstNode* nodep) {
nodep->iterateChildren(*this);
iterateChildren(nodep);
}
public:
// CONSTRUCTORS
explicit LocalizeDehierVisitor(AstNetlist* nodep) {
nodep->accept(*this);
iterate(nodep);
}
virtual ~LocalizeDehierVisitor() {}
};
@@ -157,7 +157,7 @@ private:
// VISITORS
virtual void visit(AstNetlist* nodep) {
nodep->iterateChildren(*this);
iterateChildren(nodep);
moveVars();
}
virtual void visit(AstCFunc* nodep) {
@@ -167,7 +167,7 @@ private:
searchFuncStmts(nodep->initsp());
searchFuncStmts(nodep->stmtsp());
searchFuncStmts(nodep->finalsp());
nodep->iterateChildren(*this);
iterateChildren(nodep);
m_cfuncp = NULL;
}
void searchFuncStmts(AstNode* nodep) {
@@ -230,13 +230,13 @@ private:
// No iterate; Don't want varrefs under it
}
virtual void visit(AstNode* nodep) {
nodep->iterateChildren(*this);
iterateChildren(nodep);
}
public:
// CONSTRUCTORS
explicit LocalizeVisitor(AstNetlist* nodep) {
m_cfuncp = NULL;
nodep->accept(*this);
iterate(nodep);
}
virtual ~LocalizeVisitor() {
V3Stats::addStat("Optimizations, Vars localized", m_statLocVars);