Type Alias AstNodeTypesWithCrossReferences<A>

AstNodeTypesWithCrossReferences<A>: {
    [T in keyof A]-?: CrossReferencesOfAstNodeType<A[T]> extends never
        ? never
        : A[T]
}[keyof A]

Describes a union type including of all AstNode types containing cross-references. A is meant to be the interface XXXAstType fromm your generated ast.ts file. Enhances compile-time validation of cross-reference distinctions, e.g. in scope providers in combination with assertUnreachable(context.container).

Type Parameters