soot.jimple.spark.sets
Class SharedListSet

java.lang.Object
  extended by soot.jimple.spark.sets.PointsToSetInternal
      extended by soot.jimple.spark.sets.SharedListSet
All Implemented Interfaces:
EqualsSupportingPointsToSet, PointsToSet

public class SharedListSet
extends PointsToSetInternal

Implementation of a points-to set as a sorted list of elements, but where similar lists share parts of their data.


Nested Class Summary
 class SharedListSet.ListNode
           
 class SharedListSet.Pair
           
 
Nested classes/interfaces inherited from class soot.jimple.spark.sets.PointsToSetInternal
PointsToSetInternal.P2SetVisitorDefaultTrue, PointsToSetInternal.P2SetVisitorInt
 
Field Summary
 
Fields inherited from class soot.jimple.spark.sets.PointsToSetInternal
type
 
Constructor Summary
SharedListSet(Type type, PAG pag)
           
 
Method Summary
 boolean add(Node n)
          Adds n to this set, returns true if n was not already in this set.
 boolean addAll(PointsToSetInternal other, PointsToSetInternal exclude)
          Adds contents of other minus the contents of exclude into this set; returns true if this set changed.
 boolean contains(Node n)
          Returns true iff the set contains n.
 boolean forall(P2SetVisitor v)
          Calls v's visit method on all nodes in this set.
static P2SetFactory getFactory()
           
 boolean isEmpty()
          Returns true if this set contains no run-time objects.
 
Methods inherited from class soot.jimple.spark.sets.PointsToSetInternal
flushNew, getBitMask, getNewSet, getOldSet, getType, hasNonEmptyIntersection, mergeWith, pointsToSetEquals, pointsToSetHashCode, possibleClassConstants, possibleStringConstants, possibleTypes, setType, size, toString, unFlushNew
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SharedListSet

public SharedListSet(Type type,
                     PAG pag)
Method Detail

getFactory

public static final P2SetFactory getFactory()

contains

public boolean contains(Node n)
Description copied from class: PointsToSetInternal
Returns true iff the set contains n.

Specified by:
contains in class PointsToSetInternal

isEmpty

public boolean isEmpty()
Description copied from interface: PointsToSet
Returns true if this set contains no run-time objects.


forall

public boolean forall(P2SetVisitor v)
Description copied from class: PointsToSetInternal
Calls v's visit method on all nodes in this set.

Specified by:
forall in class PointsToSetInternal

add

public boolean add(Node n)
Description copied from class: PointsToSetInternal
Adds n to this set, returns true if n was not already in this set.

Specified by:
add in class PointsToSetInternal

addAll

public boolean addAll(PointsToSetInternal other,
                      PointsToSetInternal exclude)
Description copied from class: PointsToSetInternal
Adds contents of other minus the contents of exclude into this set; returns true if this set changed.

Overrides:
addAll in class PointsToSetInternal