jif.extension
Class LabelTypeCheckUtil

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

public class LabelTypeCheckUtil
extends java.lang.Object

Contains some common utility code to type check dynamic labels and principals


Constructor Summary
LabelTypeCheckUtil()
           
 
Method Summary
static PathMap labelCheckType(polyglot.types.Type t, LabelChecker lc, java.util.List throwTypes, polyglot.util.Position pos)
           
static java.util.List labelCheckTypeParams(polyglot.types.Type t, LabelChecker lc, java.util.List throwTypes, polyglot.util.Position pos)
           
static java.util.Set localInstancesUsed(JifClassType type, JifTypeSystem ts)
          Returns a set of local instances that are used in the type.
static java.util.List throwTypes(JifClassType type, JifTypeSystem ts)
          Return the types that may be thrown by a runtime evalution of the type type.
static void typeCheckLabel(polyglot.visit.TypeChecker tc, Label Lbl)
           
static void typeCheckPrincipal(polyglot.visit.TypeChecker tc, Principal principal)
           
static void typeCheckType(polyglot.visit.TypeChecker tc, polyglot.types.Type t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LabelTypeCheckUtil

public LabelTypeCheckUtil()
Method Detail

typeCheckPrincipal

public static void typeCheckPrincipal(polyglot.visit.TypeChecker tc,
                                      Principal principal)
                               throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

typeCheckLabel

public static void typeCheckLabel(polyglot.visit.TypeChecker tc,
                                  Label Lbl)
                           throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

typeCheckType

public static void typeCheckType(polyglot.visit.TypeChecker tc,
                                 polyglot.types.Type t)
                          throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

labelCheckType

public static PathMap labelCheckType(polyglot.types.Type t,
                                     LabelChecker lc,
                                     java.util.List throwTypes,
                                     polyglot.util.Position pos)
                              throws polyglot.types.SemanticException
Throws:
polyglot.types.SemanticException

labelCheckTypeParams

public static java.util.List labelCheckTypeParams(polyglot.types.Type t,
                                                  LabelChecker lc,
                                                  java.util.List throwTypes,
                                                  polyglot.util.Position pos)
                                           throws polyglot.types.SemanticException
Parameters:
t -
lc -
Returns:
List of PathMaps, one for each parameter of the subst type.
Throws:
polyglot.types.SemanticException

throwTypes

public static java.util.List throwTypes(JifClassType type,
                                        JifTypeSystem ts)
Return the types that may be thrown by a runtime evalution of the type type.

Parameters:
type -
ts -
Returns:
the types that may be thrown by a runtime evalution of the type type.

localInstancesUsed

public static java.util.Set localInstancesUsed(JifClassType type,
                                               JifTypeSystem ts)
Returns a set of local instances that are used in the type.