Skip to content

Commit 9c27fb1

Browse files
Merge pull request #2146 from Microsoft/fromContextualKeyword
'from' is a contextual keyword, and should only be recognized as by the parser as such.
2 parents 42bc64b + 3a3af53 commit 9c27fb1

15 files changed

+228
-203
lines changed

src/compiler/types.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ module ts {
121121
WithKeyword,
122122
// Strict mode reserved words
123123
AsKeyword,
124-
FromKeyword,
125124
ImplementsKeyword,
126125
InterfaceKeyword,
127126
LetKeyword,
@@ -131,7 +130,7 @@ module ts {
131130
PublicKeyword,
132131
StaticKeyword,
133132
YieldKeyword,
134-
// TypeScript keywords
133+
// Contextual keywords
135134
AnyKeyword,
136135
BooleanKeyword,
137136
ConstructorKeyword,
@@ -144,7 +143,9 @@ module ts {
144143
StringKeyword,
145144
SymbolKeyword,
146145
TypeKeyword,
146+
FromKeyword,
147147
OfKeyword, // LastKeyword and LastToken
148+
148149
// Parse tree nodes
149150

150151
// Names
@@ -279,7 +280,7 @@ module ts {
279280
FirstPunctuation = OpenBraceToken,
280281
LastPunctuation = CaretEqualsToken,
281282
FirstToken = Unknown,
282-
LastToken = OfKeyword,
283+
LastToken = LastKeyword,
283284
FirstTriviaToken = SingleLineCommentTrivia,
284285
LastTriviaToken = ConflictMarkerTrivia,
285286
FirstLiteralToken = NumericLiteral,

tests/baselines/reference/APISample_compile.js

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -161,28 +161,28 @@ declare module "typescript" {
161161
WhileKeyword = 99,
162162
WithKeyword = 100,
163163
AsKeyword = 101,
164-
FromKeyword = 102,
165-
ImplementsKeyword = 103,
166-
InterfaceKeyword = 104,
167-
LetKeyword = 105,
168-
PackageKeyword = 106,
169-
PrivateKeyword = 107,
170-
ProtectedKeyword = 108,
171-
PublicKeyword = 109,
172-
StaticKeyword = 110,
173-
YieldKeyword = 111,
174-
AnyKeyword = 112,
175-
BooleanKeyword = 113,
176-
ConstructorKeyword = 114,
177-
DeclareKeyword = 115,
178-
GetKeyword = 116,
179-
ModuleKeyword = 117,
180-
RequireKeyword = 118,
181-
NumberKeyword = 119,
182-
SetKeyword = 120,
183-
StringKeyword = 121,
184-
SymbolKeyword = 122,
185-
TypeKeyword = 123,
164+
ImplementsKeyword = 102,
165+
InterfaceKeyword = 103,
166+
LetKeyword = 104,
167+
PackageKeyword = 105,
168+
PrivateKeyword = 106,
169+
ProtectedKeyword = 107,
170+
PublicKeyword = 108,
171+
StaticKeyword = 109,
172+
YieldKeyword = 110,
173+
AnyKeyword = 111,
174+
BooleanKeyword = 112,
175+
ConstructorKeyword = 113,
176+
DeclareKeyword = 114,
177+
GetKeyword = 115,
178+
ModuleKeyword = 116,
179+
RequireKeyword = 117,
180+
NumberKeyword = 118,
181+
SetKeyword = 119,
182+
StringKeyword = 120,
183+
SymbolKeyword = 121,
184+
TypeKeyword = 122,
185+
FromKeyword = 123,
186186
OfKeyword = 124,
187187
QualifiedName = 125,
188188
ComputedPropertyName = 126,
@@ -288,8 +288,8 @@ declare module "typescript" {
288288
LastReservedWord = 100,
289289
FirstKeyword = 65,
290290
LastKeyword = 124,
291-
FirstFutureReservedWord = 103,
292-
LastFutureReservedWord = 111,
291+
FirstFutureReservedWord = 102,
292+
LastFutureReservedWord = 110,
293293
FirstTypeNode = 139,
294294
LastTypeNode = 147,
295295
FirstPunctuation = 14,

tests/baselines/reference/APISample_compile.types

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -501,72 +501,72 @@ declare module "typescript" {
501501
AsKeyword = 101,
502502
>AsKeyword : SyntaxKind
503503

504-
FromKeyword = 102,
505-
>FromKeyword : SyntaxKind
506-
507-
ImplementsKeyword = 103,
504+
ImplementsKeyword = 102,
508505
>ImplementsKeyword : SyntaxKind
509506

510-
InterfaceKeyword = 104,
507+
InterfaceKeyword = 103,
511508
>InterfaceKeyword : SyntaxKind
512509

513-
LetKeyword = 105,
510+
LetKeyword = 104,
514511
>LetKeyword : SyntaxKind
515512

516-
PackageKeyword = 106,
513+
PackageKeyword = 105,
517514
>PackageKeyword : SyntaxKind
518515

519-
PrivateKeyword = 107,
516+
PrivateKeyword = 106,
520517
>PrivateKeyword : SyntaxKind
521518

522-
ProtectedKeyword = 108,
519+
ProtectedKeyword = 107,
523520
>ProtectedKeyword : SyntaxKind
524521

525-
PublicKeyword = 109,
522+
PublicKeyword = 108,
526523
>PublicKeyword : SyntaxKind
527524

528-
StaticKeyword = 110,
525+
StaticKeyword = 109,
529526
>StaticKeyword : SyntaxKind
530527

531-
YieldKeyword = 111,
528+
YieldKeyword = 110,
532529
>YieldKeyword : SyntaxKind
533530

534-
AnyKeyword = 112,
531+
AnyKeyword = 111,
535532
>AnyKeyword : SyntaxKind
536533

537-
BooleanKeyword = 113,
534+
BooleanKeyword = 112,
538535
>BooleanKeyword : SyntaxKind
539536

540-
ConstructorKeyword = 114,
537+
ConstructorKeyword = 113,
541538
>ConstructorKeyword : SyntaxKind
542539

543-
DeclareKeyword = 115,
540+
DeclareKeyword = 114,
544541
>DeclareKeyword : SyntaxKind
545542

546-
GetKeyword = 116,
543+
GetKeyword = 115,
547544
>GetKeyword : SyntaxKind
548545

549-
ModuleKeyword = 117,
546+
ModuleKeyword = 116,
550547
>ModuleKeyword : SyntaxKind
551548

552-
RequireKeyword = 118,
549+
RequireKeyword = 117,
553550
>RequireKeyword : SyntaxKind
554551

555-
NumberKeyword = 119,
552+
NumberKeyword = 118,
556553
>NumberKeyword : SyntaxKind
557554

558-
SetKeyword = 120,
555+
SetKeyword = 119,
559556
>SetKeyword : SyntaxKind
560557

561-
StringKeyword = 121,
558+
StringKeyword = 120,
562559
>StringKeyword : SyntaxKind
563560

564-
SymbolKeyword = 122,
561+
SymbolKeyword = 121,
565562
>SymbolKeyword : SyntaxKind
566563

567-
TypeKeyword = 123,
564+
TypeKeyword = 122,
568565
>TypeKeyword : SyntaxKind
569566

567+
FromKeyword = 123,
568+
>FromKeyword : SyntaxKind
569+
570570
OfKeyword = 124,
571571
>OfKeyword : SyntaxKind
572572

@@ -882,10 +882,10 @@ declare module "typescript" {
882882
LastKeyword = 124,
883883
>LastKeyword : SyntaxKind
884884

885-
FirstFutureReservedWord = 103,
885+
FirstFutureReservedWord = 102,
886886
>FirstFutureReservedWord : SyntaxKind
887887

888-
LastFutureReservedWord = 111,
888+
LastFutureReservedWord = 110,
889889
>LastFutureReservedWord : SyntaxKind
890890

891891
FirstTypeNode = 139,

tests/baselines/reference/APISample_linter.js

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -192,28 +192,28 @@ declare module "typescript" {
192192
WhileKeyword = 99,
193193
WithKeyword = 100,
194194
AsKeyword = 101,
195-
FromKeyword = 102,
196-
ImplementsKeyword = 103,
197-
InterfaceKeyword = 104,
198-
LetKeyword = 105,
199-
PackageKeyword = 106,
200-
PrivateKeyword = 107,
201-
ProtectedKeyword = 108,
202-
PublicKeyword = 109,
203-
StaticKeyword = 110,
204-
YieldKeyword = 111,
205-
AnyKeyword = 112,
206-
BooleanKeyword = 113,
207-
ConstructorKeyword = 114,
208-
DeclareKeyword = 115,
209-
GetKeyword = 116,
210-
ModuleKeyword = 117,
211-
RequireKeyword = 118,
212-
NumberKeyword = 119,
213-
SetKeyword = 120,
214-
StringKeyword = 121,
215-
SymbolKeyword = 122,
216-
TypeKeyword = 123,
195+
ImplementsKeyword = 102,
196+
InterfaceKeyword = 103,
197+
LetKeyword = 104,
198+
PackageKeyword = 105,
199+
PrivateKeyword = 106,
200+
ProtectedKeyword = 107,
201+
PublicKeyword = 108,
202+
StaticKeyword = 109,
203+
YieldKeyword = 110,
204+
AnyKeyword = 111,
205+
BooleanKeyword = 112,
206+
ConstructorKeyword = 113,
207+
DeclareKeyword = 114,
208+
GetKeyword = 115,
209+
ModuleKeyword = 116,
210+
RequireKeyword = 117,
211+
NumberKeyword = 118,
212+
SetKeyword = 119,
213+
StringKeyword = 120,
214+
SymbolKeyword = 121,
215+
TypeKeyword = 122,
216+
FromKeyword = 123,
217217
OfKeyword = 124,
218218
QualifiedName = 125,
219219
ComputedPropertyName = 126,
@@ -319,8 +319,8 @@ declare module "typescript" {
319319
LastReservedWord = 100,
320320
FirstKeyword = 65,
321321
LastKeyword = 124,
322-
FirstFutureReservedWord = 103,
323-
LastFutureReservedWord = 111,
322+
FirstFutureReservedWord = 102,
323+
LastFutureReservedWord = 110,
324324
FirstTypeNode = 139,
325325
LastTypeNode = 147,
326326
FirstPunctuation = 14,

tests/baselines/reference/APISample_linter.types

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -647,72 +647,72 @@ declare module "typescript" {
647647
AsKeyword = 101,
648648
>AsKeyword : SyntaxKind
649649

650-
FromKeyword = 102,
651-
>FromKeyword : SyntaxKind
652-
653-
ImplementsKeyword = 103,
650+
ImplementsKeyword = 102,
654651
>ImplementsKeyword : SyntaxKind
655652

656-
InterfaceKeyword = 104,
653+
InterfaceKeyword = 103,
657654
>InterfaceKeyword : SyntaxKind
658655

659-
LetKeyword = 105,
656+
LetKeyword = 104,
660657
>LetKeyword : SyntaxKind
661658

662-
PackageKeyword = 106,
659+
PackageKeyword = 105,
663660
>PackageKeyword : SyntaxKind
664661

665-
PrivateKeyword = 107,
662+
PrivateKeyword = 106,
666663
>PrivateKeyword : SyntaxKind
667664

668-
ProtectedKeyword = 108,
665+
ProtectedKeyword = 107,
669666
>ProtectedKeyword : SyntaxKind
670667

671-
PublicKeyword = 109,
668+
PublicKeyword = 108,
672669
>PublicKeyword : SyntaxKind
673670

674-
StaticKeyword = 110,
671+
StaticKeyword = 109,
675672
>StaticKeyword : SyntaxKind
676673

677-
YieldKeyword = 111,
674+
YieldKeyword = 110,
678675
>YieldKeyword : SyntaxKind
679676

680-
AnyKeyword = 112,
677+
AnyKeyword = 111,
681678
>AnyKeyword : SyntaxKind
682679

683-
BooleanKeyword = 113,
680+
BooleanKeyword = 112,
684681
>BooleanKeyword : SyntaxKind
685682

686-
ConstructorKeyword = 114,
683+
ConstructorKeyword = 113,
687684
>ConstructorKeyword : SyntaxKind
688685

689-
DeclareKeyword = 115,
686+
DeclareKeyword = 114,
690687
>DeclareKeyword : SyntaxKind
691688

692-
GetKeyword = 116,
689+
GetKeyword = 115,
693690
>GetKeyword : SyntaxKind
694691

695-
ModuleKeyword = 117,
692+
ModuleKeyword = 116,
696693
>ModuleKeyword : SyntaxKind
697694

698-
RequireKeyword = 118,
695+
RequireKeyword = 117,
699696
>RequireKeyword : SyntaxKind
700697

701-
NumberKeyword = 119,
698+
NumberKeyword = 118,
702699
>NumberKeyword : SyntaxKind
703700

704-
SetKeyword = 120,
701+
SetKeyword = 119,
705702
>SetKeyword : SyntaxKind
706703

707-
StringKeyword = 121,
704+
StringKeyword = 120,
708705
>StringKeyword : SyntaxKind
709706

710-
SymbolKeyword = 122,
707+
SymbolKeyword = 121,
711708
>SymbolKeyword : SyntaxKind
712709

713-
TypeKeyword = 123,
710+
TypeKeyword = 122,
714711
>TypeKeyword : SyntaxKind
715712

713+
FromKeyword = 123,
714+
>FromKeyword : SyntaxKind
715+
716716
OfKeyword = 124,
717717
>OfKeyword : SyntaxKind
718718

@@ -1028,10 +1028,10 @@ declare module "typescript" {
10281028
LastKeyword = 124,
10291029
>LastKeyword : SyntaxKind
10301030

1031-
FirstFutureReservedWord = 103,
1031+
FirstFutureReservedWord = 102,
10321032
>FirstFutureReservedWord : SyntaxKind
10331033

1034-
LastFutureReservedWord = 111,
1034+
LastFutureReservedWord = 110,
10351035
>LastFutureReservedWord : SyntaxKind
10361036

10371037
FirstTypeNode = 139,

0 commit comments

Comments
 (0)