diff options
-rw-r--r-- | lldb/include/lldb/Breakpoint/BreakpointOptions.h | 3 | ||||
-rw-r--r-- | lldb/include/lldb/Breakpoint/WatchpointOptions.h | 3 | ||||
-rw-r--r-- | lldb/include/lldb/Utility/Baton.h | 13 | ||||
-rw-r--r-- | lldb/source/Breakpoint/BreakpointOptions.cpp | 37 | ||||
-rw-r--r-- | lldb/source/Breakpoint/WatchpointOptions.cpp | 28 | ||||
-rw-r--r-- | lldb/source/Commands/CommandObjectBreakpointCommand.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Commands/CommandObjectWatchpointCommand.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Utility/Baton.cpp | 5 |
8 files changed, 56 insertions, 49 deletions
diff --git a/lldb/include/lldb/Breakpoint/BreakpointOptions.h b/lldb/include/lldb/Breakpoint/BreakpointOptions.h index 9e02aff..2c52170 100644 --- a/lldb/include/lldb/Breakpoint/BreakpointOptions.h +++ b/lldb/include/lldb/Breakpoint/BreakpointOptions.h @@ -88,7 +88,8 @@ public: explicit CommandBaton(std::unique_ptr<CommandData> Data) : TypedBaton(std::move(Data)) {} - void GetDescription(Stream *s, lldb::DescriptionLevel level) const override; + void GetDescription(llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const override; }; typedef std::shared_ptr<CommandBaton> CommandBatonSP; diff --git a/lldb/include/lldb/Breakpoint/WatchpointOptions.h b/lldb/include/lldb/Breakpoint/WatchpointOptions.h index b395dde..0dc34d4 100644 --- a/lldb/include/lldb/Breakpoint/WatchpointOptions.h +++ b/lldb/include/lldb/Breakpoint/WatchpointOptions.h @@ -180,7 +180,8 @@ public: CommandBaton(std::unique_ptr<CommandData> Data) : TypedBaton(std::move(Data)) {} - void GetDescription(Stream *s, lldb::DescriptionLevel level) const override; + void GetDescription(llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const override; }; protected: diff --git a/lldb/include/lldb/Utility/Baton.h b/lldb/include/lldb/Utility/Baton.h index 4050f2a..c428674 100644 --- a/lldb/include/lldb/Utility/Baton.h +++ b/lldb/include/lldb/Utility/Baton.h @@ -12,6 +12,8 @@ #include "lldb/lldb-enumerations.h" #include "lldb/lldb-public.h" +#include "llvm/Support/raw_ostream.h" + #include <memory> namespace lldb_private { @@ -37,8 +39,9 @@ public: virtual void *data() = 0; - virtual void GetDescription(Stream *s, - lldb::DescriptionLevel level) const = 0; + virtual void GetDescription(llvm::raw_ostream &s, + lldb::DescriptionLevel level, + unsigned indentation) const = 0; }; class UntypedBaton : public Baton { @@ -50,7 +53,8 @@ public: } void *data() override { return m_data; } - void GetDescription(Stream *s, lldb::DescriptionLevel level) const override; + void GetDescription(llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const override; void *m_data; // Leave baton public for easy access }; @@ -63,7 +67,8 @@ public: const T *getItem() const { return Item.get(); } void *data() override { return Item.get(); } - void GetDescription(Stream *s, lldb::DescriptionLevel level) const override {} + void GetDescription(llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const override {} protected: std::unique_ptr<T> Item; diff --git a/lldb/source/Breakpoint/BreakpointOptions.cpp b/lldb/source/Breakpoint/BreakpointOptions.cpp index 0d4c617..8fd16f4 100644 --- a/lldb/source/Breakpoint/BreakpointOptions.cpp +++ b/lldb/source/Breakpoint/BreakpointOptions.cpp @@ -566,7 +566,8 @@ void BreakpointOptions::GetDescription(Stream *s, if (m_callback_baton_sp.get()) { if (level != eDescriptionLevelBrief) { s->EOL(); - m_callback_baton_sp->GetDescription(s, level); + m_callback_baton_sp->GetDescription(s->AsRawOstream(), level, + s->GetIndentLevel()); } } if (!m_condition_text.empty()) { @@ -578,35 +579,33 @@ void BreakpointOptions::GetDescription(Stream *s, } void BreakpointOptions::CommandBaton::GetDescription( - Stream *s, lldb::DescriptionLevel level) const { + llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const { const CommandData *data = getItem(); if (level == eDescriptionLevelBrief) { - s->Printf(", commands = %s", - (data && data->user_source.GetSize() > 0) ? "yes" : "no"); + s << ", commands = " + << ((data && data->user_source.GetSize() > 0) ? "yes" : "no"); return; } - s->IndentMore(); - s->Indent("Breakpoint commands"); + indentation += 2; + s.indent(indentation); + s << "Breakpoint commands"; if (data->interpreter != eScriptLanguageNone) - s->Printf(" (%s):\n", - ScriptInterpreter::LanguageToString(data->interpreter).c_str()); + s << llvm::formatv(" ({0}):\n", + ScriptInterpreter::LanguageToString(data->interpreter)); else - s->PutCString(":\n"); + s << ":\n"; - s->IndentMore(); + indentation += 2; if (data && data->user_source.GetSize() > 0) { - const size_t num_strings = data->user_source.GetSize(); - for (size_t i = 0; i < num_strings; ++i) { - s->Indent(data->user_source.GetStringAtIndex(i)); - s->EOL(); + for (llvm::StringRef str : data->user_source) { + s.indent(indentation); + s << str << "\n"; } - } else { - s->PutCString("No commands.\n"); - } - s->IndentLess(); - s->IndentLess(); + } else + s << "No commands.\n"; } void BreakpointOptions::SetCommandDataCallback( diff --git a/lldb/source/Breakpoint/WatchpointOptions.cpp b/lldb/source/Breakpoint/WatchpointOptions.cpp index cd5ef93..026bf2f7 100644 --- a/lldb/source/Breakpoint/WatchpointOptions.cpp +++ b/lldb/source/Breakpoint/WatchpointOptions.cpp @@ -121,7 +121,8 @@ void WatchpointOptions::GetCallbackDescription( Stream *s, lldb::DescriptionLevel level) const { if (m_callback_baton_sp.get()) { s->EOL(); - m_callback_baton_sp->GetDescription(s, level); + m_callback_baton_sp->GetDescription(s->AsRawOstream(), level, + s->GetIndentLevel()); } } @@ -156,27 +157,26 @@ void WatchpointOptions::GetDescription(Stream *s, } void WatchpointOptions::CommandBaton::GetDescription( - Stream *s, lldb::DescriptionLevel level) const { + llvm::raw_ostream &s, lldb::DescriptionLevel level, + unsigned indentation) const { const CommandData *data = getItem(); if (level == eDescriptionLevelBrief) { - s->Printf(", commands = %s", - (data && data->user_source.GetSize() > 0) ? "yes" : "no"); + s << ", commands = %s" + << ((data && data->user_source.GetSize() > 0) ? "yes" : "no"); return; } - s->IndentMore(); - s->Indent("watchpoint commands:\n"); + indentation += 2; + s.indent(indentation); + s << "watchpoint commands:\n"; - s->IndentMore(); + indentation += 2; if (data && data->user_source.GetSize() > 0) { for (const std::string &line : data->user_source) { - s->Indent(line); - s->EOL(); + s.indent(indentation); + s << line << "\n"; } - } else { - s->PutCString("No commands.\n"); - } - s->IndentLess(); - s->IndentLess(); + } else + s << "No commands.\n"; } diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp index 1a44321..a82e70a 100644 --- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp @@ -674,10 +674,10 @@ protected: if (baton) { result.GetOutputStream().Printf("Breakpoint %s:\n", id_str.GetData()); - result.GetOutputStream().IndentMore(); - baton->GetDescription(&result.GetOutputStream(), - eDescriptionLevelFull); - result.GetOutputStream().IndentLess(); + baton->GetDescription(result.GetOutputStream().AsRawOstream(), + eDescriptionLevelFull, + result.GetOutputStream().GetIndentLevel() + + 2); } else { result.AppendMessageWithFormat( "Breakpoint %s does not have an associated command.\n", diff --git a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp index 5683381..92a91cf 100644 --- a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp +++ b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp @@ -611,10 +611,10 @@ protected: const Baton *baton = wp_options->GetBaton(); if (baton) { result.GetOutputStream().Printf("Watchpoint %u:\n", cur_wp_id); - result.GetOutputStream().IndentMore(); - baton->GetDescription(&result.GetOutputStream(), - eDescriptionLevelFull); - result.GetOutputStream().IndentLess(); + baton->GetDescription(result.GetOutputStream().AsRawOstream(), + eDescriptionLevelFull, + result.GetOutputStream().GetIndentLevel() + + 2); } else { result.AppendMessageWithFormat( "Watchpoint %u does not have an associated command.\n", diff --git a/lldb/source/Utility/Baton.cpp b/lldb/source/Utility/Baton.cpp index 84e295e..7bba10d 100644 --- a/lldb/source/Utility/Baton.cpp +++ b/lldb/source/Utility/Baton.cpp @@ -8,5 +8,6 @@ #include "lldb/Utility/Baton.h" -void lldb_private::UntypedBaton::GetDescription( - Stream *s, lldb::DescriptionLevel level) const {} +void lldb_private::UntypedBaton::GetDescription(llvm::raw_ostream &s, + lldb::DescriptionLevel level, + unsigned indentation) const {} |