clang
3.9.0
|
StringRegion - Region associated with a StringLiteral. More...
#include <MemRegion.h>
Public Member Functions | |
const StringLiteral * | getStringLiteral () const |
QualType | getValueType () const override |
DefinedOrUnknownSVal | getExtent (SValBuilder &svalBuilder) const override |
getExtent - Returns the size of the region in bytes. More... | |
bool | isBoundable () const override |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
void | dumpToStream (raw_ostream &os) const override |
![]() | |
void | anchor () override |
QualType | getLocationType () const override |
QualType | getDesugaredValueType (ASTContext &Context) const |
![]() | |
QualType | getDesugaredLocationType (ASTContext &Context) const |
![]() | |
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... | |
![]() | |
ASTContext & | getContext () const |
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... | |
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 |
std::string | getDescriptiveName (bool UseQuotes=true) const |
Get descriptive name for memory region. More... | |
clang::SourceRange | sourceRange () const |
Retrieve source range from memory region. More... | |
Static Public Member Functions | |
static bool | classof (const MemRegion *R) |
![]() | |
static bool | classof (const MemRegion *R) |
![]() | |
static bool | classof (const MemRegion *R) |
![]() | |
static bool | classof (const MemRegion *R) |
Protected Member Functions | |
StringRegion (const StringLiteral *str, const MemRegion *sreg) | |
![]() | |
TypedValueRegion (const MemRegion *sReg, Kind k) | |
![]() | |
TypedRegion (const MemRegion *sReg, Kind k) | |
![]() | |
SubRegion (const MemRegion *sReg, Kind k) | |
![]() | |
MemRegion (Kind k) | |
virtual | ~MemRegion () |
Static Protected Member Functions | |
static void | ProfileRegion (llvm::FoldingSetNodeID &ID, const StringLiteral *Str, const MemRegion *superRegion) |
Friends | |
class | MemRegionManager |
Additional Inherited Members | |
![]() | |
enum | Kind |
![]() | |
const MemRegion * | superRegion |
StringRegion - Region associated with a StringLiteral.
Definition at line 737 of file MemRegion.h.
|
inlineprotected |
Definition at line 742 of file MemRegion.h.
Definition at line 767 of file MemRegion.h.
References clang::ento::MemRegion::getKind().
|
overridevirtual |
Reimplemented from clang::ento::MemRegion.
Definition at line 506 of file MemRegion.cpp.
References clang::ento::MemRegion::getContext().
|
overridevirtual |
getExtent - Returns the size of the region in bytes.
Reimplemented from clang::ento::TypedValueRegion.
Definition at line 220 of file MemRegion.cpp.
References clang::ento::SValBuilder::getArrayIndexType(), getStringLiteral(), and clang::ento::SValBuilder::makeIntVal().
|
inline |
Definition at line 751 of file MemRegion.h.
Referenced by getExtent().
|
inlineoverridevirtual |
Implements clang::ento::TypedValueRegion.
Definition at line 753 of file MemRegion.h.
References clang::Expr::getType().
|
inlineoverridevirtual |
Reimplemented from clang::ento::TypedRegion.
Definition at line 759 of file MemRegion.h.
|
inlineoverridevirtual |
Implements clang::ento::MemRegion.
Definition at line 761 of file MemRegion.h.
References ProfileRegion(), and clang::ento::SubRegion::superRegion.
|
staticprotected |
Definition at line 258 of file MemRegion.cpp.
Referenced by Profile().
|
friend |
Definition at line 738 of file MemRegion.h.