Skip to content

Commit 8bc21f9

Browse files
author
Andy
authored
Merge pull request microsoft#13597 from Microsoft/enum_member
Set ScriptElementKind for enum members to "enum member" instead of "const"
2 parents 6d7bc65 + 556e8c3 commit 8bc21f9

10 files changed

+69
-66
lines changed

src/services/symbolDisplay.ts

+7-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
namespace ts.SymbolDisplay {
33
// TODO(drosen): use contextual SemanticMeaning.
44
export function getSymbolKind(typeChecker: TypeChecker, symbol: Symbol, location: Node): string {
5-
const flags = symbol.getFlags();
5+
const { flags } = symbol;
66

77
if (flags & SymbolFlags.Class) return getDeclarationOfKind(symbol, SyntaxKind.ClassExpression) ?
88
ScriptElementKind.localClassElement : ScriptElementKind.classElement;
@@ -11,18 +11,18 @@ namespace ts.SymbolDisplay {
1111
if (flags & SymbolFlags.Interface) return ScriptElementKind.interfaceElement;
1212
if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement;
1313

14-
const result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, flags, location);
14+
const result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
1515
if (result === ScriptElementKind.unknown) {
1616
if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement;
17-
if (flags & SymbolFlags.EnumMember) return ScriptElementKind.variableElement;
17+
if (flags & SymbolFlags.EnumMember) return ScriptElementKind.enumMemberElement;
1818
if (flags & SymbolFlags.Alias) return ScriptElementKind.alias;
1919
if (flags & SymbolFlags.Module) return ScriptElementKind.moduleElement;
2020
}
2121

2222
return result;
2323
}
2424

25-
function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker: TypeChecker, symbol: Symbol, flags: SymbolFlags, location: Node) {
25+
function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker: TypeChecker, symbol: Symbol, location: Node) {
2626
if (typeChecker.isUndefinedSymbol(symbol)) {
2727
return ScriptElementKind.variableElement;
2828
}
@@ -32,6 +32,7 @@ namespace ts.SymbolDisplay {
3232
if (location.kind === SyntaxKind.ThisKeyword && isExpression(location)) {
3333
return ScriptElementKind.parameterElement;
3434
}
35+
const { flags } = symbol;
3536
if (flags & SymbolFlags.Variable) {
3637
if (isFirstDeclarationOfSymbolParameter(symbol)) {
3738
return ScriptElementKind.parameterElement;
@@ -93,7 +94,7 @@ namespace ts.SymbolDisplay {
9394
const displayParts: SymbolDisplayPart[] = [];
9495
let documentation: SymbolDisplayPart[];
9596
const symbolFlags = symbol.flags;
96-
let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, symbolFlags, location);
97+
let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(typeChecker, symbol, location);
9798
let hasAddedSymbolInfo: boolean;
9899
const isThisExpression = location.kind === SyntaxKind.ThisKeyword && isExpression(location);
99100
let type: Type;
@@ -319,6 +320,7 @@ namespace ts.SymbolDisplay {
319320
}
320321
}
321322
if (symbolFlags & SymbolFlags.EnumMember) {
323+
symbolKind = ScriptElementKind.enumMemberElement;
322324
addPrefixForAnyFunctionOrVar(symbol, "enum member");
323325
const declaration = symbol.declarations[0];
324326
if (declaration.kind === SyntaxKind.EnumMember) {

src/services/types.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -706,8 +706,7 @@ namespace ts {
706706

707707
/** enum E */
708708
export const enumElement = "enum";
709-
// TODO: GH#9983
710-
export const enumMemberElement = "const";
709+
export const enumMemberElement = "enum member";
711710

712711
/**
713712
* Inside module and script only

tests/baselines/reference/quickInfoDisplayPartsEnum1.baseline

+12-12
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"position": 13
3535
},
3636
"quickInfo": {
37-
"kind": "var",
37+
"kind": "enum member",
3838
"kindModifiers": "",
3939
"textSpan": {
4040
"start": 13,
@@ -95,7 +95,7 @@
9595
"position": 21
9696
},
9797
"quickInfo": {
98-
"kind": "var",
98+
"kind": "enum member",
9999
"kindModifiers": "",
100100
"textSpan": {
101101
"start": 21,
@@ -156,7 +156,7 @@
156156
"position": 34
157157
},
158158
"quickInfo": {
159-
"kind": "var",
159+
"kind": "enum member",
160160
"kindModifiers": "",
161161
"textSpan": {
162162
"start": 34,
@@ -357,7 +357,7 @@
357357
"position": 71
358358
},
359359
"quickInfo": {
360-
"kind": "var",
360+
"kind": "enum member",
361361
"kindModifiers": "",
362362
"textSpan": {
363363
"start": 71,
@@ -488,7 +488,7 @@
488488
"position": 89
489489
},
490490
"quickInfo": {
491-
"kind": "var",
491+
"kind": "enum member",
492492
"kindModifiers": "",
493493
"textSpan": {
494494
"start": 89,
@@ -619,7 +619,7 @@
619619
"position": 107
620620
},
621621
"quickInfo": {
622-
"kind": "var",
622+
"kind": "enum member",
623623
"kindModifiers": "",
624624
"textSpan": {
625625
"start": 107,
@@ -717,7 +717,7 @@
717717
"position": 135
718718
},
719719
"quickInfo": {
720-
"kind": "var",
720+
"kind": "enum member",
721721
"kindModifiers": "",
722722
"textSpan": {
723723
"start": 135,
@@ -778,7 +778,7 @@
778778
"position": 143
779779
},
780780
"quickInfo": {
781-
"kind": "var",
781+
"kind": "enum member",
782782
"kindModifiers": "",
783783
"textSpan": {
784784
"start": 143,
@@ -839,7 +839,7 @@
839839
"position": 156
840840
},
841841
"quickInfo": {
842-
"kind": "var",
842+
"kind": "enum member",
843843
"kindModifiers": "",
844844
"textSpan": {
845845
"start": 156,
@@ -1056,7 +1056,7 @@
10561056
"position": 205
10571057
},
10581058
"quickInfo": {
1059-
"kind": "var",
1059+
"kind": "enum member",
10601060
"kindModifiers": "",
10611061
"textSpan": {
10621062
"start": 205,
@@ -1195,7 +1195,7 @@
11951195
"position": 229
11961196
},
11971197
"quickInfo": {
1198-
"kind": "var",
1198+
"kind": "enum member",
11991199
"kindModifiers": "",
12001200
"textSpan": {
12011201
"start": 229,
@@ -1334,7 +1334,7 @@
13341334
"position": 253
13351335
},
13361336
"quickInfo": {
1337-
"kind": "var",
1337+
"kind": "enum member",
13381338
"kindModifiers": "",
13391339
"textSpan": {
13401340
"start": 253,

tests/baselines/reference/quickInfoDisplayPartsEnum2.baseline

+12-12
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"position": 13
3535
},
3636
"quickInfo": {
37-
"kind": "var",
37+
"kind": "enum member",
3838
"kindModifiers": "",
3939
"textSpan": {
4040
"start": 13,
@@ -99,7 +99,7 @@
9999
"position": 23
100100
},
101101
"quickInfo": {
102-
"kind": "var",
102+
"kind": "enum member",
103103
"kindModifiers": "",
104104
"textSpan": {
105105
"start": 23,
@@ -164,7 +164,7 @@
164164
"position": 38
165165
},
166166
"quickInfo": {
167-
"kind": "var",
167+
"kind": "enum member",
168168
"kindModifiers": "",
169169
"textSpan": {
170170
"start": 38,
@@ -369,7 +369,7 @@
369369
"position": 77
370370
},
371371
"quickInfo": {
372-
"kind": "var",
372+
"kind": "enum member",
373373
"kindModifiers": "",
374374
"textSpan": {
375375
"start": 77,
@@ -504,7 +504,7 @@
504504
"position": 95
505505
},
506506
"quickInfo": {
507-
"kind": "var",
507+
"kind": "enum member",
508508
"kindModifiers": "",
509509
"textSpan": {
510510
"start": 95,
@@ -639,7 +639,7 @@
639639
"position": 113
640640
},
641641
"quickInfo": {
642-
"kind": "var",
642+
"kind": "enum member",
643643
"kindModifiers": "",
644644
"textSpan": {
645645
"start": 113,
@@ -741,7 +741,7 @@
741741
"position": 141
742742
},
743743
"quickInfo": {
744-
"kind": "var",
744+
"kind": "enum member",
745745
"kindModifiers": "",
746746
"textSpan": {
747747
"start": 141,
@@ -806,7 +806,7 @@
806806
"position": 151
807807
},
808808
"quickInfo": {
809-
"kind": "var",
809+
"kind": "enum member",
810810
"kindModifiers": "",
811811
"textSpan": {
812812
"start": 151,
@@ -871,7 +871,7 @@
871871
"position": 166
872872
},
873873
"quickInfo": {
874-
"kind": "var",
874+
"kind": "enum member",
875875
"kindModifiers": "",
876876
"textSpan": {
877877
"start": 166,
@@ -1092,7 +1092,7 @@
10921092
"position": 217
10931093
},
10941094
"quickInfo": {
1095-
"kind": "var",
1095+
"kind": "enum member",
10961096
"kindModifiers": "",
10971097
"textSpan": {
10981098
"start": 217,
@@ -1235,7 +1235,7 @@
12351235
"position": 241
12361236
},
12371237
"quickInfo": {
1238-
"kind": "var",
1238+
"kind": "enum member",
12391239
"kindModifiers": "",
12401240
"textSpan": {
12411241
"start": 241,
@@ -1378,7 +1378,7 @@
13781378
"position": 265
13791379
},
13801380
"quickInfo": {
1381-
"kind": "var",
1381+
"kind": "enum member",
13821382
"kindModifiers": "",
13831383
"textSpan": {
13841384
"start": 265,

tests/baselines/reference/quickInfoDisplayPartsEnum3.baseline

+12-12
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"position": 13
3535
},
3636
"quickInfo": {
37-
"kind": "var",
37+
"kind": "enum member",
3838
"kindModifiers": "",
3939
"textSpan": {
4040
"start": 13,
@@ -99,7 +99,7 @@
9999
"position": 23
100100
},
101101
"quickInfo": {
102-
"kind": "var",
102+
"kind": "enum member",
103103
"kindModifiers": "",
104104
"textSpan": {
105105
"start": 23,
@@ -164,7 +164,7 @@
164164
"position": 38
165165
},
166166
"quickInfo": {
167-
"kind": "var",
167+
"kind": "enum member",
168168
"kindModifiers": "",
169169
"textSpan": {
170170
"start": 38,
@@ -369,7 +369,7 @@
369369
"position": 77
370370
},
371371
"quickInfo": {
372-
"kind": "var",
372+
"kind": "enum member",
373373
"kindModifiers": "",
374374
"textSpan": {
375375
"start": 77,
@@ -504,7 +504,7 @@
504504
"position": 98
505505
},
506506
"quickInfo": {
507-
"kind": "var",
507+
"kind": "enum member",
508508
"kindModifiers": "",
509509
"textSpan": {
510510
"start": 98,
@@ -639,7 +639,7 @@
639639
"position": 119
640640
},
641641
"quickInfo": {
642-
"kind": "var",
642+
"kind": "enum member",
643643
"kindModifiers": "",
644644
"textSpan": {
645645
"start": 119,
@@ -741,7 +741,7 @@
741741
"position": 150
742742
},
743743
"quickInfo": {
744-
"kind": "var",
744+
"kind": "enum member",
745745
"kindModifiers": "",
746746
"textSpan": {
747747
"start": 150,
@@ -806,7 +806,7 @@
806806
"position": 160
807807
},
808808
"quickInfo": {
809-
"kind": "var",
809+
"kind": "enum member",
810810
"kindModifiers": "",
811811
"textSpan": {
812812
"start": 160,
@@ -871,7 +871,7 @@
871871
"position": 175
872872
},
873873
"quickInfo": {
874-
"kind": "var",
874+
"kind": "enum member",
875875
"kindModifiers": "",
876876
"textSpan": {
877877
"start": 175,
@@ -1092,7 +1092,7 @@
10921092
"position": 226
10931093
},
10941094
"quickInfo": {
1095-
"kind": "var",
1095+
"kind": "enum member",
10961096
"kindModifiers": "",
10971097
"textSpan": {
10981098
"start": 226,
@@ -1235,7 +1235,7 @@
12351235
"position": 253
12361236
},
12371237
"quickInfo": {
1238-
"kind": "var",
1238+
"kind": "enum member",
12391239
"kindModifiers": "",
12401240
"textSpan": {
12411241
"start": 253,
@@ -1378,7 +1378,7 @@
13781378
"position": 280
13791379
},
13801380
"quickInfo": {
1381-
"kind": "var",
1381+
"kind": "enum member",
13821382
"kindModifiers": "",
13831383
"textSpan": {
13841384
"start": 280,

0 commit comments

Comments
 (0)