clang  3.7.0
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::SymbolMetadata Class Reference

#include <SymbolManager.h>

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

Public Member Functions

 SymbolMetadata (SymbolID sym, const MemRegion *r, const Stmt *s, QualType t, unsigned count, const void *tag)
 
const MemRegiongetRegion () const
 
const StmtgetStmt () const
 
unsigned getCount () const
 
const void * getTag () const
 
QualType getType () const override
 
void dumpToStream (raw_ostream &os) const override
 
void Profile (llvm::FoldingSetNodeID &profile) 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 MemRegion *R, const Stmt *S, QualType T, unsigned Count, const void *Tag)
 
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 {
  RegionValueKind, ConjuredKind, DerivedKind, ExtentKind,
  MetadataKind, BEGIN_SYMBOLS = RegionValueKind, END_SYMBOLS = MetadataKind, SymIntKind,
  IntSymKind, SymSymKind, BEGIN_BINARYSYMEXPRS = SymIntKind, END_BINARYSYMEXPRS = SymSymKind,
  CastSymbolKind
}
 
- 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

SymbolMetadata - Represents path-dependent metadata about a specific region. Metadata symbols remain live as long as they are marked as in use before dead-symbol sweeping AND their associated regions are still alive. Intended for use by checkers.

Definition at line 267 of file SymbolManager.h.

Constructor & Destructor Documentation

clang::ento::SymbolMetadata::SymbolMetadata ( SymbolID  sym,
const MemRegion r,
const Stmt s,
QualType  t,
unsigned  count,
const void *  tag 
)
inline

Definition at line 274 of file SymbolManager.h.

Member Function Documentation

static bool clang::ento::SymbolMetadata::classof ( const SymExpr SE)
inlinestatic
void SymbolMetadata::dumpToStream ( raw_ostream &  os) const
overridevirtual
unsigned clang::ento::SymbolMetadata::getCount ( ) const
inline

Definition at line 280 of file SymbolManager.h.

const MemRegion* clang::ento::SymbolMetadata::getRegion ( ) const
inline

Definition at line 278 of file SymbolManager.h.

Referenced by dumpToStream().

const Stmt* clang::ento::SymbolMetadata::getStmt ( ) const
inline

Definition at line 279 of file SymbolManager.h.

const void* clang::ento::SymbolMetadata::getTag ( ) const
inline

Definition at line 281 of file SymbolManager.h.

QualType SymbolMetadata::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 320 of file SymbolManager.cpp.

static void clang::ento::SymbolMetadata::Profile ( llvm::FoldingSetNodeID &  profile,
const MemRegion R,
const Stmt S,
QualType  T,
unsigned  Count,
const void *  Tag 
)
inlinestatic
void clang::ento::SymbolMetadata::Profile ( llvm::FoldingSetNodeID &  profile)
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 298 of file SymbolManager.h.

References Profile().


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