jif.types

## Class ParamInstance_c

- java.lang.Object
- - polyglot.types.TypeObject_c
  - - polyglot.types.VarInstance_c
    - - jif.types.ParamInstance_c

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, ParamInstance, polyglot.ext.param.types.Param, polyglot.types.Declaration, polyglot.types.Named, polyglot.types.TypeObject, polyglot.types.VarInstance, polyglot.util.Copy<polyglot.types.TypeObject>

      public class ParamInstance_c
      extends polyglot.types.VarInstance_c
      implements ParamInstance

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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface jif.types.ParamInstance

      `ParamInstance.Kind`

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

      `polyglot.util.Copy.Util`

  - ### Field Summary

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

      `constantValue, constantValueSet, decl, flags, isConstant, name, type`

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

      `position, ts`

    - ### Fields inherited from interface jif.types.ParamInstance

      `COVARIANT_LABEL, INVARIANT_LABEL, PRINCIPAL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParamInstance_c(JifTypeSystem ts, polyglot.util.Position pos, JifClassType container, ParamInstance.Kind kind, java.lang.String name)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `JifClassType` | `container()`
    `ParamInstance` | `container(JifClassType container)`
    `boolean` | `equalsImpl(polyglot.types.TypeObject o)`
    `java.lang.String` | `fullName()`
    `boolean` | `isCovariantLabel()`
    `boolean` | `isInvariantLabel()`
    `boolean` | `isLabel()`
    `boolean` | `isPrincipal()`
    `ParamInstance.Kind` | `kind()`
    `ParamInstance` | `kind(ParamInstance.Kind kind)`
    `ParamInstance` | `name(java.lang.String name)`
    `protected void` | `readObject(java.io.ObjectInputStream in)`
    `void` | `setType(polyglot.types.Type t)`
    `java.lang.String` | `toString()`
    `protected void` | `writeObject(java.io.ObjectOutputStream out)`

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

      `constantValue, constantValueSet, declaration, flags, hashCode, isCanonical, isConstant, name, setConstantValue, setDeclaration, setFlags, setName, setNotConstant, type`

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

      `copy, equals, position, typeSystem`

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

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

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

      `name`

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

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

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

      `declaration, setDeclaration`

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

      `isCanonical, position, typeSystem`

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

      `copy`

- - ### Constructor Detail

    - #### ParamInstance_c

          public ParamInstance_c(JifTypeSystem ts,
                                 polyglot.util.Position pos,
                                 JifClassType container,
                                 ParamInstance.Kind kind,
                                 java.lang.String name)

  - ### Method Detail

    - #### container

          public JifClassType container()

      Specified by:
        `container` in interface `ParamInstance`

    - #### equalsImpl

          public boolean equalsImpl(polyglot.types.TypeObject o)

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

    - #### container

          public ParamInstance container(JifClassType container)

      Specified by:
        `container` in interface `ParamInstance`

    - #### kind

          public ParamInstance.Kind kind()

      Specified by:
        `kind` in interface `ParamInstance`

    - #### kind

          public ParamInstance kind(ParamInstance.Kind kind)

      Specified by:
        `kind` in interface `ParamInstance`

    - #### name

          public ParamInstance name(java.lang.String name)

      Specified by:
        `name` in interface `ParamInstance`

    - #### isPrincipal

          public boolean isPrincipal()

      Specified by:
        `isPrincipal` in interface `ParamInstance`

    - #### isLabel

          public boolean isLabel()

      Specified by:
        `isLabel` in interface `ParamInstance`

    - #### isInvariantLabel

          public boolean isInvariantLabel()

      Specified by:
        `isInvariantLabel` in interface `ParamInstance`

    - #### isCovariantLabel

          public boolean isCovariantLabel()

      Specified by:
        `isCovariantLabel` in interface `ParamInstance`

    - #### toString

          public java.lang.String toString()

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

    - #### writeObject

          protected void writeObject(java.io.ObjectOutputStream out)
                              throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### readObject

          protected void readObject(java.io.ObjectInputStream in)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException

      Throws:
        `java.io.IOException`
        `java.lang.ClassNotFoundException`

    - #### setType

          public void setType(polyglot.types.Type t)

      Specified by:
        `setType` in interface `polyglot.types.VarInstance`
      Overrides:
        `setType` in class `polyglot.types.VarInstance_c`

    - #### fullName

          public java.lang.String fullName()

      Specified by:
        `fullName` in interface `polyglot.types.Named`