diff options
author | Eric Liu <ioeric@google.com> | 2016-07-11 13:53:12 +0000 |
---|---|---|
committer | Eric Liu <ioeric@google.com> | 2016-07-11 13:53:12 +0000 |
commit | 4f8d99433da80161f85988052f96bc7dc621c4eb (patch) | |
tree | e926d386edbf05c0d8346483a53ac49678e2f284 /clang/lib/Tooling/Refactoring.cpp | |
parent | 4d8500396454334975ab8bb6766d6521c5140b13 (diff) | |
download | llvm-4f8d99433da80161f85988052f96bc7dc621c4eb.zip llvm-4f8d99433da80161f85988052f96bc7dc621c4eb.tar.gz llvm-4f8d99433da80161f85988052f96bc7dc621c4eb.tar.bz2 |
Make tooling::applyAllReplacements return llvm::Expected<string> instead of empty string to indicate potential error.
Summary:
return llvm::Expected<> to carry error status and error information.
This is the first step towards introducing "Error" into tooling::Replacements.
Reviewers: djasper, klimek
Subscribers: ioeric, klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D21601
llvm-svn: 275062
Diffstat (limited to 'clang/lib/Tooling/Refactoring.cpp')
-rw-r--r-- | clang/lib/Tooling/Refactoring.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Tooling/Refactoring.cpp b/clang/lib/Tooling/Refactoring.cpp index 51f0635c..28d535a 100644 --- a/clang/lib/Tooling/Refactoring.cpp +++ b/clang/lib/Tooling/Refactoring.cpp @@ -79,9 +79,13 @@ bool formatAndApplyAllReplacements(const Replacements &Replaces, StringRef Code = SM.getBufferData(ID); format::FormatStyle CurStyle = format::getStyle(Style, FilePath, "LLVM"); - Replacements NewReplacements = + auto NewReplacements = format::formatReplacements(Code, CurReplaces, CurStyle); - Result = applyAllReplacements(NewReplacements, Rewrite) && Result; + if (!NewReplacements) { + llvm::errs() << llvm::toString(NewReplacements.takeError()) << "\n"; + return false; + } + Result = applyAllReplacements(*NewReplacements, Rewrite) && Result; } return Result; } |