soot.jimple.spark.sets
Class HybridPointsToSet

java.lang.Object
  |
  +--soot.jimple.spark.sets.PointsToSetInternal
        |
        +--soot.jimple.spark.sets.HybridPointsToSet
All Implemented Interfaces:
PointsToSet

public final class HybridPointsToSet
extends PointsToSetInternal

Hybrid implementation of points-to set, which uses an explicit array for small sets, and a bit vector for large sets.


Field Summary
 
Fields inherited from class soot.jimple.spark.sets.PointsToSetInternal
type
 
Constructor Summary
HybridPointsToSet(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 add(Node n, long[] mask)
          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 into this set, returns true if this set changed.
 boolean contains(Node n)
          Returns true iff the set contains n.
protected  void convertToBits()
           
static void delete()
           
protected  boolean fastAdd(Node 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, getNewSet, getOldSet, getType, hasNonEmptyIntersection, mergeWith, possibleTypes, setType, size, unFlushNew
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HybridPointsToSet

public HybridPointsToSet(Type type,
                         PAG pag)
Method Detail

isEmpty

public final boolean isEmpty()
Returns true if this set contains no run-time objects.


addAll

public final boolean addAll(PointsToSetInternal other,
                            PointsToSetInternal exclude)
Adds contents of other into this set, returns true if this set changed.

Overrides:
addAll in class PointsToSetInternal

forall

public final boolean forall(P2SetVisitor v)
Calls v's visit method on all nodes in this set.

Specified by:
forall in class PointsToSetInternal

add

public final boolean add(Node n,
                         long[] mask)
Adds n to this set, returns true if n was not already in this set.


add

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

Specified by:
add in class PointsToSetInternal

contains

public final boolean contains(Node n)
Returns true iff the set contains n.

Specified by:
contains in class PointsToSetInternal

getFactory

public static final P2SetFactory getFactory()

delete

public static final void delete()

fastAdd

protected final boolean fastAdd(Node n)

convertToBits

protected final void convertToBits()