harpoon.Analysis.Maps
Interface TypeMap<HCE extends HCodeElement>

All Known Subinterfaces:
BackendDerivation, Derivation<HCE>, ExactTypeMap<HCE>
All Known Implementing Classes:
BitWidthAnalysis, DerivationGenerator, DerivationMap, ExactTypeMapProxy, MyLowQuadNoSSA, MyLowQuadSSI, SCCAnalysis, TypeInfo, TypeMapProxy

public interface TypeMap<HCE extends HCodeElement>

A TypeMap is a mapping from temporaries to their types.

Version:
$Id: TypeMap.java,v 1.5 2002/09/02 19:23:26 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Nested Class Summary
static class TypeMap.TypeNotKnownException
          TypeNotKnownException is thrown to indicate that the TypeMap does not have type information for the specified Temp in the given HCodeElement.
 
Method Summary
 HClass typeMap(HCE hce, Temp t)
          Return the type of a given temporary t, as defined at the definition point hce.
 

Method Detail

typeMap

HClass typeMap(HCE hce,
               Temp t)
               throws TypeMap.TypeNotKnownException
Return the type of a given temporary t, as defined at the definition point hce. Iff the type of the temporary is not known, or if hce does not define t, throws TypeNotKnownException. If the temporary represents a derived pointer, null should be returned; in which case the Derivation must return a non-null value. Obviously, TypeMaps for high-level representations without derived pointers should never return null. As a special case, HClass.Void may be returned in low-level IRs to indicate an opaque pointer value which does not correspond to a java object pointer or some derivation thereof --- for example, a pointer into a method dispatch table. The only other time HClass.Void should be returned is for known-null pointer values.

Parameters:
hce - The HCodeElement defining t.
t - The temporary to examine.
Returns:
the static type of t.
Throws:
NullPointerException - if t or hc is null.
TypeMap.TypeNotKnownException - if the TypeMap does not have any information about t as defined at hc.