Skip to content

Commit 791e913

Browse files
committed
Merge pull request microsoft#2086 from Microsoft/ofKeywordClassification
Of keyword classification
2 parents de967ac + 580d0a6 commit 791e913

16 files changed

Lines changed: 87 additions & 11 deletions

src/compiler/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ module ts {
142142
StringKeyword,
143143
SymbolKeyword,
144144
TypeKeyword,
145-
OfKeyword,
145+
OfKeyword, // LastKeyword and LastToken
146146
// Parse tree nodes
147147

148148
// Names
@@ -269,7 +269,7 @@ module ts {
269269
FirstPunctuation = OpenBraceToken,
270270
LastPunctuation = CaretEqualsToken,
271271
FirstToken = Unknown,
272-
LastToken = TypeKeyword,
272+
LastToken = OfKeyword,
273273
FirstTriviaToken = SingleLineCommentTrivia,
274274
LastTriviaToken = ConflictMarkerTrivia,
275275
FirstLiteralToken = NumericLiteral,

src/services/formatting/rules.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,9 @@ module ts.formatting {
464464
// "in" keyword in for (var x in []) { }
465465
case SyntaxKind.ForInStatement:
466466
return context.currentTokenSpan.kind === SyntaxKind.InKeyword || context.nextTokenSpan.kind === SyntaxKind.InKeyword;
467+
// Technically, "of" is not a binary operator, but format it the same way as "in"
468+
case SyntaxKind.ForOfStatement:
469+
return context.currentTokenSpan.kind === SyntaxKind.OfKeyword || context.nextTokenSpan.kind === SyntaxKind.OfKeyword;
467470
}
468471
return false;
469472
}

src/services/formatting/tokenRange.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ module ts.formatting {
126126
static AnyIncludingMultilineComments = TokenRange.FromTokens(TokenRange.Any.GetTokens().concat([SyntaxKind.MultiLineCommentTrivia]));
127127
static Keywords = TokenRange.FromRange(SyntaxKind.FirstKeyword, SyntaxKind.LastKeyword);
128128
static BinaryOperators = TokenRange.FromRange(SyntaxKind.FirstBinaryOperator, SyntaxKind.LastBinaryOperator);
129-
static BinaryKeywordOperators = TokenRange.FromTokens([SyntaxKind.InKeyword, SyntaxKind.InstanceOfKeyword]);
129+
static BinaryKeywordOperators = TokenRange.FromTokens([SyntaxKind.InKeyword, SyntaxKind.InstanceOfKeyword, SyntaxKind.OfKeyword]);
130130
static UnaryPrefixOperators = TokenRange.FromTokens([SyntaxKind.PlusPlusToken, SyntaxKind.MinusMinusToken, SyntaxKind.TildeToken, SyntaxKind.ExclamationToken]);
131131
static UnaryPrefixExpressions = TokenRange.FromTokens([SyntaxKind.NumericLiteral, SyntaxKind.Identifier, SyntaxKind.OpenParenToken, SyntaxKind.OpenBracketToken, SyntaxKind.OpenBraceToken, SyntaxKind.ThisKeyword, SyntaxKind.NewKeyword]);
132132
static UnaryPreincrementExpressions = TokenRange.FromTokens([SyntaxKind.Identifier, SyntaxKind.OpenParenToken, SyntaxKind.ThisKeyword, SyntaxKind.NewKeyword]);

tests/baselines/reference/APISample_compile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ declare module "typescript" {
285285
FirstPunctuation = 14,
286286
LastPunctuation = 63,
287287
FirstToken = 0,
288-
LastToken = 121,
288+
LastToken = 122,
289289
FirstTriviaToken = 2,
290290
LastTriviaToken = 6,
291291
FirstLiteralToken = 7,

tests/baselines/reference/APISample_compile.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -871,7 +871,7 @@ declare module "typescript" {
871871
FirstToken = 0,
872872
>FirstToken : SyntaxKind
873873

874-
LastToken = 121,
874+
LastToken = 122,
875875
>LastToken : SyntaxKind
876876

877877
FirstTriviaToken = 2,

tests/baselines/reference/APISample_linter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ declare module "typescript" {
316316
FirstPunctuation = 14,
317317
LastPunctuation = 63,
318318
FirstToken = 0,
319-
LastToken = 121,
319+
LastToken = 122,
320320
FirstTriviaToken = 2,
321321
LastTriviaToken = 6,
322322
FirstLiteralToken = 7,

tests/baselines/reference/APISample_linter.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ declare module "typescript" {
10151015
FirstToken = 0,
10161016
>FirstToken : SyntaxKind
10171017

1018-
LastToken = 121,
1018+
LastToken = 122,
10191019
>LastToken : SyntaxKind
10201020

10211021
FirstTriviaToken = 2,

tests/baselines/reference/APISample_transform.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ declare module "typescript" {
317317
FirstPunctuation = 14,
318318
LastPunctuation = 63,
319319
FirstToken = 0,
320-
LastToken = 121,
320+
LastToken = 122,
321321
FirstTriviaToken = 2,
322322
LastTriviaToken = 6,
323323
FirstLiteralToken = 7,

tests/baselines/reference/APISample_transform.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,7 @@ declare module "typescript" {
967967
FirstToken = 0,
968968
>FirstToken : SyntaxKind
969969

970-
LastToken = 121,
970+
LastToken = 122,
971971
>LastToken : SyntaxKind
972972

973973
FirstTriviaToken = 2,

tests/baselines/reference/APISample_watcher.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ declare module "typescript" {
354354
FirstPunctuation = 14,
355355
LastPunctuation = 63,
356356
FirstToken = 0,
357-
LastToken = 121,
357+
LastToken = 122,
358358
FirstTriviaToken = 2,
359359
LastTriviaToken = 6,
360360
FirstLiteralToken = 7,

0 commit comments

Comments
 (0)