diff options
Diffstat (limited to 'clang/include/clang/Checker/PathSensitive/Store.h')
| -rw-r--r-- | clang/include/clang/Checker/PathSensitive/Store.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/include/clang/Checker/PathSensitive/Store.h b/clang/include/clang/Checker/PathSensitive/Store.h index 9a5ebf36d6a..2ab09a197e3 100644 --- a/clang/include/clang/Checker/PathSensitive/Store.h +++ b/clang/include/clang/Checker/PathSensitive/Store.h @@ -102,9 +102,13 @@ public: return loc::MemRegionVal(MRMgr.getCompoundLiteralRegion(CL, LC)); } - virtual SVal getLValueIvar(const ObjCIvarDecl* decl, SVal base) = 0; + virtual SVal getLValueIvar(const ObjCIvarDecl* decl, SVal base) { + return getLValueFieldOrIvar(decl, base); + } - virtual SVal getLValueField(const FieldDecl* D, SVal Base) = 0; + virtual SVal getLValueField(const FieldDecl* D, SVal Base) { + return getLValueFieldOrIvar(D, Base); + } virtual SVal getLValueElement(QualType elementType, SVal offset, SVal Base)=0; @@ -195,6 +199,9 @@ protected: /// as another region. SVal CastRetrievedVal(SVal val, const TypedRegion *R, QualType castTy, bool performTestOnly = true); + +private: + SVal getLValueFieldOrIvar(const Decl* D, SVal Base); }; // FIXME: Do we still need this? |

