clang
3.9.0
|
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprObjC.h"
#include "clang/Analysis/CFGStmtMap.h"
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static bool | isInitializationOfVar (const ExplodedNode *N, const VarRegion *VR) |
Returns true if N represents the DeclStmt declaring and initializing VR . More... | |
static const MemRegion * | getLocationRegionIfReference (const Expr *E, const ExplodedNode *N) |
static const Expr * | peelOffOuterExpr (const Expr *Ex, const ExplodedNode *N) |
|
static |
Definition at line 886 of file BugReporterVisitors.cpp.
References clang::ento::ExplodedNode::getLocationContext(), clang::ento::ProgramStateManager::getRegionManager(), clang::ento::ExplodedNode::getState(), and clang::ento::MemRegionManager::getVarRegion().
Referenced by clang::ento::bugreporter::trackNullOrUndefValue().
|
static |
Returns true if N
represents the DeclStmt declaring and initializing VR
.
Definition at line 423 of file BugReporterVisitors.cpp.
References clang::LocationContext::getCurrentStackFrame(), clang::ento::VarRegion::getDecl(), clang::ento::ExplodedNode::getLocationAs(), clang::ento::ExplodedNode::getLocationContext(), clang::ento::MemRegion::getMemorySpace(), clang::DeclStmt::getSingleDecl(), clang::ento::StackSpaceRegion::getStackFrame(), clang::VarDecl::hasLocalStorage(), clang::VarDecl::isStaticLocal(), and P.
Referenced by clang::ento::FindLastStoreBRVisitor::VisitNode().
|
static |
Definition at line 907 of file BugReporterVisitors.cpp.
References clang::ProgramPoint::getAs(), clang::ento::ExplodedNode::getFirstPred(), clang::ento::ExplodedNode::getLocation(), clang::CFGBlock::getTerminator(), clang::Expr::IgnoreParenCasts(), and clang::CFGBlock::succ_begin().
Referenced by clang::ento::bugreporter::trackNullOrUndefValue().