1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-02 22:42:08 +00:00
serenity/Userland/DevTools/HackStudio/LanguageServers/Cpp
Itamar 4f1889c2cb CppLanguageServer: Work with a HashMap of Symbols in each document
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".
2021-06-01 22:20:13 +02:00
..
Tests CppLanguageServer: Add test case for auto-completing include paths 2021-05-22 15:52:11 +02:00
ClientConnection.h LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
CMakeLists.txt LanguageServers: Rename AutoCompleteEngine => CodeComprehensionEngine 2021-05-16 16:39:21 +02:00
CppComprehensionEngine.cpp CppLanguageServer: Work with a HashMap of Symbols in each document 2021-06-01 22:20:13 +02:00
CppComprehensionEngine.h CppLanguageServer: Work with a HashMap of Symbols in each document 2021-06-01 22:20:13 +02:00
main.cpp LanguageServer/Cpp: Add tests 2021-05-14 13:27:47 +02:00
Tests.cpp CppLanguageServer: Add test case for auto-completing include paths 2021-05-22 15:52:11 +02:00
Tests.h LanguageServer/Cpp: Add tests 2021-05-14 13:27:47 +02:00