35std::unique_ptr<IPDBEnumSymbols>
43 return Session.getSymbolCache().createTypeEnumerator(codeview::LF_ARRAY);
45 return Session.getSymbolCache().createTypeEnumerator(codeview::LF_ENUM);
47 return Session.getSymbolCache().createTypeEnumerator(codeview::LF_POINTER);
49 return Session.getSymbolCache().createTypeEnumerator({
50 codeview::LF_STRUCTURE,
51 codeview::LF_STRUCTURE2,
56 codeview::LF_INTERFACE,
57 codeview::LF_INTERFACE2,
60 return Session.getSymbolCache().createTypeEnumerator(codeview::LF_VTSHAPE);
62 return Session.getSymbolCache().createTypeEnumerator(
63 {codeview::LF_PROCEDURE, codeview::LF_MFUNCTION});
65 return Session.getSymbolCache().createGlobalsEnumerator(codeview::S_UDT);
74 auto IS =
Session.getPDBFile().getPDBInfoStream();
82 return std::string(
Session.getPDBFile().getFilePath());
86 auto IS =
Session.getPDBFile().getPDBInfoStream();
94 auto Dbi =
Session.getPDBFile().getPDBDbiStream();
96 return Dbi->hasCTypes();
102 auto Dbi =
Session.getPDBFile().getPDBDbiStream();
104 return !Dbi->isStripped();
static DbiStream * getDbiStreamPtr(NativeSession &Session)
Tagged union holding either a T or a Error.
Error takeError()
Take ownership of the stored error.
reference get()
Returns a reference to the stored T value.
std::unique_ptr< IPDBEnumSymbols > findChildren(PDB_SymType Type) const override
codeview::GUID getGuid() const override
uint32_t getAge() const override
bool hasCTypes() const override
bool hasPrivateSymbols() const override
NativeExeSymbol(NativeSession &Session, SymIndexId Id)
std::string getSymbolsFileName() const override
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
Expected< DbiStream & > getPDBDbiStream()
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
This is an optimization pass for GlobalISel generic memory operations.
void consumeError(Error Err)
Consume a Error without doing anything.
This represents the 'GUID' type from windows.h.