diff options
author | Eugene Zelenko <eugene.zelenko@gmail.com> | 2016-02-10 19:11:58 +0000 |
---|---|---|
committer | Eugene Zelenko <eugene.zelenko@gmail.com> | 2016-02-10 19:11:58 +0000 |
commit | b9b46f780d02fcccbd42f39d383cff811e9192c1 (patch) | |
tree | 6b7a755da1fc685b749cba5e670ce75858e50885 /lib/Frontend/Rewrite/RewriteObjC.cpp | |
parent | d4b8ca1ba2dda8b63bfc993347ba71315d5d68bc (diff) | |
download | clang-b9b46f780d02fcccbd42f39d383cff811e9192c1.tar.gz |
Fix some Clang-tidy readability-redundant-control-flow warnings; other minor fixes.
Differential revision: http://reviews.llvm.org/D17060
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260414 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/Rewrite/RewriteObjC.cpp')
-rw-r--r-- | lib/Frontend/Rewrite/RewriteObjC.cpp | 69 |
1 files changed, 24 insertions, 45 deletions
diff --git a/lib/Frontend/Rewrite/RewriteObjC.cpp b/lib/Frontend/Rewrite/RewriteObjC.cpp index 67b2bdef5d..3508ec4303 100644 --- a/lib/Frontend/Rewrite/RewriteObjC.cpp +++ b/lib/Frontend/Rewrite/RewriteObjC.cpp @@ -37,7 +37,6 @@ using llvm::utostr; namespace { class RewriteObjC : public ASTConsumer { protected: - enum { BLOCK_FIELD_IS_OBJECT = 3, /* id, NSObject, __attribute__((NSObject)), block, ... */ @@ -158,14 +157,15 @@ namespace { : R(R), SavedValue(R.DisableReplaceStmt) { R.DisableReplaceStmt = true; } + ~DisableReplaceStmtScope() { R.DisableReplaceStmt = SavedValue; } }; + void InitializeCommon(ASTContext &context); public: - // Top Level Driver code. bool HandleTopLevelDecl(DeclGroupRef D) override { for (DeclGroupRef::iterator I = D.begin(), E = D.end(); I != E; ++I) { @@ -187,6 +187,7 @@ namespace { } return true; } + void HandleTopLevelSingleDecl(Decl *D); void HandleDeclInMainFile(Decl *D); RewriteObjC(std::string inFile, raw_ostream *OS, @@ -505,7 +506,6 @@ namespace { class RewriteObjCFragileABI : public RewriteObjC { public: - RewriteObjCFragileABI(std::string inFile, raw_ostream *OS, DiagnosticsEngine &D, const LangOptions &LOpts, bool silenceMacroWarn) : RewriteObjC(inFile, OS, @@ -540,7 +540,7 @@ namespace { std::string &Result) override; Stmt *RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) override; }; -} +} // end anonymous namespace void RewriteObjC::RewriteBlocksInFunctionProtoType(QualType funcType, NamedDecl *D) { @@ -1159,6 +1159,7 @@ void RewriteObjC::RewriteObjCMethodDecl(const ObjCInterfaceDecl *IDecl, } } } + void RewriteObjC::RewriteImplementationDecl(Decl *OID) { ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID); ObjCCategoryImplDecl *CID = dyn_cast<ObjCCategoryImplDecl>(OID); @@ -1720,7 +1721,6 @@ void RewriteObjC::WarnAboutReturnGotoStmts(Stmt *S) Diags.Report(Context->getFullLoc(S->getLocStart()), TryFinallyContainsReturnDiag); } - return; } void RewriteObjC::HasReturnStmts(Stmt *S, bool &hasReturns) @@ -1730,32 +1730,29 @@ void RewriteObjC::HasReturnStmts(Stmt *S, bool &hasReturns) if (SubStmt) HasReturnStmts(SubStmt, hasReturns); - if (isa<ReturnStmt>(S)) - hasReturns = true; - return; + if (isa<ReturnStmt>(S)) + hasReturns = true; } void RewriteObjC::RewriteTryReturnStmts(Stmt *S) { - // Perform a bottom up traversal of all children. - for (Stmt *SubStmt : S->children()) - if (SubStmt) { - RewriteTryReturnStmts(SubStmt); - } - if (isa<ReturnStmt>(S)) { - SourceLocation startLoc = S->getLocStart(); - const char *startBuf = SM->getCharacterData(startLoc); - - const char *semiBuf = strchr(startBuf, ';'); - assert((*semiBuf == ';') && "RewriteTryReturnStmts: can't find ';'"); - SourceLocation onePastSemiLoc = startLoc.getLocWithOffset(semiBuf-startBuf+1); + // Perform a bottom up traversal of all children. + for (Stmt *SubStmt : S->children()) + if (SubStmt) { + RewriteTryReturnStmts(SubStmt); + } + if (isa<ReturnStmt>(S)) { + SourceLocation startLoc = S->getLocStart(); + const char *startBuf = SM->getCharacterData(startLoc); + const char *semiBuf = strchr(startBuf, ';'); + assert((*semiBuf == ';') && "RewriteTryReturnStmts: can't find ';'"); + SourceLocation onePastSemiLoc = startLoc.getLocWithOffset(semiBuf-startBuf+1); - std::string buf; - buf = "{ objc_exception_try_exit(&_stack); return"; + std::string buf; + buf = "{ objc_exception_try_exit(&_stack); return"; - ReplaceText(startLoc, 6, buf); - InsertText(onePastSemiLoc, "}"); - } - return; + ReplaceText(startLoc, 6, buf); + InsertText(onePastSemiLoc, "}"); + } } void RewriteObjC::RewriteSyncReturnStmts(Stmt *S, std::string syncExitBuf) { @@ -1780,7 +1777,6 @@ void RewriteObjC::RewriteSyncReturnStmts(Stmt *S, std::string syncExitBuf) { ReplaceText(startLoc, 6, buf); InsertText(onePastSemiLoc, "}"); } - return; } Stmt *RewriteObjC::RewriteObjCTryStmt(ObjCAtTryStmt *S) { @@ -2287,7 +2283,6 @@ void RewriteObjC::RewriteBlockPointerTypeVariable(std::string& Str, } } - void RewriteObjC::RewriteBlockLiteralFunctionDecl(FunctionDecl *FD) { SourceLocation FunLocStart = FD->getTypeSpecStartLoc(); const FunctionType *funcType = FD->getType()->getAs<FunctionType>(); @@ -2615,10 +2610,8 @@ CallExpr *RewriteObjC::SynthMsgSendStretCallExpr(FunctionDecl *MsgSendStretFlavo CallExpr *STCE = new (Context) CallExpr( *Context, PE, MsgExprs, FT->getReturnType(), VK_RValue, SourceLocation()); return STCE; - } - Stmt *RewriteObjC::SynthMessageExpr(ObjCMessageExpr *Exp, SourceLocation StartLoc, SourceLocation EndLoc) { @@ -3059,7 +3052,6 @@ Stmt *RewriteObjC::RewriteObjCProtocolExpr(ObjCProtocolExpr *Exp) { ProtocolExprDecls.insert(Exp->getProtocol()->getCanonicalDecl()); // delete Exp; leak for now, see RewritePropertyOrImplicitSetter() usage for more info. return castExpr; - } bool RewriteObjC::BufferContainsPPDirectives(const char *startBuf, @@ -3224,7 +3216,6 @@ void RewriteObjC::RewriteObjCInternalStruct(ObjCInterfaceDecl *CDecl, // Meta Data Emission //===----------------------------------------------------------------------===// - /// RewriteImplementations - This routine rewrites all method implementations /// and emits meta-data. @@ -3665,8 +3656,6 @@ void RewriteObjC::GetBlockDeclRefExprs(Stmt *S) { HasLocalVariableExternalStorage(DRE->getDecl())) // FIXME: Handle enums. BlockDeclRefs.push_back(DRE); - - return; } void RewriteObjC::GetInnerBlockDeclRefExprs(Stmt *S, @@ -3694,8 +3683,6 @@ void RewriteObjC::GetInnerBlockDeclRefExprs(Stmt *S, ImportedLocalExternalDecls.insert(Var); } } - - return; } /// convertFunctionTypeOfBlocks - This routine converts a function type @@ -3931,7 +3918,6 @@ void RewriteObjC::RewriteCastExpr(CStyleCastExpr *CE) { break; } } - return; } void RewriteObjC::RewriteBlockPointerFunctionArgs(FunctionDecl *FD) { @@ -3966,7 +3952,6 @@ void RewriteObjC::RewriteBlockPointerFunctionArgs(FunctionDecl *FD) { break; } } - return; } bool RewriteObjC::PointerTypeTakesAnyBlockArguments(QualType QT) { @@ -4103,11 +4088,8 @@ void RewriteObjC::RewriteBlockPointerDecl(NamedDecl *ND) { OrigLength++; } ReplaceText(Start, OrigLength, buf); - - return; } - /// SynthesizeByrefCopyDestroyHelper - This routine synthesizes: /// void __Block_byref_id_object_copy(struct Block_byref_id_object *dst, /// struct Block_byref_id_object *src) { @@ -4328,7 +4310,6 @@ void RewriteObjC::RewriteByRefVar(VarDecl *ND) { InsertText(semiLoc, "}"); } - return; } void RewriteObjC::CollectBlockDeclRefInfo(BlockExpr *Exp) { @@ -4494,7 +4475,6 @@ Stmt *RewriteObjC::SynthBlockInitExpr(BlockExpr *Exp, Exp = new (Context) UnaryOperator(Exp, UO_AddrOf, QT, VK_RValue, OK_Ordinary, SourceLocation()); } - } InitExprs.push_back(Exp); } @@ -5241,7 +5221,6 @@ void RewriteObjCFragileABI::RewriteObjCProtocolMetaData( // Mark this protocol as having been generated. if (!ObjCSynthesizedProtocols.insert(PDecl->getCanonicalDecl()).second) llvm_unreachable("protocol already synthesized"); - } void RewriteObjCFragileABI::RewriteObjCProtocolListMetaData( @@ -5910,4 +5889,4 @@ Stmt *RewriteObjCFragileABI::RewriteObjCIvarRefExpr(ObjCIvarRefExpr *IV) { return Replacement; } -#endif +#endif // CLANG_ENABLE_OBJC_REWRITER |