|
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.
References bitvector, and lldb::eNumLanguageTypes.
| 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(), LanguageSet(), operator[](), lldb_private::OptionValueLanguage::SetValueFromString(), and Size().