SVal GetSVal(const GRState* St, Loc LV, QualType T = QualType()) {
- return StoreMgr->GetSVal(St->getStore(), LV, T);
+ return StoreMgr->Retrieve(St->getStore(), LV, T);
}
SVal GetSVal(const GRState* St, const MemRegion* R) {
}
void SetSVal(GRState& St, Loc LV, SVal V) {
- St.St = StoreMgr->SetSVal(St.St, LV, V);
+ St.St = StoreMgr->Bind(St.St, LV, V);
}
const GRState* SetSVal(const GRState* St, Loc LV, SVal V);
typedef llvm::DenseSet<SymbolID> DeadSymbolsTy;
virtual ~StoreManager() {}
- virtual SVal GetSVal(Store St, Loc LV, QualType T = QualType()) = 0;
+ virtual SVal Retrieve(Store St, Loc LV, QualType T = QualType()) = 0;
virtual SVal GetRegionSVal(Store St, const MemRegion* R) {
- return GetSVal(St, loc::MemRegionVal(R));
+ return Retrieve(St, loc::MemRegionVal(R));
}
- virtual Store SetSVal(Store St, Loc LV, SVal V) = 0;
+ virtual Store Bind(Store St, Loc LV, SVal V) = 0;
virtual Store Remove(Store St, Loc LV) = 0;
virtual Store getInitialStore() = 0;
virtual MemRegionManager& getRegionManager() = 0;
virtual ~BasicStoreManager() {}
- virtual SVal GetSVal(Store St, Loc LV, QualType T);
- virtual Store SetSVal(Store St, Loc LV, SVal V);
+ virtual SVal Retrieve(Store St, Loc LV, QualType T);
+ virtual Store Bind(Store St, Loc LV, SVal V);
virtual Store Remove(Store St, Loc LV);
virtual Store getInitialStore();
return Base;
}
-SVal BasicStoreManager::GetSVal(Store St, Loc LV, QualType T) {
+SVal BasicStoreManager::Retrieve(Store St, Loc LV, QualType T) {
if (isa<UnknownVal>(LV))
return UnknownVal();
return UnknownVal();
}
-Store BasicStoreManager::SetSVal(Store store, Loc LV, SVal V) {
+Store BasicStoreManager::Bind(Store store, Loc LV, SVal V) {
switch (LV.getSubKind()) {
case loc::MemRegionKind: {
const VarRegion* R =
? SVal::GetSymbolValue(StateMgr.getSymbolManager(), VD)
: UndefinedVal();
- St = SetSVal(St, loc::MemRegionVal(MRMgr.getVarRegion(VD)), X);
+ St = Bind(St, loc::MemRegionVal(MRMgr.getVarRegion(VD)), X);
}
}
}
if (!Ex) {
QualType T = VD->getType();
if (Loc::IsLocType(T))
- store = SetSVal(store, getLoc(VD),
- loc::ConcreteInt(BasicVals.getValue(0, T)));
+ store = Bind(store, getLoc(VD),
+ loc::ConcreteInt(BasicVals.getValue(0, T)));
else if (T->isIntegerType())
- store = SetSVal(store, getLoc(VD),
- nonloc::ConcreteInt(BasicVals.getValue(0, T)));
+ store = Bind(store, getLoc(VD),
+ nonloc::ConcreteInt(BasicVals.getValue(0, T)));
else {
// assert(0 && "ignore other types of variables");
}
} else {
- store = SetSVal(store, getLoc(VD), InitVal);
+ store = Bind(store, getLoc(VD), InitVal);
}
}
} else {
: cast<SVal>(nonloc::SymbolVal(Sym));
}
- store = SetSVal(store, getLoc(VD), V);
+ store = Bind(store, getLoc(VD), V);
}
}
SVal V) {
Store OldStore = St->getStore();
- Store NewStore = StoreMgr->SetSVal(OldStore, LV, V);
+ Store NewStore = StoreMgr->Bind(OldStore, LV, V);
if (NewStore == OldStore)
return St;
virtual ~RegionStoreManager() {}
- SVal GetSVal(Store S, Loc L, QualType T);
- Store SetSVal(Store St, Loc LV, SVal V);
+ SVal Retrieve(Store S, Loc L, QualType T);
+ Store Bind(Store St, Loc LV, SVal V);
Store getInitialStore();
return loc::MemRegionVal(ER);
}
-SVal RegionStoreManager::GetSVal(Store S, Loc L, QualType T) {
+SVal RegionStoreManager::Retrieve(Store S, Loc L, QualType T) {
assert(!isa<UnknownVal>(L) && "location unknown");
assert(!isa<UndefinedVal>(L) && "location undefined");
}
}
-Store RegionStoreManager::SetSVal(Store store, Loc LV, SVal V) {
+Store RegionStoreManager::Bind(Store store, Loc LV, SVal V) {
assert(LV.getSubKind() == loc::MemRegionKind);
const MemRegion* R = cast<loc::MemRegionVal>(LV).getRegion();
? SVal::GetSymbolValue(StateMgr.getSymbolManager(), VD)
: UndefinedVal();
- St = SetSVal(St, getVarLoc(VD), X);
+ St = Bind(St, getVarLoc(VD), X);
}
}
}
QualType T = VD->getType();
if (Loc::IsLocType(T))
- store = SetSVal(store, getVarLoc(VD),
- loc::ConcreteInt(BasicVals.getValue(0, T)));
+ store = Bind(store, getVarLoc(VD),
+ loc::ConcreteInt(BasicVals.getValue(0, T)));
else if (T->isIntegerType())
- store = SetSVal(store, getVarLoc(VD),
- loc::ConcreteInt(BasicVals.getValue(0, T)));
+ store = Bind(store, getVarLoc(VD),
+ loc::ConcreteInt(BasicVals.getValue(0, T)));
else
assert("ignore other types of variables");
} else {
- store = SetSVal(store, getVarLoc(VD), InitVal);
+ store = Bind(store, getVarLoc(VD), InitVal);
}
}
} else {
? cast<SVal>(loc::SymbolVal(Sym))
: cast<SVal>(nonloc::SymbolVal(Sym));
}
- store = SetSVal(store, getVarLoc(VD), V);
+ store = Bind(store, getVarLoc(VD), V);
} else if (T->isArrayType()) {
// Only handle constant size array.
for (llvm::APInt i = llvm::APInt::getNullValue(Size.getBitWidth());
i != Size; ++i) {
nonloc::ConcreteInt Idx(BasicVals.getValue(llvm::APSInt(i)));
- store = SetSVal(store, getElementLoc(VD, Idx), UndefinedVal());
+ store = Bind(store, getElementLoc(VD, Idx), UndefinedVal());
}
}
} else if (T->isStructureType()) {