* Always generate type & symbol baselines * Accept changed shadowed baselines * Accept brand new type and symbol baselines * Allow `getTypeAtLocation` to return undefined in the type writer * Accept baselines which had missing type information * Bind container for dynamically names enum members so they may be printed * Accept type/symbol baselines for enums with computed members * First pass at reducing typeWriter memory overhead * Use generators to allow for type and symbol baselines with no cache * Accept new baselines for tests whose output was fixed by better newline splitting * Hard cap on number of declarations printed, cache declaration print text * handle differing newlines better still to handle RWC newlines * Lower abridging count, accept abridged baselines * Limit max RWC error output size, limit RWC type and symbol baseline input size * Move skip logic into type and symbol baseliner to streamline error handling * Accept removal of empty baselines * Canonicalize path earlier to handle odd paths in input files * Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another * No need to pathify again
41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
=== tests/cases/compiler/errorElaboration.ts ===
|
|
// Repro for #5712
|
|
|
|
interface Ref<T> {
|
|
>Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0))
|
|
>T : Symbol(T, Decl(errorElaboration.ts, 2, 14))
|
|
|
|
prop: T;
|
|
>prop : Symbol(Ref.prop, Decl(errorElaboration.ts, 2, 18))
|
|
>T : Symbol(T, Decl(errorElaboration.ts, 2, 14))
|
|
}
|
|
interface Container<T> {
|
|
>Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1))
|
|
>T : Symbol(T, Decl(errorElaboration.ts, 5, 20))
|
|
|
|
m1: Container<Ref<T>>;
|
|
>m1 : Symbol(Container.m1, Decl(errorElaboration.ts, 5, 24))
|
|
>Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1))
|
|
>Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0))
|
|
>T : Symbol(T, Decl(errorElaboration.ts, 5, 20))
|
|
|
|
m2: T;
|
|
>m2 : Symbol(Container.m2, Decl(errorElaboration.ts, 6, 26))
|
|
>T : Symbol(T, Decl(errorElaboration.ts, 5, 20))
|
|
}
|
|
declare function foo(x: () => Container<Ref<number>>): void;
|
|
>foo : Symbol(foo, Decl(errorElaboration.ts, 8, 1))
|
|
>x : Symbol(x, Decl(errorElaboration.ts, 9, 21))
|
|
>Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1))
|
|
>Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0))
|
|
|
|
let a: () => Container<Ref<string>>;
|
|
>a : Symbol(a, Decl(errorElaboration.ts, 10, 3))
|
|
>Container : Symbol(Container, Decl(errorElaboration.ts, 4, 1))
|
|
>Ref : Symbol(Ref, Decl(errorElaboration.ts, 0, 0))
|
|
|
|
foo(a);
|
|
>foo : Symbol(foo, Decl(errorElaboration.ts, 8, 1))
|
|
>a : Symbol(a, Decl(errorElaboration.ts, 10, 3))
|
|
|