clang 20.0.0git
Enumerations | Functions
CheckObjCDealloc.cpp File Reference
#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/Analysis/PathDiagnostic.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprObjC.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
#include "llvm/Support/raw_ostream.h"
#include <optional>

Go to the source code of this file.

Enumerations

enum class  ReleaseRequirement { MustRelease , MustNotReleaseDirectly , Unknown }
 Indicates whether an instance variable is required to be released in -dealloc. More...
 

Functions

static bool isSynthesizedRetainableProperty (const ObjCPropertyImplDecl *I, const ObjCIvarDecl **ID, const ObjCPropertyDecl **PD)
 Returns true if the property implementation is synthesized and the type of the property is retainable.
 

Enumeration Type Documentation

◆ ReleaseRequirement

enum class ReleaseRequirement
strong

Indicates whether an instance variable is required to be released in -dealloc.

Enumerator
MustRelease 

The instance variable must be released, either by calling -release on it directly or by nilling it out with a property setter.

MustNotReleaseDirectly 

The instance variable must not be directly released with -release.

Unknown 

The requirement for the instance variable could not be determined.

Definition at line 55 of file CheckObjCDealloc.cpp.

Function Documentation

◆ isSynthesizedRetainableProperty()

static bool isSynthesizedRetainableProperty ( const ObjCPropertyImplDecl I,
const ObjCIvarDecl **  ID,
const ObjCPropertyDecl **  PD 
)
static