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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
// === goToImplementation ===
// === /tests/cases/fourslash/goToImplementationInterface_00.ts ===
// interface Fo/*GOTO IMPL*/o {
// hello: () => void
// }
//
// <|interface [|{| defId: 0 |}Baz|] extends Foo {}|>
//
// var bar: Foo = [|{| defId: 1 |}{ hello: helloImpl /**0*/ }|];
// var baz: Foo[] = [|{| defId: 2 |}[{ hello: helloImpl /**4*/ }]|];
//
// function helloImpl () {}
//
// function whatever(x: Foo = [|{| defId: 3 |}{ hello() {/**1*/} }|] ) {
// }
//
// class Bar {
// x: Foo = [|{| defId: 4 |}{ hello() {} }|]
//
// constructor(public f: Foo = [|{| defId: 5 |}{ hello() {/**3*/} }|] ) {}
// }
// === Details ===
[
{
"defId": 0,
"displayParts": [
{
"text": "interface",
"kind": "keyword"
},
{
"text": " ",
"kind": "space"
},
{
"text": "Baz",
"kind": "interfaceName"
}
],
"kind": "interface"
},
{
"defId": 1,
"kind": "interface",
"displayParts": [
{
"text": "(",
"kind": "punctuation"
},
{
"text": "object literal",
"kind": "text"
},
{
"text": ")",
"kind": "punctuation"
}
]
},
{
"defId": 2,
"kind": "",
"displayParts": []
},
{
"defId": 3,
"kind": "interface",
"displayParts": [
{
"text": "(",
"kind": "punctuation"
},
{
"text": "object literal",
"kind": "text"
},
{
"text": ")",
"kind": "punctuation"
}
]
},
{
"defId": 4,
"kind": "interface",
"displayParts": [
{
"text": "(",
"kind": "punctuation"
},
{
"text": "object literal",
"kind": "text"
},
{
"text": ")",
"kind": "punctuation"
}
]
},
{
"defId": 5,
"kind": "interface",
"displayParts": [
{
"text": "(",
"kind": "punctuation"
},
{
"text": "object literal",
"kind": "text"
},
{
"text": ")",
"kind": "punctuation"
}
]
}
]
|