|
clang
3.8.0
|
Symbolic value. More...
#include <SymbolManager.h>
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) | |
Symbolic value.
These values used to capture symbolic execution of the program.
Definition at line 42 of file SymbolManager.h.
Definition at line 45 of file SymbolManager.h.
|
inlineprotected |
Definition at line 65 of file SymbolManager.h.
|
inlinevirtual |
Definition at line 68 of file SymbolManager.h.
| 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().
|
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 74 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 70 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::SimpleConstraintManager::assumeSymWithinInclusiveRange(), clang::ento::ConstraintManager::checkNull(), clang::ento::getDynamicTypeInfo(), clang::ento::SymbolManager::getType(), and clang::ento::SValBuilder::haveSameType().
|
pure virtual |
|
inline |
Definition at line 98 of file SymbolManager.h.
Referenced by computeComplexity(), clang::ento::ProgramState::isTainted(), and clang::ento::SVal::symbol_begin().
|
inlinestatic |
Definition at line 101 of file SymbolManager.h.
Referenced by computeComplexity(), clang::ento::ProgramState::isTainted(), and clang::ento::SVal::symbol_end().
1.8.6