diff options
author | Pete Lawrence <plawrence@apple.com> | 2023-10-30 10:21:00 -1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-30 13:21:00 -0700 |
commit | 92d8a28cc665d73d9d679b8c014dd04f95d1df18 (patch) | |
tree | 19b3a218ad57e05a911da01c0f4f80ca3c0a4bd4 /lldb/source/Commands/CommandObjectWatchpoint.cpp | |
parent | 2446439f51cf0d2dfb11c823436a930de7a4b8a2 (diff) | |
download | llvm-92d8a28cc665d73d9d679b8c014dd04f95d1df18.zip llvm-92d8a28cc665d73d9d679b8c014dd04f95d1df18.tar.gz llvm-92d8a28cc665d73d9d679b8c014dd04f95d1df18.tar.bz2 |
[lldb] Part 2 of 2 - Refactor `CommandObject::DoExecute(...)` return `void` (not `bool`) (#69991)
[lldb] Part 2 of 2 - Refactor `CommandObject::DoExecute(...)` to return
`void` instead of ~~`bool`~~
Justifications:
- The code doesn't ultimately apply the `true`/`false` return values.
- The methods already pass around a `CommandReturnObject`, typically
with a `result` parameter.
- Each command return object already contains:
- A more precise status
- The error code(s) that apply to that status
Part 1 refactors the `CommandObject::Execute(...)` method.
- See
[https://github.com/llvm/llvm-project/pull/69989](https://github.com/llvm/llvm-project/pull/69989)
rdar://117378957
Diffstat (limited to 'lldb/source/Commands/CommandObjectWatchpoint.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectWatchpoint.cpp | 84 |
1 files changed, 34 insertions, 50 deletions
diff --git a/lldb/source/Commands/CommandObjectWatchpoint.cpp b/lldb/source/Commands/CommandObjectWatchpoint.cpp index dc5be0d..cd1d226 100644 --- a/lldb/source/Commands/CommandObjectWatchpoint.cpp +++ b/lldb/source/Commands/CommandObjectWatchpoint.cpp @@ -207,7 +207,7 @@ public: }; protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (target->GetProcessSP() && target->GetProcessSP()->IsAlive()) { @@ -230,7 +230,7 @@ protected: if (num_watchpoints == 0) { result.AppendMessage("No watchpoints currently set."); result.SetStatus(eReturnStatusSuccessFinishNoResult); - return true; + return; } Stream &output_stream = result.GetOutputStream(); @@ -249,7 +249,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs( target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } const size_t size = wp_ids.size(); @@ -260,8 +260,6 @@ protected: result.SetStatus(eReturnStatusSuccessFinishNoResult); } } - - return result.Succeeded(); } private: @@ -297,10 +295,10 @@ public: } protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (!CheckTargetForWatchpointOperations(target, result)) - return false; + return; std::unique_lock<std::recursive_mutex> lock; target->GetWatchpointList().GetListMutex(lock); @@ -311,7 +309,7 @@ protected: if (num_watchpoints == 0) { result.AppendError("No watchpoints exist to be enabled."); - return false; + return; } if (command.GetArgumentCount() == 0) { @@ -327,7 +325,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs( target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } int count = 0; @@ -338,8 +336,6 @@ protected: result.AppendMessageWithFormat("%d watchpoints enabled.\n", count); result.SetStatus(eReturnStatusSuccessFinishNoResult); } - - return result.Succeeded(); } }; @@ -373,10 +369,10 @@ public: } protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (!CheckTargetForWatchpointOperations(target, result)) - return false; + return; std::unique_lock<std::recursive_mutex> lock; target->GetWatchpointList().GetListMutex(lock); @@ -386,7 +382,7 @@ protected: if (num_watchpoints == 0) { result.AppendError("No watchpoints exist to be disabled."); - return false; + return; } if (command.GetArgumentCount() == 0) { @@ -405,7 +401,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs( target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } int count = 0; @@ -416,8 +412,6 @@ protected: result.AppendMessageWithFormat("%d watchpoints disabled.\n", count); result.SetStatus(eReturnStatusSuccessFinishNoResult); } - - return result.Succeeded(); } }; @@ -489,10 +483,10 @@ public: }; protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (!CheckTargetForWatchpointOperations(target, result)) - return false; + return; std::unique_lock<std::recursive_mutex> lock; target->GetWatchpointList().GetListMutex(lock); @@ -503,7 +497,7 @@ protected: if (num_watchpoints == 0) { result.AppendError("No watchpoints exist to be deleted."); - return false; + return; } if (command.empty()) { @@ -519,7 +513,7 @@ protected: (uint64_t)num_watchpoints); } result.SetStatus(eReturnStatusSuccessFinishNoResult); - return result.Succeeded(); + return; } // Particular watchpoints selected; delete them. @@ -527,7 +521,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs(target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } int count = 0; @@ -537,8 +531,6 @@ protected: ++count; result.AppendMessageWithFormat("%d watchpoints deleted.\n", count); result.SetStatus(eReturnStatusSuccessFinishNoResult); - - return result.Succeeded(); } private: @@ -616,10 +608,10 @@ public: }; protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (!CheckTargetForWatchpointOperations(target, result)) - return false; + return; std::unique_lock<std::recursive_mutex> lock; target->GetWatchpointList().GetListMutex(lock); @@ -630,7 +622,7 @@ protected: if (num_watchpoints == 0) { result.AppendError("No watchpoints exist to be ignored."); - return false; + return; } if (command.GetArgumentCount() == 0) { @@ -645,7 +637,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs( target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } int count = 0; @@ -656,8 +648,6 @@ protected: result.AppendMessageWithFormat("%d watchpoints ignored.\n", count); result.SetStatus(eReturnStatusSuccessFinishNoResult); } - - return result.Succeeded(); } private: @@ -742,10 +732,10 @@ public: }; protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = &GetSelectedTarget(); if (!CheckTargetForWatchpointOperations(target, result)) - return false; + return; std::unique_lock<std::recursive_mutex> lock; target->GetWatchpointList().GetListMutex(lock); @@ -756,7 +746,7 @@ protected: if (num_watchpoints == 0) { result.AppendError("No watchpoints exist to be modified."); - return false; + return; } if (command.GetArgumentCount() == 0) { @@ -769,7 +759,7 @@ protected: if (!CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs( target, command, wp_ids)) { result.AppendError("Invalid watchpoints specification."); - return false; + return; } int count = 0; @@ -784,8 +774,6 @@ protected: result.AppendMessageWithFormat("%d watchpoints modified.\n", count); result.SetStatus(eReturnStatusSuccessFinishNoResult); } - - return result.Succeeded(); } private: @@ -866,7 +854,7 @@ protected: return variable_list.GetSize() - old_size; } - bool DoExecute(Args &command, CommandReturnObject &result) override { + void DoExecute(Args &command, CommandReturnObject &result) override { Target *target = GetDebugger().GetSelectedTarget().get(); StackFrame *frame = m_exe_ctx.GetFramePtr(); @@ -875,7 +863,7 @@ protected: if (command.GetArgumentCount() <= 0) { result.AppendError("required argument missing; " "specify your program variable to watch for"); - return false; + return; } // If no '-w' is specified, default to '-w modify'. @@ -895,7 +883,7 @@ protected: // A simple watch variable gesture allows only one argument. if (command.GetArgumentCount() != 1) { result.AppendError("specify exactly one variable to watch for"); - return false; + return; } // Things have checked out ok... @@ -943,7 +931,7 @@ protected: result.AppendErrorWithFormat("unable to find any variable " "expression path that matches '%s'", command.GetArgumentAtIndex(0)); - return false; + return; } // Now it's time to create the watchpoint. @@ -975,7 +963,7 @@ protected: addr, static_cast<uint64_t>(size), command.GetArgumentAtIndex(0)); if (const char *error_message = error.AsCString(nullptr)) result.AppendError(error_message); - return result.Succeeded(); + return; } watch_sp->SetWatchSpec(command.GetArgumentAtIndex(0)); @@ -994,8 +982,6 @@ protected: watch_sp->GetDescription(&output_stream, lldb::eDescriptionLevelFull); output_stream.EOL(); result.SetStatus(eReturnStatusSuccessFinishResult); - - return result.Succeeded(); } private: @@ -1061,7 +1047,7 @@ Examples: Options *GetOptions() override { return &m_option_group; } protected: - bool DoExecute(llvm::StringRef raw_command, + void DoExecute(llvm::StringRef raw_command, CommandReturnObject &result) override { auto exe_ctx = GetCommandInterpreter().GetExecutionContext(); m_option_group.NotifyOptionParsingStarting( @@ -1077,14 +1063,14 @@ protected: if (args.HasArgs()) if (!ParseOptionsAndNotify(args.GetArgs(), result, m_option_group, exe_ctx)) - return false; + return; // If no argument is present, issue an error message. There's no way to // set a watchpoint. if (raw_command.trim().empty()) { result.AppendError("required argument missing; specify an expression " "to evaluate into the address to watch for"); - return false; + return; } // If no '-w' is specified, default to '-w write'. @@ -1116,7 +1102,7 @@ protected: result.AppendErrorWithFormat("expression evaluated: \n%s", expr.data()); if (valobj_sp && !valobj_sp->GetError().Success()) result.AppendError(valobj_sp->GetError().AsCString()); - return false; + return; } // Get the address to watch. @@ -1124,7 +1110,7 @@ protected: addr = valobj_sp->GetValueAsUnsigned(0, &success); if (!success) { result.AppendError("expression did not evaluate to an address"); - return false; + return; } if (m_option_watchpoint.watch_size != 0) @@ -1173,8 +1159,6 @@ protected: if (error.AsCString(nullptr)) result.AppendError(error.AsCString()); } - - return result.Succeeded(); } private: |