diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 688d3fc9643..4ae9204f7ed 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -21,7 +21,6 @@ namespace ts { case SyntaxKind.PropertySignature: case SyntaxKind.PropertyAssignment: case SyntaxKind.ShorthandPropertyAssignment: - case SyntaxKind.EnumMember: case SyntaxKind.MethodDeclaration: case SyntaxKind.MethodSignature: case SyntaxKind.Constructor: @@ -40,6 +39,7 @@ namespace ts { case SyntaxKind.TypeLiteral: return SemanticMeaning.Type; + case SyntaxKind.EnumMember: case SyntaxKind.ClassDeclaration: return SemanticMeaning.Value | SemanticMeaning.Type; @@ -63,7 +63,7 @@ namespace ts { case SyntaxKind.ImportDeclaration: case SyntaxKind.ExportAssignment: case SyntaxKind.ExportDeclaration: - return SemanticMeaning.Value | SemanticMeaning.Type | SemanticMeaning.Namespace; + return SemanticMeaning.All; // An external module can be a Value case SyntaxKind.SourceFile: diff --git a/tests/cases/fourslash/findAllRefsEnumMember.ts b/tests/cases/fourslash/findAllRefsEnumMember.ts new file mode 100644 index 00000000000..584b8befd29 --- /dev/null +++ b/tests/cases/fourslash/findAllRefsEnumMember.ts @@ -0,0 +1,6 @@ +/// + +////enum E { [|{| "isWriteAccess": true, "isDefinition": true |}A|], B } +////const e: E.[|A|] = E.[|A|]; + +verify.singleReferenceGroup("(enum member) E.A = 0");