mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-25 19:02:07 -05:00
4f1889c2cb
This is a pretty fundamental refactor of the way CppComprehensionEngine works. Previously, in order to answer queries such as "goto definition" or "autocomplete", we would do ad-hoc logic of walking the AST, collecting available declaration nodes, computing scopes, and so on. This commit introduces an architectural change where each Document builds a hashmap of symbols on creation. With these hashmaps, it's easier to iterate over all of the available symbols, and to answer a query such as "which symbols are defined in this scope". |
||
---|---|---|
.. | ||
Cpp | ||
Shell | ||
ClientConnection.cpp | ||
ClientConnection.h | ||
CMakeLists.txt | ||
CodeComprehensionEngine.cpp | ||
CodeComprehensionEngine.h | ||
FileDB.cpp | ||
FileDB.h | ||
LanguageClient.ipc | ||
LanguageServer.ipc |