package jqian.sootex.ptsto; import java.util.HashSet; import java.util.Set; import jqian.util.CollectionUtils; import soot.PointsToSet; import soot.Type; import soot.jimple.ClassConstant; /** * */ @SuppressWarnings("serial") public class TypeBasedPointsToSet extends HashSet<Type> implements PointsToSet { /* (non-Javadoc) * @see soot.PointsToSet#isEmpty() */ public boolean isEmpty() { return super.isEmpty(); } /* (non-Javadoc) * @see soot.PointsToSet#hasNonEmptyIntersection(soot.PointsToSet) */ public boolean hasNonEmptyIntersection(PointsToSet other) { if(this == other){ return true; } if(!(other instanceof TypeBasedPointsToSet)){ throw new RuntimeException("parameter type unsupported."); } return CollectionUtils.hasInterset(this, (TypeBasedPointsToSet)other); } /* (non-Javadoc) * @see soot.PointsToSet#possibleTypes() */ public Set<Type> possibleTypes() { throw new RuntimeException("Unimplemented."); } /* (non-Javadoc) * @see soot.PointsToSet#possibleStringConstants() */ public Set<String> possibleStringConstants() { throw new RuntimeException("Unimplemented."); } /* (non-Javadoc) * @see soot.PointsToSet#possibleClassConstants() */ public Set<ClassConstant> possibleClassConstants() { throw new RuntimeException("Unimplemented."); } }