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 {
173 return K == Other.K && O == Other.O;
RetEffect getReturnValue() const
Returns the effect on the return value.
An instance of this class is created to represent a function declaration or definition.
static RetEffect MakeOwnedWhenTrackedReceiver()
The argument acts as if has been passed to CFMakeCollectable, which transfers the object to the Garba...
The argument has its reference count decreased by 1.
Indicates that the tracked object is an Objective-C object.
Indicates that the tracked object is a generalized object.
static RetEffect MakeNoRet()
The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +1 v...
ObjCMethodDecl - Represents an instance or class method declaration.
ArrayRef< ArgEffect > getArgs() const
Returns the argument effects for a call.
static RetEffect MakeNoRetHard()
The argument is treated as if an -autorelease message had been sent to the referenced object...
The argument has its reference count increased by 1.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
ArgEffect
An ArgEffect summarizes the retain count behavior on an argument or receiver to a function or method...
Indicates that the returned value is an owned (+1) symbol.
Indicates that the return value is an owned object when the receiver is also a tracked object...
The argument is treated as potentially escaping, meaning that even when its reference count hits 0 it...
ObjKind getObjKind() const
Indicates that the tracked object is a CF object.
ArgEffect getReceiver() const
Returns the effects on the receiver.
Indicates that the object is not owned and controlled by the Garbage collector.
ObjKind
Determines the object kind of a tracked object.
static RetEffect MakeGCNotOwned()
bool operator==(const RetEffect &Other) const
static RetEffect MakeNotOwned(ObjKind o)
The argument has its reference count increased by 1.
The argument has its reference count decreased by 1 to model a transferred bridge cast under ARC...
All typestate tracking of the object ceases.
Dataflow Directional Tag Classes.
The argument is treated as if an -dealloc message had been sent to the referenced object...
Performs the combined functionality of DecRef and StopTrackingHard.
RetEffect summarizes a call's retain/release behavior with respect to its return value.
Performs the combined functionality of DecRefMsg and StopTrackingHard.
The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +0 v...
Indicates that no retain count information is tracked for the return value.
static RetEffect MakeOwned(ObjKind o)
All typestate tracking of the object ceases.
The argument has its reference count decreased by 1.
Encapsulates the retain count semantics on the arguments, return value, and receiver (if any) of a fu...
Indicates that the returned value is an object with retain count semantics but that it is not owned (...
Indicates that the tracked object could be a CF or Objective-C object.