enum ArgEffectKind

Declared at: clang/include/clang/Analysis/RetainSummaryManager.h:53

Enumerators

NameValueComment
DoNothing0There is no effect.
Autorelease1The argument is treated as if an -autorelease message had been sent to the referenced object.
Dealloc2The argument is treated as if the referenced object was deallocated.
DecRef3The argument has its reference count decreased by 1.
DecRefBridgedTransferred4The argument has its reference count decreased by 1 to model a transferred bridge cast under ARC.
IncRef5The argument has its reference count increased by 1.
UnretainedOutParameter6The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +0 value.
RetainedOutParameter7The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +1 value.
RetainedOutParameterOnZero8The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +1 value iff the return code is zero.
RetainedOutParameterOnNonZero9The argument is a pointer to a retain-counted object; on exit, the new value of the pointer is a +1 value iff the return code is non-zero.
MayEscape10The argument is treated as potentially escaping, meaning that even when its reference count hits 0 it should be treated as still possibly being alive as someone else *may* be holding onto the object.
StopTracking11All typestate tracking of the object ceases. This is usually employed when the effect of the call is completely unknown.
StopTrackingHard12All typestate tracking of the object ceases. Unlike StopTracking, this is also enforced when the method body is inlined.In some cases, we obtain a better summary for this checker by looking at the call site than by inlining the function. Signifies that we should stop tracking the symbol even if the function is inlined.
DecRefAndStopTrackingHard13Performs the combined functionality of DecRef and StopTrackingHard.The models the effect that the called function decrements the reference count of the argument and all typestate tracking on that argument should cease.