[Lldb-commits] [lldb] 8789c96 - [lldb] Unify implementation of CommandReturnObject::SetError(NFC) (#110707)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Oct 2 09:11:51 PDT 2024
Author: Adrian Prantl
Date: 2024-10-02T09:11:47-07:00
New Revision: 8789c96698e027b0dd40b6e0475181505d6b8984
URL: https://github.com/llvm/llvm-project/commit/8789c96698e027b0dd40b6e0475181505d6b8984
DIFF: https://github.com/llvm/llvm-project/commit/8789c96698e027b0dd40b6e0475181505d6b8984.diff
LOG: [lldb] Unify implementation of CommandReturnObject::SetError(NFC) (#110707)
This is a cleanup that moves the API towards value semantics.
Added:
Modified:
lldb/include/lldb/Interpreter/CommandReturnObject.h
lldb/source/API/SBCommandReturnObject.cpp
lldb/source/Commands/CommandObjectBreakpointCommand.cpp
lldb/source/Commands/CommandObjectDWIMPrint.cpp
lldb/source/Commands/CommandObjectExpression.cpp
lldb/source/Commands/CommandObjectMemoryTag.cpp
lldb/source/Commands/CommandObjectTarget.cpp
lldb/source/Commands/CommandObjectThread.cpp
lldb/source/Interpreter/CommandReturnObject.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Interpreter/CommandReturnObject.h b/lldb/include/lldb/Interpreter/CommandReturnObject.h
index 8c4dcb54d708f0..8f6c9f123b7690 100644
--- a/lldb/include/lldb/Interpreter/CommandReturnObject.h
+++ b/lldb/include/lldb/Interpreter/CommandReturnObject.h
@@ -131,7 +131,7 @@ class CommandReturnObject {
AppendError(llvm::formatv(format, std::forward<Args>(args)...).str());
}
- void SetError(const Status &error, const char *fallback_error_cstr = nullptr);
+ void SetError(Status error);
void SetError(llvm::Error error);
diff --git a/lldb/source/API/SBCommandReturnObject.cpp b/lldb/source/API/SBCommandReturnObject.cpp
index 7d2c102b3d8c14..d0cdebe8c64911 100644
--- a/lldb/source/API/SBCommandReturnObject.cpp
+++ b/lldb/source/API/SBCommandReturnObject.cpp
@@ -326,10 +326,10 @@ void SBCommandReturnObject::SetError(lldb::SBError &error,
const char *fallback_error_cstr) {
LLDB_INSTRUMENT_VA(this, error, fallback_error_cstr);
- if (error.IsValid())
- ref().SetError(error.ref(), fallback_error_cstr);
+ if (error.IsValid() && !error.Fail())
+ ref().SetError(error.ref().Clone());
else if (fallback_error_cstr)
- ref().SetError(Status(), fallback_error_cstr);
+ ref().SetError(Status::FromErrorString(fallback_error_cstr));
}
void SBCommandReturnObject::SetError(const char *error_cstr) {
diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
index b668cd0f7c22f0..ac2db5973effa9 100644
--- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
@@ -389,7 +389,7 @@ are no syntax errors may indicate that a function was declared but never called.
m_bp_options_vec, result);
}
if (!error.Success())
- result.SetError(error);
+ result.SetError(std::move(error));
} else {
// Special handling for one-liner specified inline.
if (m_options.m_use_one_liner)
diff --git a/lldb/source/Commands/CommandObjectDWIMPrint.cpp b/lldb/source/Commands/CommandObjectDWIMPrint.cpp
index b7cd955e00203d..2e1d6e6e5af996 100644
--- a/lldb/source/Commands/CommandObjectDWIMPrint.cpp
+++ b/lldb/source/Commands/CommandObjectDWIMPrint.cpp
@@ -202,7 +202,7 @@ void CommandObjectDWIMPrint::DoExecute(StringRef command,
// If the expression failed, return an error.
if (expr_result != eExpressionCompleted) {
if (valobj_sp)
- result.SetError(valobj_sp->GetError());
+ result.SetError(valobj_sp->GetError().Clone());
else
result.AppendErrorWithFormatv(
"unknown error evaluating expression `{0}`", expr);
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp
index 9722c85a79b784..a72b409d21ed83 100644
--- a/lldb/source/Commands/CommandObjectExpression.cpp
+++ b/lldb/source/Commands/CommandObjectExpression.cpp
@@ -647,8 +647,8 @@ void CommandObjectExpression::DoExecute(llvm::StringRef command,
initialize = true;
repl_sp = target.GetREPL(repl_error, m_command_options.language,
nullptr, true);
- if (!repl_error.Success()) {
- result.SetError(repl_error);
+ if (repl_error.Fail()) {
+ result.SetError(std::move(repl_error));
return;
}
}
@@ -668,7 +668,7 @@ void CommandObjectExpression::DoExecute(llvm::StringRef command,
repl_error = Status::FromErrorStringWithFormat(
"Couldn't create a REPL for %s",
Language::GetNameForLanguageType(m_command_options.language));
- result.SetError(repl_error);
+ result.SetError(std::move(repl_error));
return;
}
}
diff --git a/lldb/source/Commands/CommandObjectMemoryTag.cpp b/lldb/source/Commands/CommandObjectMemoryTag.cpp
index bc76319018da96..23fad06518366f 100644
--- a/lldb/source/Commands/CommandObjectMemoryTag.cpp
+++ b/lldb/source/Commands/CommandObjectMemoryTag.cpp
@@ -290,7 +290,7 @@ class CommandObjectMemoryTagWrite : public CommandObjectParsed {
tagged_range->GetByteSize(), tags);
if (status.Fail()) {
- result.SetError(status);
+ result.SetError(std::move(status));
return;
}
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 10e761fa8de1ae..e950fb346c253b 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -2775,7 +2775,7 @@ class CommandObjectTargetModulesAdd : public CommandObjectParsed {
result.AppendErrorWithFormat(
"Unable to locate the executable or symbol file with UUID %s",
strm.GetData());
- result.SetError(error);
+ result.SetError(std::move(error));
return;
}
} else {
@@ -4409,7 +4409,7 @@ class CommandObjectTargetSymbolsAdd : public CommandObjectParsed {
return AddModuleSymbols(m_exe_ctx.GetTargetPtr(), module_spec, flush,
result);
} else {
- result.SetError(error);
+ result.SetError(std::move(error));
}
return false;
}
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index edbec0e305db74..bc1f5c39e702c6 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -622,7 +622,7 @@ class CommandObjectThreadStepWithTypeAndScope : public CommandObjectParsed {
result.SetStatus(eReturnStatusSuccessContinuingNoResult);
}
} else {
- result.SetError(new_plan_status);
+ result.SetError(std::move(new_plan_status));
}
}
@@ -1046,7 +1046,7 @@ class CommandObjectThreadUntil : public CommandObjectParsed {
new_plan_sp->SetIsControllingPlan(true);
new_plan_sp->SetOkayToDiscard(false);
} else {
- result.SetError(new_plan_status);
+ result.SetError(std::move(new_plan_status));
return;
}
} else {
@@ -1734,7 +1734,7 @@ class CommandObjectThreadJump : public CommandObjectParsed {
Status err = thread->JumpToLine(file, line, m_options.m_force, &warnings);
if (err.Fail()) {
- result.SetError(err);
+ result.SetError(std::move(err));
return;
}
diff --git a/lldb/source/Interpreter/CommandReturnObject.cpp b/lldb/source/Interpreter/CommandReturnObject.cpp
index 0bc58124f3941f..d5da73c00a5209 100644
--- a/lldb/source/Interpreter/CommandReturnObject.cpp
+++ b/lldb/source/Interpreter/CommandReturnObject.cpp
@@ -107,10 +107,8 @@ void CommandReturnObject::AppendError(llvm::StringRef in_string) {
error(GetErrorStream()) << msg << '\n';
}
-void CommandReturnObject::SetError(const Status &error,
- const char *fallback_error_cstr) {
- if (error.Fail())
- AppendError(error.AsCString(fallback_error_cstr));
+void CommandReturnObject::SetError(Status error) {
+ SetError(error.takeError());
}
void CommandReturnObject::SetError(llvm::Error error) {
More information about the lldb-commits
mailing list