Add --json-only and related JSON dumping (#4715) (#4831).

This commit is contained in:
Szymon Gizler
2024-02-09 17:50:09 -05:00
committed by Wilson Snyder
parent 248de2be2e
commit d667b73e8d
103 changed files with 27663 additions and 180 deletions
+15
View File
@@ -88,6 +88,21 @@ void FileLineSingleton::fileNameNumMapDumpXml(std::ostream& os) {
os << "</files>\n";
}
void FileLineSingleton::fileNameNumMapDumpJson(std::ostream& os) {
std::string sep = "\n ";
os << "\"files\": {";
for (const auto& itr : m_namemap) {
const std::string name
= itr.first == V3Options::getStdPackagePath() ? "<verilated_std>" : itr.first;
os << sep << '"' << filenameLetters(itr.second) << '"' << ": {\"filename\":\"" << name
<< '"' << ", \"realpath\":\""
<< V3OutFormatter::quoteNameControls(V3Os::filenameRealPath(itr.first)) << '"'
<< ", \"language\":\"" << numberToLang(itr.second).ascii() << "\"}";
sep = ",\n ";
}
os << "\n }";
}
FileLineSingleton::msgEnSetIdx_t FileLineSingleton::addMsgEnBitSet(const MsgEnBitSet& bitSet)
VL_MT_SAFE_EXCLUDES(m_mutex) {
V3LockGuard lock{m_mutex};