soot.toolkits.scalar
Interface FlowSet

All Known Subinterfaces:
BoundedFlowSet
All Known Implementing Classes:
ArraySparseSet

public interface FlowSet

Represents information for flow analysis. A FlowSet is an element of a lattice; this lattice might be described by a FlowUniverse. If add, remove, size, isEmpty, toList and contains are implemented, the lattice must be the powerset of some set.


Method Summary
 void add(java.lang.Object obj, FlowSet dest)
          Adds obj to dest.
 void clear()
          Sets this FlowSet to the empty set (more generally, the bottom element of the lattice.)
 java.lang.Object clone()
          Clones the current FlowSet.
 boolean contains(java.lang.Object obj)
          Returns true if this FlowSet contains obj.
 void copy(FlowSet dest)
          Copies the current FlowSet into dest.
 void difference(FlowSet other, FlowSet dest)
          Returns the set difference (this join ~other) of this FlowSet and other, putting result into dest.
 void intersection(FlowSet other, FlowSet dest)
          Returns the intersection (meet) of this FlowSet and other, putting result into dest.
 boolean isEmpty()
          Returns true if this FlowSet is the empty set.
 void remove(java.lang.Object obj, FlowSet dest)
          Removes obj from dest.
 int size()
          Returns the size of the current FlowSet.
 java.util.List toList()
          Returns an unbacked list of contained objects for this FlowSet.
 void union(FlowSet other, FlowSet dest)
          Returns the union (join) of this FlowSet and other, putting result into dest.
 

Method Detail

clone

public java.lang.Object clone()
Clones the current FlowSet.
Overrides:
clone in class java.lang.Object

copy

public void copy(FlowSet dest)
Copies the current FlowSet into dest.

clear

public void clear()
Sets this FlowSet to the empty set (more generally, the bottom element of the lattice.)

union

public void union(FlowSet other,
                  FlowSet dest)
Returns the union (join) of this FlowSet and other, putting result into dest.

intersection

public void intersection(FlowSet other,
                         FlowSet dest)
Returns the intersection (meet) of this FlowSet and other, putting result into dest.

difference

public void difference(FlowSet other,
                       FlowSet dest)
Returns the set difference (this join ~other) of this FlowSet and other, putting result into dest.

isEmpty

public boolean isEmpty()
Returns true if this FlowSet is the empty set.

size

public int size()
         throws java.lang.UnsupportedOperationException
Returns the size of the current FlowSet. (optional operation)

add

public void add(java.lang.Object obj,
                FlowSet dest)
         throws java.lang.UnsupportedOperationException
Adds obj to dest. (optional operation)

remove

public void remove(java.lang.Object obj,
                   FlowSet dest)
            throws java.lang.UnsupportedOperationException
Removes obj from dest. (optional operation)

contains

public boolean contains(java.lang.Object obj)
                 throws java.lang.UnsupportedOperationException
Returns true if this FlowSet contains obj. (optional operation)

toList

public java.util.List toList()
                      throws java.lang.UnsupportedOperationException
Returns an unbacked list of contained objects for this FlowSet. (optional operation)