138 lines
No EOL
2.5 KiB
TypeScript
138 lines
No EOL
2.5 KiB
TypeScript
for (let x = 0; x < 1; ++x) {
|
|
let x;
|
|
(function() { return x });
|
|
{
|
|
let x;
|
|
(function() { return x });
|
|
}
|
|
|
|
try { }
|
|
catch (e) {
|
|
let x;
|
|
(function() { return x });
|
|
}
|
|
|
|
switch (x) {
|
|
case 1:
|
|
let x;
|
|
(function() { return x });
|
|
break;
|
|
}
|
|
|
|
while (1 == 1) {
|
|
let x;
|
|
(function() { return x });
|
|
}
|
|
|
|
class A {
|
|
m() {
|
|
return x + 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
declare function use(a: any);
|
|
|
|
function foo() {
|
|
l0:
|
|
for (let a of []) {
|
|
|
|
if (a === 1) {
|
|
break;
|
|
}
|
|
|
|
if (a === 2) {
|
|
break l0;
|
|
}
|
|
|
|
for (let b of []) {
|
|
var [{x, y:z}] = [{x:1, y:2}];
|
|
if (b === 1) {
|
|
break;
|
|
}
|
|
|
|
|
|
if (b === 2) {
|
|
break l0;
|
|
}
|
|
|
|
l1:
|
|
if (b === 3) {
|
|
break l1;
|
|
}
|
|
|
|
return 50;
|
|
}
|
|
|
|
for (let b of []) {
|
|
var [{x1, y:z1}] = [{x1:1, y:arguments.length}];
|
|
if (b === 1) {
|
|
break;
|
|
}
|
|
|
|
if (b === 2) {
|
|
break l0;
|
|
}
|
|
|
|
() => b
|
|
return 100;
|
|
}
|
|
|
|
|
|
() => a;
|
|
}
|
|
|
|
use(x);
|
|
use(z);
|
|
use(x1);
|
|
use(z1);
|
|
}
|
|
|
|
function foo2() {
|
|
for (let x of []) {
|
|
if (x === 1) {
|
|
break;
|
|
}
|
|
else if (x === 2) {
|
|
continue;
|
|
}
|
|
|
|
while (1 === 1) {
|
|
if (x) {
|
|
break;
|
|
}
|
|
else {
|
|
continue;
|
|
}
|
|
}
|
|
|
|
switch(x) {
|
|
case 1: break;
|
|
case 2: continue;
|
|
}
|
|
|
|
for (let y of []) {
|
|
switch(y) {
|
|
case 1: break;
|
|
case 2: continue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class C {
|
|
constructor(private N: number) { }
|
|
foo() {
|
|
for (let i = 0; i < 100; i++) {
|
|
let f = () => this.N * i;
|
|
}
|
|
}
|
|
}
|
|
|
|
function foo3 () {
|
|
let x = arguments.length;
|
|
for (let y of []) {
|
|
let z = arguments.length;
|
|
(function() { return y + z + arguments.length; });
|
|
}
|
|
} |