19 #ifndef LLVM_CLANG_STATICANALYZER_CHECKERS_OBJCRETAINCOUNT_H
20 #define LLVM_CLANG_STATICANALYZER_CHECKERS_OBJCRETAINCOUNT_H
23 #include "llvm/ADT/ArrayRef.h"
24 #include "llvm/ADT/SmallVector.h"
30 namespace ento {
namespace objc_retain {
175 return K == Other.K && O == Other.O;
static RetEffect MakeOwnedWhenTrackedReceiver()
Indicates that the tracked object is an Objective-C object.
static RetEffect MakeNoRet()
static RetEffect MakeNoRetHard()
RetEffect getReturnValue() const
Returns the effect on the return value.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
bool operator==(const RetEffect &Other) const
Indicates that the returned value is an owned (+1) symbol.
ArrayRef< ArgEffect > getArgs() const
Returns the argument effects for a call.
static CallEffects getEffect(const ObjCMethodDecl *MD)
Return the CallEfect for a given Objective-C method.
ObjKind
Determines the object kind of a tracked object.
static RetEffect MakeOwned(ObjKind o, bool isAllocated=false)
static RetEffect MakeGCNotOwned()
static RetEffect MakeNotOwned(ObjKind o)
ArgEffect getReceiver() const
Returns the effects on the receiver.
ObjKind getObjKind() const
Indicates that the tracked object could be a CF or Objective-C object.