change getPointerKeys() to return an Iterable, so we're not forced to construct a Collection (can cause a space blowup for a very large points-to relation)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4224 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
This commit is contained in:
parent
af16c5d551
commit
a6a8188244
|
@ -48,7 +48,8 @@ public interface PointerAnalysis {
|
|||
/**
|
||||
* @return all pointer keys known
|
||||
*/
|
||||
Collection<PointerKey> getPointerKeys();
|
||||
Iterable<PointerKey> getPointerKeys();
|
||||
|
||||
|
||||
/**
|
||||
* @return all instance keys known
|
||||
|
|
|
@ -38,7 +38,7 @@ import com.ibm.wala.ssa.SSAThrowInstruction;
|
|||
import com.ibm.wala.types.FieldReference;
|
||||
import com.ibm.wala.types.TypeReference;
|
||||
import com.ibm.wala.util.collections.HashSetFactory;
|
||||
import com.ibm.wala.util.collections.Iterator2Collection;
|
||||
import com.ibm.wala.util.collections.Iterator2Iterable;
|
||||
import com.ibm.wala.util.debug.Assertions;
|
||||
import com.ibm.wala.util.intset.IntSet;
|
||||
import com.ibm.wala.util.intset.MutableMapping;
|
||||
|
@ -538,8 +538,8 @@ public class PointerAnalysisImpl extends AbstractPointerAnalysis {
|
|||
/*
|
||||
* @see com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis#iteratePointerKeys()
|
||||
*/
|
||||
public Collection<PointerKey> getPointerKeys() {
|
||||
return Iterator2Collection.toSet(pointsToMap.iterateKeys());
|
||||
public Iterable<PointerKey> getPointerKeys() {
|
||||
return Iterator2Iterable.make(pointsToMap.iterateKeys());
|
||||
}
|
||||
|
||||
public IClassHierarchy getClassHierarchy() {
|
||||
|
|
Loading…
Reference in New Issue