An open class or interface, with open type arguments.

For example, `List<T>` is an open interface type, with a type argument which is the `OpenTypeVariable` `T`.

no type hierarchy

- `OpenClassOrInterfaceType`
  - `OpenType`

- `OpenClassOrInterfaceType` of
  - `OpenClassType`
  - `OpenInterfaceType`

Attributes
`declaration` | Source Code `shared formal ClassOrInterfaceDeclaration declaration` The class or interface declaration for this open type.
`extendedType` | Source Code `shared formal OpenClassType? extendedType` The extended type of this open type.
`satisfiedTypes` | Source Code `shared formal OpenInterfaceType[] satisfiedTypes` The satisfied types of this open type.
`typeArgumentList` | Source Code `shared formal OpenType[] typeArgumentList` The list of open type arguments. Since 1.2.0
`typeArgumentWithVarianceList` | Source Code `shared formal OpenTypeArgument[] typeArgumentWithVarianceList` The list of open type arguments with use-site variance. Since 1.2.0
`typeArgumentWithVariances` | Source Code `shared formal Map<TypeParameter,OpenTypeArgument> typeArgumentWithVariances` The map of type parameter declaration to open type arguments and use-site variance. Since 1.2.0
`typeArguments` | Source Code `shared formal Map<TypeParameter,OpenType> typeArguments` The map of open type arguments.

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

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