diff options
author | Itamar <itamar8910@gmail.com> | 2021-05-30 23:23:40 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-06-01 22:20:13 +0200 |
commit | 4f1889c2cb5273800499550082af48df7e8c022f (patch) | |
tree | 41d81142c0ae712d77cd723410cb5fcbee95c7df /Userland/DynamicLoader | |
parent | b5da0b71e51994bac5dad46c5cc3e6a80da87a00 (diff) | |
download | serenity-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