Author: alexfh Date: Thu Nov 5 19:26:37 2015 New Revision: 252261 URL: http://llvm.org/viewvc/llvm-project?rev=252261&view=rev Log: Refactor: Simplify boolean conditional return statements in lib/ARCMigrate
Patch by Richard Thomson! (+a couple of modifications to address comments) Differential revision: http://reviews.llvm.org/D10009 Modified: cfe/trunk/lib/ARCMigrate/ObjCMT.cpp cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp cfe/trunk/lib/ARCMigrate/Transforms.cpp Modified: cfe/trunk/lib/ARCMigrate/ObjCMT.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/ObjCMT.cpp?rev=252261&r1=252260&r2=252261&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/ObjCMT.cpp (original) +++ cfe/trunk/lib/ARCMigrate/ObjCMT.cpp Thu Nov 5 19:26:37 2015 @@ -214,25 +214,15 @@ namespace { // FIXME. This duplicates one in RewriteObjCFoundationAPI.cpp bool subscriptOperatorNeedsParens(const Expr *FullExpr) { const Expr* Expr = FullExpr->IgnoreImpCasts(); - if (isa<ArraySubscriptExpr>(Expr) || - isa<CallExpr>(Expr) || - isa<DeclRefExpr>(Expr) || - isa<CXXNamedCastExpr>(Expr) || - isa<CXXConstructExpr>(Expr) || - isa<CXXThisExpr>(Expr) || - isa<CXXTypeidExpr>(Expr) || - isa<CXXUnresolvedConstructExpr>(Expr) || - isa<ObjCMessageExpr>(Expr) || - isa<ObjCPropertyRefExpr>(Expr) || - isa<ObjCProtocolExpr>(Expr) || - isa<MemberExpr>(Expr) || - isa<ObjCIvarRefExpr>(Expr) || - isa<ParenExpr>(FullExpr) || - isa<ParenListExpr>(Expr) || - isa<SizeOfPackExpr>(Expr)) - return false; - - return true; + return !(isa<ArraySubscriptExpr>(Expr) || isa<CallExpr>(Expr) || + isa<DeclRefExpr>(Expr) || isa<CXXNamedCastExpr>(Expr) || + isa<CXXConstructExpr>(Expr) || isa<CXXThisExpr>(Expr) || + isa<CXXTypeidExpr>(Expr) || + isa<CXXUnresolvedConstructExpr>(Expr) || + isa<ObjCMessageExpr>(Expr) || isa<ObjCPropertyRefExpr>(Expr) || + isa<ObjCProtocolExpr>(Expr) || isa<MemberExpr>(Expr) || + isa<ObjCIvarRefExpr>(Expr) || isa<ParenExpr>(FullExpr) || + isa<ParenListExpr>(Expr) || isa<SizeOfPackExpr>(Expr)); } /// \brief - Rewrite message expression for Objective-C setter and getters into @@ -665,9 +655,7 @@ ClassImplementsAllMethodsAndProperties(A return false; } } - if (HasAtleastOneRequiredProperty || HasAtleastOneRequiredMethod) - return true; - return false; + return HasAtleastOneRequiredProperty || HasAtleastOneRequiredMethod; } static bool rewriteToObjCInterfaceDecl(const ObjCInterfaceDecl *IDecl, Modified: cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp?rev=252261&r1=252260&r2=252261&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp (original) +++ cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp Thu Nov 5 19:26:37 2015 @@ -104,9 +104,7 @@ public: return false; if (!S->getThen() || !Visit(S->getThen())) return false; - if (S->getElse() && !Visit(S->getElse())) - return false; - return true; + return !S->getElse() || Visit(S->getElse()); } bool VisitWhileStmt(WhileStmt *S) { if (S->getConditionVariable()) Modified: cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp?rev=252261&r1=252260&r2=252261&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp (original) +++ cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp Thu Nov 5 19:26:37 2015 @@ -152,9 +152,7 @@ public: return ID->getImplementation() != nullptr; if (ObjCCategoryDecl *CD = dyn_cast<ObjCCategoryDecl>(ContD)) return CD->getImplementation() != nullptr; - if (isa<ObjCImplDecl>(ContD)) - return true; - return false; + return isa<ObjCImplDecl>(ContD); } return false; } Modified: cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp?rev=252261&r1=252260&r2=252261&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp (original) +++ cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp Thu Nov 5 19:26:37 2015 @@ -150,11 +150,8 @@ public: return true; } - if (!hasSideEffects(rec, Pass.Ctx)) { - if (tryRemoving(RecContainer)) - return true; - } - Pass.TA.replace(RecContainer->getSourceRange(), RecRange); + if (hasSideEffects(rec, Pass.Ctx) || !tryRemoving(RecContainer)) + Pass.TA.replace(RecContainer->getSourceRange(), RecRange); return true; } @@ -174,11 +171,8 @@ private: /// return var; /// bool isCommonUnusedAutorelease(ObjCMessageExpr *E) { - if (isPlusOneAssignBeforeOrAfterAutorelease(E)) - return true; - if (isReturnedAfterAutorelease(E)) - return true; - return false; + return isPlusOneAssignBeforeOrAfterAutorelease(E) || + isReturnedAfterAutorelease(E); } bool isReturnedAfterAutorelease(ObjCMessageExpr *E) { @@ -225,11 +219,7 @@ private: // Check for "RefD = [+1 retained object];". if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(S)) { - if (RefD != getReferencedDecl(Bop->getLHS())) - return false; - if (isPlusOneAssign(Bop)) - return true; - return false; + return (RefD == getReferencedDecl(Bop->getLHS())) && isPlusOneAssign(Bop); } if (DeclStmt *DS = dyn_cast<DeclStmt>(S)) { Modified: cfe/trunk/lib/ARCMigrate/Transforms.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ARCMigrate/Transforms.cpp?rev=252261&r1=252260&r2=252261&view=diff ============================================================================== --- cfe/trunk/lib/ARCMigrate/Transforms.cpp (original) +++ cfe/trunk/lib/ARCMigrate/Transforms.cpp Thu Nov 5 19:26:37 2015 @@ -113,10 +113,7 @@ bool trans::isPlusOne(const Expr *E) { while (implCE && implCE->getCastKind() == CK_BitCast) implCE = dyn_cast<ImplicitCastExpr>(implCE->getSubExpr()); - if (implCE && implCE->getCastKind() == CK_ARCConsumeObject) - return true; - - return false; + return implCE && implCE->getCastKind() == CK_ARCConsumeObject; } /// \brief 'Loc' is the end of a statement range. This returns the location _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits