clang 20.0.0git
|
#include "clang/Analysis/DomainSpecific/CocoaConventions.h"
#include "clang/Analysis/RetainSummaryManager.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/ParentMap.h"
#include "clang/ASTMatchers/ASTMatchFinder.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 901 of file RetainSummaryManager.cpp.
References clang::FunctionDecl::getReturnType().
Definition at line 562 of file RetainSummaryManager.cpp.
References clang::ento::Autorelease, clang::ento::Dealloc, clang::ento::DecRef, clang::ento::DecRefAndStopTrackingHard, clang::ento::DecRefBridgedTransferred, clang::ento::DoNothing, E, clang::ento::IncRef, clang::ento::MayEscape, clang::ento::RetainedOutParameter, clang::ento::RetainedOutParameterOnNonZero, clang::ento::RetainedOutParameterOnZero, clang::ento::StopTracking, clang::ento::StopTrackingHard, and clang::ento::UnretainedOutParameter.
Definition at line 184 of file RetainSummaryManager.cpp.
References D, and clang::Decl::specific_attrs().
Referenced by clang::ento::RetainSummaryManager::isTrustedReferenceCountImplementation().
QT
has a typedef with a given name Name
. Definition at line 890 of file RetainSummaryManager.cpp.
References clang::IdentifierTable::get(), clang::Type::getAs(), clang::ASTContext::Idents, and clang::T.
|
static |
Definition at line 202 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 149 of file RetainSummaryManager.cpp.
References clang::ast_matchers::cxxRecordDecl, D, clang::Decl::getASTContext(), clang::ast_matchers::hasName(), and clang::ast_matchers::match().
Referenced by isOSObjectSubclass().
Definition at line 176 of file RetainSummaryManager.cpp.
References clang::QualType::getAsString().
|
static |
Definition at line 207 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
|
staticconstexpr |
Definition at line 28 of file RetainSummaryManager.cpp.
Referenced by clang::format::FormatToken::isIf(), isOneOf(), clang::dependency_directives_scan::Token::isOneOf(), clang::Token::isOneOf(), clang::format::FormatToken::isPointerOrReference(), and clang::format::FormatToken::isTypeOrIdentifier().
Helper function to check whether the class is one of the rest of varargs.
Definition at line 35 of file RetainSummaryManager.cpp.
Definition at line 180 of file RetainSummaryManager.cpp.
References D, and isSubclass().
|
static |
Definition at line 161 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 172 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 213 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 163 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 156 of file RetainSummaryManager.cpp.
References D, isExactClass(), and isSubclass().
Referenced by clang::ento::RetainSummaryManager::canEval(), isOSObjectPtr(), and isOSObjectRelated().
|
static |
Definition at line 167 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
|
static |
Definition at line 197 of file RetainSummaryManager.cpp.
|
static |
Definition at line 192 of file RetainSummaryManager.cpp.
Referenced by clang::ento::RetainSummaryManager::canEval().
Definition at line 141 of file RetainSummaryManager.cpp.
References clang::ast_matchers::cxxRecordDecl, D, clang::Decl::getASTContext(), and clang::ast_matchers::match().