Skip to content

Commit e4a2dd5

Browse files
committed
Handle export keyword of export assignment
1 parent 64de998 commit e4a2dd5

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

src/services/findAllReferences.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,12 @@ namespace ts.FindAllReferences {
7474
undefined;
7575
}
7676

77-
if (isConstructorDeclaration(node.parent) ||
78-
node.parent.name === node || // node is name of declaration, use parent
77+
if (node.parent.name === node || // node is name of declaration, use parent
78+
isConstructorDeclaration(node.parent) ||
79+
isExportAssignment(node.parent) ||
7980
// Property name of the import export specifier or binding pattern, use parent
8081
((isImportOrExportSpecifier(node.parent) || isBindingElement(node.parent))
8182
&& node.parent.propertyName === node) ||
82-
isExportAssignment(node.parent) && (
83-
node.parent.expression === node ||
84-
(!node.parent.isExportEquals && node.kind === SyntaxKind.DefaultKeyword)
85-
) ||
8683
// Is default export
8784
(node.kind === SyntaxKind.DefaultKeyword && hasModifier(node.parent, ModifierFlags.ExportDefault))) {
8885
return getDeclarationForDeclarationSpan(node.parent);

tests/cases/fourslash/findAllRefsExportEquals.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
/// <reference path='fourslash.ts' />
22

33
// @Filename: /a.ts
4-
////type [|{| "isWriteAccess": true, "isDefinition": true |}T|] = number;
5-
////[|export|] = [|T|];
4+
////[|type [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 0 |}T|] = number;|]
5+
////[|[|{| "declarationRangeIndex": 2 |}export|] = [|{| "declarationRangeIndex": 2 |}T|];|]
66

77
// @Filename: /b.ts
8-
////import [|{| "isWriteAccess": true, "isDefinition": true |}T|] = require("[|./a|]");
8+
////[|import [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 5 |}T|] = require("[|./a|]");|]
99

10-
const [r0, r1, r2, r3, r4] = test.ranges();
10+
const [r0Def, r0, r12Def, r1, r2, r3Def, r3, r4] = test.ranges();
1111
const mod = { definition: 'module "/a"', ranges: [r4, r1] };
1212
const a = { definition: "type T = number", ranges: [r0, r2] };
1313
const b = { definition: '(alias) type T = number\nimport T = require("./a")', ranges: [r3] };

tests/cases/fourslash/findAllRefs_importType_exportEquals.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
////[|namespace [|{| "isWriteAccess": true, "isDefinition": true, "declarationRangeIndex": 2 |}T|] {
66
//// export type U = string;
77
////}|]
8-
////[|[|export|] = [|{| "declarationRangeIndex": 4 |}T|];|]
8+
////[|[|{| "declarationRangeIndex": 4 |}export|] = [|{| "declarationRangeIndex": 4 |}T|];|]
99

1010
// @Filename: /b.ts
1111
////const x: import("[|./[|a|]|]") = 0;

0 commit comments

Comments
 (0)