| 284 | } |
| 285 | |
| 286 | bool PointsTo::intersectWithComplement(const PointsTo &rhs) |
| 287 | { |
| 288 | assert(metaSame(rhs) && "PointsTo::intersectWithComplement: mappings of operands do not match!"); |
| 289 | |
| 290 | if (type == CBV) return cbv.intersectWithComplement(rhs.cbv); |
| 291 | else if (type == SBV) return sbv.intersectWithComplement(rhs.sbv); |
| 292 | else if (type == BV) return bv.intersectWithComplement(rhs.bv); |
| 293 | |
| 294 | assert(false && "PointsTo::intersectWithComplement(PT): unknown type"); |
| 295 | abort(); |
| 296 | } |
| 297 | |
| 298 | void PointsTo::intersectWithComplement(const PointsTo &lhs, const PointsTo &rhs) |
| 299 | { |
no outgoing calls
no test coverage detected