clang  5.0.0
Classes | Namespaces | Typedefs | Enumerations | Functions
CheckObjCDealloc.cpp File Reference
#include "ClangSACheckers.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/BugReporter/PathDiagnostic.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 dependency graph for CheckObjCDealloc.cpp:

Go to the source code of this file.

Classes

struct  clang::ento::ProgramStateTrait< SymbolSet >
 

Namespaces

 clang
 /file This file defines classes for searching and anlyzing source code clones.
 
 clang::ento
 

Typedefs

typedef llvm::ImmutableSet
< SymbolRef
SymbolSet
 

Enumerations

enum  ReleaseRequirement { ReleaseRequirement::MustRelease, ReleaseRequirement::MustNotReleaseDirectly, ReleaseRequirement::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. More...
 

Typedef Documentation

Definition at line 181 of file CheckObjCDealloc.cpp.

Enumeration Type Documentation

enum 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

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