clang
3.9.0
|
Value representing integer constant. More...
#include <SVals.h>
Public Member Functions | |
ConcreteInt (const llvm::APSInt &V) | |
const llvm::APSInt & | getValue () const |
SVal | evalBinOp (SValBuilder &svalBuilder, BinaryOperator::Opcode Op, const ConcreteInt &R) const |
ConcreteInt | evalComplement (SValBuilder &svalBuilder) const |
ConcreteInt | evalMinus (SValBuilder &svalBuilder) const |
![]() | |
void | dumpToStream (raw_ostream &Out) const |
![]() | |
SVal () | |
template<typename T > | |
T | castAs () const |
Convert to the specified SVal type, asserting that this SVal is of the desired type. More... | |
template<typename T > | |
Optional< T > | getAs () const |
Convert to the specified SVal type, returning None if this SVal is not of the desired type. More... | |
unsigned | getRawKind () const |
BaseKind | getBaseKind () const |
unsigned | getSubKind () const |
void | Profile (llvm::FoldingSetNodeID &ID) const |
bool | operator== (const SVal &R) const |
bool | operator!= (const 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 |
bool | hasConjuredSymbol () const |
hasConjuredSymbol - If this SVal wraps a conjured symbol, return true; More... | |
const FunctionDecl * | getAsFunctionDecl () const |
getAsFunctionDecl - If this SVal is a MemRegionVal and wraps a CodeTextRegion wrapping a FunctionDecl, return that FunctionDecl. More... | |
SymbolRef | getAsLocSymbol (bool IncludeBaseRegions=false) const |
If this SVal is a location and wraps a symbol, return that SymbolRef. More... | |
SymbolRef | getLocSymbolInBase () const |
Get the symbol in the SVal or its base region. More... | |
SymbolRef | getAsSymbol (bool IncludeBaseRegions=false) const |
If this SVal wraps a symbol return that SymbolRef. More... | |
const SymExpr * | getAsSymbolicExpression () const |
getAsSymbolicExpression - If this Sval wraps a symbolic expression then return that expression. More... | |
const SymExpr * | getAsSymExpr () const |
const MemRegion * | getAsRegion () const |
void | dumpToStream (raw_ostream &OS) const |
void | dump () const |
SymExpr::symbol_iterator | symbol_begin () const |
SymExpr::symbol_iterator | symbol_end () const |
Friends | |
class | SVal |
Additional Inherited Members | |
![]() | |
enum | BaseKind |
enum | { BaseBits = 2, BaseMask = 0x3 } |
typedef SmallVector< SVal, 5 > | BufferTy |
BufferTy - A temporary buffer to hold a set of SVals. More... | |
![]() | |
NonLoc () | |
NonLoc (unsigned SubKind, const void *d) | |
![]() | |
DefinedSVal () | |
DefinedSVal (const void *d, bool isLoc, unsigned ValKind) | |
![]() | |
DefinedOrUnknownSVal () | |
DefinedOrUnknownSVal (const void *d, bool isLoc, unsigned ValKind) | |
DefinedOrUnknownSVal (BaseKind k, void *D=nullptr) | |
![]() | |
SVal (const void *d, bool isLoc, unsigned ValKind) | |
SVal (BaseKind k, const void *D=nullptr) | |
![]() | |
const void * | Data |
unsigned | Kind |
The lowest 2 bits are a BaseKind (0 – 3). More... | |
|
inlineexplicit |
SVal nonloc::ConcreteInt::evalBinOp | ( | SValBuilder & | svalBuilder, |
BinaryOperator::Opcode | Op, | ||
const ConcreteInt & | R | ||
) | const |
Definition at line 195 of file SVals.cpp.
References clang::ento::BasicValueFactory::evalAPSInt(), clang::ento::SValBuilder::getBasicValueFactory(), getValue(), getValue(), and X.
nonloc::ConcreteInt nonloc::ConcreteInt::evalComplement | ( | SValBuilder & | svalBuilder | ) | const |
Definition at line 208 of file SVals.cpp.
References getValue(), and clang::ento::SValBuilder::makeIntVal().
nonloc::ConcreteInt nonloc::ConcreteInt::evalMinus | ( | SValBuilder & | svalBuilder | ) | const |
Definition at line 213 of file SVals.cpp.
References getValue(), and clang::ento::SValBuilder::makeIntVal().
|
inline |
Definition at line 345 of file SVals.h.
References clang::ento::SVal::Data.
Referenced by clang::ento::NonLoc::dumpToStream(), evalBinOp(), and clang::ento::SValExplainer::VisitNonLocConcreteInt().