jif.types
Class VarMap
java.lang.Object
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().
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
bounds
protected java.util.Map bounds
ts
protected JifTypeSystem ts
defaultLabelBound
protected final Label defaultLabelBound
defaultPrincipalBound
protected final Principal defaultPrincipalBound
VarMap
public VarMap(JifTypeSystem ts,
Label defaultLabelBound,
Principal defaultPrincipalBound)
copy
public VarMap copy()
boundOf
public Principal boundOf(VarPrincipal v)
boundOf
public Label boundOf(VarLabel v)
setBound
public void setBound(Variable v,
Label bound)
setBound
public void setBound(Variable v,
Principal bound)
applyTo
public Policy applyTo(Policy p)
applyTo
public Param applyTo(Param c)
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)