jif.extension
Class SubtypeChecker

java.lang.Object
  extended by jif.extension.SubtypeChecker

public class SubtypeChecker
extends java.lang.Object

A checker of subtype relationships.


Constructor Summary
SubtypeChecker()
           
 
Method Summary
 void addSubtypeConstraints(LabelChecker lc, polyglot.util.Position pos, polyglot.types.Type supertype, polyglot.types.Type subtype)
          Check that subtype <= supertype
static JifPolyType polyTypeForClass(JifClassType jct)
          Return the JifPolyType for the given JifClassType jct.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubtypeChecker

public SubtypeChecker()
Method Detail

addSubtypeConstraints

public void addSubtypeConstraints(LabelChecker lc,
                                  polyglot.util.Position pos,
                                  polyglot.types.Type supertype,
                                  polyglot.types.Type subtype)
                           throws polyglot.types.SemanticException
Check that subtype <= supertype

Throws:
polyglot.types.SemanticException

polyTypeForClass

public static JifPolyType polyTypeForClass(JifClassType jct)
Return the JifPolyType for the given JifClassType jct. If jct is an instance of JifPolyType, then jct is returned; otherwise, if jct is an instance of JifSubstType then jct.base() is returned.