You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
104
external/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
vendored
104
external/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
vendored
@ -1,104 +0,0 @@
|
||||
//===- DumpOutputStyle.h -------------------------------------- *- C++ --*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_TOOLS_LLVMPDBDUMP_DUMPOUTPUTSTYLE_H
|
||||
#define LLVM_TOOLS_LLVMPDBDUMP_DUMPOUTPUTSTYLE_H
|
||||
|
||||
#include "LinePrinter.h"
|
||||
#include "OutputStyle.h"
|
||||
#include "StreamUtil.h"
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/DebugInfo/PDB/Native/RawConstants.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace llvm {
|
||||
class BitVector;
|
||||
|
||||
namespace codeview {
|
||||
class LazyRandomTypeCollection;
|
||||
}
|
||||
|
||||
namespace object {
|
||||
class COFFObjectFile;
|
||||
}
|
||||
|
||||
namespace pdb {
|
||||
class GSIHashTable;
|
||||
class InputFile;
|
||||
|
||||
struct StatCollection {
|
||||
struct Stat {
|
||||
Stat() {}
|
||||
Stat(uint32_t Count, uint32_t Size) : Count(Count), Size(Size) {}
|
||||
uint32_t Count = 0;
|
||||
uint32_t Size = 0;
|
||||
|
||||
void update(uint32_t RecordSize) {
|
||||
++Count;
|
||||
Size += RecordSize;
|
||||
}
|
||||
};
|
||||
|
||||
void update(uint32_t Kind, uint32_t RecordSize) {
|
||||
Totals.update(RecordSize);
|
||||
auto Iter = Individual.try_emplace(Kind, 1, RecordSize);
|
||||
if (!Iter.second)
|
||||
Iter.first->second.update(RecordSize);
|
||||
}
|
||||
Stat Totals;
|
||||
DenseMap<uint32_t, Stat> Individual;
|
||||
};
|
||||
|
||||
class DumpOutputStyle : public OutputStyle {
|
||||
|
||||
public:
|
||||
DumpOutputStyle(InputFile &File);
|
||||
|
||||
Error dump() override;
|
||||
|
||||
private:
|
||||
PDBFile &getPdb();
|
||||
object::COFFObjectFile &getObj();
|
||||
|
||||
Error dumpFileSummary();
|
||||
Error dumpStreamSummary();
|
||||
Error dumpSymbolStats();
|
||||
Error dumpUdtStats();
|
||||
Error dumpStringTable();
|
||||
Error dumpLines();
|
||||
Error dumpInlineeLines();
|
||||
Error dumpXmi();
|
||||
Error dumpXme();
|
||||
Error dumpTpiStream(uint32_t StreamIdx);
|
||||
Error dumpTypesFromObjectFile();
|
||||
Error dumpModules();
|
||||
Error dumpModuleFiles();
|
||||
Error dumpModuleSymsForPdb();
|
||||
Error dumpModuleSymsForObj();
|
||||
Error dumpGlobals();
|
||||
Error dumpPublics();
|
||||
Error dumpSymbolsFromGSI(const GSIHashTable &Table, bool HashExtras);
|
||||
Error dumpSectionHeaders();
|
||||
Error dumpSectionContribs();
|
||||
Error dumpSectionMap();
|
||||
|
||||
void dumpSectionHeaders(StringRef Label, DbgHeaderType Type);
|
||||
|
||||
InputFile &File;
|
||||
LinePrinter P;
|
||||
SmallVector<StreamInfo, 32> StreamPurposes;
|
||||
};
|
||||
} // namespace pdb
|
||||
} // namespace llvm
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user