clang  3.9.0
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::SymbolRegionValue Class Reference

A symbol representing the value stored at a MemRegion. More...

#include <SymbolManager.h>

Inheritance diagram for clang::ento::SymbolRegionValue:
[legend]
Collaboration diagram for clang::ento::SymbolRegionValue:
[legend]

Public Member Functions

 SymbolRegionValue (SymbolID sym, const TypedValueRegion *r)
 
const TypedValueRegiongetRegion () const
 
void Profile (llvm::FoldingSetNodeID &profile) override
 
void dumpToStream (raw_ostream &os) const override
 
const MemRegiongetOriginRegion () const override
 Find the region from which this symbol originates. More...
 
QualType getType () const override
 
- Public Member Functions inherited from clang::ento::SymbolData
 ~SymbolData () override
 
SymbolID getSymbolID () const
 
- Public Member Functions inherited from clang::ento::SymExpr
virtual ~SymExpr ()
 
Kind getKind () const
 
virtual void dump () const
 
symbol_iterator symbol_begin () const
 
unsigned computeComplexity () const
 

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &profile, const TypedValueRegion *R)
 
static bool classof (const SymExpr *SE)
 
- Static Public Member Functions inherited from clang::ento::SymbolData
static bool classof (const SymExpr *SE)
 
- Static Public Member Functions inherited from clang::ento::SymExpr
static symbol_iterator symbol_end ()
 

Additional Inherited Members

- Public Types inherited from clang::ento::SymExpr
enum  Kind
 
- Protected Member Functions inherited from clang::ento::SymbolData
 SymbolData (Kind k, SymbolID sym)
 
- Protected Member Functions inherited from clang::ento::SymExpr
 SymExpr (Kind k)
 

Detailed Description

A symbol representing the value stored at a MemRegion.

Definition at line 42 of file SymbolManager.h.

Constructor & Destructor Documentation

clang::ento::SymbolRegionValue::SymbolRegionValue ( SymbolID  sym,
const TypedValueRegion r 
)
inline

Definition at line 46 of file SymbolManager.h.

Member Function Documentation

static bool clang::ento::SymbolRegionValue::classof ( const SymExpr SE)
inlinestatic

Definition at line 66 of file SymbolManager.h.

References clang::ento::SymExpr::getKind().

void SymbolRegionValue::dumpToStream ( raw_ostream &  os) const
overridevirtual

Reimplemented from clang::ento::SymExpr.

Definition at line 87 of file SymbolManager.cpp.

References clang::ento::SymbolData::getSymbolID().

const MemRegion* clang::ento::SymbolRegionValue::getOriginRegion ( ) const
inlineoverridevirtual

Find the region from which this symbol originates.

Whenever the symbol was constructed to denote an unknown value of a certain memory region, return this region. This method allows checkers to make decisions depending on the origin of the symbol. Symbol classes for which the origin region is known include SymbolRegionValue which denotes the value of the region before the beginning of the analysis, and SymbolDerived which denotes the value of a certain memory region after its super region (a memory space or a larger record region) is default-bound with a certain symbol.

Reimplemented from clang::ento::SymExpr.

Definition at line 61 of file SymbolManager.h.

References getRegion().

const TypedValueRegion* clang::ento::SymbolRegionValue::getRegion ( ) const
inline
QualType SymbolRegionValue::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 324 of file SymbolManager.cpp.

static void clang::ento::SymbolRegionValue::Profile ( llvm::FoldingSetNodeID &  profile,
const TypedValueRegion R 
)
inlinestatic

Definition at line 51 of file SymbolManager.h.

Referenced by clang::ento::SymbolManager::getRegionValueSymbol(), and Profile().

void clang::ento::SymbolRegionValue::Profile ( llvm::FoldingSetNodeID &  profile)
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 56 of file SymbolManager.h.

References Profile().


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