clang API Documentation
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/StmtCXX.h"
#include "clang/Basic/PrettyStackTrace.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
Go to the source code of this file.
Functions | |
static SVal | makeZeroElementRegion (ProgramStateRef State, SVal LValue, QualType &Ty) |
static const MemRegion * | getRegionForConstructedObject (const CXXConstructExpr *CE, ExplodedNode *Pred, ExprEngine &Eng, unsigned int CurrStmtIdx) |
static const MemRegion* getRegionForConstructedObject | ( | const CXXConstructExpr * | CE, |
ExplodedNode * | Pred, | ||
ExprEngine & | Eng, | ||
unsigned int | CurrStmtIdx | ||
) | [static] |
Definition at line 106 of file ExprEngineCXX.cpp.
References clang::CFGElement::getAs(), clang::ento::SVal::getAsRegion(), clang::ento::NodeBuilderContext::getBlock(), clang::ento::ExprEngine::getBuilderContext(), clang::LocationContext::getCurrentStackFrame(), clang::ento::MemRegionManager::getCXXTempObjectRegion(), clang::ento::SValBuilder::getCXXThis(), clang::LocationContext::getDecl(), clang::CXXCtorInitializer::getIndirectMember(), clang::ento::ExplodedNode::getLocationContext(), clang::CXXCtorInitializer::getMember(), clang::ento::SValBuilder::getRegionManager(), clang::ento::ExplodedNode::getState(), clang::ento::ExprEngine::getSValBuilder(), clang::ValueDecl::getType(), clang::CXXCtorInitializer::isAnyMemberInitializer(), clang::CXXCtorInitializer::isIndirectMemberInitializer(), makeZeroElementRegion(), and clang::CFGBlock::size().
Referenced by clang::ento::ExprEngine::VisitCXXConstructExpr().
static SVal makeZeroElementRegion | ( | ProgramStateRef | State, |
SVal | LValue, | ||
QualType & | Ty | ||
) | [static] |
Returns a region representing the first element of a (possibly multi-dimensional) array.
On return, Ty
will be set to the base type of the array.
If the type is not an array type at all, the original value is returned.
Definition at line 92 of file ExprEngineCXX.cpp.
References clang::ASTContext::getAsArrayType(), clang::ento::SValBuilder::getContext(), clang::ento::SValBuilder::getStateManager(), clang::ento::ProgramStateManager::getSValBuilder(), and clang::ento::SValBuilder::makeZeroArrayIndex().
Referenced by getRegionForConstructedObject(), and clang::ento::ExprEngine::VisitCXXDestructor().