Search in sources :

Example 1 with PointsToSetEqualsWrapper

use of soot.jimple.spark.sets.PointsToSetEqualsWrapper in project soot by Sable.

the class DemandCSPointsTo method consistentResult.

/**
 * Returns <code>false</code> if an inconsistent computation occurred, i.e. if result
 * differs from the result computed by {@link #computeReachingObjects(Local)} on l.
 */
private boolean consistentResult(Local l, PointsToSet result) {
    PointsToSet result2 = computeReachingObjects(l);
    if (!(result instanceof EqualsSupportingPointsToSet) || !(result2 instanceof EqualsSupportingPointsToSet)) {
        // cannot compare, assume everything is fine
        return true;
    }
    EqualsSupportingPointsToSet eq1 = (EqualsSupportingPointsToSet) result;
    EqualsSupportingPointsToSet eq2 = (EqualsSupportingPointsToSet) result2;
    return new PointsToSetEqualsWrapper(eq1).equals(new PointsToSetEqualsWrapper(eq2));
}
Also used : EmptyPointsToSet(soot.jimple.spark.sets.EmptyPointsToSet) EqualsSupportingPointsToSet(soot.jimple.spark.sets.EqualsSupportingPointsToSet) HybridPointsToSet(soot.jimple.spark.sets.HybridPointsToSet) PointsToSet(soot.PointsToSet) EqualsSupportingPointsToSet(soot.jimple.spark.sets.EqualsSupportingPointsToSet) PointsToSetEqualsWrapper(soot.jimple.spark.sets.PointsToSetEqualsWrapper)

Aggregations

PointsToSet (soot.PointsToSet)1 EmptyPointsToSet (soot.jimple.spark.sets.EmptyPointsToSet)1 EqualsSupportingPointsToSet (soot.jimple.spark.sets.EqualsSupportingPointsToSet)1 HybridPointsToSet (soot.jimple.spark.sets.HybridPointsToSet)1 PointsToSetEqualsWrapper (soot.jimple.spark.sets.PointsToSetEqualsWrapper)1