LLDB mainline
|
A SmallBitVector that represents a set of source languages (lldb::LanguageType
).
More...
#include <Type.h>
Public Member Functions | |
LanguageSet () | |
std::optional< lldb::LanguageType > | GetSingularLanguage () |
If the set contains a single language only, return it. | |
void | Insert (lldb::LanguageType language) |
bool | Empty () const |
size_t | Size () const |
bool | operator[] (unsigned i) const |
Public Attributes | |
llvm::SmallBitVector | bitvector |
A SmallBitVector that represents a set of source languages (lldb::LanguageType
).
Each lldb::LanguageType is represented by the bit with the position of its enumerator. The largest LanguageType is < 64, so this is space-efficient and on 64-bit architectures a LanguageSet can be completely stack-allocated.
LanguageSet::LanguageSet | ( | ) |
Definition at line 26 of file TypeSystem.cpp.
bool LanguageSet::Empty | ( | ) | const |
Definition at line 36 of file TypeSystem.cpp.
References bitvector.
Referenced by lldb_private::Target::GetREPL(), lldb_private::Target::GetScratchTypeSystemForLanguage(), lldb_private::Debugger::RunREPL(), and lldb_private::TypeSystem::SupportsLanguageStatic().
std::optional< LanguageType > LanguageSet::GetSingularLanguage | ( | ) |
If the set contains a single language only, return it.
Definition at line 28 of file TypeSystem.cpp.
References bitvector.
Referenced by GetHomeREPLInitFile(), lldb_private::Target::GetREPL(), and lldb_private::Debugger::RunREPL().
void LanguageSet::Insert | ( | lldb::LanguageType | language | ) |
Definition at line 34 of file TypeSystem.cpp.
References bitvector.
Referenced by lldb_private::TypeSystemClang::GetSupportedLanguagesForExpressions(), lldb_private::TypeSystemClang::GetSupportedLanguagesForTypes(), and lldb_private::ClangREPL::Initialize().
bool LanguageSet::operator[] | ( | unsigned | i | ) | const |
Definition at line 37 of file TypeSystem.cpp.
References bitvector.
size_t LanguageSet::Size | ( | ) | const |
Definition at line 35 of file TypeSystem.cpp.
References bitvector.
llvm::SmallBitVector lldb_private::LanguageSet::bitvector |
Definition at line 39 of file Type.h.
Referenced by Empty(), lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions(), lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForTypes(), lldb_private::PluginManager::GetREPLAllTypeSystemSupportedLanguages(), lldb_private::Target::GetScratchTypeSystemForLanguage(), lldb_private::Target::GetScratchTypeSystems(), GetSingularLanguage(), Insert(), operator[](), lldb_private::OptionValueLanguage::SetValueFromString(), and Size().