58 lines
1.8 KiB
Plaintext
58 lines
1.8 KiB
Plaintext
=== tests/cases/conformance/controlFlow/controlFlowCommaOperator.ts ===
|
|
function f(x: string | number | boolean) {
|
|
>f : Symbol(f, Decl(controlFlowCommaOperator.ts, 0, 0))
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
let y: string | number | boolean = false;
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
|
|
let z: string | number | boolean = false;
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
|
|
if (y = "", typeof x === "string") {
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
x; // string
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
y; // string
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
|
|
z; // boolean
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
}
|
|
else if (z = 1, typeof x === "number") {
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
x; // number
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
y; // string
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
|
|
z; // number
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
}
|
|
else {
|
|
x; // boolean
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
y; // string
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
|
|
z; // number
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
}
|
|
x; // string | number | boolean
|
|
>x : Symbol(x, Decl(controlFlowCommaOperator.ts, 0, 11))
|
|
|
|
y; // string
|
|
>y : Symbol(y, Decl(controlFlowCommaOperator.ts, 1, 7))
|
|
|
|
z; // number | boolean
|
|
>z : Symbol(z, Decl(controlFlowCommaOperator.ts, 2, 7))
|
|
}
|
|
|