[SymbolFile] Make ParseCompileUnitXXX accept a CompileUnit&.
Previously all of these functions accepted a SymbolContext&.
While a CompileUnit is one member of a SymbolContext, there
are also many others, and by passing such a monolithic parameter
in this way it makes the requirements and assumptions of the
API unclear for both callers as well as implementors.
All these methods need is a CompileUnit. By limiting the
parameter type in this way, we simplify the code as well as
make it self-documenting for both implementers and users.
Differential Revision: https://reviews.llvm.org/D56564
llvm-svn: 350943
diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
index f405d84..81d4bc1 100644
--- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
+++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
@@ -131,15 +131,13 @@
return cu_sp;
}
-lldb::LanguageType
-SymbolFileSymtab::ParseCompileUnitLanguage(const SymbolContext &sc) {
+lldb::LanguageType SymbolFileSymtab::ParseLanguage(CompileUnit &comp_unit) {
return eLanguageTypeUnknown;
}
-size_t SymbolFileSymtab::ParseCompileUnitFunctions(const SymbolContext &sc) {
+size_t SymbolFileSymtab::ParseFunctions(CompileUnit &comp_unit) {
size_t num_added = 0;
// We must at least have a valid compile unit
- assert(sc.comp_unit != NULL);
const Symtab *symtab = m_obj_file->GetSymtab();
const Symbol *curr_symbol = NULL;
const Symbol *next_symbol = NULL;
@@ -185,7 +183,7 @@
}
FunctionSP func_sp(
- new Function(sc.comp_unit,
+ new Function(&comp_unit,
symbol_idx, // UserID is the DIE offset
LLDB_INVALID_UID, // We don't have any type info
// for this function
@@ -194,7 +192,7 @@
func_range)); // first address range
if (func_sp.get() != NULL) {
- sc.comp_unit->AddFunction(func_sp);
+ comp_unit.AddFunction(func_sp);
++num_added;
}
}
@@ -207,16 +205,16 @@
return num_added;
}
-bool SymbolFileSymtab::ParseCompileUnitLineTable(const SymbolContext &sc) {
+size_t SymbolFileSymtab::ParseTypes(CompileUnit &comp_unit) { return 0; }
+
+bool SymbolFileSymtab::ParseLineTable(CompileUnit &comp_unit) { return false; }
+
+bool SymbolFileSymtab::ParseDebugMacros(CompileUnit &comp_unit) {
return false;
}
-bool SymbolFileSymtab::ParseCompileUnitDebugMacros(const SymbolContext &sc) {
- return false;
-}
-
-bool SymbolFileSymtab::ParseCompileUnitSupportFiles(
- const SymbolContext &sc, FileSpecList &support_files) {
+bool SymbolFileSymtab::ParseSupportFiles(CompileUnit &comp_unit,
+ FileSpecList &support_files) {
return false;
}
@@ -229,10 +227,6 @@
return 0;
}
-size_t SymbolFileSymtab::ParseTypesForCompileUnit(CompileUnit &comp_unit) {
- return 0;
-}
-
size_t SymbolFileSymtab::ParseVariablesForContext(const SymbolContext &sc) {
return 0;
}