clang-tools 22.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 157 of file FeatureModule.h.
Definition at line 176 of file FeatureModule.h.
using clang::clangd::FeatureModuleSet::iterator = llvm::pointee_iterator<decltype(Modules)::iterator> |
Definition at line 175 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 184 of file FeatureModule.h.
|
inline |
Definition at line 178 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 180 of file FeatureModule.h.
|
inline |
Definition at line 179 of file FeatureModule.h.
Referenced by clang::clangd::clangdMain().
|
inline |
Definition at line 181 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 187 of file FeatureModule.h.
Referenced by get().
|
inline |
Definition at line 190 of file FeatureModule.h.
References FeatureModuleSet(), and get().