diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 4040ec3d7d..208e9db11b 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1639,7 +1639,7 @@ namespace ts { parseErrorAtCurrentToken(blankDiagnostic); } else { - parseErrorAtCurrentToken(nameDiagnostic, tokenToString(token())); + parseErrorAtCurrentToken(nameDiagnostic, scanner.getTokenValue()); } } diff --git a/tests/baselines/reference/parseInvalidNames.errors.txt b/tests/baselines/reference/parseInvalidNames.errors.txt new file mode 100644 index 0000000000..415a03604e --- /dev/null +++ b/tests/baselines/reference/parseInvalidNames.errors.txt @@ -0,0 +1,97 @@ +tests/cases/compiler/parseInvalidNames.ts(1,1): error TS2304: Cannot find name 'namespace'. +tests/cases/compiler/parseInvalidNames.ts(1,11): error TS2819: Namespace name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(1,15): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(2,1): error TS2304: Cannot find name 'interface'. +tests/cases/compiler/parseInvalidNames.ts(2,11): error TS2427: Interface name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(2,15): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(3,1): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. +tests/cases/compiler/parseInvalidNames.ts(3,8): error TS2819: Namespace name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(3,12): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(4,1): error TS2304: Cannot find name 'type'. +tests/cases/compiler/parseInvalidNames.ts(4,6): error TS2457: Type alias name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(4,10): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(6,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/parseInvalidNames.ts(6,8): error TS2304: Cannot find name 'namespace'. +tests/cases/compiler/parseInvalidNames.ts(6,18): error TS2819: Namespace name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(6,22): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(7,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/parseInvalidNames.ts(7,8): error TS2304: Cannot find name 'interface'. +tests/cases/compiler/parseInvalidNames.ts(7,18): error TS2427: Interface name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(7,22): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(8,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/parseInvalidNames.ts(8,8): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. +tests/cases/compiler/parseInvalidNames.ts(8,15): error TS2819: Namespace name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(8,19): error TS1005: ';' expected. +tests/cases/compiler/parseInvalidNames.ts(9,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/parseInvalidNames.ts(9,8): error TS2304: Cannot find name 'type'. +tests/cases/compiler/parseInvalidNames.ts(9,13): error TS2457: Type alias name cannot be '100'. +tests/cases/compiler/parseInvalidNames.ts(9,17): error TS1005: ';' expected. + + +==== tests/cases/compiler/parseInvalidNames.ts (28 errors) ==== + namespace 100 {} + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'namespace'. + ~~~ +!!! error TS2819: Namespace name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + interface 100 {} + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'interface'. + ~~~ +!!! error TS2427: Interface name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + module 100 {} + ~~~~~~ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. + ~~~ +!!! error TS2819: Namespace name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + type 100 {} + ~~~~ +!!! error TS2304: Cannot find name 'type'. + ~~~ +!!! error TS2457: Type alias name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + + export namespace 100 {} + ~~~~~~ +!!! error TS1128: Declaration or statement expected. + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'namespace'. + ~~~ +!!! error TS2819: Namespace name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + export interface 100 {} + ~~~~~~ +!!! error TS1128: Declaration or statement expected. + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'interface'. + ~~~ +!!! error TS2427: Interface name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + export module 100 {} + ~~~~~~ +!!! error TS1128: Declaration or statement expected. + ~~~~~~ +!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. + ~~~ +!!! error TS2819: Namespace name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + export type 100 {} + ~~~~~~ +!!! error TS1128: Declaration or statement expected. + ~~~~ +!!! error TS2304: Cannot find name 'type'. + ~~~ +!!! error TS2457: Type alias name cannot be '100'. + ~ +!!! error TS1005: ';' expected. + \ No newline at end of file diff --git a/tests/baselines/reference/parseInvalidNames.js b/tests/baselines/reference/parseInvalidNames.js new file mode 100644 index 0000000000..a4c004345e --- /dev/null +++ b/tests/baselines/reference/parseInvalidNames.js @@ -0,0 +1,37 @@ +//// [parseInvalidNames.ts] +namespace 100 {} +interface 100 {} +module 100 {} +type 100 {} + +export namespace 100 {} +export interface 100 {} +export module 100 {} +export type 100 {} + + +//// [parseInvalidNames.js] +namespace; +100; +{ } +interface; +100; +{ } +module; +100; +{ } +type; +100; +{ } +namespace; +100; +{ } +interface; +100; +{ } +module; +100; +{ } +type; +100; +{ } diff --git a/tests/baselines/reference/parseInvalidNames.symbols b/tests/baselines/reference/parseInvalidNames.symbols new file mode 100644 index 0000000000..68cd4f736e --- /dev/null +++ b/tests/baselines/reference/parseInvalidNames.symbols @@ -0,0 +1,12 @@ +=== tests/cases/compiler/parseInvalidNames.ts === +namespace 100 {} +No type information for this code.interface 100 {} +No type information for this code.module 100 {} +No type information for this code.type 100 {} +No type information for this code. +No type information for this code.export namespace 100 {} +No type information for this code.export interface 100 {} +No type information for this code.export module 100 {} +No type information for this code.export type 100 {} +No type information for this code. +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parseInvalidNames.types b/tests/baselines/reference/parseInvalidNames.types new file mode 100644 index 0000000000..15f25cef0f --- /dev/null +++ b/tests/baselines/reference/parseInvalidNames.types @@ -0,0 +1,33 @@ +=== tests/cases/compiler/parseInvalidNames.ts === +namespace 100 {} +>namespace : any +>100 : 100 + +interface 100 {} +>interface : any +>100 : 100 + +module 100 {} +>module : any +>100 : 100 + +type 100 {} +>type : any +>100 : 100 + +export namespace 100 {} +>namespace : any +>100 : 100 + +export interface 100 {} +>interface : any +>100 : 100 + +export module 100 {} +>module : any +>100 : 100 + +export type 100 {} +>type : any +>100 : 100 + diff --git a/tests/cases/compiler/parseInvalidNames.ts b/tests/cases/compiler/parseInvalidNames.ts new file mode 100644 index 0000000000..7dcf43b371 --- /dev/null +++ b/tests/cases/compiler/parseInvalidNames.ts @@ -0,0 +1,9 @@ +namespace 100 {} +interface 100 {} +module 100 {} +type 100 {} + +export namespace 100 {} +export interface 100 {} +export module 100 {} +export type 100 {}