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

## jif.types.hierarchy
Class LabelEnv_c

    java.lang.Object
      jif.types.hierarchy.LabelEnv_c

All Implemented Interfaces:
  LabelEnv

    public class LabelEnv_c

extends java.lang.Object
implements LabelEnv

The wrapper of a set of assumptions that can be used to decide whether L1 <= L2.

Nested Class Summary

Nested classes/interfaces inherited from interface jif.types.hierarchy.LabelEnv
`LabelEnv.SearchState`

Constructor Summary
`LabelEnv_c(JifTypeSystem ts, boolean useCache)`

Method Summary
`void` | `addActsFor(Principal p1, Principal p2)`
`void` | `addAssertionLE(Label L1, Label L2)`
`void` | `addAssertionLE(Label L1, Label L2, boolean updateDisplayString)`
`void` | `addEquiv(Label L1, Label L2)`
`void` | `addEquiv(Principal p1, Principal p2)`
`LabelEnv` | `copy()`
`java.util.Map` | `definitions(VarMap bounds, java.util.Set seenComponents)` Returns a Map of Strings to List[String]s which is the descriptions of any components that appear in the environment.
`boolean` | `hasVariables()` Do any of the assertions in this label environment contain variables?
`boolean` | `isEmpty()` Is this enviornment empty, or does is contain some constraints?
`boolean` | `leq(Label L1, Label L2)`
`boolean` | `leq(Label L1, Label L2, LabelEnv.SearchState state)` Recursive implementation of L1 <= L2.
`PrincipalHierarchy` | `ph()`
`void` | `setSolver(Solver s)` Set the solver used for this Label Environment.
`java.lang.String` | `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### LabelEnv_c

    public LabelEnv_c(JifTypeSystem ts,
                      boolean useCache)

Method Detail

### setSolver

    public void setSolver(Solver s)

  Description copied from interface: `LabelEnv`
  Set the solver used for this Label Environment. When necessary, the label environment will use the variable bounds of label variables when determining if constraints are satisfied.

  Specified by:
    `setSolver` in interface `LabelEnv`

### ph

    public PrincipalHierarchy ph()

  Specified by:
    `ph` in interface `LabelEnv`

### hasVariables

    public boolean hasVariables()

  Description copied from interface: `LabelEnv`
  Do any of the assertions in this label environment contain variables?

  Specified by:
    `hasVariables` in interface `LabelEnv`

### addActsFor

    public void addActsFor(Principal p1,
                           Principal p2)

  Specified by:
    `addActsFor` in interface `LabelEnv`

### addEquiv

    public void addEquiv(Principal p1,
                         Principal p2)

  Specified by:
    `addEquiv` in interface `LabelEnv`

### addAssertionLE

    public void addAssertionLE(Label L1,
                               Label L2)

  Specified by:
    `addAssertionLE` in interface `LabelEnv`

### addAssertionLE

    public void addAssertionLE(Label L1,
                               Label L2,
                               boolean updateDisplayString)

### addEquiv

    public void addEquiv(Label L1,
                         Label L2)

  Specified by:
    `addEquiv` in interface `LabelEnv`

### copy

    public LabelEnv copy()

  Specified by:
    `copy` in interface `LabelEnv`

### leq

    public boolean leq(Label L1,
                       Label L2)

  Specified by:
    `leq` in interface `LabelEnv`

### leq

    public boolean leq(Label L1,
                       Label L2,
                       LabelEnv.SearchState state)

  Recursive implementation of L1 <= L2.

  Specified by:
    `leq` in interface `LabelEnv`

### isEmpty

    public boolean isEmpty()

  Is this enviornment empty, or does is contain some constraints?

  Specified by:
    `isEmpty` in interface `LabelEnv`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### definitions

    public java.util.Map definitions(VarMap bounds,
                                     java.util.Set seenComponents)

  Returns a Map of Strings to List[String]s which is the descriptions of any components that appear in the environment. This map is used for verbose output to the user, to help explain the meaning of constraints and labels. Seen components is a Set of Labels whose definitions will not be displayed.

  Specified by:
    `definitions` in interface `LabelEnv`

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