clang: lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp File Reference (original) (raw)

Go to the source code of this file.

Namespaces
namespace clang
The JSON file list parser is used to communicate input to InstallAPI.
namespace clang::ento
namespace clang::ento::smartptr
Functions
static bool hasStdClassWithName (const CXXRecordDecl *RD, ArrayRef< llvm::StringLiteral > Names)
static bool isStdSmartPtr (const CXXRecordDecl *RD)
static bool isStdSmartPtr (const Expr *E)
bool clang::ento::smartptr::isStdSmartPtrCall (const CallEvent &Call)
Returns true if the event call is on smart pointer.
bool clang::ento::smartptr::isStdSmartPtr (const CXXRecordDecl *RD)
bool clang::ento::smartptr::isStdSmartPtr (const Expr *E)
bool clang::ento::smartptr::isNullSmartPtr (const ProgramStateRef State, const MemRegion *ThisRegion)
Returns whether the smart pointer is null or not.
static TrackedRegionMapTy removeTrackedSubregions (TrackedRegionMapTy RegionMap, TrackedRegionMapTy::Factory &RegionMapFactory, const MemRegion *Region)
static ProgramStateRef updateSwappedRegion (ProgramStateRef State, const MemRegion *Region, const SVal *RegionInnerPointerVal)
static QualType getInnerPointerType (CheckerContext C, const CXXRecordDecl *RD)
static QualType getPointerTypeFromTemplateArg (const CallEvent &Call, CheckerContext &C)
static QualType getInnerPointerType (const CallEvent &Call, CheckerContext &C)
static void checkAndPrettyPrintRegion (llvm::raw_ostream &OS, const MemRegion *Region)
static bool isStdBasicOstream (const Expr *E)
static bool isStdFunctionCall (const CallEvent &Call)
static bool isStdOstreamOperatorCall (const CallEvent &Call)
static bool isPotentiallyComparisionOpCall (const CallEvent &Call)

checkAndPrettyPrintRegion()

static void checkAndPrettyPrintRegion ( llvm::raw_ostream & OS, const MemRegion * Region ) static

getInnerPointerType() [1/2]

getInnerPointerType() [2/2]

getPointerTypeFromTemplateArg()

hasStdClassWithName()

isPotentiallyComparisionOpCall()

static bool isPotentiallyComparisionOpCall ( const CallEvent & Call) static

isStdBasicOstream()

static bool isStdBasicOstream ( const Expr * E) static

isStdFunctionCall()

isStdOstreamOperatorCall()

static bool isStdOstreamOperatorCall ( const CallEvent & Call) static

isStdSmartPtr() [1/2]

isStdSmartPtr() [2/2]

static bool isStdSmartPtr ( const Expr * E) static

removeTrackedSubregions()

static TrackedRegionMapTy removeTrackedSubregions ( TrackedRegionMapTy RegionMap, TrackedRegionMapTy::Factory & RegionMapFactory, const MemRegion * Region ) static

updateSwappedRegion()

BASIC_OSTREAM_NAMES

constexpr llvm::StringLiteral BASIC_OSTREAM_NAMES[] = {"basic_ostream"} constexpr

STD_PTR_NAMES

constexpr llvm::StringLiteral STD_PTR_NAMES[] constexpr