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 lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits