com.ibm.wala.fixpoint
Class IntSetVariable<T extends IntSetVariable>

java.lang.Object
  extended by com.ibm.wala.util.graph.impl.NodeWithNumber
      extended by com.ibm.wala.fixedpoint.impl.AbstractVariable<T>
          extended by com.ibm.wala.fixpoint.IntSetVariable<T>
All Implemented Interfaces:
IVariable<T>, INodeWithNumber
Direct Known Subclasses:
PointsToSetVariable

public abstract class IntSetVariable<T extends IntSetVariable>
extends AbstractVariable<T>

A variable for dataflow analysis, representing a set of integers. TODO: optimize the representation more; e.g. BitVectors with non-zero lower bound.


Constructor Summary
IntSetVariable()
           
 
Method Summary
 void add(int b)
          Set a particular bit
 boolean addAll(IntSet B)
          Add all integers from the set B
 boolean addAll(T other)
          Add all integers from the other int set variable.
 boolean addAllInIntersection(IntSet other, IntSet filter)
           
 boolean addAllInIntersection(T other, IntSet filter)
           
 boolean contains(int b)
          Is a particular bit set?
 boolean containsAny(IntSet instances)
           
 void copyState(T other)
          Set this variable to have the same state as another one
 MutableIntSet getValue()
           
abstract  int hashCode()
           
 void remove(int i)
           
 void removeAll()
           
 boolean sameValue(IntSetVariable other)
           
 int size()
           
 java.lang.String toString()
           
 
Methods inherited from class com.ibm.wala.fixedpoint.impl.AbstractVariable
equals, getOrderNumber, setOrderNumber
 
Methods inherited from class com.ibm.wala.util.graph.impl.NodeWithNumber
getGraphNodeId, setGraphNodeId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ibm.wala.util.graph.INodeWithNumber
getGraphNodeId, setGraphNodeId
 

Constructor Detail

IntSetVariable

public IntSetVariable()
Method Detail

copyState

public void copyState(T other)
Description copied from interface: IVariable
Set this variable to have the same state as another one


addAll

public boolean addAll(IntSet B)
Add all integers from the set B

Parameters:
B -
Returns:
true iff the value of this changes

addAll

public boolean addAll(T other)
Add all integers from the other int set variable.

Returns:
true iff the contents of this variable changes.

sameValue

public boolean sameValue(IntSetVariable other)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

add

public void add(int b)
Set a particular bit

Parameters:
b - the bit to set

contains

public boolean contains(int b)
Is a particular bit set?

Parameters:
b - the bit to check

getValue

public MutableIntSet getValue()
Returns:
the value of this variable as a MutableSparseIntSet ... null if the set is empty.

remove

public void remove(int i)
Parameters:
i -

hashCode

public abstract int hashCode()
Specified by:
hashCode in class AbstractVariable<T extends IntSetVariable>

size

public int size()

containsAny

public boolean containsAny(IntSet instances)

addAllInIntersection

public boolean addAllInIntersection(T other,
                                    IntSet filter)

addAllInIntersection

public boolean addAllInIntersection(IntSet other,
                                    IntSet filter)

removeAll

public void removeAll()