clang API Documentation
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. | |
bool | isBoundable () const override |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
void | dumpToStream (raw_ostream &os) const override |
Static Public Member Functions | |
static bool | classof (const MemRegion *R) |
Protected Member Functions | |
StringRegion (const StringLiteral *str, const MemRegion *sreg) | |
Static Protected Member Functions | |
static void | ProfileRegion (llvm::FoldingSetNodeID &ID, const StringLiteral *Str, const MemRegion *superRegion) |
Friends | |
class | MemRegionManager |
StringRegion - Region associated with a StringLiteral.
Definition at line 741 of file MemRegion.h.
clang::ento::StringRegion::StringRegion | ( | const StringLiteral * | str, |
const MemRegion * | sreg | ||
) | [inline, protected] |
Definition at line 746 of file MemRegion.h.
static bool clang::ento::StringRegion::classof | ( | const MemRegion * | R | ) | [inline, static] |
Reimplemented from clang::ento::TypedValueRegion.
Definition at line 771 of file MemRegion.h.
References clang::ento::MemRegion::getKind(), and clang::ento::MemRegion::StringRegionKind.
void StringRegion::dumpToStream | ( | raw_ostream & | os | ) | const [override, virtual] |
Reimplemented from clang::ento::MemRegion.
Definition at line 510 of file MemRegion.cpp.
References clang::ento::MemRegion::getContext(), and clang::Stmt::printPretty().
DefinedOrUnknownSVal StringRegion::getExtent | ( | SValBuilder & | svalBuilder | ) | const [override, virtual] |
getExtent - Returns the size of the region in bytes.
Reimplemented from clang::ento::TypedValueRegion.
Definition at line 224 of file MemRegion.cpp.
References clang::ento::SValBuilder::getArrayIndexType(), getStringLiteral(), and clang::ento::SValBuilder::makeIntVal().
const StringLiteral* clang::ento::StringRegion::getStringLiteral | ( | ) | const [inline] |
Definition at line 755 of file MemRegion.h.
Referenced by getExtent().
QualType clang::ento::StringRegion::getValueType | ( | ) | const [inline, override, virtual] |
Implements clang::ento::TypedValueRegion.
Definition at line 757 of file MemRegion.h.
References clang::Expr::getType().
bool clang::ento::StringRegion::isBoundable | ( | ) | const [inline, override, virtual] |
Reimplemented from clang::ento::TypedRegion.
Definition at line 763 of file MemRegion.h.
void clang::ento::StringRegion::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [inline, override, virtual] |
Implements clang::ento::MemRegion.
Definition at line 765 of file MemRegion.h.
References ProfileRegion(), and clang::ento::SubRegion::superRegion.
void StringRegion::ProfileRegion | ( | llvm::FoldingSetNodeID & | ID, |
const StringLiteral * | Str, | ||
const MemRegion * | superRegion | ||
) | [static, protected] |
Definition at line 262 of file MemRegion.cpp.
References clang::ento::MemRegion::StringRegionKind.
Referenced by Profile().
friend class MemRegionManager [friend] |
Reimplemented from clang::ento::MemRegion.
Definition at line 742 of file MemRegion.h.