clang
3.7.0
|
#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/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static bool | scan_ivar_release (Stmt *S, ObjCIvarDecl *ID, const ObjCPropertyDecl *PD, Selector Release, IdentifierInfo *SelfII, ASTContext &Ctx) |
static void | checkObjCDealloc (const CheckerBase *Checker, const ObjCImplementationDecl *D, const LangOptions &LOpts, BugReporter &BR) |
|
static |
Definition at line 79 of file CheckObjCDealloc.cpp.
References clang::ObjCPropertyDecl::Assign, clang::ento::categories::CoreFoundationObjectiveC, clang::ento::PathDiagnosticLocation::createBegin(), clang::ento::BugReporter::EmitBasicReport(), clang::LangOptions::GCOnly, clang::ObjCMethodDecl::getBody(), clang::ObjCImplDecl::getClassInterface(), clang::ento::BugReporter::getContext(), clang::NamedDecl::getIdentifier(), clang::ObjCPropertyDecl::getSetterKind(), clang::ento::BugReporter::getSourceManager(), clang::ObjCInterfaceDecl::getSuperClass(), clang::ValueDecl::getType(), clang::ObjCContainerDecl::instance_methods(), clang::Type::isObjCObjectPointerType(), clang::ObjCPropertyDecl::isReadOnly(), clang::ObjCInterfaceDecl::ivars(), clang::LangOptions::NonGC, clang::ObjCImplDecl::property_impls(), S, scan_ivar_release(), and clang::ObjCPropertyImplDecl::Synthesize.
|
static |
Definition at line 31 of file CheckObjCDealloc.cpp.
References clang::ObjCPropertyDecl::Assign, clang::ObjCPropertyDecl::getSetterKind(), clang::ObjCPropertyDecl::getSetterMethodDecl(), clang::Expr::IgnoreParenCasts(), and clang::Expr::NPC_ValueDependentIsNull.
Referenced by checkObjCDealloc().