Lines Matching refs:FD

191 static bool isRetain(const FunctionDecl *FD, StringRef FName) {  in isRetain()  argument
196 static bool isRelease(const FunctionDecl *FD, StringRef FName) { in isRelease() argument
201 static bool isAutorelease(const FunctionDecl *FD, StringRef FName) { in isAutorelease() argument
242 RetainSummaryManager::getSummaryForOSObject(const FunctionDecl *FD, in getSummaryForOSObject() argument
265 return getOSSummaryCreateRule(FD); in getSummaryForOSObject()
267 return getOSSummaryGetRule(FD); in getSummaryForOSObject()
272 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in getSummaryForOSObject()
276 return getOSSummaryReleaseRule(FD); in getSummaryForOSObject()
279 return getOSSummaryRetainRule(FD); in getSummaryForOSObject()
282 return getOSSummaryFreeRule(FD); in getSummaryForOSObject()
293 const FunctionDecl *FD, in getSummaryForObjCOrCFObject() argument
414 if (isRetain(FD, FName)) { in getSummaryForObjCOrCFObject()
422 } else if (isAutorelease(FD, FName)) { in getSummaryForObjCOrCFObject()
432 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
439 if (isRetain(FD, FName)) in getSummaryForObjCOrCFObject()
442 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
449 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
452 if (FD->hasAttr<CFAuditedTransferAttr>()) { in getSummaryForObjCOrCFObject()
453 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
463 if (isRelease(FD, FName)) in getSummaryForObjCOrCFObject()
500 RetainSummaryManager::generateSummary(const FunctionDecl *FD, in generateSummary() argument
503 if (FD->isImplicit()) in generateSummary()
506 const IdentifierInfo *II = FD->getIdentifier(); in generateSummary()
515 const auto *FT = FD->getType()->castAs<FunctionType>(); in generateSummary()
519 if (const RetainSummary *S = getSummaryForOSObject(FD, FName, RetTy)) in generateSummary()
522 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) in generateSummary()
532 getSummaryForObjCOrCFObject(FD, FName, RetTy, FT, AllowAnnotations)) in generateSummary()
539 RetainSummaryManager::getFunctionSummary(const FunctionDecl *FD) { in getFunctionSummary() argument
541 if (!FD) in getFunctionSummary()
545 FuncSummariesTy::iterator I = FuncSummaries.find(FD); in getFunctionSummary()
551 const RetainSummary *S = generateSummary(FD, AllowAnnotations); in getFunctionSummary()
555 updateSummaryFromAnnotations(S, FD); in getFunctionSummary()
557 FuncSummaries[FD] = S; in getFunctionSummary()
709 RetainSummaryManager::getCFCreateGetRuleSummary(const FunctionDecl *FD) { in getCFCreateGetRuleSummary() argument
710 if (coreFoundation::followsCreateRule(FD)) in getCFCreateGetRuleSummary()
711 return getCFSummaryCreateRule(FD); in getCFCreateGetRuleSummary()
713 return getCFSummaryGetRule(FD); in getCFCreateGetRuleSummary()
717 const Decl *FD) { in isTrustedReferenceCountImplementation() argument
718 return hasRCAnnotation(FD, "rc_ownership_trusted_implementation"); in isTrustedReferenceCountImplementation()
722 RetainSummaryManager::canEval(const CallExpr *CE, const FunctionDecl *FD, in canEval() argument
725 IdentifierInfo *II = FD->getIdentifier(); in canEval()
750 (isRetain(FD, FName) || isAutorelease(FD, FName) || in canEval()
760 if (isOSObjectDynamicCast(FName) && FD->param_size() >= 1) { in canEval()
762 } else if (isOSObjectRequiredCast(FName) && FD->param_size() >= 1) { in canEval()
764 } else if (isOSObjectThisCast(FName) && isa<CXXMethodDecl>(FD) && in canEval()
765 !cast<CXXMethodDecl>(FD)->isStatic()) { in canEval()
770 const FunctionDecl* FDD = FD->getDefinition(); in canEval()
777 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in canEval()
809 RetainSummaryManager::getOSSummaryRetainRule(const FunctionDecl *FD) { in getOSSummaryRetainRule() argument
818 RetainSummaryManager::getOSSummaryReleaseRule(const FunctionDecl *FD) { in getOSSummaryReleaseRule() argument
827 RetainSummaryManager::getOSSummaryFreeRule(const FunctionDecl *FD) { in getOSSummaryFreeRule() argument
836 RetainSummaryManager::getOSSummaryCreateRule(const FunctionDecl *FD) { in getOSSummaryCreateRule() argument
842 RetainSummaryManager::getOSSummaryGetRule(const FunctionDecl *FD) { in getOSSummaryGetRule() argument
848 RetainSummaryManager::getCFSummaryCreateRule(const FunctionDecl *FD) { in getCFSummaryCreateRule() argument
854 RetainSummaryManager::getCFSummaryGetRule(const FunctionDecl *FD) { in getCFSummaryGetRule() argument
905 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) { in getCallableReturnType() local
906 return FD->getReturnType(); in getCallableReturnType()
915 const ParmVarDecl *pd, unsigned parm_idx, const NamedDecl *FD, in applyParamAnnotationEffect() argument
931 QualType QT = getCallableReturnType(FD); in applyParamAnnotationEffect()
966 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in applyParamAnnotationEffect()
979 const FunctionDecl *FD) { in updateSummaryFromAnnotations() argument
980 if (!FD) in updateSummaryFromAnnotations()
988 for (auto pi = FD->param_begin(), in updateSummaryFromAnnotations()
989 pe = FD->param_end(); pi != pe; ++pi, ++parm_idx) in updateSummaryFromAnnotations()
990 applyParamAnnotationEffect(*pi, parm_idx, FD, Template); in updateSummaryFromAnnotations()
992 QualType RetTy = FD->getReturnType(); in updateSummaryFromAnnotations()
993 if (Optional<RetEffect> RetE = getRetEffectFromAnnotations(RetTy, FD)) in updateSummaryFromAnnotations()
996 if (hasAnyEnabledAttrOf<OSConsumesThisAttr>(FD, RetTy)) in updateSummaryFromAnnotations()