Interface PointsToSet

All Superinterfaces:
Copyable<PointsToSet>, Iterable<CSObj>

public interface PointsToSet extends Iterable<CSObj>, Copyable<PointsToSet>
Representation of points-to sets that consist of CSObj.
  • Method Details

    • addObject

      boolean addObject(CSObj obj)
      Adds an object to this set.
      Returns:
      true if this points-to set changed as a result of the call, otherwise false.
    • addAll

      boolean addAll(PointsToSet pts)
      Adds all objects in given pts to this set.
      Returns:
      true if this points-to set changed as a result of the call, otherwise false.
    • addAllDiff

      PointsToSet addAllDiff(PointsToSet pts)
      Adds all objects in given pts to this set.
      Returns:
      the difference between pts and this set.
    • removeIf

      void removeIf(Predicate<CSObj> filter)
      Removes objects from this set if they satisfy the filter.

      Note: This method should not be called outside of Plugin.onPhaseFinish(), otherwise it may break the monotonicity of pointer analysis.

    • contains

      boolean contains(CSObj obj)
      Returns:
      true if this set contains given object, otherwise false.
    • isEmpty

      boolean isEmpty()
      Returns:
      whether this set if empty.
    • size

      int size()
      Returns:
      the number of objects in this set.
    • getObjects

      Set<CSObj> getObjects()
      Returns:
      all objects in this set.
    • objects

      Stream<CSObj> objects()
      Returns:
      all objects in this set.
    • iterator

      default Iterator<CSObj> iterator()
      Specified by:
      iterator in interface Iterable<CSObj>