mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-11 10:46:28 -05:00
Do not allow use of block-scoped variable before its definition
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
tests/cases/compiler/constDeclarations-useBeforeDefinition.ts(3,5): error TS2448: Block-scoped variable 'c1' used before its declaration.
|
||||
tests/cases/compiler/constDeclarations-useBeforeDefinition.ts(9,5): error TS2448: Block-scoped variable 'v1' used before its declaration.
|
||||
|
||||
|
||||
==== tests/cases/compiler/constDeclarations-useBeforeDefinition.ts (2 errors) ====
|
||||
|
||||
{
|
||||
c1;
|
||||
~~
|
||||
!!! error TS2448: Block-scoped variable 'c1' used before its declaration.
|
||||
const c1 = 0;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
~~
|
||||
!!! error TS2448: Block-scoped variable 'v1' used before its declaration.
|
||||
const v1 = 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
//// [constDeclarations-useBeforeDefinition.ts]
|
||||
|
||||
{
|
||||
c1;
|
||||
const c1 = 0;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
const v1 = 0;
|
||||
}
|
||||
|
||||
|
||||
//// [constDeclarations-useBeforeDefinition.js]
|
||||
{
|
||||
c1;
|
||||
const c1 = 0;
|
||||
}
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
const v1 = 0;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
tests/cases/compiler/file1.ts(2,1): error TS2448: Block-scoped variable 'c' used before its declaration.
|
||||
|
||||
|
||||
==== tests/cases/compiler/file1.ts (1 errors) ====
|
||||
|
||||
c;
|
||||
~
|
||||
!!! error TS2448: Block-scoped variable 'c' used before its declaration.
|
||||
|
||||
==== tests/cases/compiler/file2.ts (0 errors) ====
|
||||
const c = 0;
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [tests/cases/compiler/constDeclarations-useBeforeDefinition2.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
c;
|
||||
|
||||
//// [file2.ts]
|
||||
const c = 0;
|
||||
|
||||
//// [out.js]
|
||||
c;
|
||||
const c = 0;
|
||||
@@ -0,0 +1,21 @@
|
||||
tests/cases/compiler/letDeclarations-useBeforeDefinition.ts(3,5): error TS2448: Block-scoped variable 'l1' used before its declaration.
|
||||
tests/cases/compiler/letDeclarations-useBeforeDefinition.ts(9,5): error TS2448: Block-scoped variable 'v1' used before its declaration.
|
||||
|
||||
|
||||
==== tests/cases/compiler/letDeclarations-useBeforeDefinition.ts (2 errors) ====
|
||||
|
||||
{
|
||||
l1;
|
||||
~~
|
||||
!!! error TS2448: Block-scoped variable 'l1' used before its declaration.
|
||||
let l1;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
~~
|
||||
!!! error TS2448: Block-scoped variable 'v1' used before its declaration.
|
||||
let v1 = 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
//// [letDeclarations-useBeforeDefinition.ts]
|
||||
|
||||
{
|
||||
l1;
|
||||
let l1;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
let v1 = 0;
|
||||
}
|
||||
|
||||
|
||||
//// [letDeclarations-useBeforeDefinition.js]
|
||||
{
|
||||
l1;
|
||||
let l1;
|
||||
}
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
let v1 = 0;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
tests/cases/compiler/file1.ts(2,1): error TS2448: Block-scoped variable 'l' used before its declaration.
|
||||
|
||||
|
||||
==== tests/cases/compiler/file1.ts (1 errors) ====
|
||||
|
||||
l;
|
||||
~
|
||||
!!! error TS2448: Block-scoped variable 'l' used before its declaration.
|
||||
|
||||
==== tests/cases/compiler/file2.ts (0 errors) ====
|
||||
const l = 0;
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [tests/cases/compiler/letDeclarations-useBeforeDefinition2.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
l;
|
||||
|
||||
//// [file2.ts]
|
||||
const l = 0;
|
||||
|
||||
//// [out.js]
|
||||
l;
|
||||
const l = 0;
|
||||
18
tests/baselines/reference/letDeclarations3.errors.txt
Normal file
18
tests/baselines/reference/letDeclarations3.errors.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
tests/cases/compiler/letDeclarations3.ts(3,5): error TS2300: Duplicate identifier 'l1'.
|
||||
tests/cases/compiler/letDeclarations3.ts(3,9): error TS2300: Duplicate identifier 'l1'.
|
||||
tests/cases/compiler/letDeclarations3.ts(3,13): error TS2300: Duplicate identifier 'l1'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/letDeclarations3.ts (3 errors) ====
|
||||
|
||||
// Duplicate variables
|
||||
let l1, l1, l1;
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'l1'.
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'l1'.
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'l1'.
|
||||
|
||||
// unexpected 'let'
|
||||
let l2, let, l3;
|
||||
@@ -0,0 +1,12 @@
|
||||
// @target: ES6
|
||||
|
||||
{
|
||||
c1;
|
||||
const c1 = 0;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
const v1 = 0;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// @target: ES6
|
||||
// @out: out.js
|
||||
|
||||
// @Filename: file1.ts
|
||||
c;
|
||||
|
||||
// @Filename: file2.ts
|
||||
const c = 0;
|
||||
12
tests/cases/compiler/letDeclarations-useBeforeDefinition.ts
Normal file
12
tests/cases/compiler/letDeclarations-useBeforeDefinition.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
// @target: ES6
|
||||
|
||||
{
|
||||
l1;
|
||||
let l1;
|
||||
}
|
||||
|
||||
var v1;
|
||||
{
|
||||
v1;
|
||||
let v1 = 0;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// @target: ES6
|
||||
// @out: out.js
|
||||
|
||||
// @Filename: file1.ts
|
||||
l;
|
||||
|
||||
// @Filename: file2.ts
|
||||
const l = 0;
|
||||
Reference in New Issue
Block a user