fix(45987): fix pasring invalid names (#45994)

This commit is contained in:
Oleksandr T 2021-09-22 00:02:58 +03:00 committed by GitHub
parent 252620b956
commit 9b3ba871fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 189 additions and 1 deletions

View file

@ -1639,7 +1639,7 @@ namespace ts {
parseErrorAtCurrentToken(blankDiagnostic);
}
else {
parseErrorAtCurrentToken(nameDiagnostic, tokenToString(token()));
parseErrorAtCurrentToken(nameDiagnostic, scanner.getTokenValue());
}
}

View file

@ -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.

View file

@ -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;
{ }

View file

@ -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.

View file

@ -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

View file

@ -0,0 +1,9 @@
namespace 100 {}
interface 100 {}
module 100 {}
type 100 {}
export namespace 100 {}
export interface 100 {}
export module 100 {}
export type 100 {}