soot.jimple.spark.sets
Class BDDPointsToSet

java.lang.Object
  extended bysoot.jimple.spark.sets.BDDPointsToSet
All Implemented Interfaces:
PointsToSet

public class BDDPointsToSet
extends java.lang.Object
implements PointsToSet

Implementation of PointsToSet providing an interface to a BDD of AllocNodes.

Author:
Ondrej Lhotak

Constructor Summary
BDDPointsToSet(Relation bdd)
           
 
Method Summary
 boolean hasNonEmptyIntersection(PointsToSet other)
          Returns true if this set shares some objects with other.
 boolean isEmpty()
          Returns true if this set contains no run-time objects.
 java.util.Set possibleClassConstants()
          If this points-to set consists entirely of objects of type java.lang.Class of a known class, returns a set of strings that are the names of these classes.
 java.util.Set possibleStringConstants()
          If this points-to set consists entirely of string constants, returns a set of these constant strings.
 java.util.Set possibleTypes()
          Set of all possible run-time types of objects in the set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BDDPointsToSet

public BDDPointsToSet(Relation bdd)
Method Detail

isEmpty

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

Specified by:
isEmpty in interface PointsToSet

hasNonEmptyIntersection

public boolean hasNonEmptyIntersection(PointsToSet other)
Returns true if this set shares some objects with other.

Specified by:
hasNonEmptyIntersection in interface PointsToSet

possibleTypes

public java.util.Set possibleTypes()
Set of all possible run-time types of objects in the set.

Specified by:
possibleTypes in interface PointsToSet

possibleStringConstants

public java.util.Set possibleStringConstants()
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 java.util.Set possibleClassConstants()
If this points-to set consists entirely of objects of type java.lang.Class of a known class, returns a set of strings that are the names of these classes. If this point-to set may contain something else, returns null.

Specified by:
possibleClassConstants in interface PointsToSet