diff options
Diffstat (limited to 'llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp')
-rw-r--r-- | llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp index a06a22d93ed..d60ccd7ebbd 100644 --- a/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp +++ b/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp @@ -45,6 +45,13 @@ Error YAMLOutputStyle::dumpStreamSummary() { if (!opts::DumpStreamSummary) return Error::success(); + std::vector<yaml::StreamSizeEntry> Sizes; + for (uint32_t I = 0; I < File.getNumStreams(); ++I) { + yaml::StreamSizeEntry Entry; + Entry.Size = File.getStreamByteSize(I); + Sizes.push_back(Entry); + } + Obj.StreamSizes.emplace(Sizes); return Error::success(); } @@ -52,6 +59,15 @@ Error YAMLOutputStyle::dumpStreamBlocks() { if (!opts::DumpStreamBlocks) return Error::success(); + std::vector<yaml::StreamMapEntry> Blocks; + for (uint32_t I = 0; I < File.getNumStreams(); ++I) { + yaml::StreamMapEntry Entry; + auto BlockList = File.getStreamBlockList(I); + Entry.Blocks.assign(BlockList.begin(), BlockList.end()); + Blocks.push_back(Entry); + } + Obj.StreamMap.emplace(Blocks); + return Error::success(); } |