Skip to content

Commit 8491ad9

Browse files
author
Andy
authored
Merge pull request microsoft#15743 from Microsoft/findAllRefs-enum-namespace
An enum should include a Namespace SemanticMeaning, and an enum member should have Type SemanticMeaning
2 parents 2f0e341 + f3fe013 commit 8491ad9

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

src/services/utilities.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ namespace ts {
2121
case SyntaxKind.PropertySignature:
2222
case SyntaxKind.PropertyAssignment:
2323
case SyntaxKind.ShorthandPropertyAssignment:
24-
case SyntaxKind.EnumMember:
2524
case SyntaxKind.MethodDeclaration:
2625
case SyntaxKind.MethodSignature:
2726
case SyntaxKind.Constructor:
@@ -40,10 +39,13 @@ namespace ts {
4039
case SyntaxKind.TypeLiteral:
4140
return SemanticMeaning.Type;
4241

42+
case SyntaxKind.EnumMember:
4343
case SyntaxKind.ClassDeclaration:
44-
case SyntaxKind.EnumDeclaration:
4544
return SemanticMeaning.Value | SemanticMeaning.Type;
4645

46+
case SyntaxKind.EnumDeclaration:
47+
return SemanticMeaning.All;
48+
4749
case SyntaxKind.ModuleDeclaration:
4850
if (isAmbientModule(<ModuleDeclaration>node)) {
4951
return SemanticMeaning.Namespace | SemanticMeaning.Value;
@@ -61,7 +63,7 @@ namespace ts {
6163
case SyntaxKind.ImportDeclaration:
6264
case SyntaxKind.ExportAssignment:
6365
case SyntaxKind.ExportDeclaration:
64-
return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace;
66+
return SemanticMeaning.All;
6567

6668
// An external module can be a Value
6769
case SyntaxKind.SourceFile:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/// <reference path='fourslash.ts' />
2+
3+
////enum [|{| "isWriteAccess": true, "isDefinition": true |}E|] { A }
4+
////let e: [|E|].A;
5+
6+
verify.singleReferenceGroup("enum E");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
////enum E { [|{| "isWriteAccess": true, "isDefinition": true |}A|], B }
4+
////const e: E.[|A|] = E.[|A|];
5+
6+
verify.singleReferenceGroup("(enum member) E.A = 0");

0 commit comments

Comments
 (0)