Skip to content

Commit 4c4484b

Browse files
committed
Accepting new baselines
1 parent b3ef962 commit 4c4484b

File tree

2 files changed

+109
-54
lines changed

2 files changed

+109
-54
lines changed

tests/baselines/reference/unionTypeInference.js

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,31 @@
55
function f<T>(x: T, y: string|T): T {
66
return x;
77
}
8+
9+
var a1: number;
10+
var a1 = f(1, 2);
11+
var a2: number;
12+
var a2 = f(1, "hello");
13+
var a3: number;
14+
var a3 = f(1, a1 || "hello");
15+
var a4: any;
16+
var a4 = f(undefined, "abc");
17+
818
function g<T>(value: [string, T]): T {
919
return value[1];
1020
}
1121

12-
var a: number;
13-
var a = f(1, 2);
14-
var b: number;
15-
var b = f(1, "hello");
16-
var c: number;
17-
var c = f(1, a || "hello");
18-
var d: any;
19-
var d = f(undefined, "abc");
20-
var e: boolean;
21-
var e = g(["string", true]);
22+
var b1: boolean;
23+
var b1 = g(["string", true]);
24+
25+
function h<T>(x: string|boolean|T): T {
26+
return typeof x === "string" || typeof x === "boolean" ? undefined : x;
27+
}
28+
29+
var c1: number;
30+
var c1 = h(5);
31+
var c2: string;
32+
var c2 = h("abc");
2233

2334

2435
//// [unionTypeInference.js]
@@ -27,16 +38,23 @@ var e = g(["string", true]);
2738
function f(x, y) {
2839
return x;
2940
}
41+
var a1;
42+
var a1 = f(1, 2);
43+
var a2;
44+
var a2 = f(1, "hello");
45+
var a3;
46+
var a3 = f(1, a1 || "hello");
47+
var a4;
48+
var a4 = f(undefined, "abc");
3049
function g(value) {
3150
return value[1];
3251
}
33-
var a;
34-
var a = f(1, 2);
35-
var b;
36-
var b = f(1, "hello");
37-
var c;
38-
var c = f(1, a || "hello");
39-
var d;
40-
var d = f(undefined, "abc");
41-
var e;
42-
var e = g(["string", true]);
52+
var b1;
53+
var b1 = g(["string", true]);
54+
function h(x) {
55+
return typeof x === "string" || typeof x === "boolean" ? undefined : x;
56+
}
57+
var c1;
58+
var c1 = h(5);
59+
var c2;
60+
var c2 = h("abc");

tests/baselines/reference/unionTypeInference.types

Lines changed: 71 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,59 +14,96 @@ function f<T>(x: T, y: string|T): T {
1414
return x;
1515
>x : T
1616
}
17-
function g<T>(value: [string, T]): T {
18-
>g : <T>(value: [string, T]) => T
19-
>T : T
20-
>value : [string, T]
21-
>T : T
22-
>T : T
23-
24-
return value[1];
25-
>value[1] : T
26-
>value : [string, T]
27-
}
2817

29-
var a: number;
30-
>a : number
18+
var a1: number;
19+
>a1 : number
3120

32-
var a = f(1, 2);
33-
>a : number
21+
var a1 = f(1, 2);
22+
>a1 : number
3423
>f(1, 2) : number
3524
>f : <T>(x: T, y: string | T) => T
3625

37-
var b: number;
38-
>b : number
26+
var a2: number;
27+
>a2 : number
3928

40-
var b = f(1, "hello");
41-
>b : number
29+
var a2 = f(1, "hello");
30+
>a2 : number
4231
>f(1, "hello") : number
4332
>f : <T>(x: T, y: string | T) => T
4433

45-
var c: number;
46-
>c : number
34+
var a3: number;
35+
>a3 : number
4736

48-
var c = f(1, a || "hello");
49-
>c : number
50-
>f(1, a || "hello") : number
37+
var a3 = f(1, a1 || "hello");
38+
>a3 : number
39+
>f(1, a1 || "hello") : number
5140
>f : <T>(x: T, y: string | T) => T
52-
>a || "hello" : string | number
53-
>a : number
41+
>a1 || "hello" : string | number
42+
>a1 : number
5443

55-
var d: any;
56-
>d : any
44+
var a4: any;
45+
>a4 : any
5746

58-
var d = f(undefined, "abc");
59-
>d : any
47+
var a4 = f(undefined, "abc");
48+
>a4 : any
6049
>f(undefined, "abc") : any
6150
>f : <T>(x: T, y: string | T) => T
6251
>undefined : undefined
6352

64-
var e: boolean;
65-
>e : boolean
53+
function g<T>(value: [string, T]): T {
54+
>g : <T>(value: [string, T]) => T
55+
>T : T
56+
>value : [string, T]
57+
>T : T
58+
>T : T
6659

67-
var e = g(["string", true]);
68-
>e : boolean
60+
return value[1];
61+
>value[1] : T
62+
>value : [string, T]
63+
}
64+
65+
var b1: boolean;
66+
>b1 : boolean
67+
68+
var b1 = g(["string", true]);
69+
>b1 : boolean
6970
>g(["string", true]) : boolean
7071
>g : <T>(value: [string, T]) => T
7172
>["string", true] : [string, boolean]
7273

74+
function h<T>(x: string|boolean|T): T {
75+
>h : <T>(x: string | boolean | T) => T
76+
>T : T
77+
>x : string | boolean | T
78+
>T : T
79+
>T : T
80+
81+
return typeof x === "string" || typeof x === "boolean" ? undefined : x;
82+
>typeof x === "string" || typeof x === "boolean" ? undefined : x : T
83+
>typeof x === "string" || typeof x === "boolean" : boolean
84+
>typeof x === "string" : boolean
85+
>typeof x : string
86+
>x : string | boolean | T
87+
>typeof x === "boolean" : boolean
88+
>typeof x : string
89+
>x : boolean | T
90+
>undefined : undefined
91+
>x : T
92+
}
93+
94+
var c1: number;
95+
>c1 : number
96+
97+
var c1 = h(5);
98+
>c1 : number
99+
>h(5) : number
100+
>h : <T>(x: string | boolean | T) => T
101+
102+
var c2: string;
103+
>c2 : string
104+
105+
var c2 = h("abc");
106+
>c2 : string
107+
>h("abc") : string
108+
>h : <T>(x: string | boolean | T) => T
109+

0 commit comments

Comments
 (0)