serenity/Userland
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
..
Applets Applets/Network: Replace fprintf(stderr) with dbgln() 2021-05-31 17:44:01 +01:00
Applications HexEditor: Fix off-by-one bugs in selected text length calculations 2021-06-01 12:23:43 +02:00
Demos Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
DevTools CppLanguageServer: Work with a HashMap of Symbols in each document 2021-06-01 22:20:13 +02:00
DynamicLoader Userland: Port UBSAN implementation to userspace 2021-05-27 15:18:03 +02:00
Games Hearts: Fix sorting for pick_low_points_high_value_card 2021-06-01 08:52:08 +02:00
Libraries LibCpp: Consider declarations inside a function's body 2021-06-01 22:20:13 +02:00
Services InspectorServer: Remove extraneous curly brackets 2021-06-01 23:36:44 +04:30
Shell AK+Everywhere: Fix compiletime format parsing of replacement fields 2021-06-01 23:12:17 +04:30
Utilities LibGUI+Shell+bt+ls: Use proper APIs for creating file URLs 2021-06-01 09:28:05 +02:00
CMakeLists.txt