jif.types.principal
Class VarPrincipal_c

java.lang.Object
  extended by polyglot.types.TypeObject_c
      extended by jif.types.principal.Principal_c
          extended by jif.types.principal.VarPrincipal_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Variable, Param, Principal, VarPrincipal, polyglot.types.TypeObject, polyglot.util.Copy

public class VarPrincipal_c
extends Principal_c
implements VarPrincipal

An implementation of the VarPrincipal interface.

See Also:
Serialized Form

Field Summary
protected  java.lang.String description
           
 
Fields inherited from class jif.types.principal.Principal_c
variables
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
VarPrincipal_c(java.lang.String name, java.lang.String description, JifTypeSystem ts, polyglot.util.Position pos)
           
 
Method Summary
 boolean equalsImpl(polyglot.types.TypeObject o)
           
 int hashCode()
           
 boolean isCanonical()
           
 boolean isRuntimeRepresentable()
           
 boolean mustRuntimeRepresentable()
          Does this var label need to map to a runtime representable label?
 java.lang.String name()
           
protected  void setDescription(java.lang.String description)
           
 void setMustRuntimeRepresentable()
          Set the mustRuntimeRepresentable flag, meaning that any solution for this VarLabel must be to a runtime representable label.
 java.lang.String toString()
           
 java.util.Set variables()
          The set of variables that this label contains including variables contained in upper bounds of arg labels.
 
Methods inherited from class jif.types.principal.Principal_c
hasVariables, isBottomPrincipal, isTopPrincipal, labelCheck, simplify, subst, throwTypes, toJava
 
Methods inherited from class polyglot.types.TypeObject_c
copy, equals, position, typeSystem
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jif.types.principal.Principal
hasVariables, isBottomPrincipal, isTopPrincipal, labelCheck, simplify, subst, throwTypes, toJava
 
Methods inherited from interface polyglot.types.TypeObject
position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Field Detail

description

protected java.lang.String description
Constructor Detail

VarPrincipal_c

public VarPrincipal_c(java.lang.String name,
                      java.lang.String description,
                      JifTypeSystem ts,
                      polyglot.util.Position pos)
Method Detail

setDescription

protected void setDescription(java.lang.String description)

isCanonical

public boolean isCanonical()
Specified by:
isCanonical in interface Param
Specified by:
isCanonical in interface polyglot.types.TypeObject
Specified by:
isCanonical in class Principal_c

setMustRuntimeRepresentable

public void setMustRuntimeRepresentable()
Description copied from interface: Variable
Set the mustRuntimeRepresentable flag, meaning that any solution for this VarLabel must be to a runtime representable label.

Specified by:
setMustRuntimeRepresentable in interface Variable

mustRuntimeRepresentable

public boolean mustRuntimeRepresentable()
Description copied from interface: Variable
Does this var label need to map to a runtime representable label?

Specified by:
mustRuntimeRepresentable in interface Variable

equalsImpl

public boolean equalsImpl(polyglot.types.TypeObject o)
Specified by:
equalsImpl in interface polyglot.types.TypeObject
Specified by:
equalsImpl in class Principal_c

hashCode

public int hashCode()
Specified by:
hashCode in class Principal_c

variables

public java.util.Set variables()
Description copied from interface: Principal
The set of variables that this label contains including variables contained in upper bounds of arg labels.

Specified by:
variables in interface Principal
Overrides:
variables in class Principal_c

name

public java.lang.String name()
Specified by:
name in interface Variable

toString

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

isRuntimeRepresentable

public boolean isRuntimeRepresentable()
Specified by:
isRuntimeRepresentable in interface Param
Specified by:
isRuntimeRepresentable in class Principal_c