jif.types
Class VarMap

java.lang.Object
  extended by jif.types.VarMap

public class VarMap
extends java.lang.Object

Maps variable components to labels. Whether these labels are interpreted as upper bounds, lower bounds, or just labels depends on the use of the VarMap. If a variable v is in the map when boundOf(v) is called, boundOf(v) will return the label defaultBound, and enter the mapping v->defaultBound into the map, so that next time boundOf(v) is called, the same label will be returned, even if the default bound has changed in the meantime, through the setDefaultBound(Label) method. The defaultLabel defaults to ts.topLabel().


Field Summary
protected  java.util.Map bounds
           
protected  Label defaultBound
           
protected  JifTypeSystem ts
           
 
Constructor Summary
VarMap(JifTypeSystem ts, Label defaultBound)
           
 
Method Summary
 Label applyTo(Label c)
           
 Policy applyTo(Policy p)
           
 Principal applyTo(Principal p)
           
 polyglot.types.Type applyTo(polyglot.types.Type t)
           
 Label boundOf(VarLabel v)
           
 VarMap copy()
           
 void dump(polyglot.util.CodeWriter w)
           
 void setBound(VarLabel v, Label bound)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

bounds

protected java.util.Map bounds

ts

protected JifTypeSystem ts

defaultBound

protected final Label defaultBound
Constructor Detail

VarMap

public VarMap(JifTypeSystem ts,
              Label defaultBound)
Method Detail

copy

public VarMap copy()

boundOf

public Label boundOf(VarLabel v)

setBound

public void setBound(VarLabel v,
                     Label bound)

applyTo

public Policy applyTo(Policy p)

applyTo

public Label applyTo(Label c)

applyTo

public Principal applyTo(Principal p)

applyTo

public polyglot.types.Type applyTo(polyglot.types.Type t)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

dump

public void dump(polyglot.util.CodeWriter w)