clang
3.7.0
|
#include "ClangSACheckers.h"
#include "AllocationDiagnostics.h"
#include "SelectorExtras.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/ParentMap.h"
#include "clang/Analysis/DomainSpecific/CocoaConventions.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceManager.h"
#include "clang/StaticAnalyzer/Checkers/ObjCRetainCount.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/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/ImmutableList.h"
#include "llvm/ADT/ImmutableMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include <cstdarg>
Go to the source code of this file.
Classes | |
struct | llvm::FoldingSetTrait< ArgEffect > |
struct | llvm::FoldingSetTrait< RetEffect > |
struct | llvm::DenseMapInfo< ObjCSummaryKey > |
struct | AllocationInfo |
Namespaces | |
llvm | |
clang | |
clang::ento | |
clang::ento::objc_retain | |
Macros | |
#define | createCallEffect(D, KIND) |
Typedefs | |
typedef llvm::ImmutableMap < unsigned, ArgEffect > | ArgEffects |
#define createCallEffect | ( | D, | |
KIND | |||
) |
Definition at line 4001 of file RetainCountChecker.cpp.
Referenced by clang::ento::objc_retain::CallEffects::getEffect().
typedef llvm::ImmutableMap<unsigned,ArgEffect> ArgEffects |
ArgEffects summarizes the effects of a function/method call on all of its arguments.
Definition at line 72 of file RetainCountChecker.cpp.
|
static |
Definition at line 2211 of file RetainCountChecker.cpp.
References clang::ProgramPoint::getAs(), clang::ento::MemRegion::getAs(), clang::ento::SVal::getAsSymbol(), clang::ento::MemRegion::getBaseRegion(), clang::LocationContext::getCurrentStackFrame(), clang::ento::ExplodedNode::getLocation(), clang::ento::ExplodedNode::getLocationContext(), getRefBinding(), clang::ento::StoreManager::FindUniqueBinding::getRegion(), clang::ento::VarRegion::getStackFrame(), clang::ento::ExplodedNode::getState(), clang::LocationContext::isParentOf(), clang::ento::ProgramStateManager::iterBindings(), clang::OMF_alloc, clang::OMF_init, clang::ento::ExplodedNode::pred_begin(), and clang::ento::ExplodedNode::pred_empty().
|
inlinestatic |
Definition at line 363 of file RetainCountChecker.cpp.
Referenced by GetAllocationSite().
|
static |
GetReturnType - Used to get the return type of a message expression or function call with the intention of affixing that type to a tracked symbol. While the return type can be queried directly from RetEx, when invoking class methods we augment to the return type to be that of a pointer to the class (as opposed it just being id).
more specific than id.
Definition at line 2913 of file RetainCountChecker.cpp.
References clang::Type::getAs(), clang::ASTContext::getObjCInterfaceType(), clang::ASTContext::getObjCObjectPointerType(), and clang::Expr::getType().
Definition at line 901 of file RetainCountChecker.cpp.
References clang::ento::objc_retain::Autorelease, clang::ento::objc_retain::Dealloc, clang::ento::objc_retain::DecRef, clang::ento::objc_retain::DecRefAndStopTrackingHard, clang::ento::objc_retain::DecRefBridgedTransferred, clang::ento::objc_retain::DecRefMsg, clang::ento::objc_retain::DecRefMsgAndStopTrackingHard, clang::ento::objc_retain::DoNothing, clang::ento::objc_retain::IncRef, clang::ento::objc_retain::IncRefMsg, clang::ento::objc_retain::MakeCollectable, clang::ento::objc_retain::MayEscape, clang::ento::objc_retain::RetainedOutParameter, clang::ento::objc_retain::StopTracking, clang::ento::objc_retain::StopTrackingHard, and clang::ento::objc_retain::UnretainedOutParameter.
|
static |
Definition at line 891 of file RetainCountChecker.cpp.
|
static |
Definition at line 895 of file RetainCountChecker.cpp.
Definition at line 1870 of file RetainCountChecker.cpp.
|
static |
Definition at line 887 of file RetainCountChecker.cpp.
|
static |
Definition at line 883 of file RetainCountChecker.cpp.
|
static |
Returns true if this stack frame is for an Objective-C method that is a property getter or setter whose body has been synthesized by the analyzer.
Definition at line 1881 of file RetainCountChecker.cpp.
References clang::LocationContext::getAnalysisDeclContext(), clang::LocationContext::getDecl(), clang::AnalysisDeclContext::isBodyAutosynthesized(), and clang::ObjCMethodDecl::isPropertyAccessor().
|
static |
Definition at line 373 of file RetainCountChecker.cpp.
|
inlinestatic |
Definition at line 368 of file RetainCountChecker.cpp.
Referenced by updateOutParameter().
|
static |
Definition at line 2973 of file RetainCountChecker.cpp.
References clang::ento::SVal::getAsLocSymbol(), clang::ento::SVal::getAsRegion(), clang::ento::coreFoundation::isCFObjectRef(), clang::ento::objc_retain::RetainedOutParameter, setRefBinding(), State, and clang::ento::objc_retain::UnretainedOutParameter.
Definition at line 2833 of file RetainCountChecker.cpp.