llvm-project/lldb/source/Plugins/SymbolFile
Zachary Turner ac0d41c760 Change SymbolFile::ParseTypes to ParseTypesForCompileUnit.
The function SymbolFile::ParseTypes previously accepted a SymbolContext.
This makes it extremely difficult to implement faithfully, because you
have to account for all possible combinations of members being set in
the SymbolContext. On the other hand, no clients of this function
actually care about implementing this function to this strict of a
standard. AFAICT, there is actually only 1 client in the entire
codebase, and it is the function ParseAllDebugSymbols, which is itself
only called for testing purposes when dumping information. At this
call-site, the only field it sets is the CompileUnit, meaning that an
implementer of a SymbolFile need not worry about any examining or
handling any other fields which might be set.

By restricting this API to accept exactly a CompileUnit& and nothing
more, we can simplify the life of new SymbolFile plugin implementers by
making it clear exactly what the necessary and sufficient set of
functionality they need to implement is, while at the same time removing
some dead code that tried to handle other types of SymbolContext fields
that were never going to be set anyway.

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

llvm-svn: 350889
2019-01-10 20:57:50 +00:00
..
DWARF Change SymbolFile::ParseTypes to ParseTypesForCompileUnit. 2019-01-10 20:57:50 +00:00
NativePDB Change SymbolFile::ParseTypes to ParseTypesForCompileUnit. 2019-01-10 20:57:50 +00:00
PDB Change SymbolFile::ParseTypes to ParseTypesForCompileUnit. 2019-01-10 20:57:50 +00:00
Symtab Change SymbolFile::ParseTypes to ParseTypesForCompileUnit. 2019-01-10 20:57:50 +00:00
CMakeLists.txt Resubmit "Add SymbolFileNativePDB plugin." 2018-10-12 19:47:13 +00:00