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
415 if (isRetain(FD, FName)) { in getSummaryForObjCOrCFObject()
423 } else if (isAutorelease(FD, FName)) { in getSummaryForObjCOrCFObject()
433 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
440 if (isRetain(FD, FName)) in getSummaryForObjCOrCFObject()
443 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
450 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
453 if (FD->hasAttr<CFAuditedTransferAttr>()) { in getSummaryForObjCOrCFObject()
454 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
464 if (isRelease(FD, FName)) in getSummaryForObjCOrCFObject()
501 RetainSummaryManager::generateSummary(const FunctionDecl *FD, in generateSummary() argument
504 if (FD->isImplicit()) in generateSummary()
507 const IdentifierInfo *II = FD->getIdentifier(); in generateSummary()
516 const auto *FT = FD->getType()->castAs<FunctionType>(); in generateSummary()
520 if (const RetainSummary *S = getSummaryForOSObject(FD, FName, RetTy)) in generateSummary()
523 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) in generateSummary()
533 getSummaryForObjCOrCFObject(FD, FName, RetTy, FT, AllowAnnotations)) in generateSummary()
540 RetainSummaryManager::getFunctionSummary(const FunctionDecl *FD) { in getFunctionSummary() argument
542 if (!FD) in getFunctionSummary()
546 FuncSummariesTy::iterator I = FuncSummaries.find(FD); in getFunctionSummary()
552 const RetainSummary *S = generateSummary(FD, AllowAnnotations); in getFunctionSummary()
556 updateSummaryFromAnnotations(S, FD); in getFunctionSummary()
558 FuncSummaries[FD] = S; in getFunctionSummary()
710 RetainSummaryManager::getCFCreateGetRuleSummary(const FunctionDecl *FD) { in getCFCreateGetRuleSummary() argument
711 if (coreFoundation::followsCreateRule(FD)) in getCFCreateGetRuleSummary()
712 return getCFSummaryCreateRule(FD); in getCFCreateGetRuleSummary()
714 return getCFSummaryGetRule(FD); in getCFCreateGetRuleSummary()
718 const Decl *FD) { in isTrustedReferenceCountImplementation() argument
719 return hasRCAnnotation(FD, "rc_ownership_trusted_implementation"); in isTrustedReferenceCountImplementation()
723 RetainSummaryManager::canEval(const CallExpr *CE, const FunctionDecl *FD, in canEval() argument
726 IdentifierInfo *II = FD->getIdentifier(); in canEval()
751 (isRetain(FD, FName) || isAutorelease(FD, FName) || in canEval()
761 if (isOSObjectDynamicCast(FName) && FD->param_size() >= 1) { in canEval()
763 } else if (isOSObjectRequiredCast(FName) && FD->param_size() >= 1) { in canEval()
765 } else if (isOSObjectThisCast(FName) && isa<CXXMethodDecl>(FD) && in canEval()
766 !cast<CXXMethodDecl>(FD)->isStatic()) { in canEval()
771 const FunctionDecl* FDD = FD->getDefinition(); in canEval()
778 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in canEval()
810 RetainSummaryManager::getOSSummaryRetainRule(const FunctionDecl *FD) { in getOSSummaryRetainRule() argument
819 RetainSummaryManager::getOSSummaryReleaseRule(const FunctionDecl *FD) { in getOSSummaryReleaseRule() argument
828 RetainSummaryManager::getOSSummaryFreeRule(const FunctionDecl *FD) { in getOSSummaryFreeRule() argument
837 RetainSummaryManager::getOSSummaryCreateRule(const FunctionDecl *FD) { in getOSSummaryCreateRule() argument
843 RetainSummaryManager::getOSSummaryGetRule(const FunctionDecl *FD) { in getOSSummaryGetRule() argument
849 RetainSummaryManager::getCFSummaryCreateRule(const FunctionDecl *FD) { in getCFSummaryCreateRule() argument
855 RetainSummaryManager::getCFSummaryGetRule(const FunctionDecl *FD) { in getCFSummaryGetRule() argument
906 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) { in getCallableReturnType() local
907 return FD->getReturnType(); in getCallableReturnType()
916 const ParmVarDecl *pd, unsigned parm_idx, const NamedDecl *FD, in applyParamAnnotationEffect() argument
932 QualType QT = getCallableReturnType(FD); in applyParamAnnotationEffect()
967 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in applyParamAnnotationEffect()
980 const FunctionDecl *FD) { in updateSummaryFromAnnotations() argument
981 if (!FD) in updateSummaryFromAnnotations()
989 for (auto pi = FD->param_begin(), in updateSummaryFromAnnotations()
990 pe = FD->param_end(); pi != pe; ++pi, ++parm_idx) in updateSummaryFromAnnotations()
991 applyParamAnnotationEffect(*pi, parm_idx, FD, Template); in updateSummaryFromAnnotations()
993 QualType RetTy = FD->getReturnType(); in updateSummaryFromAnnotations()
994 if (Optional<RetEffect> RetE = getRetEffectFromAnnotations(RetTy, FD)) in updateSummaryFromAnnotations()
997 if (hasAnyEnabledAttrOf<OSConsumesThisAttr>(FD, RetTy)) in updateSummaryFromAnnotations()