Interface AssignabilityProblem

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 AssignabilityProblem {
    $problem: "AssignabilityProblem";
    source: Type;
    subProblems: TypirProblem[];
    target: Type;
}

Hierarchy (View Summary)

Properties

$problem: "AssignabilityProblem"
source: Type
subProblems: TypirProblem[]
target: Type