ladybird/Userland/DevTools
Itamar 5c19a48b95 CppLanguageServer: Cache declarations from headers in every document
Previously, to get the globally available declarations in a document
(including declarations from headers), we would have to recursively
walk the #include tree and get the declarations of each included
document.

To improve upon this, we now store a HashTable of globally available
declaration from included header files in each document, and populate
it when we first process the document.

Before this, invoking simple autocomplete actions in code documents
that had a very large #include tree (e.g when <LibGUI/Widget.h> was
included) hang the CppLanguageServer process and used 100% CPU until
the process ran out of memory.

Now, the autocomplete request in that situation returns immediately :^)
2021-05-09 20:58:27 +02:00
..
HackStudio CppLanguageServer: Cache declarations from headers in every document 2021-05-09 20:58:27 +02:00
Inspector Everywhere: Rename app_menu to file_menu or game_menu 2021-05-01 17:40:54 +02:00
IPCCompiler Userland: Add try_* IPC handlers 2021-05-03 21:14:40 +02:00
Playground LibGUI: Move widget registration to LibCore 2021-05-06 08:50:39 +02:00
Profiler Profiler: Fix scrolling behavior 2021-05-08 09:55:24 +02:00
UserspaceEmulator UserspaceEmulator: Allow running executables not in PATH 2021-05-09 09:39:40 +02:00
CMakeLists.txt DevTools: Move to Userland/DevTools/ 2021-01-12 12:18:55 +01:00