}
// Get the lvalue for a field reference.
- SVal GetLValue(const GRState* St, const FieldDecl* D, SVal Base) {
- return StoreMgr->getLValueField(St, D, Base);
+ SVal GetLValue(const GRState* St, SVal Base, const FieldDecl* D) {
+ return StoreMgr->getLValueField(St, Base, D);
}
// Get the lvalue for an array index.
virtual SVal getLValueVar(const GRState* St, const VarDecl* VD) = 0;
virtual SVal getLValueIvar(const GRState* St, const ObjCIvarDecl* D,
- SVal Base)=0;
+ SVal Base) = 0;
- virtual SVal getLValueField(const GRState* St, const FieldDecl* D,
- SVal Base) = 0;
+ virtual SVal getLValueField(const GRState* St, SVal Base,
+ const FieldDecl* D) = 0;
virtual SVal getLValueElement(const GRState* St,
SVal Base, SVal Offset) = 0;
SVal getLValueVar(const GRState* St, const VarDecl* VD);
SVal getLValueIvar(const GRState* St, const ObjCIvarDecl* D, SVal Base);
- SVal getLValueField(const GRState* St, const FieldDecl* D, SVal Base);
+ SVal getLValueField(const GRState* St, SVal Base, const FieldDecl* D);
SVal getLValueElement(const GRState* St, SVal Base, SVal Offset);
virtual Store
}
-SVal BasicStoreManager::getLValueField(const GRState* St, const FieldDecl* D,
- SVal Base) {
+SVal BasicStoreManager::getLValueField(const GRState* St, SVal Base,
+ const FieldDecl* D) {
if (Base.isUnknownOrUndef())
return Base;
// FIXME: Should we insert some assumption logic in here to determine
// if "Base" is a valid piece of memory? Before we put this assumption
// later when using FieldOffset lvals (which we no longer have).
- SVal L = StateMgr.GetLValue(St, M->getMemberDecl(), GetSVal(St, Base));
+ SVal L = StateMgr.GetLValue(St, GetSVal(St, Base), M->getMemberDecl());
if (asLValue)
MakeNode(Dst, M, *I, SetSVal(St, M, L));