diff --git a/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.ts b/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.ts index c0ea84d13a7..795a96fd018 100644 --- a/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.ts +++ b/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.ts @@ -175,7 +175,7 @@ CommandsRegistry.registerCommand('_executeProvideIncomingCalls', async (_accesso // find model const model = _models.get(item._sessionId); if (!model) { - return undefined; + return []; } return model.resolveIncomingCalls(item, CancellationToken.None); @@ -188,7 +188,7 @@ CommandsRegistry.registerCommand('_executeProvideOutgoingCalls', async (_accesso // find model const model = _models.get(item._sessionId); if (!model) { - return undefined; + return []; } return model.resolveOutgoingCalls(item, CancellationToken.None); diff --git a/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.ts b/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.ts index 71f4f44687e..3144b4c7a99 100644 --- a/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.ts +++ b/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.ts @@ -138,14 +138,18 @@ CommandsRegistry.registerCommand('_executePrepareTypeHierarchy', async (accessor return []; } - _models.set(model.id, model); _models.forEach((value, key, map) => { if (map.size > 10) { value.dispose(); _models.delete(key); } }); - return [model.root]; + + for (const root of model.roots) { + _models.set(root._sessionId, model); + } + + return model.roots; } finally { textModelReference?.dispose(); @@ -169,7 +173,7 @@ CommandsRegistry.registerCommand('_executeProvideSupertypes', async (_accessor, // find model const model = _models.get(item._sessionId); if (!model) { - return undefined; + return []; } return model.provideSupertypes(item, CancellationToken.None); @@ -182,7 +186,7 @@ CommandsRegistry.registerCommand('_executeProvideSubtypes', async (_accessor, .. // find model const model = _models.get(item._sessionId); if (!model) { - return undefined; + return []; } return model.provideSubtypes(item, CancellationToken.None);