diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:48:25 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-04-16 16:48:25 +0000 |
| commit | f678e45dc4469314acdd381171b56060b4e61272 (patch) | |
| tree | 981686fed7982ab8e5f0f696e0b0f91f89324256 /contrib/llvm/tools/lldb/source/Core/SourceManager.cpp | |
| parent | 46b69c69334114d2a2b5c70f29d5e5fc2aa2d084 (diff) | |
| parent | 74a628f776edb588bff8f8f5cc16eac947c9d631 (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Core/SourceManager.cpp')
| -rw-r--r-- | contrib/llvm/tools/lldb/source/Core/SourceManager.cpp | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp b/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp index 603fe5711498..b284ff1dbaaa 100644 --- a/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp +++ b/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp @@ -9,21 +9,40 @@ #include "lldb/Core/SourceManager.h" -// C Includes -// C++ Includes -// Other libraries and framework includes -// Project includes -#include "lldb/Core/DataBuffer.h" +#include "lldb/Core/Address.h" // for Address +#include "lldb/Core/AddressRange.h" // for AddressRange #include "lldb/Core/Debugger.h" +#include "lldb/Core/FormatEntity.h" // for FormatEntity #include "lldb/Core/Module.h" -#include "lldb/Core/RegularExpression.h" -#include "lldb/Core/Stream.h" +#include "lldb/Core/ModuleList.h" // for ModuleList #include "lldb/Host/FileSystem.h" #include "lldb/Symbol/CompileUnit.h" #include "lldb/Symbol/Function.h" +#include "lldb/Symbol/LineEntry.h" // for LineEntry #include "lldb/Symbol/SymbolContext.h" +#include "lldb/Target/PathMappingList.h" // for PathMappingList #include "lldb/Target/Target.h" -#include "lldb/Utility/AnsiTerminal.h" +#include "lldb/Utility/ConstString.h" // for ConstString +#include "lldb/Utility/DataBuffer.h" +#include "lldb/Utility/DataBufferLLVM.h" +#include "lldb/Utility/RegularExpression.h" +#include "lldb/Utility/Stream.h" +#include "lldb/lldb-enumerations.h" // for StopShowColumn::eStopSho... + +#include "llvm/ADT/Twine.h" // for Twine + +#include <memory> +#include <utility> // for pair + +#include <assert.h> // for assert +#include <stdio.h> // for size_t, NULL, snprintf + +namespace lldb_private { +class ExecutionContext; +} +namespace lldb_private { +class ValueObject; +} using namespace lldb; using namespace lldb_private; @@ -74,9 +93,9 @@ SourceManager::FileSP SourceManager::GetFile(const FileSpec &file_spec) { // If file_sp is no good or it points to a non-existent file, reset it. if (!file_sp || !file_sp->GetFileSpec().Exists()) { if (target_sp) - file_sp.reset(new File(file_spec, target_sp.get())); + file_sp = std::make_shared<File>(file_spec, target_sp.get()); else - file_sp.reset(new File(file_spec, debugger_sp)); + file_sp = std::make_shared<File>(file_spec, debugger_sp); if (debugger_sp) debugger_sp->GetSourceFileCache().AddSourceFile(file_sp); @@ -404,7 +423,7 @@ void SourceManager::File::CommonInitializer(const FileSpec &file_spec, } if (m_mod_time != llvm::sys::TimePoint<>()) - m_data_sp = m_file_spec.ReadFileContents(); + m_data_sp = DataBufferLLVM::CreateFromPath(m_file_spec.GetPath()); } uint32_t SourceManager::File::GetLineOffset(uint32_t line) { @@ -482,7 +501,7 @@ void SourceManager::File::UpdateIfNeeded() { if (curr_mod_time != llvm::sys::TimePoint<>() && m_mod_time != curr_mod_time) { m_mod_time = curr_mod_time; - m_data_sp = m_file_spec.ReadFileContents(); + m_data_sp = DataBufferLLVM::CreateFromPath(m_file_spec.GetPath()); m_offsets.clear(); } } |
