|
clang 23.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 898 of file RetainSummaryManager.cpp.
References clang::FunctionDecl::getReturnType().
Definition at line 559 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 887 of file RetainSummaryManager.cpp.
References clang::Type::getAs().
|
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::Token::isModuleContextualKeyword(), 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.
References isOneOf().
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().