A class definition or alias.

Examples (multi-line):

shared class PrintableWrapper<T>(shared T wrapped)
        satisfies Printable {
    shared actual void print() {
        package.print(wrapped else "<null>");

shared class VariadicString(Character* characters) => String(characters);
extendedTypeshared formal ExtendedType? extendedType

The extended type of the class, if present.

parametersshared formal Parameters? parameters

The parameters of the class, if present.

A ClassDefinition may omit the parameters, defining one or more constructors instead.

Inherited Attributes
Attributes inherited from: ClassOrInterface
Attributes inherited from: Declaration
Attributes inherited from: Node
Attributes inherited from: Object
hash, string
Attributes inherited from: TypeDeclaration
Inherited Methods
Methods inherited from: Node
Methods inherited from: Object