aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Tooling/Refactoring.cpp
diff options
context:
space:
mode:
authorEric Liu <ioeric@google.com>2016-07-11 13:53:12 +0000
committerEric Liu <ioeric@google.com>2016-07-11 13:53:12 +0000
commit4f8d99433da80161f85988052f96bc7dc621c4eb (patch)
treee926d386edbf05c0d8346483a53ac49678e2f284 /clang/lib/Tooling/Refactoring.cpp
parent4d8500396454334975ab8bb6766d6521c5140b13 (diff)
downloadllvm-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.cpp8
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;
}