Lines Matching full:modules
36 /// - feature modules are created before the LSP server, in ClangdMain.cpp
37 /// - these modules are then passed to ClangdLSPServer in a FeatureModuleSet
43 /// FIXME: Block server shutdown until all the modules are idle.
46 /// - feature modules will be destroyed after ClangdLSPServer is destroyed.
54 /// Conventionally, standard feature modules live in the `clangd` namespace,
92 /// In general all modules should eventually go idle, though it may take a
102 /// Extension point that allows modules to observe and modify an AST build.
115 /// Called everytime a diagnostic is encountered. Modules can use this
124 /// Accessors for modules to access shared server facilities they depend on.
133 /// Types of function objects that feature modules use for outgoing calls.
144 /// A FeatureModuleSet is a collection of feature modules installed in clangd.
146 /// Modules can be looked up by type, or used via the FeatureModule interface.
147 /// This allows individual modules to expose a public API.
150 /// The set owns the modules. It is itself owned by main, not ClangdServer.
152 std::vector<std::unique_ptr<FeatureModule>> Modules; variable
158 "Modules must be final classes derived from clangd::Module");
167 using iterator = llvm::pointee_iterator<decltype(Modules)::iterator>;
169 llvm::pointee_iterator<decltype(Modules)::const_iterator>;
170 iterator begin() { return iterator(Modules.begin()); } in begin()
171 iterator end() { return iterator(Modules.end()); } in end()
172 const_iterator begin() const { return const_iterator(Modules.begin()); } in begin()
173 const_iterator end() const { return const_iterator(Modules.end()); } in end()