|
clang-tools 24.0.0git
|
A FeatureModuleSet is a collection of feature modules installed in clangd. More...
#include <FeatureModule.h>
Public Types | |
| using | iterator = llvm::pointee_iterator<decltype(Modules)::iterator> |
| using | const_iterator |
Public Member Functions | |
| FeatureModuleSet ()=default | |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | add (std::unique_ptr< FeatureModule > M) |
| template<typename Mod> | |
| bool | add (std::unique_ptr< Mod > M) |
| template<typename Mod> | |
| Mod * | get () |
| template<typename Mod> | |
| const Mod * | get () const |
Static Public Member Functions | |
| static FeatureModuleSet | fromRegistry () |
A FeatureModuleSet is a collection of feature modules installed in clangd.
Modules added with explicit type specification can be looked up by type, or used via the FeatureModule interface. This allows individual modules to expose a public API. For this reason, there can be only one feature module of each type.
Modules added using a base class pointer can be used only via the FeatureModule interface and can't be looked up by type, thus custom public API (if provided by the module) can't be used.
The set owns the modules. It is itself owned by main, not ClangdServer.
Definition at line 187 of file FeatureModule.h.
Definition at line 206 of file FeatureModule.h.
| using clang::clangd::FeatureModuleSet::iterator = llvm::pointee_iterator<decltype(Modules)::iterator> |
Definition at line 205 of file FeatureModule.h.
|
default |
References FeatureModuleSet().
Referenced by FeatureModuleSet(), fromRegistry(), and get().
| void clang::clangd::FeatureModuleSet::add | ( | std::unique_ptr< FeatureModule > | M | ) |
Definition at line 25 of file FeatureModule.cpp.
Referenced by fromRegistry().
|
inline |
Definition at line 214 of file FeatureModule.h.
|
inline |
Definition at line 208 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 210 of file FeatureModule.h.
|
inline |
Definition at line 209 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 211 of file FeatureModule.h.
|
static |
Definition at line 40 of file FeatureModule.cpp.
References add(), FeatureModuleSet(), and clang::clangd::vlog().
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 217 of file FeatureModule.h.
Referenced by get().
|
inline |
Definition at line 220 of file FeatureModule.h.
References FeatureModuleSet(), and get().