clang API Documentation
#include <ProgramState.h>
Public Member Functions | |
ScanReachableSymbols (ProgramStateRef st, SymbolVisitor &v) | |
bool | scan (nonloc::LazyCompoundVal val) |
bool | scan (nonloc::CompoundVal val) |
bool | scan (SVal val) |
bool | scan (const MemRegion *R) |
bool | scan (const SymExpr *sym) |
A Utility class that allows to visit the reachable symbols using a custom SymbolVisitor.
Definition at line 798 of file ProgramState.h.
clang::ento::ScanReachableSymbols::ScanReachableSymbols | ( | ProgramStateRef | st, |
SymbolVisitor & | v | ||
) | [inline] |
Definition at line 806 of file ProgramState.h.
Definition at line 508 of file ProgramState.cpp.
References clang::ento::MemRegion::getBaseRegion(), clang::ento::nonloc::LazyCompoundVal::getCVData(), clang::ento::nonloc::LazyCompoundVal::getRegion(), clang::ento::nonloc::LazyCompoundVal::getStore(), and clang::ento::StoreManager::scanReachableSymbols().
Referenced by clang::ento::EnvironmentManager::removeDeadBindings(), scan(), and clang::ento::ProgramState::scanReachableSymbols().
Definition at line 521 of file ProgramState.cpp.
References clang::ento::nonloc::CompoundVal::begin(), clang::ento::nonloc::CompoundVal::end(), and scan().
bool ScanReachableSymbols::scan | ( | SVal | val | ) |
Definition at line 559 of file ProgramState.cpp.
References clang::ento::SVal::getAs(), clang::ento::SVal::getAsSymbol(), clang::ento::SVal::getAsSymbolicExpression(), scan(), and X.
bool ScanReachableSymbols::scan | ( | const MemRegion * | R | ) |
bool ScanReachableSymbols::scan | ( | const SymExpr * | sym | ) |
Definition at line 529 of file ProgramState.cpp.
References clang::ento::SymExpr::CastSymbolKind, clang::ento::SymExpr::ConjuredKind, clang::ento::SymExpr::DerivedKind, clang::ento::SymExpr::ExtentKind, clang::ento::SymExpr::getKind(), clang::ento::SymSymExpr::getLHS(), clang::ento::SymSymExpr::getRHS(), clang::ento::SymExpr::IntSymKind, clang::ento::SymExpr::MetadataKind, clang::ento::SymExpr::RegionValueKind, scan(), clang::ento::SymExpr::SymIntKind, clang::ento::SymExpr::SymSymKind, and clang::ento::SymbolVisitor::VisitSymbol().