A class model represents the model of a Ceylon class that you can inspect.

A class model can be either a toplevel `Class` or a member `MemberClass`.

no type hierarchy

- `ClassModel`
  - `ClassOrInterface`
    - `Generic`
    - `Model`
    - `Type`

- `ClassModel`
  - `Class`
  - `MemberClass`

Attributes
`declaration` | Source Code `shared formal ClassDeclaration declaration` The declaration for this model. Refines `ClassOrInterface.declaration` ultimately refines `Model.declaration`
`parameterTypes` | Source Code `shared formal Type<Anything>[] parameterTypes` This function's parameter closed types

Inherited Attributes
Attributes inherited from: `Object` `Object.hash`, `Object.string`
Attributes inherited from: `ClassOrInterface<Type>` `ClassOrInterface.caseValues`, `ClassOrInterface.extendedType`, `ClassOrInterface.satisfiedTypes`
Attributes inherited from: `Generic` `Generic.typeArguments`
Attributes inherited from: `Model` `Model.container`, `Model.declaration`

Inherited Methods
Methods inherited from: `Object` `Object.equals()`
Methods inherited from: `ClassOrInterface<Type>` `ClassOrInterface.getAttribute()`, `ClassOrInterface.getAttributes()`, `ClassOrInterface.getClass()`, `ClassOrInterface.getClassOrInterface()`, `ClassOrInterface.getClasses()`, `ClassOrInterface.getDeclaredAttribute()`, `ClassOrInterface.getDeclaredAttributes()`, `ClassOrInterface.getDeclaredClass()`, `ClassOrInterface.getDeclaredClassOrInterface()`, `ClassOrInterface.getDeclaredClasses()`, `ClassOrInterface.getDeclaredInterface()`, `ClassOrInterface.getDeclaredInterfaces()`, `ClassOrInterface.getDeclaredMethod()`, `ClassOrInterface.getDeclaredMethods()`, `ClassOrInterface.getInterface()`, `ClassOrInterface.getInterfaces()`, `ClassOrInterface.getMethod()`, `ClassOrInterface.getMethods()`
Methods inherited from: `Type<Type>` `Type.exactly()`, `Type.subtypeOf()`, `Type.supertypeOf()`, `Type.typeOf()`