Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jif.extension
Class LabelTypeCheckUtil

    java.lang.Object
      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 `PathMap`s, 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD