Lines Matching refs:FD
185 static bool isRetain(const FunctionDecl *FD, StringRef FName) { in isRetain() argument
189 static bool isRelease(const FunctionDecl *FD, StringRef FName) { in isRelease() argument
193 static bool isAutorelease(const FunctionDecl *FD, StringRef FName) { in isAutorelease() argument
234 RetainSummaryManager::getSummaryForOSObject(const FunctionDecl *FD, in getSummaryForOSObject() argument
257 return getOSSummaryCreateRule(FD); in getSummaryForOSObject()
259 return getOSSummaryGetRule(FD); in getSummaryForOSObject()
264 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in getSummaryForOSObject()
268 return getOSSummaryReleaseRule(FD); in getSummaryForOSObject()
271 return getOSSummaryRetainRule(FD); in getSummaryForOSObject()
274 return getOSSummaryFreeRule(FD); in getSummaryForOSObject()
285 const FunctionDecl *FD, in getSummaryForObjCOrCFObject() argument
407 if (isRetain(FD, FName)) { in getSummaryForObjCOrCFObject()
415 } else if (isAutorelease(FD, FName)) { in getSummaryForObjCOrCFObject()
425 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
432 if (isRetain(FD, FName)) in getSummaryForObjCOrCFObject()
435 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
442 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
445 if (FD->hasAttr<CFAuditedTransferAttr>()) { in getSummaryForObjCOrCFObject()
446 return getCFCreateGetRuleSummary(FD); in getSummaryForObjCOrCFObject()
456 if (isRelease(FD, FName)) in getSummaryForObjCOrCFObject()
493 RetainSummaryManager::generateSummary(const FunctionDecl *FD, in generateSummary() argument
496 if (FD->isImplicit()) in generateSummary()
499 const IdentifierInfo *II = FD->getIdentifier(); in generateSummary()
508 const auto *FT = FD->getType()->castAs<FunctionType>(); in generateSummary()
512 if (const RetainSummary *S = getSummaryForOSObject(FD, FName, RetTy)) in generateSummary()
515 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) in generateSummary()
525 getSummaryForObjCOrCFObject(FD, FName, RetTy, FT, AllowAnnotations)) in generateSummary()
532 RetainSummaryManager::getFunctionSummary(const FunctionDecl *FD) { in getFunctionSummary() argument
534 if (!FD) in getFunctionSummary()
538 FuncSummariesTy::iterator I = FuncSummaries.find(FD); in getFunctionSummary()
544 const RetainSummary *S = generateSummary(FD, AllowAnnotations); in getFunctionSummary()
548 updateSummaryFromAnnotations(S, FD); in getFunctionSummary()
550 FuncSummaries[FD] = S; in getFunctionSummary()
702 RetainSummaryManager::getCFCreateGetRuleSummary(const FunctionDecl *FD) { in getCFCreateGetRuleSummary() argument
703 if (coreFoundation::followsCreateRule(FD)) in getCFCreateGetRuleSummary()
704 return getCFSummaryCreateRule(FD); in getCFCreateGetRuleSummary()
706 return getCFSummaryGetRule(FD); in getCFCreateGetRuleSummary()
710 const Decl *FD) { in isTrustedReferenceCountImplementation() argument
711 return hasRCAnnotation(FD, "rc_ownership_trusted_implementation"); in isTrustedReferenceCountImplementation()
715 RetainSummaryManager::canEval(const CallExpr *CE, const FunctionDecl *FD, in canEval() argument
718 IdentifierInfo *II = FD->getIdentifier(); in canEval()
743 (isRetain(FD, FName) || isAutorelease(FD, FName) || in canEval()
753 if (isOSObjectDynamicCast(FName) && FD->param_size() >= 1) { in canEval()
755 } else if (isOSObjectRequiredCast(FName) && FD->param_size() >= 1) { in canEval()
757 } else if (isOSObjectThisCast(FName) && isa<CXXMethodDecl>(FD) && in canEval()
758 !cast<CXXMethodDecl>(FD)->isStatic()) { in canEval()
763 const FunctionDecl* FDD = FD->getDefinition(); in canEval()
770 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in canEval()
802 RetainSummaryManager::getOSSummaryRetainRule(const FunctionDecl *FD) { in getOSSummaryRetainRule() argument
811 RetainSummaryManager::getOSSummaryReleaseRule(const FunctionDecl *FD) { in getOSSummaryReleaseRule() argument
820 RetainSummaryManager::getOSSummaryFreeRule(const FunctionDecl *FD) { in getOSSummaryFreeRule() argument
829 RetainSummaryManager::getOSSummaryCreateRule(const FunctionDecl *FD) { in getOSSummaryCreateRule() argument
835 RetainSummaryManager::getOSSummaryGetRule(const FunctionDecl *FD) { in getOSSummaryGetRule() argument
841 RetainSummaryManager::getCFSummaryCreateRule(const FunctionDecl *FD) { in getCFSummaryCreateRule() argument
847 RetainSummaryManager::getCFSummaryGetRule(const FunctionDecl *FD) { in getCFSummaryGetRule() argument
898 if (const auto *FD = dyn_cast<FunctionDecl>(ND)) { in getCallableReturnType() local
899 return FD->getReturnType(); in getCallableReturnType()
908 const ParmVarDecl *pd, unsigned parm_idx, const NamedDecl *FD, in applyParamAnnotationEffect() argument
924 QualType QT = getCallableReturnType(FD); in applyParamAnnotationEffect()
959 if (const auto *MD = dyn_cast<CXXMethodDecl>(FD)) { in applyParamAnnotationEffect()
972 const FunctionDecl *FD) { in updateSummaryFromAnnotations() argument
973 if (!FD) in updateSummaryFromAnnotations()
981 for (auto pi = FD->param_begin(), in updateSummaryFromAnnotations()
982 pe = FD->param_end(); pi != pe; ++pi, ++parm_idx) in updateSummaryFromAnnotations()
983 applyParamAnnotationEffect(*pi, parm_idx, FD, Template); in updateSummaryFromAnnotations()
985 QualType RetTy = FD->getReturnType(); in updateSummaryFromAnnotations()
986 if (Optional<RetEffect> RetE = getRetEffectFromAnnotations(RetTy, FD)) in updateSummaryFromAnnotations()
989 if (hasAnyEnabledAttrOf<OSConsumesThisAttr>(FD, RetTy)) in updateSummaryFromAnnotations()