jif.types

## Class JifFieldInstance_c

- java.lang.Object
- - polyglot.types.TypeObject_c
  - - polyglot.types.VarInstance_c
    - - polyglot.types.FieldInstance_c
      - - jif.types.JifFieldInstance_c

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, JifFieldInstance, JifVarInstance, polyglot.types.Declaration, polyglot.types.FieldInstance, polyglot.types.MemberInstance, polyglot.types.TypeObject, polyglot.types.VarInstance, polyglot.util.Copy<polyglot.types.TypeObject>

      public class JifFieldInstance_c
      extends polyglot.types.FieldInstance_c
      implements JifFieldInstance

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `hasInitializer`
    `protected Param` | `initializer`
    `protected Label` | `label`

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

      `container`

    - ### 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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JifFieldInstance_c(JifTypeSystem ts, polyglot.util.Position pos, polyglot.types.ReferenceType container, polyglot.types.Flags flags, polyglot.types.Type type, java.lang.String name)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `constantValue()`
    `polyglot.types.FieldInstance` | `constantValue(java.lang.Object constantValue)`
    `boolean` | `constantValueSet()`
    `boolean` | `equalsImpl(polyglot.types.TypeObject o)`
    `boolean` | `hasInitializer()`
    `Param` | `initializer()`
    `boolean` | `isConstant()`
    `Label` | `label()`
    `polyglot.types.FieldInstance` | `notConstant()`
    `ProviderLabel` | `provider()`
    `void` | `setConstantValue(java.lang.Object constantValue)`
    `void` | `setHasInitializer(boolean hasInitializer)`
    `void` | `setInitializer(Param init)`
    `void` | `setLabel(Label label)`
    `void` | `subst(VarMap bounds)`
    `java.lang.String` | `toString()`

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

      `container, container, flags, isCanonical, name, orig, setContainer, type`

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

      `declaration, flags, hashCode, name, setDeclaration, setFlags, setName, setNotConstant, setType, 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.FieldInstance

      `container, flags, name, orig, type`

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

      `container, flags, setContainer, setFlags`

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

      `flags, name, setFlags, setName, setNotConstant, setType, type`

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

      `declaration, setDeclaration`

- - ### Field Detail

    - #### label

          protected Label label

    - #### hasInitializer

          protected boolean hasInitializer

    - #### initializer

          protected Param initializer

  - ### Constructor Detail

    - #### JifFieldInstance_c

          public JifFieldInstance_c(JifTypeSystem ts,
                                    polyglot.util.Position pos,
                                    polyglot.types.ReferenceType container,
                                    polyglot.types.Flags flags,
                                    polyglot.types.Type type,
                                    java.lang.String name)

  - ### Method Detail

    - #### equalsImpl

          public boolean equalsImpl(polyglot.types.TypeObject o)

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

    - #### subst

          public void subst(VarMap bounds)

      Specified by:
        `subst` in interface `JifVarInstance`

    - #### label

          public Label label()

      Specified by:
        `label` in interface `JifVarInstance`

    - #### setLabel

          public void setLabel(Label label)

      Specified by:
        `setLabel` in interface `JifVarInstance`

    - #### provider

          public ProviderLabel provider()

      Specified by:
        `provider` in interface `JifFieldInstance`
      Returns:
        the provider label of the class declaring this field.

    - #### hasInitializer

          public boolean hasInitializer()

      Specified by:
        `hasInitializer` in interface `JifFieldInstance`

    - #### setHasInitializer

          public void setHasInitializer(boolean hasInitializer)

      Specified by:
        `setHasInitializer` in interface `JifFieldInstance`

    - #### initializer

          public Param initializer()

      Specified by:
        `initializer` in interface `JifFieldInstance`

    - #### setInitializer

          public void setInitializer(Param init)

      Specified by:
        `setInitializer` in interface `JifFieldInstance`

    - #### isConstant

          public boolean isConstant()

      Specified by:
        `isConstant` in interface `polyglot.types.VarInstance`
      Overrides:
        `isConstant` in class `polyglot.types.FieldInstance_c`

    - #### constantValue

          public java.lang.Object constantValue()

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

    - #### constantValueSet

          public boolean constantValueSet()

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

    - #### constantValue

          public polyglot.types.FieldInstance constantValue(java.lang.Object constantValue)

      Specified by:
        `constantValue` in interface `polyglot.types.FieldInstance`
      Overrides:
        `constantValue` in class `polyglot.types.FieldInstance_c`

    - #### notConstant

          public polyglot.types.FieldInstance notConstant()

      Specified by:
        `notConstant` in interface `polyglot.types.FieldInstance`
      Overrides:
        `notConstant` in class `polyglot.types.FieldInstance_c`

    - #### setConstantValue

          public void setConstantValue(java.lang.Object constantValue)

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

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `polyglot.types.FieldInstance_c`