// 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);
	}
}
Exemple #2
0
// 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);
        }
}