clang API Documentation
TypedValueRegion - An abstract class representing regions having a typed value. More...
#include <MemRegion.h>
Public Member Functions | |
void | anchor () override |
virtual QualType | getValueType () const =0 |
QualType | getLocationType () const override |
QualType | getDesugaredValueType (ASTContext &Context) const |
DefinedOrUnknownSVal | getExtent (SValBuilder &svalBuilder) const override |
getExtent - Returns the size of the region in bytes. | |
Static Public Member Functions | |
static bool | classof (const MemRegion *R) |
Protected Member Functions | |
TypedValueRegion (const MemRegion *sReg, Kind k) |
TypedValueRegion - An abstract class representing regions having a typed value.
Definition at line 498 of file MemRegion.h.
clang::ento::TypedValueRegion::TypedValueRegion | ( | const MemRegion * | sReg, |
Kind | k | ||
) | [inline, protected] |
Definition at line 502 of file MemRegion.h.
void TypedValueRegion::anchor | ( | ) | [override, virtual] |
Reimplemented from clang::ento::TypedRegion.
Definition at line 433 of file MemRegion.cpp.
static bool clang::ento::TypedValueRegion::classof | ( | const MemRegion * | R | ) | [inline, static] |
Reimplemented from clang::ento::TypedRegion.
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, and clang::ento::StringRegion.
Definition at line 523 of file MemRegion.h.
References clang::ento::MemRegion::BEG_TYPED_VALUE_REGIONS, clang::ento::MemRegion::END_TYPED_VALUE_REGIONS, and clang::ento::MemRegion::getKind().
QualType clang::ento::TypedValueRegion::getDesugaredValueType | ( | ASTContext & | Context | ) | const [inline] |
Definition at line 516 of file MemRegion.h.
References clang::QualType::getDesugaredType(), clang::QualType::getTypePtrOrNull(), and getValueType().
Referenced by getExtent(), and clang::ento::FieldRegion::getExtent().
DefinedOrUnknownSVal TypedValueRegion::getExtent | ( | SValBuilder & | svalBuilder | ) | const [override, virtual] |
getExtent - Returns the size of the region in bytes.
Reimplemented from clang::ento::SubRegion.
Reimplemented in clang::ento::FieldRegion, and clang::ento::StringRegion.
Definition at line 183 of file MemRegion.cpp.
References clang::ento::SValBuilder::getArrayIndexType(), clang::ento::SValBuilder::getContext(), getDesugaredValueType(), clang::ento::SymbolManager::getExtentSymbol(), clang::CharUnits::getQuantity(), clang::ento::SValBuilder::getSymbolManager(), clang::ASTContext::getTypeSizeInChars(), clang::Type::isIncompleteType(), and clang::ento::SValBuilder::makeIntVal().
QualType clang::ento::TypedValueRegion::getLocationType | ( | ) | const [inline, override, virtual] |
Implements clang::ento::TypedRegion.
Definition at line 507 of file MemRegion.h.
References clang::Type::getAs(), clang::ento::MemRegion::getContext(), clang::ASTContext::getObjCObjectPointerType(), clang::ASTContext::getPointerType(), and getValueType().
virtual QualType clang::ento::TypedValueRegion::getValueType | ( | ) | const [pure virtual] |
Implemented in clang::ento::CXXBaseObjectRegion, clang::ento::CXXTempObjectRegion, clang::ento::ElementRegion, clang::ento::ObjCIvarRegion, clang::ento::FieldRegion, clang::ento::CXXThisRegion, clang::ento::VarRegion, clang::ento::CompoundLiteralRegion, clang::ento::ObjCStringRegion, and clang::ento::StringRegion.
Referenced by clang::ento::StoreManager::CastRetrievedVal(), clang::ento::ExprEngine::evalLoad(), clang::ento::SValBuilder::getDerivedRegionValueSymbolVal(), getDesugaredValueType(), getLocationType(), clang::ento::SValBuilder::getRegionValueSymbolVal(), isValidBaseClass(), and regionMatchesCXXRecordType().