clang  3.8.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
clang::ento::SymExpr Class Referenceabstract

Symbolic value. More...

#include <SymbolManager.h>

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

Classes

class  symbol_iterator
 Iterator over symbols that the current symbol depends on. More...
 

Public Types

enum  Kind {
  SymbolRegionValueKind, SymbolConjuredKind, SymbolDerivedKind, SymbolExtentKind,
  SymbolMetadataKind, BEGIN_SYMBOLS = SymbolRegionValueKind, END_SYMBOLS = SymbolMetadataKind, SymIntExprKind,
  IntSymExprKind, SymSymExprKind, BEGIN_BINARYSYMEXPRS = SymIntExprKind, END_BINARYSYMEXPRS = SymSymExprKind,
  SymbolCastKind
}
 

Public Member Functions

virtual ~SymExpr ()
 
Kind getKind () const
 
virtual void dump () const
 
virtual void dumpToStream (raw_ostream &os) const
 
virtual QualType getType () const =0
 
virtual void Profile (llvm::FoldingSetNodeID &profile)=0
 
symbol_iterator symbol_begin () const
 
unsigned computeComplexity () const
 

Static Public Member Functions

static symbol_iterator symbol_end ()
 

Protected Member Functions

 SymExpr (Kind k)
 

Detailed Description

Symbolic value.

These values used to capture symbolic execution of the program.

Definition at line 42 of file SymbolManager.h.

Member Enumeration Documentation

Enumerator
SymbolRegionValueKind 
SymbolConjuredKind 
SymbolDerivedKind 
SymbolExtentKind 
SymbolMetadataKind 
BEGIN_SYMBOLS 
END_SYMBOLS 
SymIntExprKind 
IntSymExprKind 
SymSymExprKind 
BEGIN_BINARYSYMEXPRS 
END_BINARYSYMEXPRS 
SymbolCastKind 

Definition at line 45 of file SymbolManager.h.

Constructor & Destructor Documentation

clang::ento::SymExpr::SymExpr ( Kind  k)
inlineprotected

Definition at line 65 of file SymbolManager.h.

virtual clang::ento::SymExpr::~SymExpr ( )
inlinevirtual

Definition at line 68 of file SymbolManager.h.

Member Function Documentation

unsigned SymExpr::computeComplexity ( ) const

Definition at line 143 of file SymbolManager.cpp.

References E, I, symbol_begin(), and symbol_end().

Referenced by clang::ento::SValBuilder::makeSymExprValNN().

void SymExpr::dump ( ) const
virtual

Definition at line 26 of file SymbolManager.cpp.

References dumpToStream().

virtual void clang::ento::SymExpr::dumpToStream ( raw_ostream &  os) const
inlinevirtual
Kind clang::ento::SymExpr::getKind ( ) const
inline
virtual QualType clang::ento::SymExpr::getType ( ) const
pure virtual
virtual void clang::ento::SymExpr::Profile ( llvm::FoldingSetNodeID &  profile)
pure virtual
symbol_iterator clang::ento::SymExpr::symbol_begin ( ) const
inline
static symbol_iterator clang::ento::SymExpr::symbol_end ( )
inlinestatic

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