diff options
author | Daniel Jasper <djasper@google.com> | 2014-10-23 19:47:36 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2014-10-23 19:47:36 +0000 |
commit | 4475a249e710dcfa35ccace4c6ef5f57250fae11 (patch) | |
tree | ee3c617796a96654c8528461fecae9a8a82c69e2 /clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp | |
parent | 957eae22f45f0fb9f38dc0a657654f61d7d25793 (diff) | |
download | bcm5719-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.cpp | 23 |
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; |