1/// <reference path="fourslash.ts" /> 2 3// @Filename: f.ts 4 5////class A { 6//// [|[|{| "contextRangeIndex": 0, "isDefinition": true |}constructor|](s: string) {}|] 7////} 8////class B extends A { } 9////[|export { [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 2 |}A|], [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 2 |}B|] };|] 10 11// @Filename: a.ts 12 13////[|import { [|{| "contextRangeIndex": 5 |}A|] as A1 } from "./f";|] 14////const a1 = new [|A1|]("a1"); 15////export default class extends A1 { } 16////[|export { [|{| "contextRangeIndex": 8 |}B|] as [|{| "isWriteAccess": true, "isDefinition": true, "contextRangeIndex": 8 |}B1|] } from "./f";|] 17 18// @Filename: b.ts 19 20////[|import [|{| "contextRangeIndex": 11 |}B|], { B1 } from "./a";|] 21////const d = new [|B|]("b"); 22////const d1 = new [|B1|]("b1"); 23 24verify.noErrors(); 25const [aCtrDef, aCtr, exportDef, aExport, bExport, aImportDef, aImport, a1New, reExportDef, bReExport, b1Export, bDefaultDef, bDefault, bNew, b1New ] = test.ranges(); 26verify.referenceGroups(aCtr, [ 27 { definition: "class A", ranges: [aCtr, aExport] }, 28 { definition: "class B", ranges: [bExport]}, 29 { definition: "(alias) class B\nexport B", ranges: [bReExport]}, 30 { definition: "(alias) class B1\nexport B1", ranges: [b1Export]}, 31 { definition: "(alias) class B1\nimport B1", ranges: [b1New]}, 32 { definition: "(alias) class A\nexport A", ranges: [aImport]}, 33 { definition: "(alias) class A1\nimport A1", ranges: [a1New]}, 34 { definition: "class default", ranges: []}, 35 { definition: { text: "import B", range: bDefault }, ranges: [bNew]}]); 36