clang  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::ento::SymExpr Class Reference

Symbolic value. These values used to capture symbolic execution of the program. More...

#include <SymbolManager.h>

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

List of all members.

Classes

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

Public Types

enum  Kind {
  RegionValueKind, ConjuredKind, DerivedKind, ExtentKind,
  MetadataKind, BEGIN_SYMBOLS = RegionValueKind, END_SYMBOLS = MetadataKind, SymIntKind,
  IntSymKind, SymSymKind, BEGIN_BINARYSYMEXPRS = SymIntKind, END_BINARYSYMEXPRS = SymSymKind,
  CastSymbolKind
}

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:
RegionValueKind 
ConjuredKind 
DerivedKind 
ExtentKind 
MetadataKind 
BEGIN_SYMBOLS 
END_SYMBOLS 
SymIntKind 
IntSymKind 
SymSymKind 
BEGIN_BINARYSYMEXPRS 
END_BINARYSYMEXPRS 
CastSymbolKind 

Definition at line 45 of file SymbolManager.h.


Constructor & Destructor Documentation

clang::ento::SymExpr::SymExpr ( Kind  k) [inline, protected]

Definition at line 57 of file SymbolManager.h.

virtual clang::ento::SymExpr::~SymExpr ( ) [inline, virtual]

Definition at line 60 of file SymbolManager.h.


Member Function Documentation

Definition at line 143 of file SymbolManager.cpp.

References 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 [inline, virtual]
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]

Definition at line 93 of file SymbolManager.h.

Referenced by computeComplexity(), and clang::ento::ProgramState::isTainted().


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