Interface CreateCustomTypeDetails<Properties, 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 CreateCustomTypeDetails<
    Properties extends CustomTypeProperties,
    Specifics extends TypirSpecifics,
> {
    associatedLanguageNode?: Specifics["LanguageType"];
    inferenceRules: InferCurrentTypeRule<
        CustomType<Properties, Specifics>,
        Specifics,
        Specifics["LanguageType"],
    >[];
    properties: CustomTypeInitialization<Properties, Specifics>;
    typeName?: string;
    typeUserRepresentation?: string;
}

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).

inferenceRules: InferCurrentTypeRule<
    CustomType<Properties, Specifics>,
    Specifics,
    Specifics["LanguageType"],
>[]

Values for all custom properties of the custom type. Note that TypeDescriptor are supported to initialize type properties of Type A.

typeName?: string

If specified, overrides the kind-specific name for custom types.

typeUserRepresentation?: string

If specified, overrides the kind-specific user representation for custom types.