Class PointsToSetInternal

    • Field Detail

      • type

        protected Type type
    • Constructor Detail

      • PointsToSetInternal

        public PointsToSetInternal​(Type type)
    • Method Detail

      • addAll

        public boolean addAll​(PointsToSetInternal other,
                              PointsToSetInternal exclude)
        Adds contents of other minus the contents of exclude into this set; returns true if this set changed.
      • forall

        public abstract boolean forall​(P2SetVisitor v)
        Calls v's visit method on all nodes in this set.
      • add

        public abstract boolean add​(Node n)
        Adds n to this set, returns true if n was not already in this set.
      • getNewSet

        public PointsToSetInternal getNewSet()
        Returns set of newly-added nodes since last call to flushNew.
      • getOldSet

        public PointsToSetInternal getOldSet()
        Returns set of nodes already present before last call to flushNew.
      • flushNew

        public void flushNew()
        Sets all newly-added nodes to old nodes.
      • unFlushNew

        public void unFlushNew()
        Sets all nodes to newly-added nodes.
      • contains

        public abstract boolean contains​(Node n)
        Returns true iff the set contains n.
      • possibleTypes

        public Set<Type> possibleTypes()
        Description copied from interface: PointsToSet
        Set of all possible run-time types of objects in the set.
        Specified by:
        possibleTypes in interface PointsToSet
      • getType

        public Type getType()
      • setType

        public void setType​(Type type)
      • size

        public int size()
      • possibleStringConstants

        public Set<String> possibleStringConstants()
        Description copied from interface: PointsToSet
        If this points-to set consists entirely of string constants, returns a set of these constant strings. If this point-to set may contain something other than constant strings, returns null.
        Specified by:
        possibleStringConstants in interface PointsToSet
      • possibleClassConstants

        public Set<ClassConstant> possibleClassConstants()
        Description copied from interface: PointsToSet
        If this points-to set consists entirely of objects of type java.lang.Class of a known class, returns a set of ClassConstant's that are these classes. If this point-to set may contain something else, returns null.
        Specified by:
        possibleClassConstants in interface PointsToSet
      • pointsToSetHashCode

        public int pointsToSetHashCode()
        Computes a hash code based on the contents of the points-to set. Note that hashCode() is not overwritten on purpose. This is because Spark relies on comparison by object identity.
        Specified by:
        pointsToSetHashCode in interface EqualsSupportingPointsToSet
      • pointsToSetEquals

        public boolean pointsToSetEquals​(Object other)
        Returns true if and only if other holds the same alloc nodes as this. Note that equals() is not overwritten on purpose. This is because Spark relies on comparison by object identity.
        Specified by:
        pointsToSetEquals in interface EqualsSupportingPointsToSet