void AstNode::dump(ostream& str) { str<<typeName()<<" "<<(void*)this //<<" "<<(void*)this->m_backp <<" <e"<<dec<<editCount() <<((editCount()>=editCountLast())?"#>":">") <<" {"<<fileline()->filenameLetters()<<dec<<fileline()->lineno()<<"}"; if (user1p()) str<<" u1="<<(void*)user1p(); if (user2p()) str<<" u2="<<(void*)user2p(); if (user3p()) str<<" u3="<<(void*)user3p(); if (user4p()) str<<" u4="<<(void*)user4p(); if (user5p()) str<<" u5="<<(void*)user5p(); if (hasDType()) { if (dtypep()==this) str<<" @dt="<<"this@"; else str<<" @dt="<<(void*)dtypep()<<"@"; // Final @ so less likely to by accident think it's nodep if (AstNodeDType* dtp = dtypep()) { dtp->dumpSmall(str); } } else { // V3Broken will throw an error if (dtypep()) str<<" %Error-dtype-exp=null,got="<<(void*)dtypep(); } if (name()!="") { if (castConst()) str<<" "<<name(); // Already quoted else str<<" "<<V3Number::quoteNameControls(name()); } }
void AstNode::dump(ostream& str) { str<<typeName()<<" "<<(void*)this //<<" "<<(void*)this->m_backp <<" <e"<<dec<<editCount() <<((editCount()>=editCountLast())?"#>":">") <<" {"<<fileline()->filenameLetters()<<dec<<fileline()->lineno()<<"}" <<" "<<(isSigned()?"s":"") <<(isDouble()?"d":"") <<"w"<<(widthSized()?"":"u")<<width(); if (!widthSized()) str<<"/"<<widthMin(); if (name()!="") str<<" "<<AstNode::quoteName(name()); }