summaryrefslogtreecommitdiff
path: root/unittests/DebugInfo/PDB/PDBApiTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/DebugInfo/PDB/PDBApiTest.cpp')
-rw-r--r--unittests/DebugInfo/PDB/PDBApiTest.cpp79
1 files changed, 76 insertions, 3 deletions
diff --git a/unittests/DebugInfo/PDB/PDBApiTest.cpp b/unittests/DebugInfo/PDB/PDBApiTest.cpp
index e998acf009ec..41b679825f17 100644
--- a/unittests/DebugInfo/PDB/PDBApiTest.cpp
+++ b/unittests/DebugInfo/PDB/PDBApiTest.cpp
@@ -11,7 +11,10 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
+#include "llvm/DebugInfo/PDB/IPDBInjectedSource.h"
+#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
#include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
+#include "llvm/DebugInfo/PDB/IPDBSectionContrib.h"
#include "llvm/DebugInfo/PDB/IPDBSession.h"
#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
#include "llvm/DebugInfo/PDB/IPDBTable.h"
@@ -63,7 +66,7 @@ namespace {
class MockSession : public IPDBSession {
uint64_t getLoadAddress() const override { return 0; }
- void setLoadAddress(uint64_t Address) override {}
+ bool setLoadAddress(uint64_t Address) override { return false; }
std::unique_ptr<PDBSymbolExe> getGlobalScope() override { return nullptr; }
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override {
return nullptr;
@@ -72,11 +75,27 @@ class MockSession : public IPDBSession {
getSourceFileById(uint32_t SymbolId) const override {
return nullptr;
}
-
+ bool addressForVA(uint64_t VA, uint32_t &Section,
+ uint32_t &Offset) const override {
+ return false;
+ }
+ bool addressForRVA(uint32_t RVA, uint32_t &Section,
+ uint32_t &Offset) const override {
+ return false;
+ }
std::unique_ptr<PDBSymbol>
findSymbolByAddress(uint64_t Address, PDB_SymType Type) const override {
return nullptr;
}
+ std::unique_ptr<PDBSymbol> findSymbolByRVA(uint32_t RVA,
+ PDB_SymType Type) const override {
+ return nullptr;
+ }
+ std::unique_ptr<PDBSymbol>
+ findSymbolBySectOffset(uint32_t Sect, uint32_t Offset,
+ PDB_SymType Type) const override {
+ return nullptr;
+ }
std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbers(const PDBSymbolCompiland &Compiland,
const IPDBSourceFile &File) const override {
@@ -86,6 +105,15 @@ class MockSession : public IPDBSession {
findLineNumbersByAddress(uint64_t Address, uint32_t Length) const override {
return nullptr;
}
+ std::unique_ptr<IPDBEnumLineNumbers>
+ findLineNumbersByRVA(uint32_t RVA, uint32_t Length) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumLineNumbers>
+ findLineNumbersBySectOffset(uint32_t Section, uint32_t Offset,
+ uint32_t Length) const override {
+ return nullptr;
+ }
std::unique_ptr<IPDBEnumSourceFiles>
findSourceFiles(const PDBSymbolCompiland *Compiland, llvm::StringRef Pattern,
PDB_NameSearchFlags Flags) const override {
@@ -123,6 +151,14 @@ class MockSession : public IPDBSession {
std::unique_ptr<IPDBEnumTables> getEnumTables() const override {
return nullptr;
}
+
+ std::unique_ptr<IPDBEnumInjectedSources> getInjectedSources() const override {
+ return nullptr;
+ }
+
+ std::unique_ptr<IPDBEnumSectionContribs> getSectionContribs() const override {
+ return nullptr;
+ }
};
class MockRawSymbol : public IPDBRawSymbol {
@@ -142,14 +178,48 @@ public:
return nullptr;
}
std::unique_ptr<IPDBEnumSymbols>
+ findChildrenByAddr(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags,
+ uint32_t Section, uint32_t Offset) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumSymbols>
+ findChildrenByVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags,
+ uint64_t VA) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumSymbols>
findChildrenByRVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags,
uint32_t RVA) const override {
return nullptr;
}
std::unique_ptr<IPDBEnumSymbols>
+ findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumSymbols>
findInlineFramesByRVA(uint32_t RVA) const override {
return nullptr;
}
+ std::unique_ptr<IPDBEnumSymbols>
+ findInlineFramesByVA(uint64_t VA) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines() const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumLineNumbers>
+ findInlineeLinesByAddr(uint32_t Section, uint32_t Offset,
+ uint32_t Length) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumLineNumbers>
+ findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override {
+ return nullptr;
+ }
+ std::unique_ptr<IPDBEnumLineNumbers>
+ findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override {
+ return nullptr;
+ }
void getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) const override {}
void getFrontEndVersion(VersionInfo &Version) const override {}
@@ -161,6 +231,10 @@ public:
return {};
}
+ std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn() const override {
+ return nullptr;
+ }
+
MOCK_SYMBOL_ACCESSOR(getAccess)
MOCK_SYMBOL_ACCESSOR(getAddressOffset)
MOCK_SYMBOL_ACCESSOR(getAddressSection)
@@ -428,5 +502,4 @@ TEST_F(PDBApiTest, Dyncast) {
VerifyUnknownDyncasts();
}
-
} // end anonymous namespace