1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
/// <reference path='fourslash.ts'/>
// @jsx: preserve
// @Filename: /a.tsx
////function /*f*/f() {}
////const /*g*/g = f;
////const /*h*/h = g;
////[|/*useF*/f|]();
////[|/*useG*/g|]();
////[|/*useH*/h|]();
////const i = /*i*/() => 0;
////const /*j*/j = i;
////[|/*useI*/i|]();
////[|/*useJ*/j|]();
////const o = { m: /*m*/() => 0 };
////o.[|/*useM*/m|]();
////class Component { /*componentCtr*/constructor(props: {}) {} }
////type ComponentClass = /*ComponentClass*/new () => Component;
////interface ComponentClass2 { /*ComponentClass2*/new(): Component; }
////
////class /*MyComponent*/MyComponent extends Component {}
////<[|/*jsxMyComponent*/MyComponent|] />;
////new [|/*newMyComponent*/MyComponent|]({});
////
////declare const /*MyComponent2*/MyComponent2: ComponentClass;
////<[|/*jsxMyComponent2*/MyComponent2|] />;
////new [|/*newMyComponent2*/MyComponent2|]();
////
////declare const /*MyComponent3*/MyComponent3: ComponentClass2;
////<[|/*jsxMyComponent3*/MyComponent3|] />;
////new [|/*newMyComponent3*/MyComponent3|]();
verify.noErrors();
verify.goToDefinition({
useF: "f",
useG: ["g", "f"],
useH: ["h", "f"],
useI: "i",
useJ: ["j", "i"],
useM: "m",
jsxMyComponent: "MyComponent",
newMyComponent: ["MyComponent", "componentCtr"],
jsxMyComponent2: "MyComponent2",
newMyComponent2: ["MyComponent2", "ComponentClass"],
jsxMyComponent3: "MyComponent3",
newMyComponent3: ["MyComponent3", "ComponentClass2"],
});
|