Interface SubTypeProblem

Common interface of all problems/errors/messages which should be shown to users of DSLs which are type-checked with Typir. This approach makes it easier to introduce additional errors by users of Typir, compared to a union type, e.g. export type TypirProblem = ValueConflict | IndexedTypeConflict | ...

interface SubTypeProblem {
    $problem: "SubTypeProblem";
    subProblems: TypirProblem[];
    subType: Type;
    superType: Type;
}

Hierarchy (View Summary)

Properties

$problem: "SubTypeProblem"
subProblems: TypirProblem[]
subType: Type
superType: Type