clang  14.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::ento::RetainSummaryManager Class Reference

#include "clang/Analysis/RetainSummaryManager.h"

Public Types

enum  BehaviorSummary { BehaviorSummary::NoOp, BehaviorSummary::Identity, BehaviorSummary::IdentityThis, BehaviorSummary::IdentityOrZero }
 

Public Member Functions

 RetainSummaryManager (ASTContext &ctx, bool trackObjCAndCFObjects, bool trackOSObjects)
 
Optional< BehaviorSummarycanEval (const CallExpr *CE, const FunctionDecl *FD, bool &hasTrustedImplementationAnnotation)
 
bool isTrustedReferenceCountImplementation (const Decl *FD)
 
const RetainSummarygetSummary (AnyCall C, bool HasNonZeroCallbackArg=false, bool IsReceiverUnconsumedSelf=false, QualType ReceiverType={})
 
RetEffect getObjAllocRetEffect () const
 

Static Public Member Functions

static bool isKnownSmartPointer (QualType QT)
 

Friends

class RetainSummaryTemplate
 

Detailed Description

Definition at line 449 of file RetainSummaryManager.h.

Member Enumeration Documentation

◆ BehaviorSummary

Enumerator
NoOp 
Identity 
IdentityThis 
IdentityOrZero 

Definition at line 637 of file RetainSummaryManager.h.

Constructor & Destructor Documentation

◆ RetainSummaryManager()

clang::ento::RetainSummaryManager::RetainSummaryManager ( ASTContext ctx,
bool  trackObjCAndCFObjects,
bool  trackOSObjects 
)
inline

Definition at line 624 of file RetainSummaryManager.h.

Member Function Documentation

◆ canEval()

Optional< RetainSummaryManager::BehaviorSummary > RetainSummaryManager::canEval ( const CallExpr CE,
const FunctionDecl FD,
bool hasTrustedImplementationAnnotation 
)

◆ getObjAllocRetEffect()

RetEffect clang::ento::RetainSummaryManager::getObjAllocRetEffect ( ) const
inline

◆ getSummary()

const RetainSummary * RetainSummaryManager::getSummary ( AnyCall  C,
bool  HasNonZeroCallbackArg = false,
bool  IsReceiverUnconsumedSelf = false,
QualType  ReceiverType = {} 
)

◆ isKnownSmartPointer()

bool RetainSummaryManager::isKnownSmartPointer ( QualType  QT)
static
Returns
Whether the type corresponds to a known smart pointer implementation (that is, everything about it is inlineable).

Definition at line 228 of file RetainSummaryManager.cpp.

References clang::Type::getAsCXXRecordDecl(), clang::QualType::getCanonicalType(), and clang::IdentifierInfo::getName().

Referenced by isSmartPtrField().

◆ isTrustedReferenceCountImplementation()

bool RetainSummaryManager::isTrustedReferenceCountImplementation ( const Decl FD)

Friends And Related Function Documentation

◆ RetainSummaryTemplate

friend class RetainSummaryTemplate
friend

Definition at line 731 of file RetainSummaryManager.h.


The documentation for this class was generated from the following files: