ClassOrInterface.ceylon
"""A class or interface declaration.
Examples (multi-line):
shared class PrintableWrapper<T>(shared T wrapped)
satisfies Printable {
shared actual void print() {
package.print(wrapped else "<null>");
}
}
shared interface 3DSized<Unit>
given Unit satisfies Numeric<Unit> {
shared formal Unit width;
shared formal Unit length;
shared formal Unit height;
}"""
shared abstract class ClassOrInterface()
of AnyClass | AnyInterface
extends TypeDeclaration() {
"The case types of the class or interface, if present."
shared formal CaseTypes? caseTypes;
"The satisfied types of the class or interface, if present."
shared formal SatisfiedTypes? satisfiedTypes;
}