llvm-project/lldb/source/Symbol
Aleksandr Urakov 709426b33a [PDB] Restore AST from PDB symbols
Summary:
This patch adds an implementation of retrieving of declarations and declaration
contexts based on PDB symbols.

PDB has different type symbols for const-qualified types, and this
implementation ensures that only one declaration was created for both const
and non-const types, but creates different compiler types for them.

The implementation also processes the case when there are two symbols
corresponding to a variable. It's possible e.g. for class static variables,
they has one global symbol and one symbol belonging to a class.

PDB has no info about namespaces, so this implementation parses the full symbol
name and tries to figure out if the symbol belongs to namespace or not,
and then creates nested namespaces if necessary.

Reviewers: asmith, zturner, labath

Reviewed By: asmith

Subscribers: aleksandr.urakov, teemperor, lldb-commits, stella.stamenova

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D51162

llvm-svn: 341782
2018-09-10 08:08:43 +00:00
..
ArmUnwindInfo.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
Block.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
CMakeLists.txt Remove unused include, and corresponding library dependency. 2018-05-24 03:42:38 +00:00
ClangASTContext.cpp [PDB] Restore AST from PDB symbols 2018-09-10 08:08:43 +00:00
ClangASTImporter.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
ClangExternalASTSourceCallbacks.cpp Move Log from Core -> Utility. 2017-03-03 20:56:28 +00:00
ClangExternalASTSourceCommon.cpp [TypeSystem] Guard the global `ASTSourceMap` with a mutex 2017-07-25 17:33:37 +00:00
ClangUtil.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompactUnwindInfo.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
CompileUnit.cpp Use a DenseMap for looking up functions by UID in CompileUnit::FindFunctionByUID 2018-08-11 23:40:27 +00:00
CompilerDecl.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompilerDeclContext.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompilerType.cpp Move RegisterValue,Scalar,State from Core to Utility 2018-08-07 11:07:21 +00:00
DWARFCallFrameInfo.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
DebugMacros.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
Declaration.cpp Always normalize FileSpec paths. 2018-04-27 15:45:58 +00:00
FuncUnwinders.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
Function.cpp Delete a dead Function constructor (NFC) 2018-08-07 23:48:40 +00:00
GoASTContext.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
JavaASTContext.cpp Provide a default implementation of TypeSystem::GetNumTemplateArguments 2018-08-30 00:37:23 +00:00
LineEntry.cpp Support setting a breakpoint by FileSpec+Line+Column in the SBAPI. 2018-08-30 15:11:00 +00:00
LineTable.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
OCamlASTContext.cpp Isolate Target-specific functionality of DataExtractor. 2017-03-03 20:57:05 +00:00
ObjectFile.cpp Change AddressClass type from 'enum' to 'enum class'. 2018-06-26 13:06:54 +00:00
Symbol.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
SymbolContext.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
SymbolFile.cpp Remove append parameter to FindGlobalVariables 2018-05-31 09:46:26 +00:00
SymbolVendor.cpp [DWARF] Add (empty) DebugNamesDWARFIndex class and a setting to control its use 2018-06-06 11:35:23 +00:00
Symtab.cpp [Symtab][NFC] Added llvm_unreachable to supress compiler warning 2018-09-03 12:57:54 +00:00
Type.cpp Move RegisterValue,Scalar,State from Core to Utility 2018-08-07 11:07:21 +00:00
TypeList.cpp Fix Module::FindTypes to return the correct number of matches. 2018-06-01 20:14:21 +00:00
TypeMap.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
TypeSystem.cpp Provide a default implementation of TypeSystem::GetNumTemplateArguments 2018-08-30 00:37:23 +00:00
UnwindPlan.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
UnwindTable.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
Variable.cpp Add missing boundary checks to variable completion. 2018-07-27 23:37:08 +00:00
VariableList.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
VerifyDecl.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00