clang 22.0.0git
|
#include "clang/Analysis/RetainSummaryManager.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/Analysis/DomainSpecific/CocoaConventions.h"
#include <optional>
Go to the source code of this file.
Functions | |
template<class T> | |
static constexpr bool | isOneOf () |
template<class T, class P, class... ToCompare> | |
static constexpr bool | isOneOf () |
Helper function to check whether the class is one of the rest of varargs. | |
static bool | isSubclass (const Decl *D, StringRef ClassName) |
static bool | isExactClass (const Decl *D, StringRef ClassName) |
static bool | isOSObjectSubclass (const Decl *D) |
static bool | isOSObjectDynamicCast (StringRef S) |
static bool | isOSObjectRequiredCast (StringRef S) |
static bool | isOSObjectThisCast (StringRef S) |
static bool | isOSObjectPtr (QualType QT) |
static bool | isISLObjectRef (QualType Ty) |
static bool | isOSIteratorSubclass (const Decl *D) |
static bool | hasRCAnnotation (const Decl *D, StringRef rcAnnotation) |
static bool | isRetain (const FunctionDecl *FD, StringRef FName) |
static bool | isRelease (const FunctionDecl *FD, StringRef FName) |
static bool | isAutorelease (const FunctionDecl *FD, StringRef FName) |
static bool | isMakeCollectable (StringRef FName) |
static bool | isOSObjectRelated (const CXXMethodDecl *MD) |
A function is OSObject related if it is declared on a subclass of OSObject, or any of the parameters is a subclass of an OSObject. | |
static ArgEffect | getStopTrackingHardEquivalent (ArgEffect E) |
static bool | hasTypedefNamed (QualType QT, StringRef Name) |
static QualType | getCallableReturnType (const NamedDecl *ND) |
Definition at line 899 of file RetainSummaryManager.cpp.
References clang::FunctionDecl::getReturnType().
Definition at line 560 of file RetainSummaryManager.cpp.
References clang::ento::Autorelease, clang::ento::Dealloc, clang::ento::DecRef, clang::ento::DecRefAndStopTrackingHard, clang::ento::DecRefBridgedTransferred, clang::ento::DoNothing, clang::ento::ArgEffect::getKind(), clang::ento::IncRef, clang::ento::MayEscape, clang::ento::RetainedOutParameter, clang::ento::RetainedOutParameterOnNonZero, clang::ento::RetainedOutParameterOnZero, clang::ento::StopTracking, clang::ento::StopTrackingHard, clang::ento::UnretainedOutParameter, and clang::ento::ArgEffect::withKind().
Definition at line 182 of file RetainSummaryManager.cpp.
References clang::Decl::specific_attrs().
Referenced by clang::ento::RetainSummaryManager::isTrustedReferenceCountImplementation().
QT
has a typedef with a given name Name
. Definition at line 888 of file RetainSummaryManager.cpp.
References clang::Type::getAs(), and clang::T.
|
static |
Definition at line 200 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 148 of file RetainSummaryManager.cpp.
References clang::ast_matchers::cxxRecordDecl, clang::Decl::getASTContext(), clang::ast_matchers::hasName(), and clang::ast_matchers::match().
Referenced by isOSObjectSubclass().
Definition at line 174 of file RetainSummaryManager.cpp.
References clang::QualType::getAsString().
|
static |
Definition at line 205 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
|
staticconstexpr |
Definition at line 27 of file RetainSummaryManager.cpp.
Referenced by clang::format::FormatToken::isIf(), and isOneOf().
|
staticconstexpr |
Helper function to check whether the class is one of the rest of varargs.
Definition at line 34 of file RetainSummaryManager.cpp.
Definition at line 178 of file RetainSummaryManager.cpp.
References isSubclass().
|
static |
Definition at line 159 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 170 of file RetainSummaryManager.cpp.
References clang::Type::getPointeeCXXRecordDecl(), and isOSObjectSubclass().
|
static |
A function is OSObject related if it is declared on a subclass of OSObject, or any of the parameters is a subclass of an OSObject.
Definition at line 211 of file RetainSummaryManager.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::CXXMethodDecl::getParent(), clang::Type::getPointeeType(), clang::QualType::isNull(), isOSObjectSubclass(), and clang::FunctionDecl::parameters().
|
static |
Definition at line 161 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 154 of file RetainSummaryManager.cpp.
References isExactClass(), and isSubclass().
Referenced by clang::ento::RetainSummaryManager::canEval(), isOSObjectPtr(), and isOSObjectRelated().
|
static |
Definition at line 165 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
|
static |
Definition at line 195 of file RetainSummaryManager.cpp.
|
static |
Definition at line 190 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 140 of file RetainSummaryManager.cpp.
References clang::ast_matchers::cxxRecordDecl, clang::Decl::getASTContext(), and clang::ast_matchers::match().