clang 20.0.0git
|
The simplest example of a concrete compound value is nonloc::CompoundVal, which represents a concrete r-value of an initializer-list or a string. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
Public Types | |
using | iterator = llvm::ImmutableList< SVal >::iterator |
Public Types inherited from clang::ento::SVal | |
enum | SValKind : unsigned char |
Public Member Functions | |
LLVM_ATTRIBUTE_RETURNS_NONNULL const CompoundValData * | getValue () const |
iterator | begin () const |
iterator | end () const |
Public Member Functions inherited from clang::ento::NonLoc | |
void | dumpToStream (raw_ostream &Out) const |
Public Member Functions inherited from clang::ento::DefinedSVal | |
bool | isUnknown () const =delete |
bool | isUnknownOrUndef () const =delete |
bool | isValid () const =delete |
Public Member Functions inherited from clang::ento::DefinedOrUnknownSVal | |
bool | isUndef () const =delete |
bool | isValid () const =delete |
Public Member Functions inherited from clang::ento::SVal | |
SVal ()=default | |
template<typename T > | |
T | castAs () const |
Convert to the specified SVal type, asserting that this SVal is of the desired type. | |
template<typename T > | |
std::optional< T > | getAs () const |
Convert to the specified SVal type, returning std::nullopt if this SVal is not of the desired type. | |
SValKind | getKind () const |
void | Profile (llvm::FoldingSetNodeID &ID) const |
bool | operator== (SVal R) const |
bool | operator!= (SVal R) const |
bool | isUnknown () const |
bool | isUndef () const |
bool | isUnknownOrUndef () const |
bool | isValid () const |
bool | isConstant () const |
bool | isConstant (int I) const |
bool | isZeroConstant () const |
const FunctionDecl * | getAsFunctionDecl () const |
getAsFunctionDecl - If this SVal is a MemRegionVal and wraps a CodeTextRegion wrapping a FunctionDecl, return that FunctionDecl. | |
SymbolRef | getAsLocSymbol (bool IncludeBaseRegions=false) const |
If this SVal is a location and wraps a symbol, return that SymbolRef. | |
SymbolRef | getLocSymbolInBase () const |
Get the symbol in the SVal or its base region. | |
SymbolRef | getAsSymbol (bool IncludeBaseRegions=false) const |
If this SVal wraps a symbol return that SymbolRef. | |
const llvm::APSInt * | getAsInteger () const |
If this SVal is loc::ConcreteInt or nonloc::ConcreteInt, return a pointer to APSInt which is held in it. | |
const MemRegion * | getAsRegion () const |
void | printJson (raw_ostream &Out, bool AddQuotes) const |
printJson - Pretty-prints in JSON format. | |
void | dumpToStream (raw_ostream &OS) const |
void | dump () const |
llvm::iterator_range< SymExpr::symbol_iterator > | symbols () const |
QualType | getType (const ASTContext &) const |
Try to get a reasonable type for the given value. | |
Static Public Member Functions | |
static bool | classof (SVal V) |
Static Public Member Functions inherited from clang::ento::NonLoc | |
static bool | isCompoundType (QualType T) |
static bool | classof (SVal V) |
Static Public Member Functions inherited from clang::ento::DefinedSVal | |
static bool | classof (SVal V) |
Static Public Member Functions inherited from clang::ento::DefinedOrUnknownSVal | |
static bool | classof (SVal V) |
Friends | |
class | ento::SValBuilder |
Additional Inherited Members | |
Protected Member Functions inherited from clang::ento::NonLoc | |
NonLoc (SValKind Kind, const void *Data) | |
Protected Member Functions inherited from clang::ento::DefinedSVal | |
DefinedSVal (SValKind Kind, const void *Data) | |
Protected Member Functions inherited from clang::ento::DefinedOrUnknownSVal | |
DefinedOrUnknownSVal (SValKind Kind, const void *Data=nullptr) | |
Protected Member Functions inherited from clang::ento::SVal | |
SVal (SValKind Kind, const void *Data=nullptr) | |
template<typename T > | |
const T * | castDataAs () const |
Protected Attributes inherited from clang::ento::SVal | |
const void * | Data = nullptr |
SValKind | Kind = UndefinedValKind |
The simplest example of a concrete compound value is nonloc::CompoundVal, which represents a concrete r-value of an initializer-list or a string.
Internally, it contains an llvm::ImmutableList of SVal's stored inside the literal.
using clang::ento::nonloc::CompoundVal::iterator = llvm::ImmutableList<SVal>::iterator |
nonloc::CompoundVal::iterator nonloc::CompoundVal::begin | ( | ) | const |
nonloc::CompoundVal::iterator nonloc::CompoundVal::end | ( | ) | const |
|
inline |
|
friend |