From ac829a838457762fe00f6e116c543a0c81f496c5 Mon Sep 17 00:00:00 2001 From: Jason Freeman Date: Mon, 16 Feb 2015 10:44:30 -0800 Subject: [PATCH] Error for naming an interface 'symbol' --- src/compiler/checker.ts | 1 + tests/baselines/reference/symbolType20.errors.txt | 7 +++++++ tests/baselines/reference/symbolType20.js | 4 ++++ tests/cases/conformance/es6/Symbols/symbolType20.ts | 2 ++ 4 files changed, 14 insertions(+) create mode 100644 tests/baselines/reference/symbolType20.errors.txt create mode 100644 tests/baselines/reference/symbolType20.js create mode 100644 tests/cases/conformance/es6/Symbols/symbolType20.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 08ed3c622e..5d840a5126 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8903,6 +8903,7 @@ module ts { case "number": case "boolean": case "string": + case "symbol": case "void": error(name, message, (name).text); } diff --git a/tests/baselines/reference/symbolType20.errors.txt b/tests/baselines/reference/symbolType20.errors.txt new file mode 100644 index 0000000000..41345e371f --- /dev/null +++ b/tests/baselines/reference/symbolType20.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/es6/Symbols/symbolType20.ts(1,11): error TS2427: Interface name cannot be 'symbol' + + +==== tests/cases/conformance/es6/Symbols/symbolType20.ts (1 errors) ==== + interface symbol { } + ~~~~~~ +!!! error TS2427: Interface name cannot be 'symbol' \ No newline at end of file diff --git a/tests/baselines/reference/symbolType20.js b/tests/baselines/reference/symbolType20.js new file mode 100644 index 0000000000..cf80d0d30a --- /dev/null +++ b/tests/baselines/reference/symbolType20.js @@ -0,0 +1,4 @@ +//// [symbolType20.ts] +interface symbol { } + +//// [symbolType20.js] diff --git a/tests/cases/conformance/es6/Symbols/symbolType20.ts b/tests/cases/conformance/es6/Symbols/symbolType20.ts new file mode 100644 index 0000000000..ef14e34048 --- /dev/null +++ b/tests/cases/conformance/es6/Symbols/symbolType20.ts @@ -0,0 +1,2 @@ +//@target: ES6 +interface symbol { } \ No newline at end of file