TypeScript/tests/baselines/reference/capturedLetConstInLoop7.types
2016-06-20 12:16:43 -07:00

1107 lines
15 KiB
Plaintext

=== tests/cases/compiler/capturedLetConstInLoop7.ts ===
//===let
l0:
>l0 : any
for (let x of []) {
>x : any
>[] : undefined[]
(function() { return x});
>(function() { return x}) : () => any
>function() { return x} : () => any
>x : any
(() => x);
>(() => x) : () => any
>() => x : () => any
>x : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l0;
>l0 : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l0;
>l0 : any
}
}
l00:
>l00 : any
for (let x in []) {
>x : string
>[] : undefined[]
(function() { return x});
>(function() { return x}) : () => string
>function() { return x} : () => string
>x : string
(() => x);
>(() => x) : () => string
>() => x : () => string
>x : string
if (x == "1") {
>x == "1" : boolean
>x : string
>"1" : "1"
break;
}
if (x == "1") {
>x == "1" : boolean
>x : string
>"1" : "1"
break l00;
>l00 : any
}
if (x == "2") {
>x == "2" : boolean
>x : string
>"2" : "2"
continue;
}
if (x == "2") {
>x == "2" : boolean
>x : string
>"2" : "2"
continue l00;
>l00 : any
}
}
l1:
>l1 : any
for (let x = 0; x < 1; ++x) {
>x : number
>0 : number
>x < 1 : boolean
>x : number
>1 : number
>++x : number
>x : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l1;
>l1 : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l1;
>l1 : any
}
}
l2:
>l2 : any
while (1 === 1) {
>1 === 1 : boolean
>1 : 1
>1 : 1
let x;
>x : any
(function() { return x});
>(function() { return x}) : () => any
>function() { return x} : () => any
>x : any
(() => x);
>(() => x) : () => any
>() => x : () => any
>x : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l2;
>l2 : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l2;
>l2 : any
}
}
l3:
>l3 : any
do {
let x;
>x : any
(function() { return x});
>(function() { return x}) : () => any
>function() { return x} : () => any
>x : any
(() => x);
>(() => x) : () => any
>() => x : () => any
>x : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l3;
>l3 : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l3;
>l3 : any
}
} while (1 === 1)
>1 === 1 : boolean
>1 : 1
>1 : 1
l4:
>l4 : any
for (let y = 0; y < 1; ++y) {
>y : number
>0 : number
>y < 1 : boolean
>y : number
>1 : number
>++y : number
>y : number
let x = 1;
>x : number
>1 : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l4;
>l4 : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l4;
>l4 : any
}
}
l5:
>l5 : any
for (let x = 0, y = 1; x < 1; ++x) {
>x : number
>0 : number
>y : number
>1 : number
>x < 1 : boolean
>x : number
>1 : number
>++x : number
>x : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l5;
>l5 : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l5;
>l5 : any
}
}
l6:
>l6 : any
while (1 === 1) {
>1 === 1 : boolean
>1 : 1
>1 : 1
let x, y;
>x : any
>y : any
(function() { return x + y});
>(function() { return x + y}) : () => any
>function() { return x + y} : () => any
>x + y : any
>x : any
>y : any
(() => x + y);
>(() => x + y) : () => any
>() => x + y : () => any
>x + y : any
>x : any
>y : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l6;
>l6 : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l6;
>l6 : any
}
}
l7:
>l7 : any
do {
let x, y;
>x : any
>y : any
(function() { return x + y});
>(function() { return x + y}) : () => any
>function() { return x + y} : () => any
>x + y : any
>x : any
>y : any
(() => x + y);
>(() => x + y) : () => any
>() => x + y : () => any
>x + y : any
>x : any
>y : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l7;
>l7 : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l7;
>l7 : any
}
} while (1 === 1)
>1 === 1 : boolean
>1 : 1
>1 : 1
l8:
>l8 : any
for (let y = 0; y < 1; ++y) {
>y : number
>0 : number
>y < 1 : boolean
>y : number
>1 : number
>++y : number
>y : number
let x = 1;
>x : number
>1 : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l8;
>l8 : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l8;
>l8 : any
}
}
//===const
l0_c:
>l0_c : any
for (const x of []) {
>x : any
>[] : undefined[]
(function() { return x});
>(function() { return x}) : () => any
>function() { return x} : () => any
>x : any
(() => x);
>(() => x) : () => any
>() => x : () => any
>x : any
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : any
>1 : 1
break l0_c;
>l0_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : any
>2 : 2
continue l0_c;
>l0_c : any
}
}
l00_c:
>l00_c : any
for (const x in []) {
>x : string
>[] : undefined[]
(function() { return x});
>(function() { return x}) : () => string
>function() { return x} : () => string
>x : string
(() => x);
>(() => x) : () => string
>() => x : () => string
>x : string
if (x == "1") {
>x == "1" : boolean
>x : string
>"1" : "1"
break;
}
if (x == "1") {
>x == "1" : boolean
>x : string
>"1" : "1"
break l00_c;
>l00_c : any
}
if (x == "2") {
>x == "2" : boolean
>x : string
>"2" : "2"
continue;
}
if (x == "2") {
>x == "2" : boolean
>x : string
>"2" : "2"
continue l00_c;
>l00_c : any
}
}
l1_c:
>l1_c : any
for (const x = 0; x < 1;) {
>x : number
>0 : number
>x < 1 : boolean
>x : number
>1 : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l1_c;
>l1_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l1_c;
>l1_c : any
}
}
l2_c:
>l2_c : any
while (1 === 1) {
>1 === 1 : boolean
>1 : 1
>1 : 1
const x = 1;
>x : number
>1 : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l2_c;
>l2_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l2_c;
>l2_c : any
}
}
l3_c:
>l3_c : any
do {
const x = 1;
>x : number
>1 : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l3_c;
>l3_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l3_c;
>l3_c : any
}
} while (1 === 1)
>1 === 1 : boolean
>1 : 1
>1 : 1
l4_c:
>l4_c : any
for (const y = 0; y < 1;) {
>y : number
>0 : number
>y < 1 : boolean
>y : number
>1 : number
const x = 1;
>x : number
>1 : number
(function() { return x});
>(function() { return x}) : () => number
>function() { return x} : () => number
>x : number
(() => x);
>(() => x) : () => number
>() => x : () => number
>x : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l4_c;
>l4_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l4_c;
>l4_c : any
}
}
l5_c:
>l5_c : any
for (const x = 0, y = 1; x < 1;) {
>x : number
>0 : number
>y : number
>1 : number
>x < 1 : boolean
>x : number
>1 : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l5_c;
>l5_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l5_c;
>l5_c : any
}
}
l6_c:
>l6_c : any
while (1 === 1) {
>1 === 1 : boolean
>1 : 1
>1 : 1
const x = 1, y = 1;
>x : number
>1 : number
>y : number
>1 : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l6_c;
>l6_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l6_c;
>l6_c : any
}
}
l7_c:
>l7_c : any
do {
const x = 1, y = 1;
>x : number
>1 : number
>y : number
>1 : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l7_c;
>l7_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l7_c;
>l7_c : any
}
} while (1 === 1)
>1 === 1 : boolean
>1 : 1
>1 : 1
l8_c:
>l8_c : any
for (const y = 0; y < 1;) {
>y : number
>0 : number
>y < 1 : boolean
>y : number
>1 : number
const x = 1;
>x : number
>1 : number
(function() { return x + y});
>(function() { return x + y}) : () => number
>function() { return x + y} : () => number
>x + y : number
>x : number
>y : number
(() => x + y);
>(() => x + y) : () => number
>() => x + y : () => number
>x + y : number
>x : number
>y : number
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break;
}
if (x == 1) {
>x == 1 : boolean
>x : number
>1 : 1
break l8_c;
>l8_c : any
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue;
}
if (x == 2) {
>x == 2 : boolean
>x : number
>2 : 2
continue l8_c;
>l8_c : any
}
}