harpoon.Analysis.Companions
Interface SingularOracle<HCE extends HCodeElement>

All Known Implementing Classes:
SingularFinder

public interface SingularOracle<HCE extends HCodeElement>

A SingularOracle provides information about singularity and mutual singularity of static values.

Version:
$Id: SingularOracle.java,v 1.2 2003/05/12 19:29:37 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Method Summary
 Set<Temp> conditionallySingular(HMethod m, StaticValue<HCE> sv)
          Returns a set of parameters the given static value is conditionally singular dependent on, or null if there is no such set (the static value is not singular).
 Set<Temp> mutuallySingular(HMethod m, Collection<StaticValue<HCE>> svs)
          Returns a set of parameters the given static values are conditionally singular dependent on, or null if there is no such set (the values are not mutually singular).
 

Method Detail

conditionallySingular

Set<Temp> conditionallySingular(HMethod m,
                                StaticValue<HCE> sv)
Returns a set of parameters the given static value is conditionally singular dependent on, or null if there is no such set (the static value is not singular).


mutuallySingular

Set<Temp> mutuallySingular(HMethod m,
                           Collection<StaticValue<HCE>> svs)
Returns a set of parameters the given static values are conditionally singular dependent on, or null if there is no such set (the values are not mutually singular).