clang  3.9.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::ento::objc_retain::RetEffect Class Reference

RetEffect summarizes a call's retain/release behavior with respect to its return value. More...

#include <ObjCRetainCount.h>

Public Types

enum  Kind {
  NoRet, OwnedSymbol, OwnedAllocatedSymbol, NotOwnedSymbol,
  GCNotOwnedSymbol, OwnedWhenTrackedReceiver, NoRetHard
}
 
enum  ObjKind { CF, ObjC, AnyObj }
 Determines the object kind of a tracked object. More...
 

Public Member Functions

Kind getKind () const
 
ObjKind getObjKind () const
 
bool isOwned () const
 
bool notOwned () const
 
bool operator== (const RetEffect &Other) const
 

Static Public Member Functions

static RetEffect MakeOwnedWhenTrackedReceiver ()
 
static RetEffect MakeOwned (ObjKind o, bool isAllocated=false)
 
static RetEffect MakeNotOwned (ObjKind o)
 
static RetEffect MakeGCNotOwned ()
 
static RetEffect MakeNoRet ()
 
static RetEffect MakeNoRetHard ()
 

Detailed Description

RetEffect summarizes a call's retain/release behavior with respect to its return value.

Definition at line 115 of file ObjCRetainCount.h.

Member Enumeration Documentation

Enumerator
NoRet 

Indicates that no retain count information is tracked for the return value.

OwnedSymbol 

Indicates that the returned value is an owned (+1) symbol.

OwnedAllocatedSymbol 

Indicates that the returned value is an owned (+1) symbol and that it should be treated as freshly allocated.

NotOwnedSymbol 

Indicates that the returned value is an object with retain count semantics but that it is not owned (+0).

This is the default for getters, etc.

GCNotOwnedSymbol 

Indicates that the object is not owned and controlled by the Garbage collector.

OwnedWhenTrackedReceiver 

Indicates that the return value is an owned object when the receiver is also a tracked object.

NoRetHard 

Definition at line 117 of file ObjCRetainCount.h.

Determines the object kind of a tracked object.

Enumerator
CF 

Indicates that the tracked object is a CF object.

This is important between GC and non-GC code.

ObjC 

Indicates that the tracked object is an Objective-C object.

AnyObj 

Indicates that the tracked object could be a CF or Objective-C object.

Definition at line 144 of file ObjCRetainCount.h.

Member Function Documentation

Kind clang::ento::objc_retain::RetEffect::getKind ( ) const
inline

Definition at line 161 of file ObjCRetainCount.h.

Referenced by llvm::FoldingSetTrait< RetEffect >::Profile().

ObjKind clang::ento::objc_retain::RetEffect::getObjKind ( ) const
inline

Definition at line 163 of file ObjCRetainCount.h.

Referenced by llvm::FoldingSetTrait< RetEffect >::Profile().

bool clang::ento::objc_retain::RetEffect::isOwned ( ) const
inline

Definition at line 165 of file ObjCRetainCount.h.

References OwnedAllocatedSymbol, OwnedSymbol, and OwnedWhenTrackedReceiver.

static RetEffect clang::ento::objc_retain::RetEffect::MakeGCNotOwned ( )
inlinestatic

Definition at line 188 of file ObjCRetainCount.h.

References GCNotOwnedSymbol, and ObjC.

static RetEffect clang::ento::objc_retain::RetEffect::MakeNoRet ( )
inlinestatic

Definition at line 191 of file ObjCRetainCount.h.

References NoRet.

static RetEffect clang::ento::objc_retain::RetEffect::MakeNoRetHard ( )
inlinestatic

Definition at line 194 of file ObjCRetainCount.h.

References NoRetHard.

static RetEffect clang::ento::objc_retain::RetEffect::MakeNotOwned ( ObjKind  o)
inlinestatic

Definition at line 185 of file ObjCRetainCount.h.

References NotOwnedSymbol.

static RetEffect clang::ento::objc_retain::RetEffect::MakeOwned ( ObjKind  o,
bool  isAllocated = false 
)
inlinestatic

Definition at line 182 of file ObjCRetainCount.h.

References OwnedAllocatedSymbol, and OwnedSymbol.

static RetEffect clang::ento::objc_retain::RetEffect::MakeOwnedWhenTrackedReceiver ( )
inlinestatic

Definition at line 178 of file ObjCRetainCount.h.

References ObjC, and OwnedWhenTrackedReceiver.

bool clang::ento::objc_retain::RetEffect::notOwned ( ) const
inline

Definition at line 170 of file ObjCRetainCount.h.

References NotOwnedSymbol.

bool clang::ento::objc_retain::RetEffect::operator== ( const RetEffect Other) const
inline

Definition at line 174 of file ObjCRetainCount.h.


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