summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2014-10-23 19:47:36 +0000
committerDaniel Jasper <djasper@google.com>2014-10-23 19:47:36 +0000
commit4475a249e710dcfa35ccace4c6ef5f57250fae11 (patch)
treeee3c617796a96654c8528461fecae9a8a82c69e2 /clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
parent957eae22f45f0fb9f38dc0a657654f61d7d25793 (diff)
downloadbcm5719-llvm-4475a249e710dcfa35ccace4c6ef5f57250fae11.tar.gz
bcm5719-llvm-4475a249e710dcfa35ccace4c6ef5f57250fae11.zip
Remove code duplication and cut dependency from clangRewrite on
clangAST. llvm-svn: 220502
Diffstat (limited to 'clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp')
-rw-r--r--clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp23
1 files changed, 6 insertions, 17 deletions
diff --git a/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp b/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
index 3936727910a..3c48de2b4aa 100644
--- a/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
+++ b/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
@@ -249,27 +249,16 @@ namespace {
void HandleTranslationUnit(ASTContext &C) override;
void ReplaceStmt(Stmt *Old, Stmt *New) {
- Stmt *ReplacingStmt = ReplacedNodes[Old];
-
- if (ReplacingStmt)
- return; // We can't rewrite the same node twice.
-
- if (DisableReplaceStmt)
- return;
-
- // If replacement succeeded or warning disabled return with no warning.
- if (!Rewrite.ReplaceStmt(Old, New)) {
- ReplacedNodes[Old] = New;
- return;
- }
- if (SilenceRewriteMacroWarning)
- return;
- Diags.Report(Context->getFullLoc(Old->getLocStart()), RewriteFailedDiag)
- << Old->getSourceRange();
+ ReplaceStmtWithRange(Old, New, Old->getSourceRange());
}
void ReplaceStmtWithRange(Stmt *Old, Stmt *New, SourceRange SrcRange) {
assert(Old != nullptr && New != nullptr && "Expected non-null Stmt's");
+
+ Stmt *ReplacingStmt = ReplacedNodes[Old];
+ if (ReplacingStmt)
+ return; // We can't rewrite the same node twice.
+
if (DisableReplaceStmt)
return;
OpenPOWER on IntegriCloud