///
/// Example: obj.prop += 1;
class ObjCPropertyAccess : public ObjCMethodCall {
- const ObjCPropertyRefExpr *PropE;
SourceRange EntireRange;
public:
- ObjCPropertyAccess(const ObjCPropertyRefExpr *pe, SourceRange range,
- const ObjCMessageExpr *Msg, const ProgramStateRef St,
- const LocationContext *LCtx)
- : ObjCMethodCall(Msg, St, LCtx, CE_ObjCPropertyAccess), PropE(pe),
- EntireRange(range)
- {}
+ ObjCPropertyAccess(SourceRange range, const ObjCMessageExpr *Msg,
+ const ProgramStateRef St, const LocationContext *LCtx)
+ : ObjCMethodCall(Msg, St, LCtx, CE_ObjCPropertyAccess), EntireRange(range)
+ {}
/// \brief Returns true if this property access is calling the setter method.
bool isSetter() const {
if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(syntactic))
syntactic = BO->getLHS();
- if (const ObjCPropertyRefExpr *PR =
- dyn_cast<ObjCPropertyRefExpr>(syntactic)) {
- VisitObjCMessage(ObjCPropertyAccess(PR, PO->getSourceRange(), ME,
+ if (isa<ObjCPropertyRefExpr>(syntactic)) {
+ VisitObjCMessage(ObjCPropertyAccess(PO->getSourceRange(), ME,
Pred->getState(), LCtx),
Pred, Dst);
evaluated = true;