|
clang
3.8.0
|
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. More... | |
Public Member Functions inherited from clang::ento::TypedRegion | |
| QualType | getDesugaredLocationType (ASTContext &Context) const |
| bool | isBoundable () const override |
Public Member Functions inherited from clang::ento::SubRegion | |
| const MemRegion * | getSuperRegion () const |
| MemRegionManager * | getMemRegionManager () const override |
| bool | isSubRegionOf (const MemRegion *R) const override |
| Check if the region is a subregion of the given region. More... | |
Public Member Functions inherited from clang::ento::MemRegion | |
| ASTContext & | getContext () const |
| virtual void | Profile (llvm::FoldingSetNodeID &ID) const =0 |
| const MemSpaceRegion * | getMemorySpace () const |
| const MemRegion * | getBaseRegion () const |
| const MemRegion * | StripCasts (bool StripBaseCasts=true) const |
| const SymbolicRegion * | getSymbolicBase () const |
| If this is a symbolic region, returns the region. More... | |
| bool | hasGlobalsOrParametersStorage () const |
| bool | hasStackStorage () const |
| bool | hasStackNonParametersStorage () const |
| bool | hasStackParametersStorage () const |
| RegionOffset | getAsOffset () const |
| Compute the offset within the top level memory object. More... | |
| std::string | getString () const |
| Get a string representation of a region for debug use. More... | |
| virtual void | dumpToStream (raw_ostream &os) const |
| void | dump () const |
| virtual bool | canPrintPretty () const |
| Returns true if this region can be printed in a user-friendly way. More... | |
| virtual void | printPretty (raw_ostream &os) const |
| Print the region for use in diagnostics. More... | |
| virtual bool | canPrintPrettyAsExpr () const |
| Returns true if this region's textual representation can be used as part of a larger expression. More... | |
| virtual void | printPrettyAsExpr (raw_ostream &os) const |
| Print the region as expression. More... | |
| Kind | getKind () const |
| template<typename RegionTy > | |
| const RegionTy * | getAs () const |
Static Public Member Functions | |
| static bool | classof (const MemRegion *R) |
Static Public Member Functions inherited from clang::ento::TypedRegion | |
| static bool | classof (const MemRegion *R) |
Static Public Member Functions inherited from clang::ento::SubRegion | |
| static bool | classof (const MemRegion *R) |
Protected Member Functions | |
| TypedValueRegion (const MemRegion *sReg, Kind k) | |
Protected Member Functions inherited from clang::ento::TypedRegion | |
| TypedRegion (const MemRegion *sReg, Kind k) | |
Protected Member Functions inherited from clang::ento::SubRegion | |
| SubRegion (const MemRegion *sReg, Kind k) | |
Protected Member Functions inherited from clang::ento::MemRegion | |
| MemRegion (Kind k) | |
| virtual | ~MemRegion () |
TypedValueRegion - An abstract class representing regions having a typed value.
Definition at line 510 of file MemRegion.h.
Definition at line 514 of file MemRegion.h.
|
overridevirtual |
Reimplemented from clang::ento::TypedRegion.
Definition at line 433 of file MemRegion.cpp.
Definition at line 535 of file MemRegion.h.
References clang::ento::MemRegion::BEGIN_TYPED_VALUE_REGIONS, clang::ento::MemRegion::END_TYPED_VALUE_REGIONS, and clang::ento::MemRegion::getKind().
|
inline |
Definition at line 528 of file MemRegion.h.
References clang::QualType::getDesugaredType(), clang::QualType::getTypePtrOrNull(), and getValueType().
Referenced by getExtent(), and clang::ento::FieldRegion::getExtent().
|
overridevirtual |
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().
Referenced by clang::ento::FieldRegion::getExtent().
|
inlineoverridevirtual |
Implements clang::ento::TypedRegion.
Definition at line 519 of file MemRegion.h.
References clang::Type::getAs(), clang::ento::MemRegion::getContext(), clang::ASTContext::getObjCObjectPointerType(), clang::ASTContext::getPointerType(), and getValueType().
|
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().
1.8.6