summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter/CommandInterpreter.cpp
diff options
context:
space:
mode:
authorLawrence D'Anna <lawrence_danna@apple.com>2019-09-26 17:54:59 +0000
committerLawrence D'Anna <lawrence_danna@apple.com>2019-09-26 17:54:59 +0000
commit2fce1137c7c227f40edbb657c484797addba38ca (patch)
tree1aca86d16d377f546f54a9b2c4782e51f113008c /lldb/source/Interpreter/CommandInterpreter.cpp
parent875d20bcde2e2b1990f3a4bdfc800959e8a72ed6 (diff)
downloadbcm5719-llvm-2fce1137c7c227f40edbb657c484797addba38ca.tar.gz
bcm5719-llvm-2fce1137c7c227f40edbb657c484797addba38ca.zip
Convert FileSystem::Open() to return Expected<FileUP>
Summary: This patch converts FileSystem::Open from this prototype: Status Open(File &File, const FileSpec &file_spec, ...); to this one: llvm::Expected<std::unique_ptr<File>> Open(const FileSpec &file_spec, ...); This is beneficial on its own, as llvm::Expected is a more modern and recommended error type than Status. It is also a necessary step towards https://reviews.llvm.org/D67891, and further developments for lldb_private::File. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67996 llvm-svn: 373003
Diffstat (limited to 'lldb/source/Interpreter/CommandInterpreter.cpp')
-rw-r--r--lldb/source/Interpreter/CommandInterpreter.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index a5b2d24aeba..6c97391a68b 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -70,6 +70,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/Support/FormatAdapters.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/PrettyStackTrace.h"
@@ -2337,18 +2338,17 @@ void CommandInterpreter::HandleCommandsFromFile(
return;
}
- StreamFileSP input_file_sp(new StreamFile());
std::string cmd_file_path = cmd_file.GetPath();
- Status error = FileSystem::Instance().Open(input_file_sp->GetFile(), cmd_file,
- File::eOpenOptionRead);
- if (error.Fail()) {
- result.AppendErrorWithFormat(
- "error: an error occurred read file '%s': %s\n", cmd_file_path.c_str(),
- error.AsCString());
+ auto file = FileSystem::Instance().Open(cmd_file, File::eOpenOptionRead);
+ if (!file) {
+ result.AppendErrorWithFormatv(
+ "error: an error occurred read file '{0}': {1}\n", cmd_file_path,
+ llvm::fmt_consume(file.takeError()));
result.SetStatus(eReturnStatusFailed);
return;
}
+ auto input_file_sp = std::make_shared<StreamFile>(std::move(file.get()));
Debugger &debugger = GetDebugger();
OpenPOWER on IntegriCloud