64 lines
3 KiB
Plaintext
64 lines
3 KiB
Plaintext
=== tests/cases/compiler/bestChoiceType.ts ===
|
|
|
|
// Repro from #10041
|
|
|
|
(''.match(/ /) || []).map(s => s.toLowerCase());
|
|
>(''.match(/ /) || []).map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>''.match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 3, 26))
|
|
>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 3, 26))
|
|
>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
|
|
// Similar cases
|
|
|
|
function f1() {
|
|
>f1 : Symbol(f1, Decl(bestChoiceType.ts, 3, 48))
|
|
|
|
let x = ''.match(/ /);
|
|
>x : Symbol(x, Decl(bestChoiceType.ts, 8, 7))
|
|
>''.match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
|
|
let y = x || [];
|
|
>y : Symbol(y, Decl(bestChoiceType.ts, 9, 7))
|
|
>x : Symbol(x, Decl(bestChoiceType.ts, 8, 7))
|
|
|
|
let z = y.map(s => s.toLowerCase());
|
|
>z : Symbol(z, Decl(bestChoiceType.ts, 10, 7))
|
|
>y.map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>y : Symbol(y, Decl(bestChoiceType.ts, 9, 7))
|
|
>map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 10, 18))
|
|
>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 10, 18))
|
|
>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
}
|
|
|
|
function f2() {
|
|
>f2 : Symbol(f2, Decl(bestChoiceType.ts, 11, 1))
|
|
|
|
let x = ''.match(/ /);
|
|
>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7))
|
|
>''.match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>match : Symbol(String.match, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
|
|
let y = x ? x : [];
|
|
>y : Symbol(y, Decl(bestChoiceType.ts, 15, 7))
|
|
>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7))
|
|
>x : Symbol(x, Decl(bestChoiceType.ts, 14, 7))
|
|
|
|
let z = y.map(s => s.toLowerCase());
|
|
>z : Symbol(z, Decl(bestChoiceType.ts, 16, 7))
|
|
>y.map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>y : Symbol(y, Decl(bestChoiceType.ts, 15, 7))
|
|
>map : Symbol(Array.map, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 16, 18))
|
|
>s.toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
>s : Symbol(s, Decl(bestChoiceType.ts, 16, 18))
|
|
>toLowerCase : Symbol(String.toLowerCase, Decl(lib.d.ts, --, --))
|
|
}
|
|
|