clang 19.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, 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 184 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 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, 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 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 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, clang::Decl::getASTContext(), and clang::ast_matchers::match().