[clang-tools-extra] [clangd][RFC] Add container field to remote index Refs grpc method (PR #71605)

via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 7 15:51:35 PST 2023


https://github.com/tdupes created https://github.com/llvm/llvm-project/pull/71605

call hierarchy cannot be enhanced via the remote index because the Refs returned by the remote index do not have the ID of its container. 

>From 4b8ab9e39c974b4cfa6573eb0589116cac3101e5 Mon Sep 17 00:00:00 2001
From: dup <dup at fb.com>
Date: Fri, 3 Nov 2023 09:03:24 -0700
Subject: [PATCH] Add container field to remote index Refs grpc method

---
 clang-tools-extra/clangd/index/remote/Index.proto                | 1 +
 .../clangd/index/remote/marshalling/Marshalling.cpp              | 1 +
 2 files changed, 2 insertions(+)

diff --git a/clang-tools-extra/clangd/index/remote/Index.proto b/clang-tools-extra/clangd/index/remote/Index.proto
index 3072299d8f345f2..33bf095d88598f5 100644
--- a/clang-tools-extra/clangd/index/remote/Index.proto
+++ b/clang-tools-extra/clangd/index/remote/Index.proto
@@ -81,6 +81,7 @@ message Symbol {
 message Ref {
   optional SymbolLocation location = 1;
   optional uint32 kind = 2;
+  optional string container = 3;
 }
 
 message SymbolInfo {
diff --git a/clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp b/clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
index 7e31ada18a65797..192d6d08fe58cb1 100644
--- a/clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
+++ b/clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
@@ -189,6 +189,7 @@ llvm::Expected<clangd::Ref> Marshaller::fromProtobuf(const Ref &Message) {
     return Location.takeError();
   Result.Location = *Location;
   Result.Kind = static_cast<RefKind>(Message.kind());
+  Result.Container = SymbolId(Ref.container());
   return Result;
 }
 



More information about the cfe-commits mailing list