Author: Jonas Devlieghere Date: 2025-01-30T10:37:23-08:00 New Revision: 74690327c8fb3b1bc8722b8ae40091b268100468
URL: https://github.com/llvm/llvm-project/commit/74690327c8fb3b1bc8722b8ae40091b268100468 DIFF: https://github.com/llvm/llvm-project/commit/74690327c8fb3b1bc8722b8ae40091b268100468.diff LOG: [lldb] Constify methods in CommandReturnObject (NFC) There's no reason these methods cannot be `const`. Currently this prevents us from passing around a const ref. This patch is in preparation for #125006. Added: Modified: lldb/include/lldb/Interpreter/CommandReturnObject.h lldb/include/lldb/Utility/StreamTee.h lldb/source/Interpreter/CommandReturnObject.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Interpreter/CommandReturnObject.h b/lldb/include/lldb/Interpreter/CommandReturnObject.h index 9fef59337016df3..f96da34889a3245 100644 --- a/lldb/include/lldb/Interpreter/CommandReturnObject.h +++ b/lldb/include/lldb/Interpreter/CommandReturnObject.h @@ -32,9 +32,9 @@ class CommandReturnObject { ~CommandReturnObject() = default; /// Format any inline diagnostics with an indentation of \c indent. - std::string GetInlineDiagnosticString(unsigned indent); + std::string GetInlineDiagnosticString(unsigned indent) const; - llvm::StringRef GetOutputString() { + llvm::StringRef GetOutputString() const { lldb::StreamSP stream_sp(m_out_stream.GetStreamAtIndex(eStreamStringIndex)); if (stream_sp) return std::static_pointer_cast<StreamString>(stream_sp)->GetString(); @@ -46,7 +46,7 @@ class CommandReturnObject { /// If \c with_diagnostics is true, all diagnostics are also /// rendered into the string. Otherwise the expectation is that they /// are fetched with \ref GetInlineDiagnosticString(). - std::string GetErrorString(bool with_diagnostics = true); + std::string GetErrorString(bool with_diagnostics = true) const; StructuredData::ObjectSP GetErrorData(); Stream &GetOutputStream() { @@ -95,11 +95,11 @@ class CommandReturnObject { m_err_stream.SetStreamAtIndex(eImmediateStreamIndex, stream_sp); } - lldb::StreamSP GetImmediateOutputStream() { + lldb::StreamSP GetImmediateOutputStream() const { return m_out_stream.GetStreamAtIndex(eImmediateStreamIndex); } - lldb::StreamSP GetImmediateErrorStream() { + lldb::StreamSP GetImmediateErrorStream() const { return m_err_stream.GetStreamAtIndex(eImmediateStreamIndex); } diff --git a/lldb/include/lldb/Utility/StreamTee.h b/lldb/include/lldb/Utility/StreamTee.h index 5695586171f3587..571548e2e23fe6b 100644 --- a/lldb/include/lldb/Utility/StreamTee.h +++ b/lldb/include/lldb/Utility/StreamTee.h @@ -85,7 +85,7 @@ class StreamTee : public Stream { return result; } - lldb::StreamSP GetStreamAtIndex(uint32_t idx) { + lldb::StreamSP GetStreamAtIndex(uint32_t idx) const { lldb::StreamSP stream_sp; std::lock_guard<std::recursive_mutex> guard(m_streams_mutex); if (idx < m_streams.size()) diff --git a/lldb/source/Interpreter/CommandReturnObject.cpp b/lldb/source/Interpreter/CommandReturnObject.cpp index b99b2bc7b36ce43..0a2948e8e6ca440 100644 --- a/lldb/source/Interpreter/CommandReturnObject.cpp +++ b/lldb/source/Interpreter/CommandReturnObject.cpp @@ -147,7 +147,8 @@ void CommandReturnObject::SetError(llvm::Error error) { } } -std::string CommandReturnObject::GetInlineDiagnosticString(unsigned indent) { +std::string +CommandReturnObject::GetInlineDiagnosticString(unsigned indent) const { StreamString diag_stream(m_colors); RenderDiagnosticDetails(diag_stream, indent, true, m_diagnostics); // Duplex the diagnostics to the secondary stream (but not inlined). @@ -157,7 +158,7 @@ std::string CommandReturnObject::GetInlineDiagnosticString(unsigned indent) { return diag_stream.GetString().str(); } -std::string CommandReturnObject::GetErrorString(bool with_diagnostics) { +std::string CommandReturnObject::GetErrorString(bool with_diagnostics) const { StreamString stream(m_colors); if (with_diagnostics) RenderDiagnosticDetails(stream, std::nullopt, false, m_diagnostics); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits