[clangd] Use WorkScheduler.run() in ClangdServer::resolveTypeHierarchy()
authorNathan Ridge <zeratul976@hotmail.com>
Mon, 23 Nov 2020 02:47:07 +0000 (21:47 -0500)
committerNathan Ridge <zeratul976@hotmail.com>
Tue, 24 Nov 2020 01:44:14 +0000 (20:44 -0500)
Differential Revision: https://reviews.llvm.org/D91941

clang-tools-extra/clangd/ClangdServer.cpp

index 523931d..502078c 100644 (file)
@@ -674,8 +674,11 @@ void ClangdServer::typeHierarchy(PathRef File, Position Pos, int Resolve,
 void ClangdServer::resolveTypeHierarchy(
     TypeHierarchyItem Item, int Resolve, TypeHierarchyDirection Direction,
     Callback<llvm::Optional<TypeHierarchyItem>> CB) {
-  clangd::resolveTypeHierarchy(Item, Resolve, Direction, Index);
-  CB(Item);
+  WorkScheduler.run(
+      "Resolve Type Hierarchy", "", [=, CB = std::move(CB)]() mutable {
+        clangd::resolveTypeHierarchy(Item, Resolve, Direction, Index);
+        CB(Item);
+      });
 }
 
 void ClangdServer::prepareCallHierarchy(