DavidSpickett created this revision.
Herald added a subscriber: inglorion.
DavidSpickett requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
The intention is now that AppendError/SetError/AppendRawError only
be called with some message to show. This enforces that.
For SetError with a Status and a fallback string first assert
that the Status is a failure Status. Then it calls SetError(StringRef)
which checks the message is valid. (which could be the fallback
or the Status')
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D104525
Files:
lldb/source/Interpreter/CommandReturnObject.cpp
Index: lldb/source/Interpreter/CommandReturnObject.cpp
===================================================================
--- lldb/source/Interpreter/CommandReturnObject.cpp
+++ lldb/source/Interpreter/CommandReturnObject.cpp
@@ -99,24 +99,18 @@
void CommandReturnObject::AppendError(llvm::StringRef in_string) {
SetStatus(eReturnStatusFailed);
- if (in_string.empty())
- return;
+ assert(in_string.size() && "Expected a non-empty error message");
error(GetErrorStream()) << in_string.rtrim() << '\n';
}
void CommandReturnObject::SetError(const Status &error,
const char *fallback_error_cstr) {
- const char *error_cstr = error.AsCString();
- if (error_cstr == nullptr)
- error_cstr = fallback_error_cstr;
- SetError(error_cstr);
+ assert(error.Fail() && "Expected a failed Status");
+ SetError(error.AsCString(fallback_error_cstr));
}
void CommandReturnObject::SetError(llvm::StringRef error_str) {
SetStatus(eReturnStatusFailed);
- if (error_str.empty())
- return;
-
AppendError(error_str);
}
@@ -125,8 +119,7 @@
void CommandReturnObject::AppendRawError(llvm::StringRef in_string) {
SetStatus(eReturnStatusFailed);
- if (in_string.empty())
- return;
+ assert(in_string.size() && "Expected a non-empty error message");
GetErrorStream() << in_string;
}
Index: lldb/source/Interpreter/CommandReturnObject.cpp
===================================================================
--- lldb/source/Interpreter/CommandReturnObject.cpp
+++ lldb/source/Interpreter/CommandReturnObject.cpp
@@ -99,24 +99,18 @@
void CommandReturnObject::AppendError(llvm::StringRef in_string) {
SetStatus(eReturnStatusFailed);
- if (in_string.empty())
- return;
+ assert(in_string.size() && "Expected a non-empty error message");
error(GetErrorStream()) << in_string.rtrim() << '\n';
}
void CommandReturnObject::SetError(const Status &error,
const char *fallback_error_cstr) {
- const char *error_cstr = error.AsCString();
- if (error_cstr == nullptr)
- error_cstr = fallback_error_cstr;
- SetError(error_cstr);
+ assert(error.Fail() && "Expected a failed Status");
+ SetError(error.AsCString(fallback_error_cstr));
}
void CommandReturnObject::SetError(llvm::StringRef error_str) {
SetStatus(eReturnStatusFailed);
- if (error_str.empty())
- return;
-
AppendError(error_str);
}
@@ -125,8 +119,7 @@
void CommandReturnObject::AppendRawError(llvm::StringRef in_string) {
SetStatus(eReturnStatusFailed);
- if (in_string.empty())
- return;
+ assert(in_string.size() && "Expected a non-empty error message");
GetErrorStream() << in_string;
}
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits