Ensure duplicate let/const declarations accross files are reported

This commit is contained in:
Mohamed Hegazy 2014-10-14 14:51:28 -07:00
parent 1dde985f1d
commit 318575ce75
19 changed files with 187 additions and 0 deletions

View file

@ -172,6 +172,7 @@ module ts {
function getExcludedSymbolFlags(flags: SymbolFlags): SymbolFlags {
var result: SymbolFlags = 0;
if (flags & SymbolFlags.BlockScoped) result |= SymbolFlags.BlockScopedExcludes;
if (flags & SymbolFlags.Variable) result |= SymbolFlags.VariableExcludes;
if (flags & SymbolFlags.Property) result |= SymbolFlags.PropertyExcludes;
if (flags & SymbolFlags.EnumMember) result |= SymbolFlags.EnumMemberExcludes;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,5): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
let var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
let var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates2.ts] ////
//// [file1.ts]
let var1 = 0;
//// [file2.ts]
let var1 = 0;
//// [file1.js]
let var1 = 0;
//// [file2.js]
let var1 = 0;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,7): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
let var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
const var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates3.ts] ////
//// [file1.ts]
let var1 = 0;
//// [file2.ts]
const var1 = 0;
//// [file1.js]
let var1 = 0;
//// [file2.js]
const var1 = 0;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,5): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
const var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
let var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates4.ts] ////
//// [file1.ts]
const var1 = 0;
//// [file2.ts]
let var1 = 0;
//// [file1.js]
const var1 = 0;
//// [file2.js]
let var1 = 0;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,7): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
const var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
const var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates5.ts] ////
//// [file1.ts]
const var1 = 0;
//// [file2.ts]
const var1 = 0;
//// [file1.js]
const var1 = 0;
//// [file2.js]
const var1 = 0;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,5): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
var var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
let var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates6.ts] ////
//// [file1.ts]
var var1 = 0;
//// [file2.ts]
let var1 = 0;
//// [file1.js]
var var1 = 0;
//// [file2.js]
let var1 = 0;

View file

@ -0,0 +1,11 @@
tests/cases/compiler/file2.ts(1,5): error TS2300: Duplicate identifier 'var1'.
==== tests/cases/compiler/file1.ts (0 errors) ====
let var1 = 0;
==== tests/cases/compiler/file2.ts (1 errors) ====
var var1 = 0;
~~~~
!!! error TS2300: Duplicate identifier 'var1'.

View file

@ -0,0 +1,13 @@
//// [tests/cases/compiler/letDeclarations-scopes-duplicates7.ts] ////
//// [file1.ts]
let var1 = 0;
//// [file2.ts]
var var1 = 0;
//// [file1.js]
let var1 = 0;
//// [file2.js]
var var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
let var1 = 0;
// @Filename: file2.ts
let var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
let var1 = 0;
// @Filename: file2.ts
const var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
const var1 = 0;
// @Filename: file2.ts
let var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
const var1 = 0;
// @Filename: file2.ts
const var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
var var1 = 0;
// @Filename: file2.ts
let var1 = 0;

View file

@ -0,0 +1,7 @@
// @target: ES6
// @Filename: file1.ts
let var1 = 0;
// @Filename: file2.ts
var var1 = 0;