Interface InferenceProblem

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 InferenceProblem {
    $problem: "InferenceProblem";
    inferenceCandidate?: Type;
    languageNode: unknown;
    location: string;
    rule?: TypeInferenceRule;
    subProblems: TypirProblem[];
}

Hierarchy (View Summary)

Properties

$problem: "InferenceProblem"
inferenceCandidate?: Type
languageNode: unknown
location: string
subProblems: TypirProblem[]