Skip to content

Commit e28bfb4

Browse files
committed
Reorder SyntaxKind: PrivateName further up (#7)
- PrivateName now comes before the `FirstNode` marker. This change is needed because without it the tsserver automatically adds snythetic child nodes for PrivateName and hovering over a private name causes an infinite loop! - add a regression test for the infinite loop in tsserver
1 parent de03075 commit e28bfb4

File tree

4 files changed

+187
-172
lines changed

4 files changed

+187
-172
lines changed

src/compiler/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ namespace ts {
116116
AmpersandEqualsToken,
117117
BarEqualsToken,
118118
CaretEqualsToken,
119-
// Identifiers
119+
// Identifiers and PrivateNames
120120
Identifier,
121+
PrivateName,
121122
// Reserved words
122123
BreakKeyword,
123124
CaseKeyword,
@@ -201,7 +202,6 @@ namespace ts {
201202
// Names
202203
QualifiedName,
203204
ComputedPropertyName,
204-
PrivateName,
205205
// Signature elements
206206
TypeParameter,
207207
Parameter,

tests/baselines/reference/api/tsserverlibrary.d.ts

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -144,83 +144,83 @@ declare namespace ts {
144144
BarEqualsToken = 69,
145145
CaretEqualsToken = 70,
146146
Identifier = 71,
147-
BreakKeyword = 72,
148-
CaseKeyword = 73,
149-
CatchKeyword = 74,
150-
ClassKeyword = 75,
151-
ConstKeyword = 76,
152-
ContinueKeyword = 77,
153-
DebuggerKeyword = 78,
154-
DefaultKeyword = 79,
155-
DeleteKeyword = 80,
156-
DoKeyword = 81,
157-
ElseKeyword = 82,
158-
EnumKeyword = 83,
159-
ExportKeyword = 84,
160-
ExtendsKeyword = 85,
161-
FalseKeyword = 86,
162-
FinallyKeyword = 87,
163-
ForKeyword = 88,
164-
FunctionKeyword = 89,
165-
IfKeyword = 90,
166-
ImportKeyword = 91,
167-
InKeyword = 92,
168-
InstanceOfKeyword = 93,
169-
NewKeyword = 94,
170-
NullKeyword = 95,
171-
ReturnKeyword = 96,
172-
SuperKeyword = 97,
173-
SwitchKeyword = 98,
174-
ThisKeyword = 99,
175-
ThrowKeyword = 100,
176-
TrueKeyword = 101,
177-
TryKeyword = 102,
178-
TypeOfKeyword = 103,
179-
VarKeyword = 104,
180-
VoidKeyword = 105,
181-
WhileKeyword = 106,
182-
WithKeyword = 107,
183-
ImplementsKeyword = 108,
184-
InterfaceKeyword = 109,
185-
LetKeyword = 110,
186-
PackageKeyword = 111,
187-
PrivateKeyword = 112,
188-
ProtectedKeyword = 113,
189-
PublicKeyword = 114,
190-
StaticKeyword = 115,
191-
YieldKeyword = 116,
192-
AbstractKeyword = 117,
193-
AsKeyword = 118,
194-
AnyKeyword = 119,
195-
AsyncKeyword = 120,
196-
AwaitKeyword = 121,
197-
BooleanKeyword = 122,
198-
ConstructorKeyword = 123,
199-
DeclareKeyword = 124,
200-
GetKeyword = 125,
201-
InferKeyword = 126,
202-
IsKeyword = 127,
203-
KeyOfKeyword = 128,
204-
ModuleKeyword = 129,
205-
NamespaceKeyword = 130,
206-
NeverKeyword = 131,
207-
ReadonlyKeyword = 132,
208-
RequireKeyword = 133,
209-
NumberKeyword = 134,
210-
ObjectKeyword = 135,
211-
SetKeyword = 136,
212-
StringKeyword = 137,
213-
SymbolKeyword = 138,
214-
TypeKeyword = 139,
215-
UndefinedKeyword = 140,
216-
UniqueKeyword = 141,
217-
UnknownKeyword = 142,
218-
FromKeyword = 143,
219-
GlobalKeyword = 144,
220-
OfKeyword = 145,
221-
QualifiedName = 146,
222-
ComputedPropertyName = 147,
223-
PrivateName = 148,
147+
PrivateName = 72,
148+
BreakKeyword = 73,
149+
CaseKeyword = 74,
150+
CatchKeyword = 75,
151+
ClassKeyword = 76,
152+
ConstKeyword = 77,
153+
ContinueKeyword = 78,
154+
DebuggerKeyword = 79,
155+
DefaultKeyword = 80,
156+
DeleteKeyword = 81,
157+
DoKeyword = 82,
158+
ElseKeyword = 83,
159+
EnumKeyword = 84,
160+
ExportKeyword = 85,
161+
ExtendsKeyword = 86,
162+
FalseKeyword = 87,
163+
FinallyKeyword = 88,
164+
ForKeyword = 89,
165+
FunctionKeyword = 90,
166+
IfKeyword = 91,
167+
ImportKeyword = 92,
168+
InKeyword = 93,
169+
InstanceOfKeyword = 94,
170+
NewKeyword = 95,
171+
NullKeyword = 96,
172+
ReturnKeyword = 97,
173+
SuperKeyword = 98,
174+
SwitchKeyword = 99,
175+
ThisKeyword = 100,
176+
ThrowKeyword = 101,
177+
TrueKeyword = 102,
178+
TryKeyword = 103,
179+
TypeOfKeyword = 104,
180+
VarKeyword = 105,
181+
VoidKeyword = 106,
182+
WhileKeyword = 107,
183+
WithKeyword = 108,
184+
ImplementsKeyword = 109,
185+
InterfaceKeyword = 110,
186+
LetKeyword = 111,
187+
PackageKeyword = 112,
188+
PrivateKeyword = 113,
189+
ProtectedKeyword = 114,
190+
PublicKeyword = 115,
191+
StaticKeyword = 116,
192+
YieldKeyword = 117,
193+
AbstractKeyword = 118,
194+
AsKeyword = 119,
195+
AnyKeyword = 120,
196+
AsyncKeyword = 121,
197+
AwaitKeyword = 122,
198+
BooleanKeyword = 123,
199+
ConstructorKeyword = 124,
200+
DeclareKeyword = 125,
201+
GetKeyword = 126,
202+
InferKeyword = 127,
203+
IsKeyword = 128,
204+
KeyOfKeyword = 129,
205+
ModuleKeyword = 130,
206+
NamespaceKeyword = 131,
207+
NeverKeyword = 132,
208+
ReadonlyKeyword = 133,
209+
RequireKeyword = 134,
210+
NumberKeyword = 135,
211+
ObjectKeyword = 136,
212+
SetKeyword = 137,
213+
StringKeyword = 138,
214+
SymbolKeyword = 139,
215+
TypeKeyword = 140,
216+
UndefinedKeyword = 141,
217+
UniqueKeyword = 142,
218+
UnknownKeyword = 143,
219+
FromKeyword = 144,
220+
GlobalKeyword = 145,
221+
OfKeyword = 146,
222+
QualifiedName = 147,
223+
ComputedPropertyName = 148,
224224
TypeParameter = 149,
225225
Parameter = 150,
226226
Decorator = 151,
@@ -387,18 +387,18 @@ declare namespace ts {
387387
LastAssignment = 70,
388388
FirstCompoundAssignment = 59,
389389
LastCompoundAssignment = 70,
390-
FirstReservedWord = 72,
391-
LastReservedWord = 107,
392-
FirstKeyword = 72,
393-
LastKeyword = 145,
394-
FirstFutureReservedWord = 108,
395-
LastFutureReservedWord = 116,
390+
FirstReservedWord = 73,
391+
LastReservedWord = 108,
392+
FirstKeyword = 73,
393+
LastKeyword = 146,
394+
FirstFutureReservedWord = 109,
395+
LastFutureReservedWord = 117,
396396
FirstTypeNode = 162,
397397
LastTypeNode = 182,
398398
FirstPunctuation = 17,
399399
LastPunctuation = 70,
400400
FirstToken = 0,
401-
LastToken = 145,
401+
LastToken = 146,
402402
FirstTriviaToken = 2,
403403
LastTriviaToken = 7,
404404
FirstLiteralToken = 8,
@@ -407,7 +407,7 @@ declare namespace ts {
407407
LastTemplateToken = 16,
408408
FirstBinaryOperator = 27,
409409
LastBinaryOperator = 70,
410-
FirstNode = 146,
410+
FirstNode = 147,
411411
FirstJSDocNode = 282,
412412
LastJSDocNode = 303,
413413
FirstJSDocTagNode = 293,

0 commit comments

Comments
 (0)