mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
fix 39453 (#39579)
* fix 39453 * add restriction. * add tests * comment. * fix as suggestion.
This commit is contained in:
parent
56865f722d
commit
d897646a4a
@ -249,6 +249,10 @@ namespace ts.CallHierarchy {
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
// #39453
|
||||
if (isVariableDeclaration(location) && location.initializer && isConstNamedExpression(location.initializer)) {
|
||||
return location.initializer;
|
||||
}
|
||||
if (!followingSymbol) {
|
||||
let symbol = typeChecker.getSymbolAtLocation(location);
|
||||
if (symbol) {
|
||||
|
||||
@ -0,0 +1,107 @@
|
||||
╭ name: bar
|
||||
├ kind: function
|
||||
├ file: /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts
|
||||
├ span:
|
||||
│ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:5:13-7:2
|
||||
│ │ 5: const bar = function () {
|
||||
│ │ ^^^^^^^^^^^^^
|
||||
│ │ 6: baz();
|
||||
│ │ ^^^^^^^^^^
|
||||
│ │ 7: }
|
||||
│ │ ^
|
||||
│ ╰
|
||||
├ selectionSpan:
|
||||
│ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:5:7-5:10
|
||||
│ │ 5: const bar = function () {
|
||||
│ │ ^^^
|
||||
│ ╰
|
||||
├ incoming:
|
||||
│ ╭ from:
|
||||
│ │ ╭ name: foo
|
||||
│ │ ├ kind: function
|
||||
│ │ ├ file: /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts
|
||||
│ │ ├ span:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:1:1-3:2
|
||||
│ │ │ │ 1: function foo() {
|
||||
│ │ │ │ ^^^^^^^^^^^^^^^^
|
||||
│ │ │ │ 2: bar();
|
||||
│ │ │ │ ^^^^^^^^^^
|
||||
│ │ │ │ 3: }
|
||||
│ │ │ │ ^
|
||||
│ │ │ ╰
|
||||
│ │ ├ selectionSpan:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:1:10-1:13
|
||||
│ │ │ │ 1: function foo() {
|
||||
│ │ │ │ ^^^
|
||||
│ │ │ ╰
|
||||
│ │ ╰ incoming: none
|
||||
│ ├ fromSpans:
|
||||
│ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:2:5-2:8
|
||||
│ │ │ 2: bar();
|
||||
│ │ │ ^^^
|
||||
│ ╰ ╰
|
||||
│ ╭ from:
|
||||
│ │ ╭ name: /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts
|
||||
│ │ ├ kind: script
|
||||
│ │ ├ file: /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts
|
||||
│ │ ├ span:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:1:1-12:6
|
||||
│ │ │ │ 1: function foo() {
|
||||
│ │ │ │ ^^^^^^^^^^^^^^^^
|
||||
│ │ │ │ 2: bar();
|
||||
│ │ │ │ ^^^^^^^^^^
|
||||
│ │ │ │ 3: }
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 4:
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 5: const bar = function () {
|
||||
│ │ │ │ ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
│ │ │ │ 6: baz();
|
||||
│ │ │ │ ^^^^^^^^^^
|
||||
│ │ │ │ 7: }
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 8:
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 9: function baz() {
|
||||
│ │ │ │ ^^^^^^^^^^^^^^^^
|
||||
│ │ │ │ 10: }
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 11:
|
||||
│ │ │ │ ^
|
||||
│ │ │ │ 12: bar()
|
||||
│ │ │ │ ^^^^^
|
||||
│ │ │ ╰
|
||||
│ │ ├ selectionSpan:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:1:1-1:1
|
||||
│ │ │ │ 1: function foo() {
|
||||
│ │ │ │ <
|
||||
│ │ │ ╰
|
||||
│ │ ╰ incoming: none
|
||||
│ ├ fromSpans:
|
||||
│ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:12:1-12:4
|
||||
│ │ │ 12: bar()
|
||||
│ │ │ ^^^
|
||||
│ ╰ ╰
|
||||
├ outgoing:
|
||||
│ ╭ to:
|
||||
│ │ ╭ name: baz
|
||||
│ │ ├ kind: function
|
||||
│ │ ├ file: /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts
|
||||
│ │ ├ span:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:9:1-10:2
|
||||
│ │ │ │ 9: function baz() {
|
||||
│ │ │ │ ^^^^^^^^^^^^^^^^
|
||||
│ │ │ │ 10: }
|
||||
│ │ │ │ ^
|
||||
│ │ │ ╰
|
||||
│ │ ├ selectionSpan:
|
||||
│ │ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:9:10-9:13
|
||||
│ │ │ │ 9: function baz() {
|
||||
│ │ │ │ ^^^
|
||||
│ │ │ ╰
|
||||
│ │ ╰ outgoing: none
|
||||
│ ├ fromSpans:
|
||||
│ │ ╭ /tests/cases/fourslash/callHierarchyCallExpressionByConstNamedFunctionExpression.ts:6:5-6:8
|
||||
│ │ │ 6: baz();
|
||||
│ │ │ ^^^
|
||||
╰ ╰ ╰
|
||||
@ -0,0 +1,16 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// function foo() {
|
||||
//// bar();
|
||||
//// }
|
||||
////
|
||||
//// const bar = function () {
|
||||
//// baz();
|
||||
//// }
|
||||
////
|
||||
//// function baz() {
|
||||
//// }
|
||||
////
|
||||
//// /**/bar()
|
||||
goTo.marker();
|
||||
verify.baselineCallHierarchy();
|
||||
Loading…
x
Reference in New Issue
Block a user