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. llvm-svn: 362069
This commit is contained in:
parent
5857bf5d1e
commit
833dba01d9
|
@ -232,7 +232,7 @@ public:
|
|||
///
|
||||
/// \return
|
||||
/// A support file list object.
|
||||
FileSpecList &GetSupportFiles();
|
||||
const FileSpecList &GetSupportFiles();
|
||||
|
||||
/// Get the compile unit's imported module list.
|
||||
///
|
||||
|
|
|
@ -118,10 +118,9 @@ uint32_t SBCompileUnit::FindLineEntryIndex(uint32_t start_idx, uint32_t line,
|
|||
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::GetSupportFileAtIndex(uint32_t idx) const {
|
|||
|
||||
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::FindSupportFileIndex(uint32_t start_idx,
|
|||
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;
|
||||
|
|
|
@ -248,7 +248,7 @@ uint32_t CompileUnit::FindLineEntry(uint32_t start_idx, uint32_t line,
|
|||
// 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> &CompileUnit::GetImportedModules() {
|
|||
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);
|
||||
|
|
Loading…
Reference in New Issue