protected IntSet getInstanceKeysForClass(IClass klass) { return system.getInstanceKeysForClass(klass); }
protected IntSet getInstanceKeysForClass(IClass klass) { return system.getInstanceKeysForClass(klass); }
private IntSet bits(PropagationSystem system) { IntSet f = null; for(IClass cls : concreteType) { if (f == null) { f = system.getInstanceKeysForClass(cls); } else { f = f.union(system.getInstanceKeysForClass(cls)); } } return f; }
private IntSet bits(PropagationSystem system) { IntSet f = null; for(IClass cls : concreteType) { if (f == null) { f = system.getInstanceKeysForClass(cls); } else { f = f.union(system.getInstanceKeysForClass(cls)); } } return f; }
@Override public boolean addFiltered(PropagationSystem system, PointsToSetVariable L, PointsToSetVariable R) { IntSet f = system.getInstanceKeysForClass(concreteType); return (f == null) ? false : L.addAllInIntersection(R, f); }
@Override public boolean addFiltered(PropagationSystem system, PointsToSetVariable L, PointsToSetVariable R) { IntSet f = system.getInstanceKeysForClass(concreteType); return (f == null) ? false : L.addAllInIntersection(R, f); }
@Override public boolean addInverseFiltered(PropagationSystem system, PointsToSetVariable L, PointsToSetVariable R) { IntSet f = system.getInstanceKeysForClass(concreteType); // SJF: this is horribly inefficient. we really don't want to do // diffs in here. TODO: fix it. probably keep not(f) cached and // use addAllInIntersection return (f == null) ? L.addAll(R) : L.addAll(IntSetUtil.diff(R.getValue(), f)); }
@Override public boolean addInverseFiltered(PropagationSystem system, PointsToSetVariable L, PointsToSetVariable R) { IntSet f = system.getInstanceKeysForClass(concreteType); // SJF: this is horribly inefficient. we really don't want to do // diffs in here. TODO: fix it. probably keep not(f) cached and // use addAllInIntersection return (f == null) ? L.addAll(R) : L.addAll(IntSetUtil.diff(R.getValue(), f)); }