[Lldb-commits] [lldb] r362069 - Make CompileUnit::GetSupportFiles return a const list
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Thu May 30 01:21:25 PDT 2019
Author: labath
Date: Thu May 30 01:21:25 2019
New Revision: 362069
URL: http://llvm.org/viewvc/llvm-project?rev=362069&view=rev
Log:
Make CompileUnit::GetSupportFiles return a const list
There's no reason for anyone to modify a list from outside of a symbol
file (as that would break a lot of invariants that symbol files depend
on).
Make the function return a const FileSpecList and fix up a couple of
places that were needlessly binding non-const references to the result
of this function.
Modified:
lldb/trunk/include/lldb/Symbol/CompileUnit.h
lldb/trunk/source/API/SBCompileUnit.cpp
lldb/trunk/source/Symbol/CompileUnit.cpp
Modified: lldb/trunk/include/lldb/Symbol/CompileUnit.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/CompileUnit.h?rev=362069&r1=362068&r2=362069&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Symbol/CompileUnit.h (original)
+++ lldb/trunk/include/lldb/Symbol/CompileUnit.h Thu May 30 01:21:25 2019
@@ -232,7 +232,7 @@ public:
///
/// \return
/// A support file list object.
- FileSpecList &GetSupportFiles();
+ const FileSpecList &GetSupportFiles();
/// Get the compile unit's imported module list.
///
Modified: lldb/trunk/source/API/SBCompileUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBCompileUnit.cpp?rev=362069&r1=362068&r2=362069&view=diff
==============================================================================
--- lldb/trunk/source/API/SBCompileUnit.cpp (original)
+++ lldb/trunk/source/API/SBCompileUnit.cpp Thu May 30 01:21:25 2019
@@ -118,10 +118,9 @@ uint32_t SBCompileUnit::FindLineEntryInd
uint32_t SBCompileUnit::GetNumSupportFiles() const {
LLDB_RECORD_METHOD_CONST_NO_ARGS(uint32_t, SBCompileUnit, GetNumSupportFiles);
- if (m_opaque_ptr) {
- FileSpecList &support_files = m_opaque_ptr->GetSupportFiles();
- return support_files.GetSize();
- }
+ if (m_opaque_ptr)
+ return m_opaque_ptr->GetSupportFiles().GetSize();
+
return 0;
}
@@ -155,9 +154,8 @@ SBFileSpec SBCompileUnit::GetSupportFile
SBFileSpec sb_file_spec;
if (m_opaque_ptr) {
- FileSpecList &support_files = m_opaque_ptr->GetSupportFiles();
- FileSpec file_spec = support_files.GetFileSpecAtIndex(idx);
- sb_file_spec.SetFileSpec(file_spec);
+ FileSpec spec = m_opaque_ptr->GetSupportFiles().GetFileSpecAtIndex(idx);
+ sb_file_spec.SetFileSpec(spec);
}
@@ -172,7 +170,7 @@ uint32_t SBCompileUnit::FindSupportFileI
sb_file, full);
if (m_opaque_ptr) {
- FileSpecList &support_files = m_opaque_ptr->GetSupportFiles();
+ const FileSpecList &support_files = m_opaque_ptr->GetSupportFiles();
return support_files.FindFileIndex(start_idx, sb_file.ref(), full);
}
return 0;
Modified: lldb/trunk/source/Symbol/CompileUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/CompileUnit.cpp?rev=362069&r1=362068&r2=362069&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/CompileUnit.cpp (original)
+++ lldb/trunk/source/Symbol/CompileUnit.cpp Thu May 30 01:21:25 2019
@@ -248,7 +248,7 @@ uint32_t CompileUnit::FindLineEntry(uint
// All the line table entries actually point to the version of the Compile
// Unit that is in the support files (the one at 0 was artificially added.)
// So prefer the one further on in the support files if it exists...
- FileSpecList &support_files = GetSupportFiles();
+ const FileSpecList &support_files = GetSupportFiles();
const bool full = true;
file_idx = support_files.FindFileIndex(
1, support_files.GetFileSpecAtIndex(0), full);
@@ -397,7 +397,7 @@ const std::vector<SourceModule> &Compile
return m_imported_modules;
}
-FileSpecList &CompileUnit::GetSupportFiles() {
+const FileSpecList &CompileUnit::GetSupportFiles() {
if (m_support_files.GetSize() == 0) {
if (m_flags.IsClear(flagsParsedSupportFiles)) {
m_flags.Set(flagsParsedSupportFiles);
More information about the lldb-commits
mailing list