Internals: Add AstSFormatF

This commit is contained in:
Wilson Snyder
2010-01-17 15:53:12 -05:00
parent 788f69a8c9
commit 0d1de96dbc
12 changed files with 66 additions and 65 deletions
+3 -9
View File
@@ -311,22 +311,16 @@ private:
nodep->iterateChildren(*this);
expectFormat(nodep, nodep->text(), nodep->exprsp(), true);
}
void expectNodeDisplay(AstNodeDisplay* nodep) {
// AstSFormat also handled here
virtual void visit(AstSFormatF* nodep, AstNUser*) {
nodep->iterateChildren(*this);
expectFormat(nodep, nodep->text(), nodep->exprsp(), false);
if ((nodep->castDisplay() && nodep->castDisplay()->displayType().needScopeTracking())
if ((nodep->backp()->castDisplay() && nodep->backp()->castDisplay()->displayType().needScopeTracking())
|| nodep->formatScopeTracking()) {
nodep->scopeNamep(new AstScopeName(nodep->fileline()));
}
}
virtual void visit(AstNodeDisplay* nodep, AstNUser*) {
nodep->iterateChildren(*this);
expectNodeDisplay(nodep);
}
virtual void visit(AstDisplay* nodep, AstNUser* vup) {
nodep->iterateChildren(*this);
expectNodeDisplay(nodep);
if (nodep->filep()) expectDescriptor(nodep, nodep->filep()->castNodeVarRef());
if (!m_assertp
&& (nodep->displayType() == AstDisplayType::INFO