harpoon.Analysis.Maps
Class ExactTypeMapProxy<HCE extends HCodeElement>

java.lang.Object
  extended by harpoon.Analysis.Maps.TypeMapProxy<HCE>
      extended by harpoon.Analysis.Maps.ExactTypeMapProxy<HCE>
All Implemented Interfaces:
ExactTypeMap<HCE>, TypeMap<HCE>

public class ExactTypeMapProxy<HCE extends HCodeElement>
extends TypeMapProxy<HCE>
implements ExactTypeMap<HCE>

An ExactTypeMapProxy implements an ExactTypeMap for a cloned HCode given the HCodeAndMaps which specifies its relationship to an HCode for which an ExactTypeMap is known.

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

Nested Class Summary
 
Nested classes/interfaces inherited from interface harpoon.Analysis.Maps.ExactTypeMap
ExactTypeMap.ExactType
 
Nested classes/interfaces inherited from interface harpoon.Analysis.Maps.TypeMap
TypeMap.TypeNotKnownException
 
Constructor Summary
ExactTypeMapProxy(HCodeAndMaps<HCE> hcam, ExactTypeMap<HCE> etm)
          Creates a ExactTypeMapProxy.
 
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 class harpoon.Analysis.Maps.TypeMapProxy
typeMap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface harpoon.Analysis.Maps.TypeMap
typeMap
 

Constructor Detail

ExactTypeMapProxy

public ExactTypeMapProxy(HCodeAndMaps<HCE> hcam,
                         ExactTypeMap<HCE> etm)
Creates a ExactTypeMapProxy.

Method Detail

isExactType

public boolean isExactType(HCE hce,
                           Temp t)
Description copied from interface: ExactTypeMap
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.

Specified by:
isExactType in interface ExactTypeMap<HCE extends HCodeElement>
Parameters:
hce - The HCodeElement defining t for this request.
t - The Temp to examine.
Returns:
true if t's type is exact, false otherwise.