harpoon.Analysis.Maps
Interface ExactTypeMap<HCE extends HCodeElement>
- All Superinterfaces:
- TypeMap<HCE>
- All Known Implementing Classes:
- BitWidthAnalysis, ExactTypeMapProxy, SCCAnalysis, TypeInfo
public interface ExactTypeMap<HCE extends HCodeElement>
- extends TypeMap<HCE>
ExactTypeMap is an extension of TypeMap that
allows the indication of 'exact' types -- that is, temporaries that
can be guaranteed to contain an object of the indicated type
and not a subtype of that type.
Any TypeMap can be made into an ExactTypeMap
by conservatively returning typeMap(hce,t).isPrimitive()
to all calls to isExactType().
- Version:
- $Id: ExactTypeMap.java,v 1.3 2002/09/02 19:23:26 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>
|
Method Summary |
boolean |
isExactType(HCE hce,
Temp t)
Returns true if temporary t defined at
definition point hce contains an object of the
type returned by typeMap(hce, t) and not
a subtype of that type. |
| Methods inherited from interface harpoon.Analysis.Maps.TypeMap |
typeMap |
isExactType
boolean isExactType(HCE hce,
Temp t)
throws TypeMap.TypeNotKnownException
- Returns
true if temporary t defined at
definition point hce contains an object of the
type returned by typeMap(hce, t) and not
a subtype of that type. Returns false if
the object in t can be a subtype of the type returned
by typeMap(hce, t).
If typeMap() returns a primitive type, then
isExactType() should return true.
- Parameters:
hce - The HCodeElement defining t for
this request.t - The Temp to examine.
- Returns:
true if t's type is exact,
false otherwise.
- Throws:
NullPointerException - if t or hce
is null.
TypeNotKnownException - if the ExactTypeMap does
not have any information about t as defined
at hc.
TypeMap.TypeNotKnownException