Lines Matching defs:MemRegion

1 //== MemRegion.cpp - Abstract memory regions for static analysis --*- C++ -*--//
10 // This file defines MemRegion and its subclasses. MemRegion defines a
16 #include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"
31 // MemRegion Construction.
59 const MemRegion *superRegion) {
98 const MemRegion *superRegion) {
117 const MemRegion *superRegion) {
138 MemRegion::~MemRegion() {}
149 bool SubRegion::isSubRegionOf(const MemRegion* R) const {
150 const MemRegion* r = getSuperRegion();
165 const MemRegion *superRegion = r->getSuperRegion();
229 ObjCIvarRegion::ObjCIvarRegion(const ObjCIvarDecl *ivd, const MemRegion* sReg)
264 const MemRegion* superRegion) {
272 const MemRegion* superRegion) {
280 const MemRegion *superRegion) {
297 const MemRegion* superRegion) {
305 const MemRegion *sRegion) {
317 const MemRegion* superRegion) {
322 const MemRegion* superRegion, Kind k) {
337 const MemRegion *sreg) {
338 ID.AddInteger((unsigned) MemRegion::SymbolicRegionKind);
349 const MemRegion* superRegion) {
350 ID.AddInteger(MemRegion::ElementRegionKind);
362 const MemRegion*) {
363 ID.AddInteger(MemRegion::FunctionTextRegionKind);
374 const MemRegion*) {
375 ID.AddInteger(MemRegion::BlockTextRegionKind);
387 const MemRegion *sReg) {
388 ID.AddInteger(MemRegion::BlockDataRegionKind);
401 const MemRegion *sReg) {
413 const MemRegion *SReg) {
441 void MemRegion::dump() const {
445 std::string MemRegion::getString() const {
452 void MemRegion::dumpToStream(raw_ostream &os) const {
568 bool MemRegion::canPrintPretty() const {
572 bool MemRegion::canPrintPrettyAsExpr() const {
576 void MemRegion::printPretty(raw_ostream &os) const {
584 void MemRegion::printPrettyAsExpr(raw_ostream &os) const {
689 *MemRegionManager::getGlobalsRegion(MemRegion::Kind K,
692 if (K == MemRegion::GlobalSystemSpaceRegionKind)
694 if (K == MemRegion::GlobalImmutableSpaceRegionKind)
696 assert(K == MemRegion::GlobalInternalSpaceRegionKind);
700 assert(K == MemRegion::StaticGlobalSpaceRegionKind);
767 const MemRegion *sReg = nullptr;
776 sReg = getGlobalsRegion(MemRegion::GlobalSystemSpaceRegionKind);
778 sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
787 sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
810 ? static_cast<const MemRegion*>(getStackArgumentsRegion(STC))
811 : static_cast<const MemRegion*>(getStackLocalsRegion(STC));
817 sReg = getGlobalsRegion(MemRegion::StaticGlobalSpaceRegionKind,
833 sReg = getGlobalsRegion(MemRegion::StaticGlobalSpaceRegionKind,
847 const MemRegion *superR) {
855 const MemRegion *sReg = nullptr;
859 sReg = getGlobalsRegion(MemRegion::GlobalImmutableSpaceRegionKind);
882 Ex, getGlobalsRegion(MemRegion::GlobalInternalSpaceRegionKind, nullptr));
889 const MemRegion *sReg = nullptr;
904 const MemRegion* superRegion,
913 MemRegion* data = Regions.FindNodeOrInsertPos(ID, InsertPos);
948 const MemRegion* superRegion){
954 const MemRegion* superRegion) {
990 const MemRegion *Super,
1028 const MemSpaceRegion *MemRegion::getMemorySpace() const {
1029 const MemRegion *R = this;
1040 bool MemRegion::hasStackStorage() const {
1044 bool MemRegion::hasStackNonParametersStorage() const {
1048 bool MemRegion::hasStackParametersStorage() const {
1052 bool MemRegion::hasGlobalsOrParametersStorage() const {
1060 const MemRegion *MemRegion::getBaseRegion() const {
1061 const MemRegion *R = this;
1064 case MemRegion::ElementRegionKind:
1065 case MemRegion::FieldRegionKind:
1066 case MemRegion::ObjCIvarRegionKind:
1067 case MemRegion::CXXBaseObjectRegionKind:
1078 bool MemRegion::isSubRegionOf(const MemRegion *R) const {
1086 const MemRegion *MemRegion::StripCasts(bool StripBaseCasts) const {
1087 const MemRegion *R = this;
1108 const SymbolicRegion *MemRegion::getSymbolicBase() const {
1133 const MemRegion *superR = nullptr;
1187 RegionOffset MemRegion::getAsOffset() const {
1188 const MemRegion *R = this;
1189 const MemRegion *SymbolicOffsetBase = nullptr;
1398 typedef BumpVector<const MemRegion*> VarVec;
1422 BumpVector<const MemRegion*> *Vec =
1423 static_cast<BumpVector<const MemRegion*>*>(ReferencedVars);
1428 BumpVector<const MemRegion*> *VecOriginal =
1429 static_cast<BumpVector<const MemRegion*>*>(OriginalVars);
1439 BumpVector<const MemRegion*> *Vec =
1440 static_cast<BumpVector<const MemRegion*>*>(ReferencedVars);
1445 BumpVector<const MemRegion*> *VecOriginal =
1446 static_cast<BumpVector<const MemRegion*>*>(OriginalVars);
1471 void RegionAndSymbolInvalidationTraits::setTrait(const MemRegion *MR,
1489 bool RegionAndSymbolInvalidationTraits::hasTrait(const MemRegion *MR,