summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp')
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp101
1 files changed, 59 insertions, 42 deletions
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
index c8b8d380327..748c0de6258 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -9,8 +9,6 @@
#include "SymbolFileNativePDB.h"
-#include "clang/Lex/Lexer.h"
-
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Symbol/CompileUnit.h"
@@ -151,10 +149,9 @@ void SymbolFileNativePDB::Terminate() {
PluginManager::UnregisterPlugin(CreateInstance);
}
-void SymbolFileNativePDB::DebuggerInitialize(lldb_private::Debugger &debugger) {
-}
+void SymbolFileNativePDB::DebuggerInitialize(Debugger &debugger) {}
-lldb_private::ConstString SymbolFileNativePDB::GetPluginNameStatic() {
+ConstString SymbolFileNativePDB::GetPluginNameStatic() {
static ConstString g_name("native-pdb");
return g_name;
}
@@ -163,12 +160,11 @@ const char *SymbolFileNativePDB::GetPluginDescriptionStatic() {
return "Microsoft PDB debug symbol cross-platform file reader.";
}
-lldb_private::SymbolFile *
-SymbolFileNativePDB::CreateInstance(lldb_private::ObjectFile *obj_file) {
+SymbolFile *SymbolFileNativePDB::CreateInstance(ObjectFile *obj_file) {
return new SymbolFileNativePDB(obj_file);
}
-SymbolFileNativePDB::SymbolFileNativePDB(lldb_private::ObjectFile *object_file)
+SymbolFileNativePDB::SymbolFileNativePDB(ObjectFile *object_file)
: SymbolFile(object_file) {}
SymbolFileNativePDB::~SymbolFileNativePDB() {}
@@ -260,7 +256,7 @@ lldb::FunctionSP SymbolFileNativePDB::CreateFunction(PdbSymUid func_uid,
if (!func_range.GetBaseAddress().IsValid())
return nullptr;
- lldb_private::Type *func_type = nullptr;
+ Type *func_type = nullptr;
// FIXME: Resolve types and mangled names.
PdbSymUid sig_uid =
@@ -287,7 +283,7 @@ SymbolFileNativePDB::CreateCompileUnit(const CompilandIndexItem &cci) {
llvm::StringRef source_file_name =
m_index->compilands().GetMainSourceFile(cci);
- lldb_private::FileSpec fs(source_file_name, false);
+ FileSpec fs(source_file_name, false);
CompUnitSP cu_sp =
std::make_shared<CompileUnit>(m_obj_file->GetModule(), nullptr, fs,
@@ -333,8 +329,8 @@ lldb::CompUnitSP SymbolFileNativePDB::ParseCompileUnitAtIndex(uint32_t index) {
return GetOrCreateCompileUnit(item);
}
-lldb::LanguageType SymbolFileNativePDB::ParseCompileUnitLanguage(
- const lldb_private::SymbolContext &sc) {
+lldb::LanguageType
+SymbolFileNativePDB::ParseCompileUnitLanguage(const SymbolContext &sc) {
// What fields should I expect to be filled out on the SymbolContext? Is it
// safe to assume that `sc.comp_unit` is valid?
if (!sc.comp_unit)
@@ -350,8 +346,7 @@ lldb::LanguageType SymbolFileNativePDB::ParseCompileUnitLanguage(
return TranslateLanguage(item->m_compile_opts->getLanguage());
}
-size_t SymbolFileNativePDB::ParseCompileUnitFunctions(
- const lldb_private::SymbolContext &sc) {
+size_t SymbolFileNativePDB::ParseCompileUnitFunctions(const SymbolContext &sc) {
lldbassert(sc.comp_unit);
return false;
}
@@ -366,10 +361,9 @@ static bool NeedsResolvedCompileUnit(uint32_t resolve_scope) {
return (resolve_scope & flags) != 0;
}
-uint32_t
-SymbolFileNativePDB::ResolveSymbolContext(const lldb_private::Address &addr,
- uint32_t resolve_scope,
- lldb_private::SymbolContext &sc) {
+uint32_t SymbolFileNativePDB::ResolveSymbolContext(const Address &addr,
+ uint32_t resolve_scope,
+ SymbolContext &sc) {
uint32_t resolved_flags = 0;
lldb::addr_t file_addr = addr.GetFileAddress();
@@ -444,8 +438,7 @@ static void TerminateLineSequence(LineTable &table,
table.InsertSequence(seq.release());
}
-bool SymbolFileNativePDB::ParseCompileUnitLineTable(
- const lldb_private::SymbolContext &sc) {
+bool SymbolFileNativePDB::ParseCompileUnitLineTable(const SymbolContext &sc) {
// Unfortunately LLDB is set up to parse the entire compile unit line table
// all at once, even if all it really needs is line info for a specific
// function. In the future it would be nice if it could set the sc.m_function
@@ -519,15 +512,13 @@ bool SymbolFileNativePDB::ParseCompileUnitLineTable(
return true;
}
-bool SymbolFileNativePDB::ParseCompileUnitDebugMacros(
- const lldb_private::SymbolContext &sc) {
+bool SymbolFileNativePDB::ParseCompileUnitDebugMacros(const SymbolContext &sc) {
// PDB doesn't contain information about macros
return false;
}
bool SymbolFileNativePDB::ParseCompileUnitSupportFiles(
- const lldb_private::SymbolContext &sc,
- lldb_private::FileSpecList &support_files) {
+ const SymbolContext &sc, FileSpecList &support_files) {
lldbassert(sc.comp_unit);
PdbSymUid comp_uid = PdbSymUid::fromOpaqueId(sc.comp_unit->GetID());
@@ -547,23 +538,20 @@ bool SymbolFileNativePDB::ParseCompileUnitSupportFiles(
}
bool SymbolFileNativePDB::ParseImportedModules(
- const lldb_private::SymbolContext &sc,
- std::vector<lldb_private::ConstString> &imported_modules) {
+ const SymbolContext &sc, std::vector<ConstString> &imported_modules) {
// PDB does not yet support module debug info
return false;
}
-size_t SymbolFileNativePDB::ParseFunctionBlocks(
- const lldb_private::SymbolContext &sc) {
+size_t SymbolFileNativePDB::ParseFunctionBlocks(const SymbolContext &sc) {
lldbassert(sc.comp_unit && sc.function);
return 0;
}
uint32_t SymbolFileNativePDB::FindFunctions(
- const lldb_private::ConstString &name,
- const lldb_private::CompilerDeclContext *parent_decl_ctx,
+ const ConstString &name, const CompilerDeclContext *parent_decl_ctx,
uint32_t name_type_mask, bool include_inlines, bool append,
- lldb_private::SymbolContextList &sc_list) {
+ SymbolContextList &sc_list) {
// For now we only support lookup by method name.
if (!(name_type_mask & eFunctionNameTypeMethod))
return 0;
@@ -583,7 +571,7 @@ uint32_t SymbolFileNativePDB::FindFunctions(
PdbSymUid cuid = PdbSymUid::makeCompilandId(proc);
CompilandIndexItem &cci = m_index->compilands().GetOrCreateCompiland(cuid);
- lldb_private::SymbolContext sc;
+ SymbolContext sc;
sc.comp_unit = GetOrCreateCompileUnit(cci).get();
sc.module_sp = sc.comp_unit->GetModule();
@@ -596,21 +584,50 @@ uint32_t SymbolFileNativePDB::FindFunctions(
return sc_list.GetSize();
}
-uint32_t
-SymbolFileNativePDB::FindFunctions(const lldb_private::RegularExpression &regex,
- bool include_inlines, bool append,
- lldb_private::SymbolContextList &sc_list) {
+uint32_t SymbolFileNativePDB::FindFunctions(const RegularExpression &regex,
+ bool include_inlines, bool append,
+ SymbolContextList &sc_list) {
+ return 0;
+}
+
+uint32_t SymbolFileNativePDB::FindTypes(
+ const SymbolContext &sc, const ConstString &name,
+ const CompilerDeclContext *parent_decl_ctx, bool append,
+ uint32_t max_matches, llvm::DenseSet<SymbolFile *> &searched_symbol_files,
+ TypeMap &types) {
+ return 0;
+}
+
+size_t
+SymbolFileNativePDB::FindTypes(const std::vector<CompilerContext> &context,
+ bool append, TypeMap &types) {
+ return 0;
+}
+
+size_t SymbolFileNativePDB::ParseTypes(const SymbolContext &sc) { return 0; }
+
+Type *SymbolFileNativePDB::ResolveTypeUID(lldb::user_id_t type_uid) {
+ return nullptr;
+}
+
+bool SymbolFileNativePDB::CompleteType(CompilerType &compiler_type) {
+ return false;
+}
+
+size_t SymbolFileNativePDB::GetTypes(lldb_private::SymbolContextScope *sc_scope,
+ uint32_t type_mask,
+ lldb_private::TypeList &type_list) {
return 0;
}
-lldb_private::CompilerDeclContext SymbolFileNativePDB::FindNamespace(
- const lldb_private::SymbolContext &sc,
- const lldb_private::ConstString &name,
- const lldb_private::CompilerDeclContext *parent_decl_ctx) {
+CompilerDeclContext
+SymbolFileNativePDB::FindNamespace(const SymbolContext &sc,
+ const ConstString &name,
+ const CompilerDeclContext *parent_decl_ctx) {
return {};
}
-lldb_private::TypeSystem *
+TypeSystem *
SymbolFileNativePDB::GetTypeSystemForLanguage(lldb::LanguageType language) {
auto type_system =
m_obj_file->GetModule()->GetTypeSystemForLanguage(language);
@@ -619,7 +636,7 @@ SymbolFileNativePDB::GetTypeSystemForLanguage(lldb::LanguageType language) {
return type_system;
}
-lldb_private::ConstString SymbolFileNativePDB::GetPluginName() {
+ConstString SymbolFileNativePDB::GetPluginName() {
static ConstString g_name("pdb");
return g_name;
}
OpenPOWER on IntegriCloud