Interface ClassTypeDetails<Specifics>

Contains properties which are be relevant for all types to create, i.e. it is used for specifying details of all types to create.

interface ClassTypeDetails<Specifics extends TypirSpecifics> {
    associatedLanguageNode?: Specifics["LanguageType"];
    className: string;
    fields: CreateFieldDetails<Specifics>[];
    methods: CreateMethodDetails<Specifics>[];
    superClasses?:
        | TypeDescriptor<ClassType, Specifics>
        | TypeDescriptor<ClassType, Specifics>[];
}

Type Parameters

Hierarchy (View Summary)

Properties

associatedLanguageNode?: Specifics["LanguageType"]

A node from the language might be associated with the new type to create, e.g. the declaration node in the AST (e.g. a FunctionDeclarationNode is associated with the corresponding FunctionType).

className: string
superClasses?:
    | TypeDescriptor<ClassType, Specifics>
    | TypeDescriptor<ClassType, Specifics>[]