summaryrefslogtreecommitdiff
path: root/Userland/DynamicLoader
diff options
context:
space:
mode:
authorItamar <itamar8910@gmail.com>2021-05-30 23:23:40 +0300
committerAndreas Kling <kling@serenityos.org>2021-06-01 22:20:13 +0200
commit4f1889c2cb5273800499550082af48df7e8c022f (patch)
tree41d81142c0ae712d77cd723410cb5fcbee95c7df /Userland/DynamicLoader
parentb5da0b71e51994bac5dad46c5cc3e6a80da87a00 (diff)
downloadserenity-4f1889c2cb5273800499550082af48df7e8c022f.zip
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".
Diffstat (limited to 'Userland/DynamicLoader')
0 files changed, 0 insertions, 0 deletions