mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-23 17:30:04 -05:00
Fix bug in importTracker: default and namespace imports are not exclusive (#24965)
This commit is contained in:
13
tests/cases/fourslash/findAllRefsDefaultImport.ts
Normal file
13
tests/cases/fourslash/findAllRefsDefaultImport.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
// @Filename: /a.ts
|
||||
////export default function [|{| "isWriteAccess": true, "isDefinition": true |}a|]() {}
|
||||
|
||||
// @Filename: /b.ts
|
||||
////import [|{| "isWriteAccess": true, "isDefinition": true |}a|], * as ns from "./a";
|
||||
|
||||
const [r0, r1] = test.ranges();
|
||||
const a: FourSlashInterface.ReferenceGroup = { definition: "function a(): void", ranges: [r0] };
|
||||
const b: FourSlashInterface.ReferenceGroup = { definition: "(alias) function a(): void\nimport a", ranges: [r1] };
|
||||
verify.referenceGroups(r0, [a, b]);
|
||||
verify.referenceGroups(r1, [b, a]);
|
||||
@@ -255,7 +255,7 @@ declare namespace FourSlashInterface {
|
||||
* For each of starts, asserts the ranges that are referenced from there.
|
||||
* This uses the 'findReferences' command instead of 'getReferencesAtPosition', so references are grouped by their definition.
|
||||
*/
|
||||
referenceGroups(starts: ArrayOrSingle<string> | ArrayOrSingle<Range>, parts: Array<{ definition: ReferencesDefinition, ranges: Range[] }>): void;
|
||||
referenceGroups(starts: ArrayOrSingle<string> | ArrayOrSingle<Range>, parts: Array<FourSlashInterface.ReferenceGroup>): void;
|
||||
singleReferenceGroup(definition: ReferencesDefinition, ranges?: Range[]): void;
|
||||
rangesAreOccurrences(isWriteAccess?: boolean): void;
|
||||
rangesWithSameTextAreRenameLocations(): void;
|
||||
@@ -511,6 +511,10 @@ declare namespace FourSlashInterface {
|
||||
text: string;
|
||||
range: Range;
|
||||
}
|
||||
interface ReferenceGroup {
|
||||
readonly definition: ReferencesDefinition;
|
||||
readonly ranges: ReadonlyArray<Range>;
|
||||
}
|
||||
interface Diagnostic {
|
||||
message: string;
|
||||
/** @default `test.ranges()[0]` */
|
||||
|
||||
Reference in New Issue
Block a user