228 lines
No EOL
3.2 KiB
TypeScript
228 lines
No EOL
3.2 KiB
TypeScript
// @target:es5
|
|
'use strict'
|
|
|
|
declare function use(a: any);
|
|
|
|
var x = 10;
|
|
var y;
|
|
var z;
|
|
use(x);
|
|
use(y);
|
|
use(z);
|
|
function foo1() {
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = {a: 1};
|
|
use(z);
|
|
}
|
|
|
|
function foo2() {
|
|
{
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
class A {
|
|
m1() {
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
m2() {
|
|
{
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
}
|
|
|
|
class B {
|
|
m1() {
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
|
|
}
|
|
m2() {
|
|
{
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
|
|
}
|
|
use(x);
|
|
}
|
|
}
|
|
|
|
function bar1() {
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
|
|
function bar2() {
|
|
{
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
module M1 {
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
|
|
module M2 {
|
|
{
|
|
let x = 1;
|
|
use(x);
|
|
let [y] = [1];
|
|
use(y);
|
|
let {a: z} = { a: 1 };
|
|
use(z);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
module M3 {
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
|
|
}
|
|
|
|
module M4 {
|
|
{
|
|
const x = 1;
|
|
use(x);
|
|
const [y] = [1];
|
|
use(y);
|
|
const {a: z} = { a: 1 };
|
|
use(z);
|
|
|
|
}
|
|
use(x);
|
|
use(y);
|
|
use(z);
|
|
}
|
|
|
|
function foo3() {
|
|
for (let x; ;) {
|
|
use(x);
|
|
}
|
|
for (let [y] = []; ;) {
|
|
use(y);
|
|
}
|
|
for (let {a: z} = {a: 1}; ;) {
|
|
use(z);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo4() {
|
|
for (const x = 1; ;) {
|
|
use(x);
|
|
}
|
|
for (const [y] = []; ;) {
|
|
use(y);
|
|
}
|
|
for (const {a: z} = { a: 1 }; ;) {
|
|
use(z);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo5() {
|
|
for (let x in []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo6() {
|
|
for (const x in []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo7() {
|
|
for (let x of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo8() {
|
|
for (let [x] of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo9() {
|
|
for (let {a: x} of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo10() {
|
|
for (const x of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo11() {
|
|
for (const [x] of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
}
|
|
|
|
function foo12() {
|
|
for (const {a: x} of []) {
|
|
use(x);
|
|
}
|
|
use(x);
|
|
} |