jif.types.label

## Class Policy_c

- java.lang.Object
- - polyglot.types.TypeObject_c
  - - jif.types.label.Policy_c

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Policy, polyglot.types.TypeObject, polyglot.util.Copy<polyglot.types.TypeObject>
  Direct Known Subclasses:
    ConfProjectionPolicy_c, IntegProjectionPolicy_c, JoinPolicy_c, MeetPolicy_c, ReaderPolicy_c, WriterPolicy_c

      public abstract class Policy_c
      extends polyglot.types.TypeObject_c
      implements Policy

  An implementation of the `PolicyLabel` interface.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

  - ### Field Summary

    - ### Fields inherited from class polyglot.types.TypeObject_c

      `position, ts`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Policy_c(JifTypeSystem ts, polyglot.util.Position pos)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Policy_c` | `copy()`
    `abstract boolean` | `equalsImpl(polyglot.types.TypeObject t)`
    `boolean` | `hasVariables()`
    `boolean` | `hasWritersToReaders()`
    `Policy` | `simplify()`
    `protected abstract Policy` | `simplifyImpl()`
    `java.lang.String` | `toString()`
    `abstract java.lang.String` | `toString(java.util.Set<Label> printedLabels)`

    - ### Methods inherited from class polyglot.types.TypeObject_c

      `equals, hashCode, position, typeSystem`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface jif.types.label.Policy

      `isBottom, isCanonical, isRuntimeRepresentable, isSingleton, isTop, labelCheck, subst, throwTypes`

    - ### Methods inherited from interface polyglot.types.TypeObject

      `position, typeSystem`

- - ### Constructor Detail

    - #### Policy_c

          public Policy_c(JifTypeSystem ts,
                          polyglot.util.Position pos)

  - ### Method Detail

    - #### toString

          public final java.lang.String toString()

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

    - #### equalsImpl

          public abstract boolean equalsImpl(polyglot.types.TypeObject t)

      Specified by:
        `equalsImpl` in interface `polyglot.types.TypeObject`
      Overrides:
        `equalsImpl` in class `polyglot.types.TypeObject_c`

    - #### hasWritersToReaders

          public boolean hasWritersToReaders()

      Specified by:
        `hasWritersToReaders` in interface `Policy`

    - #### hasVariables

          public boolean hasVariables()

      Specified by:
        `hasVariables` in interface `Policy`

    - #### toString

          public abstract java.lang.String toString(java.util.Set<Label> printedLabels)

      Specified by:
        `toString` in interface `Policy`
      Parameters:
        `printedLabels` - the set of labels for which auxiliary information should be omitted.

    - #### copy

          public Policy_c copy()

      Specified by:
        `copy` in interface `polyglot.util.Copy<polyglot.types.TypeObject>`
      Overrides:
        `copy` in class `polyglot.types.TypeObject_c`

    - #### simplify

          public final Policy simplify()

      Specified by:
        `simplify` in interface `Policy`

    - #### simplifyImpl

          protected abstract Policy simplifyImpl()