// Special intersection method: this := a intersect b void StatementList::makeIsect(const StatementList &a, const LocationSet &b) { slist.clear(); for (const auto &s : a.slist) { auto as = (Assignment *)s; if (b.exists(as->getLeft())) slist.push_back(as); } }
// Special intersection method: this := a intersect b void StatementList::makeIsect(StatementList& a, LocationSet& b) { slist.clear(); for (iterator it = a.slist.begin(); it != a.slist.end(); ++it) { Assignment* as = (Assignment*)*it; if (b.exists(as->getLeft())) slist.push_back(as); } }