|
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 176 of file FeatureModule.h.
Definition at line 195 of file FeatureModule.h.
| using clang::clangd::FeatureModuleSet::iterator = llvm::pointee_iterator<decltype(Modules)::iterator> |
Definition at line 194 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 203 of file FeatureModule.h.
|
inline |
Definition at line 197 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 199 of file FeatureModule.h.
|
inline |
Definition at line 198 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 200 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 206 of file FeatureModule.h.
Referenced by get().
|
inline |
Definition at line 209 of file FeatureModule.h.
References FeatureModuleSet(), and get().