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.label
Class ThisLabel_c

    java.lang.Object
      polyglot.types.TypeObject_c
          jif.types.label.Label_c
              jif.types.label.ThisLabel_c

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Label, ThisLabel, Param, polyglot.types.TypeObject, polyglot.util.Copy

    public class ThisLabel_c

extends Label_c
implements ThisLabel

See Also:
  Serialized Form

Field Summary

Fields inherited from class jif.types.label.Label_c
`description, toJava, variables`

Fields inherited from class polyglot.types.TypeObject_c
`position, ts`

Constructor Summary
`ThisLabel_c(JifTypeSystem ts, polyglot.types.ReferenceType ct, polyglot.util.Position pos)`

Method Summary
`polyglot.types.ReferenceType` | `classType()`
`java.lang.String` | `componentString(java.util.Set printedLabels)`
`boolean` | `equalsImpl(polyglot.types.TypeObject o)`
`int` | `hashCode()`
`boolean` | `isCanonical()`
`boolean` | `isComparable()` Is this label comparable to other labels?
`boolean` | `isCovariant()` Is this label covariant?
`boolean` | `isDisambiguatedImpl()` Check if the label is disambiguated, without recursing into child labels.
`boolean` | `isEnumerable()` Are the components of this label enumerable?
`boolean` | `isRuntimeRepresentable()`
`boolean` | `leq_(Label L, LabelEnv env, LabelEnv.SearchState state)` Implementation of leq, should only be called by JifTypeSystem
`java.util.Set` | `variables()`

Methods inherited from class jif.types.label.Label_c
`componentString, confProjection, copy, description, hasVariableComponents, hasVariables, hasWritersToReaders, integProjection, isBottom, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, simplifyImpl, subst, throwTypes, toJava, toString, toString, variableComponents`

Methods inherited from class polyglot.types.TypeObject_c
`equals, position, typeSystem`

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

Methods inherited from interface jif.types.label.Label
`componentString, confProjection, description, hasVariableComponents, hasVariables, hasWritersToReaders, integProjection, isBottom, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, subst, throwTypes, toJava, toString, variableComponents`

Methods inherited from interface polyglot.types.TypeObject
`position, typeSystem`

Methods inherited from interface polyglot.util.Copy
`copy`

Constructor Detail

### ThisLabel_c

    public ThisLabel_c(JifTypeSystem ts,
                       polyglot.types.ReferenceType ct,
                       polyglot.util.Position pos)

Method Detail

### isRuntimeRepresentable

    public boolean isRuntimeRepresentable()

  Specified by:
    `isRuntimeRepresentable` in interface `Label`
  Specified by:
    `isRuntimeRepresentable` in interface `Param`

### isCovariant

    public boolean isCovariant()

  Description copied from interface: `Label`
  Is this label covariant?

  Specified by:
    `isCovariant` in interface `Label`

### isComparable

    public boolean isComparable()

  Description copied from interface: `Label`
  Is this label comparable to other labels?

  For example, an UnknownLabel is not comparable to others, neither is a VarLabel. Most other labels are.

  Specified by:
    `isComparable` in interface `Label`

### isCanonical

    public boolean isCanonical()

  Specified by:
    `isCanonical` in interface `Param`
  Specified by:
    `isCanonical` in interface `polyglot.types.TypeObject`

### isDisambiguatedImpl

    public boolean isDisambiguatedImpl()

  Description copied from class: `Label_c`
  Check if the label is disambiguated, without recursing into child labels.

  Specified by:
    `isDisambiguatedImpl` in class `Label_c`

### isEnumerable

    public boolean isEnumerable()

  Description copied from interface: `Label`
  Are the components of this label enumerable?

  For example, Singletons are enumerable, JoinLabels are enumerable, RuntimeLabel (the label of all runtime representable components) is not enumerable. NOTE: The components of a label are not neccessarily stuck together with a join operation. For example, the MeetLabel uses the meet operation between its components.

  Specified by:
    `isEnumerable` in interface `Label`

### classType

    public polyglot.types.ReferenceType classType()

  Specified by:
    `classType` in interface `ThisLabel`

### equalsImpl

    public boolean equalsImpl(polyglot.types.TypeObject o)

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

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `polyglot.types.TypeObject_c`

### componentString

    public java.lang.String componentString(java.util.Set printedLabels)

  Specified by:
    `componentString` in interface `Label`
  Specified by:
    `componentString` in class `Label_c`

### leq_

    public boolean leq_(Label L,
                        LabelEnv env,
                        LabelEnv.SearchState state)

  Description copied from interface: `Label`
  Implementation of leq, should only be called by JifTypeSystem

  Specified by:
    `leq_` in interface `Label`
  Parameters:
    `L` - the label to determine if this label is leq to. This label always satisfies !this.equals(L)
    `env` - the label environment (including principal hierarchy). Will always be non-null.

### variables

    public java.util.Set variables()

  Overrides:
    `variables` in class `Label_c`

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