clang  15.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::loc::MemRegionVal Class Reference

#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"

Inheritance diagram for clang::ento::loc::MemRegionVal:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::loc::MemRegionVal:
Collaboration graph
[legend]

Public Member Functions

 MemRegionVal (const MemRegion *r)
 
const MemRegiongetRegion () const
 Get the underlining region. More...
 
const MemRegionstripCasts (bool StripBaseCasts=true) const
 Get the underlining region and strip casts. More...
 
template<typename REGION >
const REGIONgetRegionAs () const
 
bool operator== (const MemRegionVal &R) const
 
bool operator!= (const MemRegionVal &R) const
 
- Public Member Functions inherited from clang::ento::Loc
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 >
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== (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 FunctionDeclgetAsFunctionDecl () 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 MemRegiongetAsRegion () const
 
void printJson (raw_ostream &Out, bool AddQuotes) const
 printJson - Pretty-prints in JSON format. More...
 
void dumpToStream (raw_ostream &OS) const
 
void dump () const
 
SymExpr::symbol_iterator symbol_begin () const
 
SymExpr::symbol_iterator symbol_end () const
 
QualType getType (const ASTContext &) const
 Try to get a reasonable type for the given value. More...
 

Static Public Member Functions

static bool classof (SVal V)
 
static bool classof (Loc V)
 
- Static Public Member Functions inherited from clang::ento::Loc
static bool isLocType (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)
 

Additional Inherited Members

- Public Types inherited from clang::ento::SVal
enum  BaseKind
 
enum  { BaseBits = 2, BaseMask = 0b11 }
 
- Protected Member Functions inherited from clang::ento::Loc
 Loc (unsigned SubKind, const void *D)
 
- Protected Member Functions inherited from clang::ento::DefinedSVal
 DefinedSVal (const void *d, bool isLoc, unsigned ValKind)
 
- Protected Member Functions inherited from clang::ento::DefinedOrUnknownSVal
 DefinedOrUnknownSVal (const void *d, bool isLoc, unsigned ValKind)
 
 DefinedOrUnknownSVal (BaseKind k, void *D=nullptr)
 
- Protected Member Functions inherited from clang::ento::SVal
 SVal (const void *d, bool isLoc, unsigned ValKind)
 
 SVal (BaseKind k, const void *D=nullptr)
 
- Protected Attributes inherited from clang::ento::SVal
const void * Data = nullptr
 
unsigned Kind = 0
 The lowest 2 bits are a BaseKind (0 – 3). More...
 

Detailed Description

Definition at line 502 of file SVals.h.

Constructor & Destructor Documentation

◆ MemRegionVal()

clang::ento::loc::MemRegionVal::MemRegionVal ( const MemRegion r)
inlineexplicit

Definition at line 504 of file SVals.h.

Member Function Documentation

◆ classof() [1/2]

static bool clang::ento::loc::MemRegionVal::classof ( Loc  V)
inlinestatic

Definition at line 533 of file SVals.h.

References V.

◆ classof() [2/2]

static bool clang::ento::loc::MemRegionVal::classof ( SVal  V)
inlinestatic

Definition at line 529 of file SVals.h.

References V.

◆ getRegion()

const MemRegion* clang::ento::loc::MemRegionVal::getRegion ( ) const
inline

Get the underlining region.

Definition at line 509 of file SVals.h.

References clang::ento::SVal::Data.

Referenced by getRegionAs(), operator!=(), operator==(), and stripCasts().

◆ getRegionAs()

template<typename REGION >
const REGION* clang::ento::loc::MemRegionVal::getRegionAs ( ) const
inline

Definition at line 517 of file SVals.h.

References getRegion().

◆ operator!=()

bool clang::ento::loc::MemRegionVal::operator!= ( const MemRegionVal R) const
inline

Definition at line 525 of file SVals.h.

References getRegion().

◆ operator==()

bool clang::ento::loc::MemRegionVal::operator== ( const MemRegionVal R) const
inline

Definition at line 521 of file SVals.h.

References getRegion().

◆ stripCasts()

const MemRegion * loc::MemRegionVal::stripCasts ( bool  StripBaseCasts = true) const

Get the underlining region and strip casts.

Definition at line 179 of file SVals.cpp.

References getRegion(), and clang::ento::MemRegion::StripCasts().


The documentation for this class was generated from the following files: