LLDB  mainline
SymbolFilePDB.h
Go to the documentation of this file.
1 //===-- SymbolFilePDB.h -------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_SYMBOLFILEPDB_H
10 #define LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_SYMBOLFILEPDB_H
11 
13 #include "lldb/Symbol/SymbolFile.h"
15 #include "lldb/Utility/UserID.h"
16 
17 #include "llvm/ADT/DenseMap.h"
18 #include "llvm/DebugInfo/PDB/IPDBSession.h"
19 #include "llvm/DebugInfo/PDB/PDB.h"
20 #include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
21 
22 class PDBASTParser;
23 
25  /// LLVM RTTI support.
26  static char ID;
27 
28 public:
29  /// LLVM RTTI support.
30  /// \{
31  bool isA(const void *ClassID) const override {
32  return ClassID == &ID || SymbolFile::isA(ClassID);
33  }
34  static bool classof(const SymbolFile *obj) { return obj->isA(&ID); }
35  /// \}
36 
37  // Static Functions
38  static void Initialize();
39 
40  static void Terminate();
41 
42  static void DebuggerInitialize(lldb_private::Debugger &debugger);
43 
44  static llvm::StringRef GetPluginNameStatic() { return "pdb"; }
45 
46  static llvm::StringRef GetPluginDescriptionStatic();
47 
49  CreateInstance(lldb::ObjectFileSP objfile_sp);
50 
51  // Constructors and Destructors
52  SymbolFilePDB(lldb::ObjectFileSP objfile_sp);
53 
54  ~SymbolFilePDB() override;
55 
56  uint32_t CalculateAbilities() override;
57 
58  void InitializeObject() override;
59 
60  // Compile Unit function calls
61 
63  ParseLanguage(lldb_private::CompileUnit &comp_unit) override;
64 
65  size_t ParseFunctions(lldb_private::CompileUnit &comp_unit) override;
66 
67  bool ParseLineTable(lldb_private::CompileUnit &comp_unit) override;
68 
69  bool ParseDebugMacros(lldb_private::CompileUnit &comp_unit) override;
70 
72  lldb_private::FileSpecList &support_files) override;
73 
74  size_t ParseTypes(lldb_private::CompileUnit &comp_unit) override;
75 
78  std::vector<lldb_private::SourceModule> &imported_modules) override;
79 
80  size_t ParseBlocksRecursive(lldb_private::Function &func) override;
81 
82  size_t
84 
86  llvm::Optional<ArrayInfo> GetDynamicArrayInfoForUID(
87  lldb::user_id_t type_uid,
88  const lldb_private::ExecutionContext *exe_ctx) override;
89 
90  bool CompleteType(lldb_private::CompilerType &compiler_type) override;
91 
93 
96 
99 
100  void
102 
104  lldb::SymbolContextItem resolve_scope,
105  lldb_private::SymbolContext &sc) override;
106 
108  const lldb_private::SourceLocationSpec &src_location_spec,
109  lldb::SymbolContextItem resolve_scope,
110  lldb_private::SymbolContextList &sc_list) override;
111 
112  void
114  const lldb_private::CompilerDeclContext &parent_decl_ctx,
115  uint32_t max_matches,
116  lldb_private::VariableList &variables) override;
117 
119  uint32_t max_matches,
120  lldb_private::VariableList &variables) override;
121 
123  const lldb_private::CompilerDeclContext &parent_decl_ctx,
124  lldb::FunctionNameType name_type_mask,
125  bool include_inlines,
126  lldb_private::SymbolContextList &sc_list) override;
127 
129  bool include_inlines,
130  lldb_private::SymbolContextList &sc_list) override;
131 
133  const std::string &scope_qualified_name,
134  std::vector<lldb_private::ConstString> &mangled_names) override;
135 
136  void AddSymbols(lldb_private::Symtab &symtab) override;
137 
138  void
140  const lldb_private::CompilerDeclContext &parent_decl_ctx,
141  uint32_t max_matches,
142  llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files,
143  lldb_private::TypeMap &types) override;
144 
145  void FindTypes(llvm::ArrayRef<lldb_private::CompilerContext> pattern,
146  lldb_private::LanguageSet languages,
147  llvm::DenseSet<SymbolFile *> &searched_symbol_files,
148  lldb_private::TypeMap &types) override;
149 
151  uint32_t max_matches, lldb_private::TypeMap &types);
152 
154  lldb::TypeClass type_mask,
155  lldb_private::TypeList &type_list) override;
156 
157  llvm::Expected<lldb_private::TypeSystem &>
158  GetTypeSystemForLanguage(lldb::LanguageType language) override;
159 
162  const lldb_private::CompilerDeclContext &parent_decl_ctx) override;
163 
164  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
165 
166  llvm::pdb::IPDBSession &GetPDBSession();
167 
168  const llvm::pdb::IPDBSession &GetPDBSession() const;
169 
170  void DumpClangAST(lldb_private::Stream &s) override;
171 
172 private:
173  struct SecContribInfo {
177  };
178  using SecContribsMap = std::map<uint32_t, std::vector<SecContribInfo>>;
179 
181 
182  lldb::CompUnitSP ParseCompileUnitAtIndex(uint32_t index) override;
183 
184  lldb::CompUnitSP ParseCompileUnitForUID(uint32_t id,
185  uint32_t index = UINT32_MAX);
186 
188  uint32_t match_line);
189 
191  const llvm::pdb::PDBSymbolCompiland &pdb_compiland,
192  llvm::DenseMap<uint32_t, uint32_t> &index_map) const;
193 
194  void FindTypesByName(llvm::StringRef name,
195  const lldb_private::CompilerDeclContext &parent_decl_ctx,
196  uint32_t max_matches, lldb_private::TypeMap &types);
197 
198  std::string GetMangledForPDBData(const llvm::pdb::PDBSymbolData &pdb_data);
199 
200  lldb::VariableSP
202  const llvm::pdb::PDBSymbolData &pdb_data);
203 
205  const llvm::pdb::PDBSymbol &pdb_data,
206  lldb_private::VariableList *variable_list = nullptr);
207 
208  lldb::CompUnitSP
210 
211  typedef std::vector<lldb_private::Type *> TypeCollection;
212 
213  void GetTypesForPDBSymbol(const llvm::pdb::PDBSymbol &pdb_symbol,
214  uint32_t type_mask,
215  TypeCollection &type_collection);
216 
218  ParseCompileUnitFunctionForPDBFunc(const llvm::pdb::PDBSymbolFunc &pdb_func,
219  lldb_private::CompileUnit &comp_unit);
220 
221  void GetCompileUnitIndex(const llvm::pdb::PDBSymbolCompiland &pdb_compiland,
222  uint32_t &index);
223 
225 
226  std::unique_ptr<llvm::pdb::PDBSymbolCompiland>
228 
229  lldb_private::Mangled
230  GetMangledForPDBFunc(const llvm::pdb::PDBSymbolFunc &pdb_func);
231 
232  bool ResolveFunction(const llvm::pdb::PDBSymbolFunc &pdb_func,
233  bool include_inlines,
235 
236  bool ResolveFunction(uint32_t uid, bool include_inlines,
238 
239  void CacheFunctionNames();
240 
242  const lldb_private::CompilerDeclContext &decl_ctx);
243 
244  uint32_t GetCompilandId(const llvm::pdb::PDBSymbolData &data);
245 
246  llvm::DenseMap<uint32_t, lldb::CompUnitSP> m_comp_units;
247  llvm::DenseMap<uint32_t, lldb::TypeSP> m_types;
248  llvm::DenseMap<uint32_t, lldb::VariableSP> m_variables;
249  llvm::DenseMap<uint64_t, std::string> m_public_names;
250 
252 
253  std::vector<lldb::TypeSP> m_builtin_types;
254  std::unique_ptr<llvm::pdb::IPDBSession> m_session_up;
255  std::unique_ptr<llvm::pdb::PDBSymbolExe> m_global_scope_up;
256 
260 };
261 
262 #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_PDB_SYMBOLFILEPDB_H
lldb_private::SymbolFile::SymbolFile
SymbolFile(lldb::ObjectFileSP objfile_sp)
Definition: SymbolFile.h:69
SymbolFilePDB
Definition: SymbolFilePDB.h:24
lldb_private::SymbolFile
Definition: SymbolFile.h:38
SymbolFilePDB::FindNamespace
lldb_private::CompilerDeclContext FindNamespace(lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx) override
Definition: SymbolFilePDB.cpp:1677
lldb_private::ExecutionContext
Definition: ExecutionContext.h:292
SymbolFilePDB::m_func_base_names
lldb_private::UniqueCStringMap< uint32_t > m_func_base_names
Definition: SymbolFilePDB.h:258
lldb_private::RegularExpression
Definition: RegularExpression.h:18
SymbolFilePDB::FindGlobalVariables
void FindGlobalVariables(lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, lldb_private::VariableList &variables) override
Definition: SymbolFilePDB.cpp:1103
SymbolFilePDB::CacheFunctionNames
void CacheFunctionNames()
Definition: SymbolFilePDB.cpp:1204
SymbolFilePDB::SecContribInfo
Definition: SymbolFilePDB.h:173
SymbolFilePDB::DebuggerInitialize
static void DebuggerInitialize(lldb_private::Debugger &debugger)
Definition: SymbolFilePDB.cpp:120
lldb_private::SourceLocationSpec
Definition: SourceLocationSpec.h:27
SymbolFilePDB::CalculateNumCompileUnits
uint32_t CalculateNumCompileUnits() override
Definition: SymbolFilePDB.cpp:200
SymbolFilePDB::GetPDBSession
llvm::pdb::IPDBSession & GetPDBSession()
Definition: SymbolFilePDB.cpp:1711
SymbolFilePDB::ParseLineTable
bool ParseLineTable(lldb_private::CompileUnit &comp_unit) override
Definition: SymbolFilePDB.cpp:344
SymbolFilePDB::ParseDeclsForContext
void ParseDeclsForContext(lldb_private::CompilerDeclContext decl_ctx) override
Definition: SymbolFilePDB.cpp:704
SymbolFilePDB::Initialize
static void Initialize()
Definition: SymbolFilePDB.cpp:102
SymbolFilePDB::~SymbolFilePDB
~SymbolFilePDB() override
SymbolFilePDB::GetDeclContextContainingUID
lldb_private::CompilerDeclContext GetDeclContextContainingUID(lldb::user_id_t uid) override
Definition: SymbolFilePDB.cpp:676
SymbolFilePDB::m_sec_contribs
SecContribsMap m_sec_contribs
Definition: SymbolFilePDB.h:251
SymbolFilePDB::GetCompilandId
uint32_t GetCompilandId(const llvm::pdb::PDBSymbolData &data)
Definition: SymbolFilePDB.cpp:1991
SymbolFilePDB::classof
static bool classof(const SymbolFile *obj)
Definition: SymbolFilePDB.h:34
lldb::LanguageType
LanguageType
Programming language type.
Definition: lldb-enumerations.h:436
lldb_private::SymbolContextList
Definition: SymbolContext.h:379
SymbolFilePDB::ParseVariables
size_t ParseVariables(const lldb_private::SymbolContext &sc, const llvm::pdb::PDBSymbol &pdb_data, lldb_private::VariableList *variable_list=nullptr)
Definition: SymbolFilePDB.cpp:1034
lldb_private::CompilerDecl
Represents a generic declaration such as a function declaration.
Definition: CompilerDecl.h:28
SymbolFilePDB::GetDeclForUID
lldb_private::CompilerDecl GetDeclForUID(lldb::user_id_t uid) override
Definition: SymbolFilePDB.cpp:616
SymbolFilePDB::FindTypes
void FindTypes(lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, llvm::DenseSet< lldb_private::SymbolFile * > &searched_symbol_files, lldb_private::TypeMap &types) override
lldb_private::Stream
Definition: Stream.h:28
SymbolFilePDB::BuildSupportFileIdToSupportFileIndexMap
void BuildSupportFileIdToSupportFileIndexMap(const llvm::pdb::PDBSymbolCompiland &pdb_compiland, llvm::DenseMap< uint32_t, uint32_t > &index_map) const
Definition: SymbolFilePDB.cpp:1862
UniqueCStringMap.h
lldb_private::SymbolContext
Definition: SymbolContext.h:33
SymbolFilePDB::ParseSupportFiles
bool ParseSupportFiles(lldb_private::CompileUnit &comp_unit, lldb_private::FileSpecList &support_files) override
Definition: SymbolFilePDB.cpp:356
SymbolFilePDB::GetPDBCompilandByUID
std::unique_ptr< llvm::pdb::PDBSymbolCompiland > GetPDBCompilandByUID(uint32_t uid)
Definition: SymbolFilePDB.cpp:246
lldb_private::VariableList
Definition: VariableList.h:18
SymbolFilePDB::m_variables
llvm::DenseMap< uint32_t, lldb::VariableSP > m_variables
Definition: SymbolFilePDB.h:248
SymbolFilePDB::m_func_method_names
lldb_private::UniqueCStringMap< uint32_t > m_func_method_names
Definition: SymbolFilePDB.h:259
lldb_private::CompileUnit
Definition: CompileUnit.h:38
SymbolFilePDB::GetPDBAstParser
PDBASTParser * GetPDBAstParser()
Definition: SymbolFilePDB.cpp:1659
SymbolFilePDB::GetDynamicArrayInfoForUID
llvm::Optional< ArrayInfo > GetDynamicArrayInfoForUID(lldb::user_id_t type_uid, const lldb_private::ExecutionContext *exe_ctx) override
If type_uid points to an array type, return its characteristics.
Definition: SymbolFilePDB.cpp:586
SymbolFilePDB::ParseCompileUnitForUID
lldb::CompUnitSP ParseCompileUnitForUID(uint32_t id, uint32_t index=UINT32_MAX)
Definition: SymbolFilePDB.cpp:1717
SymbolFilePDB::CreateInstance
static lldb_private::SymbolFile * CreateInstance(lldb::ObjectFileSP objfile_sp)
Definition: SymbolFilePDB.cpp:127
lldb_private::Function
Definition: Function.h:413
SymbolFilePDB::GetDeclContextForUID
lldb_private::CompilerDeclContext GetDeclContextForUID(lldb::user_id_t uid) override
Definition: SymbolFilePDB.cpp:646
SymbolFilePDB::m_builtin_types
std::vector< lldb::TypeSP > m_builtin_types
Definition: SymbolFilePDB.h:253
SymbolFilePDB::m_types
llvm::DenseMap< uint32_t, lldb::TypeSP > m_types
Definition: SymbolFilePDB.h:247
SymbolFilePDB::ResolveTypeUID
lldb_private::Type * ResolveTypeUID(lldb::user_id_t type_uid) override
Definition: SymbolFilePDB.cpp:552
SymbolFilePDB::SecContribInfo::Offset
uint32_t Offset
Definition: SymbolFilePDB.h:174
SymbolFilePDB::GetMangledForPDBFunc
lldb_private::Mangled GetMangledForPDBFunc(const llvm::pdb::PDBSymbolFunc &pdb_func)
Definition: SymbolFilePDB.cpp:1906
SymbolFilePDB::ResolveSymbolContext
uint32_t ResolveSymbolContext(const lldb_private::Address &so_addr, lldb::SymbolContextItem resolve_scope, lldb_private::SymbolContext &sc) override
SymbolFilePDB::GetPluginDescriptionStatic
static llvm::StringRef GetPluginDescriptionStatic()
Definition: SymbolFilePDB.cpp:122
SymbolFilePDB::m_func_full_names
lldb_private::UniqueCStringMap< uint32_t > m_func_full_names
Definition: SymbolFilePDB.h:257
SymbolFilePDB::SymbolFilePDB
SymbolFilePDB(lldb::ObjectFileSP objfile_sp)
Definition: SymbolFilePDB.cpp:131
SymbolFilePDB::FindFunctions
void FindFunctions(lldb_private::ConstString name, const lldb_private::CompilerDeclContext &parent_decl_ctx, lldb::FunctionNameType name_type_mask, bool include_inlines, lldb_private::SymbolContextList &sc_list) override
lldb_private::ConstString
Definition: ConstString.h:40
SymbolFilePDB::GetPluginNameStatic
static llvm::StringRef GetPluginNameStatic()
Definition: SymbolFilePDB.h:44
SymbolFilePDB::ParseVariableForPDBData
lldb::VariableSP ParseVariableForPDBData(const lldb_private::SymbolContext &sc, const llvm::pdb::PDBSymbolData &pdb_data)
Definition: SymbolFilePDB.cpp:916
SymbolFilePDB::GetCompileUnitIndex
void GetCompileUnitIndex(const llvm::pdb::PDBSymbolCompiland &pdb_compiland, uint32_t &index)
Definition: SymbolFilePDB.cpp:226
SymbolFilePDB::ParseBlocksRecursive
size_t ParseBlocksRecursive(lldb_private::Function &func) override
Definition: SymbolFilePDB.cpp:437
SymbolFilePDB::CalculateAbilities
uint32_t CalculateAbilities() override
Definition: SymbolFilePDB.cpp:136
SymbolFilePDB::SecContribsMap
std::map< uint32_t, std::vector< SecContribInfo > > SecContribsMap
Definition: SymbolFilePDB.h:178
lldb_private::Debugger
Definition: Debugger.h:70
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:40
SymbolFilePDB::m_comp_units
llvm::DenseMap< uint32_t, lldb::CompUnitSP > m_comp_units
Definition: SymbolFilePDB.h:246
SymbolFilePDB::AddSymbols
void AddSymbols(lldb_private::Symtab &symtab) override
Definition: SymbolFilePDB.cpp:1379
VariableList.h
lldb_private::UniqueCStringMap< uint32_t >
SymbolFilePDB::DeclContextMatchesThisSymbolFile
bool DeclContextMatchesThisSymbolFile(const lldb_private::CompilerDeclContext &decl_ctx)
Definition: SymbolFilePDB.cpp:1967
lldb_private::TypeMap
Definition: TypeMap.h:20
UserID.h
lldb_private::CompilerDeclContext
Represents a generic declaration context in a program.
Definition: CompilerDeclContext.h:30
SymbolFilePDB::GetTypeSystemForLanguage
llvm::Expected< lldb_private::TypeSystem & > GetTypeSystemForLanguage(lldb::LanguageType language) override
Definition: SymbolFilePDB.cpp:1650
lldb_private::SymbolContextScope
Definition: SymbolContextScope.h:64
SymbolFilePDB::m_session_up
std::unique_ptr< llvm::pdb::IPDBSession > m_session_up
Definition: SymbolFilePDB.h:254
SymbolFilePDB::ParseLanguage
lldb::LanguageType ParseLanguage(lldb_private::CompileUnit &comp_unit) override
Definition: SymbolFilePDB.cpp:266
SymbolFilePDB::m_global_scope_up
std::unique_ptr< llvm::pdb::PDBSymbolExe > m_global_scope_up
Definition: SymbolFilePDB.h:255
SymbolFilePDB::FindTypesByRegex
void FindTypesByRegex(const lldb_private::RegularExpression &regex, uint32_t max_matches, lldb_private::TypeMap &types)
Definition: SymbolFilePDB.cpp:1462
lldb_private::Symtab
Definition: Symtab.h:22
uint32_t
SymbolFilePDB::Terminate
static void Terminate()
Definition: SymbolFilePDB.cpp:112
SymbolFilePDB::GetTypesForPDBSymbol
void GetTypesForPDBSymbol(const llvm::pdb::PDBSymbol &pdb_symbol, uint32_t type_mask, TypeCollection &type_collection)
Definition: SymbolFilePDB.cpp:1571
lldb_private::Address
Definition: Address.h:59
SymbolFilePDB::ParseCompileUnitFunctionForPDBFunc
lldb_private::Function * ParseCompileUnitFunctionForPDBFunc(const llvm::pdb::PDBSymbolFunc &pdb_func, lldb_private::CompileUnit &comp_unit)
Definition: SymbolFilePDB.cpp:278
PDBASTParser
Definition: PDBASTParser.h:43
lldb_private::Type
Definition: Type.h:66
SymbolFilePDB::m_public_names
llvm::DenseMap< uint64_t, std::string > m_public_names
Definition: SymbolFilePDB.h:249
UINT32_MAX
#define UINT32_MAX
Definition: lldb-defines.h:31
SymbolFilePDB::CompleteType
bool CompleteType(lldb_private::CompilerType &compiler_type) override
Definition: SymbolFilePDB.cpp:591
SymbolFilePDB::isA
bool isA(const void *ClassID) const override
LLVM RTTI support.
Definition: SymbolFilePDB.h:31
SymbolFilePDB::ParseCompileUnitAtIndex
lldb::CompUnitSP ParseCompileUnitAtIndex(uint32_t index) override
Definition: SymbolFilePDB.cpp:250
lldb_private::CompilerType
Generic representation of a type in a programming language.
Definition: CompilerType.h:33
SymbolFilePDB::ParseCompileUnitLineTable
bool ParseCompileUnitLineTable(lldb_private::CompileUnit &comp_unit, uint32_t match_line)
Definition: SymbolFilePDB.cpp:1758
lldb::user_id_t
uint64_t user_id_t
Definition: lldb-types.h:84
lldb_private::TypeList
Definition: TypeList.h:20
SymbolFilePDB::GetPluginName
llvm::StringRef GetPluginName() override
Definition: SymbolFilePDB.h:164
SymbolFilePDB::ParseVariablesForContext
size_t ParseVariablesForContext(const lldb_private::SymbolContext &sc) override
Definition: SymbolFilePDB.cpp:503
SymbolFilePDB::InitializeObject
void InitializeObject() override
Initialize the SymbolFile object.
Definition: SymbolFilePDB.cpp:190
SymbolFilePDB::ID
static char ID
LLVM RTTI support.
Definition: SymbolFilePDB.h:26
lldb_private::LanguageSet
A SmallBitVector that represents a set of source languages (lldb::LanguageType).
Definition: TypeSystem.h:40
SymbolFilePDB::GetCompileUnitContainsAddress
lldb::CompUnitSP GetCompileUnitContainsAddress(const lldb_private::Address &so_addr)
Definition: SymbolFilePDB.cpp:1881
SymbolFilePDB::SecContribInfo::Size
uint32_t Size
Definition: SymbolFilePDB.h:175
SymbolFilePDB::GetMangledForPDBData
std::string GetMangledForPDBData(const llvm::pdb::PDBSymbolData &pdb_data)
Definition: SymbolFilePDB.cpp:903
SymbolFilePDB::TypeCollection
std::vector< lldb_private::Type * > TypeCollection
Definition: SymbolFilePDB.h:211
SymbolFilePDB::ParseImportedModules
bool ParseImportedModules(const lldb_private::SymbolContext &sc, std::vector< lldb_private::SourceModule > &imported_modules) override
Definition: SymbolFilePDB.cpp:380
SymbolFilePDB::DumpClangAST
void DumpClangAST(lldb_private::Stream &s) override
Definition: SymbolFilePDB.cpp:1446
SymbolFilePDB::GetTypes
void GetTypes(lldb_private::SymbolContextScope *sc_scope, lldb::TypeClass type_mask, lldb_private::TypeList &type_list) override
Definition: SymbolFilePDB.cpp:1621
SymbolFilePDB::ResolveFunction
bool ResolveFunction(const llvm::pdb::PDBSymbolFunc &pdb_func, bool include_inlines, lldb_private::SymbolContextList &sc_list)
Definition: SymbolFilePDB.cpp:1180
SymbolFilePDB::SecContribInfo::CompilandId
uint32_t CompilandId
Definition: SymbolFilePDB.h:176
SymbolFilePDB::ParseTypes
size_t ParseTypes(lldb_private::CompileUnit &comp_unit) override
Definition: SymbolFilePDB.cpp:450
SymbolFilePDB::GetMangledNamesForFunction
void GetMangledNamesForFunction(const std::string &scope_qualified_name, std::vector< lldb_private::ConstString > &mangled_names) override
Definition: SymbolFilePDB.cpp:1375
SymbolFilePDB::ParseDebugMacros
bool ParseDebugMacros(lldb_private::CompileUnit &comp_unit) override
Definition: SymbolFilePDB.cpp:351
SymbolFile.h
SymbolFilePDB::ParseFunctions
size_t ParseFunctions(lldb_private::CompileUnit &comp_unit) override
Definition: SymbolFilePDB.cpp:325
SymbolFilePDB::FindTypesByName
void FindTypesByName(llvm::StringRef name, const lldb_private::CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, lldb_private::TypeMap &types)
Definition: SymbolFilePDB.cpp:1517