Remove byte counting from SourceManager [NFC]
Summary:
Similar to what we did in D50681, we now stop manually byte counting here
in the SourceManager.
Reviewers: #lldb, JDevlieghere
Reviewed By: #lldb, JDevlieghere
Subscribers: JDevlieghere, abidh, lldb-commits
Differential Revision: https://reviews.llvm.org/D50809
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@342121 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Core/SourceManager.cpp b/source/Core/SourceManager.cpp
index 413505d..5522852 100644
--- a/source/Core/SourceManager.cpp
+++ b/source/Core/SourceManager.cpp
@@ -158,7 +158,9 @@
const SymbolContextList *bp_locs) {
if (count == 0)
return 0;
- size_t return_value = 0;
+
+ Stream::ByteDelta delta(*s);
+
if (start_line == 0) {
if (m_last_line != 0 && m_last_line != UINT32_MAX)
start_line = m_last_line + m_last_count;
@@ -193,9 +195,8 @@
::snprintf(prefix, sizeof(prefix), " ");
}
- return_value +=
- s->Printf("%s%2.2s %-4u\t", prefix,
- line == curr_line ? current_line_cstr : "", line);
+ s->Printf("%s%2.2s %-4u\t", prefix,
+ line == curr_line ? current_line_cstr : "", line);
// So far we treated column 0 as a special 'no column value', but
// DisplaySourceLines starts counting columns from 0 (and no column is
@@ -211,21 +212,20 @@
// Display caret cursor.
std::string src_line;
m_last_file_sp->GetLine(line, src_line);
- return_value += s->Printf(" \t");
+ s->Printf(" \t");
// Insert a space for every non-tab character in the source line.
for (size_t i = 0; i + 1 < column && i < src_line.length(); ++i)
- return_value += s->PutChar(src_line[i] == '\t' ? '\t' : ' ');
+ s->PutChar(src_line[i] == '\t' ? '\t' : ' ');
// Now add the caret.
- return_value += s->Printf("^\n");
+ s->Printf("^\n");
}
if (this_line_size == 0) {
m_last_line = UINT32_MAX;
break;
- } else
- return_value += this_line_size;
+ }
}
}
- return return_value;
+ return *delta;
}
size_t SourceManager::DisplaySourceLinesWithLineNumbers(