<div dir="ltr">+Haojian, who is working on references :-)<div><br></div><div>There's some overlap for sure, though the majority is independent. I think Haojian's plan includes these (in some overlapping order)</div><div>1) add an interface for the index to provide xrefs to clangd<br></div><div>2) implement LSP references features in terms of that interface + the AST for local references</div><div>3) implement collection of xrefs</div><div>4) implement xref storage/serving in the memory index <-- this part overlaps with the index proposal</div><div>5) (implement xref storage/serving in google's internal index)</div><div><br></div><div>I'd guess the most likely thing is that the initial xref serving will be a fairly naive implementation that will fit in well with the current naive index :-) and then it can converge with the new index in a few months when both features are a bit more fleshed out.</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 16, 2018 at 7:50 PM Doug Schaefer via clangd-dev <<a href="mailto:clangd-dev@lists.llvm.org">clangd-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_8268036707308313021WordSection1">
<p class="MsoNormal">Thanks Kirill, this looks very promising.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">My first question is a high level one. Clangd still lacks a referencesProvider. I don’t see mention of it in your document, but it seems a natural outcome of having a high performance index as long as it has reference location information.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Is that something you’re considering?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks!<u></u><u></u></p>
<p class="MsoNormal">Doug.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> cfe-dev [mailto:<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>]
<b>On Behalf Of </b>Kirill Bobyrev via cfe-dev<br>
<b>Sent:</b> Monday, July 16, 2018 6:04 AM<br>
<b>To:</b> <a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.llvm.org</a><br>
<b>Cc:</b> Peter Collingbourne via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
<b>Subject:</b> [cfe-dev] RFC: Symbol index for Clangd design proposal<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Dear LLVM Community,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">over the past few weeks, we (Google C++ Language Tools Team) have been working on the efficient symbol index proposal for Clangd. The goal is to improve overall Clangd performance by reducing the latency of different kinds of symbol search
 queries, such as the ones used for code completion. The plan is to follow the proposed design and replace existing implementation by the end of September.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We are happy to get feedback and comments on the proposal: suggestions are welcome!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The link to design document: <a href="https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit?usp=sharing" target="_blank">
https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit?usp=sharing</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Kind regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Kirill Bobyrev<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
clangd-dev mailing list<br>
<a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev</a><br>
</blockquote></div>