clang
10.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"
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. More... | |
static bool | isSubclass (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. More... | |
static ArgEffect | getStopTrackingHardEquivalent (ArgEffect E) |
Definition at line 557 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 176 of file RetainSummaryManager.cpp.
References clang::Decl::specific_attrs().
|
static |
Definition at line 192 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
Definition at line 168 of file RetainSummaryManager.cpp.
References clang::QualType::getAsString().
|
static |
Definition at line 197 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
|
static |
Definition at line 27 of file RetainSummaryManager.cpp.
References P.
Referenced by getMissingDeclaratorIdLoc(), and isOneOf().
|
static |
Helper function to check whether the class is one of the rest of varargs.
Definition at line 34 of file RetainSummaryManager.cpp.
References clang::ento::CF, clang::classof(), clang::ento::Generalized, clang::Decl::hasAttr(), clang::ento::cocoa::isCocoaObjectRef(), isOneOf(), clang::ento::ObjC, and clang::ento::OS.
Definition at line 172 of file RetainSummaryManager.cpp.
References isSubclass().
Referenced by isOSObjectRelated().
|
static |
Definition at line 151 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
Definition at line 164 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 203 of file RetainSummaryManager.cpp.
References clang::ento::Autorelease, clang::Type::castAs(), clang::ento::CF, clang::ento::DecRef, clang::ento::DoNothing, clang::Type::getAsCXXRecordDecl(), clang::QualType::getAsString(), clang::QualType::getCanonicalType(), clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), clang::CXXMethodDecl::getParent(), clang::Type::getPointeeType(), clang::FunctionType::getReturnType(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), clang::ento::IncRef, isAutorelease(), clang::ento::coreFoundation::isCFObjectRef(), clang::Decl::isImplicit(), isMakeCollectable(), clang::QualType::isNull(), clang::Type::isObjCIdType(), isOSIteratorSubclass(), isOSObjectDynamicCast(), isOSObjectRequiredCast(), isOSObjectSubclass(), isOSObjectThisCast(), clang::Type::isPointerType(), clang::ento::cocoa::isRefType(), isRelease(), isRetain(), clang::ento::RetEffect::MakeNoRet(), clang::ento::RetEffect::MakeOwned(), clang::ento::MayEscape, clang::FunctionDecl::parameters(), Parent, and clang::ento::StopTracking.
|
static |
Definition at line 155 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
Definition at line 147 of file RetainSummaryManager.cpp.
References isSubclass().
Referenced by isOSObjectPtr(), and isOSObjectRelated().
|
static |
Definition at line 159 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
|
static |
Definition at line 188 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
|
static |
Definition at line 184 of file RetainSummaryManager.cpp.
Referenced by isOSObjectRelated().
Definition at line 140 of file RetainSummaryManager.cpp.
References clang::ast_matchers::cxxRecordDecl, clang::Decl::getASTContext(), and clang::ast_matchers::match().
Referenced by isOSIteratorSubclass(), and isOSObjectSubclass().