[Lldb-commits] [lldb] [lldb] Store expression evaluator diagnostics in an llvm::Error (NFC) (PR #106442)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Sep 25 02:50:24 PDT 2024
================
@@ -224,6 +224,14 @@ const char *Status::AsCString(const char *default_error_str) const {
if (!m_string.empty() && m_string[m_string.size() - 1] == '\n')
m_string.pop_back();
+ // FIXME: Workaround for ErrorList[ExpressionError, ...].
+ if (m_error.isA<llvm::ErrorList>()) {
+ while (!m_string.empty() && m_string[0] == '\n')
+ m_string = std::string(m_string.data() + 1, m_string.size() - 1);
+ if (!m_string.empty() && m_string[m_string.size() - 1] != '\n')
+ m_string += '\n';
+ }
----------------
labath wrote:
Also, stepping back a bit, I'm wondering if using an ErrorList is the best way to represent these errors. The alternative I'm considering is having a single ExpressionError object which contains a vector of "diagnostics" as a regular member. If nothing else, that would give you more control over how these get serialized into a string (but maybe it would also be easier to print them out using the fancy ascii art?)
https://github.com/llvm/llvm-project/pull/106442
More information about the lldb-commits
mailing list