llvm-project/clang-tools-extra/clangd
Ilya Biryukov c5e44c1805 [clangd] Add callbacks on parsed AST in addition to parsed preambles
Summary:
Will be used for updating the dynamic index on updates to the open files.
Currently we collect only information coming from the preamble
AST. This has a bunch of limitations:
  - Dynamic index misses important information from the body of the
    file, e.g. locations of definitions.
  - XRefs cannot be collected at all, since we can only obtain full
    information for the current file (preamble is parsed with skipped
    function bodies, therefore not reliable).

This patch only adds the new callback, actually updates to the index
will be done in a follow-up patch.

Reviewers: hokein

Reviewed By: hokein

Subscribers: kadircet, javed.absar, ioeric, MaskRay, jkorous, arphaman, cfe-commits

Differential Revision: https://reviews.llvm.org/D50847

llvm-svn: 340401
2018-08-22 11:39:16 +00:00
..
clients/clangd-vscode [clangd] Fix category in clangd-vscode's package.json 2018-07-23 14:32:12 +00:00
fuzzer [clangd] Fix fuzzer build. 2018-08-04 01:51:10 +00:00
global-symbol-builder NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
index [clangd] Cleanup after D50897 2018-08-22 07:17:59 +00:00
tool [clangd] NFC: Fix broken build 2018-08-21 10:40:19 +00:00
AST.cpp [clangd] Share getSymbolID implementation. 2018-08-07 08:57:52 +00:00
AST.h [clangd] Share getSymbolID implementation. 2018-08-07 08:57:52 +00:00
CMakeLists.txt [clangd] DexIndex implementation prototype 2018-08-20 14:39:32 +00:00
ClangdLSPServer.cpp [clangd] add an extension field to LSP to transfer the diagnostic's category 2018-08-14 22:21:40 +00:00
ClangdLSPServer.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
ClangdServer.cpp [clangd] Add callbacks on parsed AST in addition to parsed preambles 2018-08-22 11:39:16 +00:00
ClangdServer.h [clangd] Add callbacks on parsed AST in addition to parsed preambles 2018-08-22 11:39:16 +00:00
ClangdUnit.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
ClangdUnit.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
CodeComplete.cpp [clangd] Add parantheses while auto-completing functions. 2018-08-17 15:42:54 +00:00
CodeComplete.h [clangd] Add parantheses while auto-completing functions. 2018-08-17 15:42:54 +00:00
CodeCompletionStrings.cpp [clangd] Show function documentation in signature help 2018-08-17 09:29:38 +00:00
CodeCompletionStrings.h [clangd] Show function documentation in signature help 2018-08-17 09:29:38 +00:00
Compiler.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Compiler.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Context.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Context.h [clangd] context key constructor is constexpr. NFC 2018-06-15 12:39:21 +00:00
Diagnostics.cpp [clangd] add an extension field to LSP to transfer the diagnostic's category 2018-08-14 22:21:40 +00:00
Diagnostics.h [clangd] add an extension field to LSP to transfer the diagnostic's category 2018-08-14 22:21:40 +00:00
DraftStore.cpp [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
DraftStore.h [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
FSProvider.h [clangd] Extract FileSystemProvider into a separate header. NFC 2018-07-12 14:49:52 +00:00
FileDistance.cpp [clangd] Upgrade logging facilities with levels and formatv. 2018-07-11 10:35:11 +00:00
FileDistance.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
FindSymbols.cpp [clangd] Avoid duplicates in findDefinitions response 2018-08-10 22:27:53 +00:00
FindSymbols.h [clangd] Correct the namespace of ParsedAST forward declaration, NFC. 2018-08-01 12:50:44 +00:00
Function.h [clangd] Replace UniqueFunction with llvm::unique_function. 2018-07-03 20:59:33 +00:00
FuzzyMatch.cpp [clangd] FuzzyMatch exposes an API for its word segmentation. NFC 2018-07-20 08:01:37 +00:00
FuzzyMatch.h [clangd] FuzzyMatch exposes an API for its word segmentation. NFC 2018-07-20 08:01:37 +00:00
GlobalCompilationDatabase.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
GlobalCompilationDatabase.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Headers.cpp [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
Headers.h [clangd] Incorporate transitive #includes into code complete proximity scoring. 2018-07-03 08:09:29 +00:00
JSONRPCDispatcher.cpp [clangd] Fix (most) naming warnings from clang-tidy. NFC 2018-07-26 12:05:31 +00:00
JSONRPCDispatcher.h [clangd] Fix (most) naming warnings from clang-tidy. NFC 2018-07-26 12:05:31 +00:00
Logger.cpp [clangd] Upgrade logging facilities with levels and formatv. 2018-07-11 10:35:11 +00:00
Logger.h [clangd] Simplify logging wrapper after r336888 2018-07-12 08:00:21 +00:00
Path.h Restored r303067 and fixed failing test. 2017-05-16 09:38:59 +00:00
Protocol.cpp [clangd] extend the publishDiagnostics response to send back fixits to the 2018-08-10 17:25:07 +00:00
Protocol.h [clangd] add an extension field to LSP to transfer the diagnostic's category 2018-08-14 22:21:40 +00:00
ProtocolHandlers.cpp [clangd] Upgrade logging facilities with levels and formatv. 2018-07-11 10:35:11 +00:00
ProtocolHandlers.h [clangd] Implementation of textDocument/documentSymbol 2018-07-05 19:35:01 +00:00
Quality.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Quality.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
SourceCode.cpp [clangd] Support textEdit in addition to insertText. 2018-08-13 08:23:01 +00:00
SourceCode.h [clangd] Support textEdit in addition to insertText. 2018-08-13 08:23:01 +00:00
TUScheduler.cpp [clangd] Add callbacks on parsed AST in addition to parsed preambles 2018-08-22 11:39:16 +00:00
TUScheduler.h [clangd] Add callbacks on parsed AST in addition to parsed preambles 2018-08-22 11:39:16 +00:00
Threading.cpp [clangd] Use 'const Twine&' instead of 'Twine'. NFC 2018-07-26 16:13:52 +00:00
Threading.h [clangd] Use 'const Twine&' instead of 'Twine'. NFC 2018-07-26 16:13:52 +00:00
Trace.cpp [clangd] Remove JSON library in favor of llvm/Support/JSON 2018-07-09 14:25:59 +00:00
Trace.h [clangd] Remove JSON library in favor of llvm/Support/JSON 2018-07-09 14:25:59 +00:00
URI.cpp [clangd] Allow using customized include path in URI. 2018-04-09 15:09:44 +00:00
URI.h [clangd] clang-format the source code. NFC 2018-05-30 12:41:19 +00:00
XRefs.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
XRefs.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00