171 lines
3.8 KiB
Text
171 lines
3.8 KiB
Text
|
=== tests/cases/conformance/types/literal/literalTypes1.ts ===
|
||
|
|
||
|
let zero: 0 = 0;
|
||
|
>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3))
|
||
|
|
||
|
let one: 1 = 1;
|
||
|
>one : Symbol(one, Decl(literalTypes1.ts, 2, 3))
|
||
|
|
||
|
let two: 2 = 2;
|
||
|
>two : Symbol(two, Decl(literalTypes1.ts, 3, 3))
|
||
|
|
||
|
let oneOrTwo: 1 | 2 = <1 | 2>1;
|
||
|
>oneOrTwo : Symbol(oneOrTwo, Decl(literalTypes1.ts, 4, 3))
|
||
|
|
||
|
function f1(x: 0 | 1 | 2) {
|
||
|
>f1 : Symbol(f1, Decl(literalTypes1.ts, 4, 31))
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
|
||
|
switch (x) {
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
|
||
|
case zero:
|
||
|
>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
|
||
|
break;
|
||
|
case one:
|
||
|
>one : Symbol(one, Decl(literalTypes1.ts, 2, 3))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
|
||
|
break;
|
||
|
case two:
|
||
|
>two : Symbol(two, Decl(literalTypes1.ts, 3, 3))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
|
||
|
break;
|
||
|
default:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 6, 12))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function f2(x: 0 | 1 | 2) {
|
||
|
>f2 : Symbol(f2, Decl(literalTypes1.ts, 20, 1))
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 22, 12))
|
||
|
|
||
|
switch (x) {
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 22, 12))
|
||
|
|
||
|
case zero:
|
||
|
>zero : Symbol(zero, Decl(literalTypes1.ts, 1, 3))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 22, 12))
|
||
|
|
||
|
break;
|
||
|
case oneOrTwo:
|
||
|
>oneOrTwo : Symbol(oneOrTwo, Decl(literalTypes1.ts, 4, 3))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 22, 12))
|
||
|
|
||
|
break;
|
||
|
default:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 22, 12))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type Falsy = false | 0 | "" | null | undefined;
|
||
|
>Falsy : Symbol(Falsy, Decl(literalTypes1.ts, 33, 1))
|
||
|
|
||
|
function f3(x: Falsy) {
|
||
|
>f3 : Symbol(f3, Decl(literalTypes1.ts, 35, 47))
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 37, 12))
|
||
|
>Falsy : Symbol(Falsy, Decl(literalTypes1.ts, 33, 1))
|
||
|
|
||
|
if (x) {
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 37, 12))
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 37, 12))
|
||
|
}
|
||
|
else {
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 37, 12))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function f4(x: 0 | 1 | true | string) {
|
||
|
>f4 : Symbol(f4, Decl(literalTypes1.ts, 44, 1))
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
switch (x) {
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
case 0:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
break;
|
||
|
case 1:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
break;
|
||
|
case "abc":
|
||
|
case "def":
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
break;
|
||
|
case null:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
break;
|
||
|
case undefined:
|
||
|
>undefined : Symbol(undefined)
|
||
|
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
|
||
|
break;
|
||
|
default:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 46, 12))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function f5(x: string | number | boolean) {
|
||
|
>f5 : Symbol(f5, Decl(literalTypes1.ts, 67, 1))
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
switch (x) {
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
case "abc":
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
break;
|
||
|
case 0:
|
||
|
case 1:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
break;
|
||
|
case true:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
break;
|
||
|
case "hello":
|
||
|
case 123:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
|
||
|
break;
|
||
|
default:
|
||
|
x;
|
||
|
>x : Symbol(x, Decl(literalTypes1.ts, 69, 12))
|
||
|
}
|
||
|
}
|