clang API Documentation
#include <MemRegion.h>
Public Member Functions | |
const MemRegion * | getSuperRegion () const |
virtual DefinedOrUnknownSVal | getExtent (SValBuilder &svalBuilder) const |
getExtent - Returns the size of the region in bytes. | |
MemRegionManager * | getMemRegionManager () const override |
bool | isSubRegionOf (const MemRegion *R) const override |
Check if the region is a subregion of the given region. | |
Static Public Member Functions | |
static bool | classof (const MemRegion *R) |
Protected Member Functions | |
SubRegion (const MemRegion *sReg, Kind k) | |
Protected Attributes | |
const MemRegion * | superRegion |
SubRegion - A region that subsets another larger region. Most regions are subclasses of SubRegion.
Definition at line 414 of file MemRegion.h.
clang::ento::SubRegion::SubRegion | ( | const MemRegion * | sReg, |
Kind | k | ||
) | [inline, protected] |
Definition at line 419 of file MemRegion.h.
static bool clang::ento::SubRegion::classof | ( | const MemRegion * | R | ) | [inline, static] |
Reimplemented in clang::ento::CXXBaseObjectRegion, clang::ento::CXXTempObjectRegion, clang::ento::ElementRegion, clang::ento::ObjCIvarRegion, clang::ento::FieldRegion, clang::ento::CXXThisRegion, clang::ento::VarRegion, clang::ento::DeclRegion, clang::ento::CompoundLiteralRegion, clang::ento::ObjCStringRegion, clang::ento::StringRegion, clang::ento::SymbolicRegion, clang::ento::BlockDataRegion, clang::ento::BlockTextRegion, clang::ento::FunctionTextRegion, clang::ento::CodeTextRegion, clang::ento::TypedValueRegion, clang::ento::TypedRegion, and clang::ento::AllocaRegion.
Definition at line 434 of file MemRegion.h.
References clang::ento::MemRegion::END_MEMSPACES, and clang::ento::MemRegion::getKind().
virtual DefinedOrUnknownSVal clang::ento::SubRegion::getExtent | ( | SValBuilder & | svalBuilder | ) | const [inline, virtual] |
getExtent - Returns the size of the region in bytes.
Reimplemented in clang::ento::FieldRegion, clang::ento::StringRegion, clang::ento::SymbolicRegion, clang::ento::TypedValueRegion, and clang::ento::AllocaRegion.
Definition at line 426 of file MemRegion.h.
Referenced by collectSubRegionBindings().
MemRegionManager * SubRegion::getMemRegionManager | ( | ) | const [override, virtual] |
Implements clang::ento::MemRegion.
Definition at line 162 of file MemRegion.cpp.
References clang::ento::MemRegion::getMemRegionManager(), and getSuperRegion().
const MemRegion* clang::ento::SubRegion::getSuperRegion | ( | ) | const [inline] |
Definition at line 421 of file MemRegion.h.
References superRegion.
Referenced by evalBinOpFieldRegionFieldRegion(), clang::ento::ElementRegion::getAsArrayOffset(), clang::ento::MemRegion::getAsOffset(), clang::ento::StoreManager::getLValueElement(), clang::ento::MemRegion::getMemorySpace(), getMemRegionManager(), clang::ento::MemRegion::getSymbolicBase(), isSubRegionOf(), clang::ento::BlockDataRegion::Profile(), clang::ento::SymbolicRegion::Profile(), clang::ento::CXXTempObjectRegion::Profile(), and clang::ento::MemRegion::StripCasts().
bool SubRegion::isSubRegionOf | ( | const MemRegion * | R | ) | const [override, virtual] |
Check if the region is a subregion of the given region.
Reimplemented from clang::ento::MemRegion.
Definition at line 149 of file MemRegion.cpp.
References getSuperRegion().
Referenced by collectSubRegionBindings().
const MemRegion* clang::ento::SubRegion::superRegion [protected] |
Definition at line 418 of file MemRegion.h.
Referenced by getSuperRegion(), clang::ento::StringRegion::Profile(), and clang::ento::ObjCStringRegion::Profile().