diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2021-07-29 20:15:26 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2021-07-29 20:15:26 +0000 |
| commit | 344a3780b2e33f6ca763666c380202b18aab72a3 (patch) | |
| tree | f0b203ee6eb71d7fdd792373e3c81eb18d6934dd /lldb/source/Core/AddressResolverFileLine.cpp | |
| parent | b60736ec1405bb0a8dd40989f67ef4c93da068ab (diff) | |
vendor/llvm-project/llvmorg-13-init-16847-g88e66fa60ae5vendor/llvm-project/llvmorg-12.0.1-rc2-0-ge7dac564cd0evendor/llvm-project/llvmorg-12.0.1-0-gfed41342a82f
Diffstat (limited to 'lldb/source/Core/AddressResolverFileLine.cpp')
| -rw-r--r-- | lldb/source/Core/AddressResolverFileLine.cpp | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/lldb/source/Core/AddressResolverFileLine.cpp b/lldb/source/Core/AddressResolverFileLine.cpp index b0d8dcdde2de..fb61a6100b0e 100644 --- a/lldb/source/Core/AddressResolverFileLine.cpp +++ b/lldb/source/Core/AddressResolverFileLine.cpp @@ -21,20 +21,18 @@ #include "lldb/lldb-enumerations.h" #include "lldb/lldb-types.h" -#include <inttypes.h> +#include <cinttypes> #include <vector> using namespace lldb; using namespace lldb_private; // AddressResolverFileLine: -AddressResolverFileLine::AddressResolverFileLine(const FileSpec &file_spec, - uint32_t line_no, - bool check_inlines) - : AddressResolver(), m_file_spec(file_spec), m_line_number(line_no), - m_inlines(check_inlines) {} +AddressResolverFileLine::AddressResolverFileLine( + SourceLocationSpec location_spec) + : AddressResolver(), m_src_location_spec(location_spec) {} -AddressResolverFileLine::~AddressResolverFileLine() {} +AddressResolverFileLine::~AddressResolverFileLine() = default; Searcher::CallbackReturn AddressResolverFileLine::SearchCallback(SearchFilter &filter, @@ -44,8 +42,9 @@ AddressResolverFileLine::SearchCallback(SearchFilter &filter, Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_BREAKPOINTS)); - cu->ResolveSymbolContext(m_file_spec, m_line_number, m_inlines, false, - eSymbolContextEverything, sc_list); + // TODO: Handle SourceLocationSpec column information + cu->ResolveSymbolContext(m_src_location_spec, eSymbolContextEverything, + sc_list); uint32_t sc_list_size = sc_list.GetSize(); for (uint32_t i = 0; i < sc_list_size; i++) { SymbolContext sc; @@ -55,18 +54,14 @@ AddressResolverFileLine::SearchCallback(SearchFilter &filter, if (line_start.IsValid()) { AddressRange new_range(line_start, byte_size); m_address_ranges.push_back(new_range); - if (log) { - StreamString s; - // new_bp_loc->GetDescription (&s, lldb::eDescriptionLevelVerbose); - // LLDB_LOGF(log, "Added address: %s\n", s.GetData()); - } } else { LLDB_LOGF(log, "error: Unable to resolve address at file address 0x%" PRIx64 " for %s:%d\n", line_start.GetFileAddress(), - m_file_spec.GetFilename().AsCString("<Unknown>"), - m_line_number); + m_src_location_spec.GetFileSpec().GetFilename().AsCString( + "<Unknown>"), + m_src_location_spec.GetLine().getValueOr(0)); } } } @@ -78,6 +73,8 @@ lldb::SearchDepth AddressResolverFileLine::GetDepth() { } void AddressResolverFileLine::GetDescription(Stream *s) { - s->Printf("File and line address - file: \"%s\" line: %u", - m_file_spec.GetFilename().AsCString("<Unknown>"), m_line_number); + s->Printf( + "File and line address - file: \"%s\" line: %u", + m_src_location_spec.GetFileSpec().GetFilename().AsCString("<Unknown>"), + m_src_location_spec.GetLine().getValueOr(0)); } |
