Basic types

The abstract supertype of all types with a well-defined notion of identity. Values of type `Identifiable` may be compared using the `===` operator to determine if they are references to the same object instance.

For the sake of convenience, this interface defines a default implementation of value equality equivalent to identity. Of course, subtypes are encouraged to refine this implementation.

By: Gavin

no type hierarchy

no supertypes hierarchy

- `Identifiable`
  - `Basic`
    - `AbstractAnnotation`
    - `ActualAnnotation`
    - `AliasesAnnotation`
    - `AnnotationAnnotation`
    - `Array`
    - `AuthorsAnnotation`
    - `Boolean`
      - `false`
      - `true`
    - `Comparison`
      - `equal`
      - `larger`
      - `smaller`
    - `Contextual`
    - `DefaultAnnotation`
    - `DeprecationAnnotation`
    - `DocAnnotation`
    - `FinalAnnotation`
    - `Finished`
      - `finished`
    - `FormalAnnotation`
    - `LateAnnotation`
    - `LicenseAnnotation`
    - `NativeAnnotation`
    - `OptionalImportAnnotation`
    - `SealedAnnotation`
    - `SeeAnnotation`
    - `SerializableAnnotation`
    - `SharedAnnotation`
    - `StringBuilder`
    - `SuppressWarningsAnnotation`
    - `TagsAnnotation`
    - `Throwable`
      - `AssertionError`
        - `InitializationError`
      - `Exception`
        - `DeserializationException`
        - `IncompatibleTypeException`
        - `InvocationException`
        - `MutationException`
        - `OverflowException`
        - `SerializationException`
        - `StorageException`
        - `TypeApplicationException`
    - `ThrownExceptionAnnotation`
    - `UninitializedLateValue`
      - `uninitializedLateValue`
    - `VariableAnnotation`
    - `contravariant`
    - `covariant`
    - `emptyIterator`
    - `invariant`
    - `language`
    - `modules`
    - `nothingType`
    - `nothingType`
    - `operatingSystem`
    - `process`
    - `runtime`
    - `system`
  - `Import`
  - `Module`
  - `Package`

Attributes
`hash` | Source Code `shared actual default Integer hash` The system-defined identity hash value of the instance. Subtypes which refine `equals()` must also refine `hash`, according to the general contract defined by `Object`. See also `identityHash()` Refines `Object.hash`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`equals` | Source Code `shared actual default Boolean equals(Object that)` Identity equality comparing the identity of the two values. May be refined by subtypes for which value equality is more appropriate. Implementations must respect the constraint that if `x===y` then `x==y` (equality is consistent with identity). Refines `Object.equals`

Inherited Methods
Methods inherited from: `Object` `equals()`