clang
3.7.0
|
Symbolic value. These values used to capture symbolic execution of the program. More...
#include <SymbolManager.h>
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) | |
Symbolic value. These values used to capture symbolic execution of the program.
Definition at line 42 of file SymbolManager.h.
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.
|
inlineprotected |
Definition at line 57 of file SymbolManager.h.
|
inlinevirtual |
Definition at line 60 of file SymbolManager.h.
unsigned SymExpr::computeComplexity | ( | ) | const |
Definition at line 143 of file SymbolManager.cpp.
References symbol_begin(), and symbol_end().
Referenced by clang::ento::SValBuilder::makeSymExprValNN().
|
virtual |
Definition at line 26 of file SymbolManager.cpp.
References dumpToStream().
|
inlinevirtual |
Reimplemented in clang::ento::SymSymExpr, clang::ento::IntSymExpr, clang::ento::SymIntExpr, clang::ento::SymbolCast, clang::ento::SymbolMetadata, clang::ento::SymbolExtent, clang::ento::SymbolDerived, clang::ento::SymbolConjured, and clang::ento::SymbolRegionValue.
Definition at line 66 of file SymbolManager.h.
Referenced by dump(), clang::ento::SymbolCast::dumpToStream(), clang::ento::SymIntExpr::dumpToStream(), clang::ento::IntSymExpr::dumpToStream(), clang::ento::SymSymExpr::dumpToStream(), and llvm::operator<<().
|
inline |
Definition at line 62 of file SymbolManager.h.
Referenced by clang::ento::SymbolData::classof(), clang::ento::SymbolRegionValue::classof(), clang::ento::SymbolConjured::classof(), clang::ento::SymbolDerived::classof(), clang::ento::SymbolExtent::classof(), clang::ento::SymbolMetadata::classof(), clang::ento::SymbolCast::classof(), clang::ento::BinarySymExpr::classof(), clang::ento::SymIntExpr::classof(), clang::ento::IntSymExpr::classof(), clang::ento::SymSymExpr::classof(), clang::ento::SymbolReaper::isLive(), and clang::ento::ScanReachableSymbols::scan().
|
pure virtual |
Implemented in clang::ento::BinarySymExpr, clang::ento::SymbolCast, clang::ento::SymbolMetadata, clang::ento::SymbolExtent, clang::ento::SymbolDerived, clang::ento::SymbolConjured, and clang::ento::SymbolRegionValue.
Referenced by clang::ento::SimpleConstraintManager::assumeAuxForSymbol(), clang::ento::SimpleConstraintManager::assumeSymRel(), clang::ento::ConstraintManager::checkNull(), clang::ento::SymbolManager::getType(), clang::ento::SValBuilder::haveSameType(), and if().
|
pure virtual |
|
inline |
Definition at line 90 of file SymbolManager.h.
Referenced by computeComplexity(), clang::ento::ProgramState::isTainted(), and clang::ento::SVal::symbol_begin().
|
inlinestatic |
Definition at line 93 of file SymbolManager.h.
Referenced by computeComplexity(), clang::ento::ProgramState::isTainted(), and clang::ento::SVal::symbol_end().