jif.types

## Interface ParamInstance

- All Superinterfaces:
    java.lang.Cloneable, polyglot.util.Copy<polyglot.types.TypeObject>, polyglot.types.Declaration, polyglot.types.Named, polyglot.ext.param.types.Param, java.io.Serializable, polyglot.types.TypeObject, polyglot.types.VarInstance
  All Known Implementing Classes:
    ParamInstance_c

      public interface ParamInstance
      extends polyglot.ext.param.types.Param, polyglot.types.VarInstance

  A parameter instance. A wrapper of all the type information related to a label/principal parameter.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ParamInstance.Kind`

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

      `polyglot.util.Copy.Util`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ParamInstance.Kind` | `COVARIANT_LABEL`
    `static ParamInstance.Kind` | `INVARIANT_LABEL`
    `static ParamInstance.Kind` | `PRINCIPAL`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `JifClassType` | `container()`
    `ParamInstance` | `container(JifClassType container)`
    `boolean` | `isCovariantLabel()`
    `boolean` | `isInvariantLabel()`
    `boolean` | `isLabel()`
    `boolean` | `isPrincipal()`
    `ParamInstance.Kind` | `kind()`
    `ParamInstance` | `kind(ParamInstance.Kind kind)`
    `ParamInstance` | `name(java.lang.String name)`

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

      `fullName, name`

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

      `constantValue, constantValueSet, flags, isConstant, name, setConstantValue, setFlags, setName, setNotConstant, setType, type`

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

      `declaration, setDeclaration`

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

      `equalsImpl, isCanonical, position, typeSystem`

    - ### Methods inherited from interface polyglot.util.Copy

      `copy`

- - ### Field Detail

    - #### INVARIANT_LABEL

          static final ParamInstance.Kind INVARIANT_LABEL

    - #### COVARIANT_LABEL

          static final ParamInstance.Kind COVARIANT_LABEL

    - #### PRINCIPAL

          static final ParamInstance.Kind PRINCIPAL

  - ### Method Detail

    - #### container

          JifClassType container()

    - #### container

          ParamInstance container(JifClassType container)

    - #### kind

          ParamInstance.Kind kind()

    - #### kind

          ParamInstance kind(ParamInstance.Kind kind)

    - #### name

          ParamInstance name(java.lang.String name)

    - #### isPrincipal

          boolean isPrincipal()

    - #### isLabel

          boolean isLabel()

    - #### isInvariantLabel

          boolean isInvariantLabel()

    - #### isCovariantLabel

          boolean isCovariantLabel()