diff options
author | Kirill Bobyrev <kbobyrev.opensource@gmail.com> | 2018-07-25 10:34:57 +0000 |
---|---|---|
committer | Kirill Bobyrev <kbobyrev.opensource@gmail.com> | 2018-07-25 10:34:57 +0000 |
commit | 5e82f05e7a0b94249f4da48fc6cfe49316c7ee0d (patch) | |
tree | bdabe599d1d20bb6555a257b643234fc9b405a96 /llvm/tools/llvm-objdump/llvm-objdump.h | |
parent | b54393e63844779cb767ca6e8585dd63d6f3dbd0 (diff) | |
download | bcm5719-llvm-5e82f05e7a0b94249f4da48fc6cfe49316c7ee0d.tar.gz bcm5719-llvm-5e82f05e7a0b94249f4da48fc6cfe49316c7ee0d.zip |
[clangd] Introduce Dex symbol index search tokens
This patch introduces the core building block of the next-generation
Clangd symbol index - Dex. Search tokens are the keys in the inverted
index and represent a characteristic of a specific symbol: examples of
search token types (Token Namespaces) are
* Trigrams - these are essential for unqualified symbol name fuzzy
search * Scopes for filtering the symbols by the namespace * Paths, e.g.
these can be used to uprank symbols defined close to the edited file
This patch outlines the generic for such token namespaces, but only
implements trigram generation.
The intuition behind trigram generation algorithm is that each extracted
trigram is a valid sequence for Fuzzy Matcher jumps, proposed
implementation utilize existing FuzzyMatcher API for segmentation and
trigram extraction.
However, trigrams generation algorithm for the query string is different
from the previous one: it simply yields sequences of 3 consecutive
lowercased valid characters (letters, digits).
Dex RFC in the mailing list:
http://lists.llvm.org/pipermail/clangd-dev/2018-July/000022.html
The trigram generation techniques are described in detail in the
proposal:
https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit#heading=h.903u1zon9nkj
Reviewers: sammccall, ioeric, ilya-biryukovA
Subscribers: cfe-commits, klimek, mgorny, MaskRay, jkorous, arphaman
Differential Revision: https://reviews.llvm.org/D49591
llvm-svn: 337901
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.h')
0 files changed, 0 insertions, 0 deletions