LLDB
mainline
|
#include <Language.h>
Classes | |
class | EitherTypeScavenger |
class | ImageListTypeScavenger |
class | MethodNameVariant |
class | TypeScavenger |
class | UnionTypeScavenger |
Public Types | |
enum | FunctionNameRepresentation { FunctionNameRepresentation::eName, FunctionNameRepresentation::eNameWithArgs, FunctionNameRepresentation::eNameWithNoArgs } |
Static Public Member Functions | |
static Language * | FindPlugin (lldb::LanguageType language) |
static Language * | FindPlugin (llvm::StringRef file_path) |
Returns the Language associated with the given file path or a nullptr if there is no known language. More... | |
static Language * | FindPlugin (lldb::LanguageType language, llvm::StringRef file_path) |
static void | ForEach (std::function< bool(Language *)> callback) |
static void | GetDefaultExceptionResolverDescription (bool catch_on, bool throw_on, Stream &s) |
static lldb::LanguageType | GetLanguageTypeFromString (const char *string)=delete |
static lldb::LanguageType | GetLanguageTypeFromString (llvm::StringRef string) |
static const char * | GetNameForLanguageType (lldb::LanguageType language) |
static void | PrintAllLanguages (Stream &s, const char *prefix, const char *suffix) |
static void | ForAllLanguages (std::function< bool(lldb::LanguageType)> callback) |
static bool | LanguageIsCPlusPlus (lldb::LanguageType language) |
static bool | LanguageIsObjC (lldb::LanguageType language) |
static bool | LanguageIsC (lldb::LanguageType language) |
static bool | LanguageIsCFamily (lldb::LanguageType language) |
Equivalent to LanguageIsC||LanguageIsObjC||LanguageIsCPlusPlus . More... | |
static bool | LanguageIsPascal (lldb::LanguageType language) |
static lldb::LanguageType | GetPrimaryLanguage (lldb::LanguageType language) |
static std::set< lldb::LanguageType > | GetSupportedLanguages () |
static LanguageSet | GetLanguagesSupportingTypeSystems () |
static LanguageSet | GetLanguagesSupportingTypeSystemsForExpressions () |
static LanguageSet | GetLanguagesSupportingREPLs () |
Protected Member Functions | |
Language () | |
Private Member Functions | |
Language (const Language &)=delete | |
const Language & | operator= (const Language &)=delete |
Definition at line 29 of file Language.h.
Enumerator | |
---|---|
eName | |
eNameWithArgs | |
eNameWithNoArgs |
Definition at line 141 of file Language.h.
|
overridedefault |
|
protecteddefault |
|
privatedelete |
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 431 of file Language.cpp.
References lldb_private::ConstString::GetStringRef().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 314 of file Language.h.
|
static |
Definition at line 53 of file Language.cpp.
References GetLanguagesMap(), and GetLanguagesMutex().
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), lldb_private::IRExecutionUnit::CollectCandidateCPlusPlusNames(), lldb_private::FormatEntity::Format(), ExceptionBreakpointResolver::GetDescription(), lldb_private::HighlighterManager::getHighlighterFor(), lldb_private::ValueObject::IsLogicalTrue(), lldb_private::ValueObject::IsNilReference(), lldb_private::Function::IsTopLevelFunction(), lldb_private::ValueObject::IsUninitializedReference(), lldb_private::LanguageCategory::LanguageCategory(), lldb_private::Module::LookupInfo::NameMatchesLookupInfo(), and lldb_private::formatters::NSDictionarySummaryProvider().
|
static |
Definition at line 90 of file Language.cpp.
|
static |
Returns the Language associated with the given file path or a nullptr if there is no known language.
Definition at line 78 of file Language.cpp.
References IsSourceFile().
|
static |
Definition at line 231 of file Language.cpp.
References language_names, num_languages, and language_name_pair::type.
|
static |
Definition at line 100 of file Language.cpp.
References lldb::eLanguageTypeUnknown, lldb::eNumLanguageTypes, GetLanguagesMap(), and GetLanguagesMutex().
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), and lldb_private::Symtab::InitNameIndexes().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 309 of file Language.h.
|
virtual |
Definition at line 439 of file Language.cpp.
|
static |
Definition at line 463 of file Language.cpp.
References lldb_private::Stream::Printf().
Referenced by ExceptionBreakpointResolver::GetDescription().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 257 of file Language.h.
|
virtual |
Definition at line 458 of file Language.cpp.
Referenced by ExceptionBreakpointResolver::GetDescription().
|
virtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 424 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::ObjCLanguage, and lldb_private::CPlusPlusLanguage.
Definition at line 132 of file Language.cpp.
|
virtual |
Definition at line 451 of file Language.cpp.
Referenced by lldb_private::FormatEntity::Format().
|
virtual |
Definition at line 134 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 138 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 143 of file Language.cpp.
|
inlinevirtual |
Reimplemented in lldb_private::ObjCLanguage, lldb_private::CPlusPlusLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 167 of file Language.h.
Referenced by lldb_private::HighlighterManager::getHighlighterFor().
|
virtual |
Definition at line 374 of file Language.cpp.
|
static |
Definition at line 366 of file Language.cpp.
Referenced by lldb_private::Target::GetREPL(), and lldb_private::Debugger::RunREPL().
|
static |
Definition at line 358 of file Language.cpp.
Referenced by lldb_private::CommandCompletions::TypeLanguages().
|
static |
Definition at line 362 of file Language.cpp.
Referenced by lldb_private::Target::GetScratchTypeSystemForLanguage(), and lldb_private::Target::GetScratchTypeSystems().
|
pure virtual |
Implemented in lldb_private::ObjCLanguage, lldb_private::CPlusPlusLanguage, and lldb_private::ObjCPlusPlusLanguage.
Referenced by GetSupportedLanguages().
|
staticdelete |
|
static |
Definition at line 208 of file Language.cpp.
References lldb::eLanguageTypeUnknown, and language_names.
|
inlinevirtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 200 of file Language.h.
|
static |
Definition at line 217 of file Language.cpp.
References lldb::eLanguageTypeUnknown, language_names, language_name_pair::name, and num_languages.
Referenced by lldb_private::ClangExpressionParser::ClangExpressionParser(), lldb_private::Target::CreateUtilityFunction(), lldb_private::FormatEntity::Format(), lldb_private::CompileUnit::GetCachedLanguage(), lldb_private::BreakpointResolverName::GetDescription(), lldb_private::TypeCategoryImpl::GetDescription(), lldb_private::Target::GetFunctionCallerForLanguage(), lldb_private::Target::GetPersistentExpressionStateForLanguage(), lldb_private::Target::GetREPL(), lldb_private::Target::GetScratchTypeSystems(), lldb_private::TypeSystemMap::GetTypeSystemForLanguage(), lldb_private::Target::GetUserExpressionForLanguage(), lldb_private::ClangExpressionParser::PrepareForExecution(), lldb_private::Module::ReportWarningUnsupportedLanguage(), lldb_private::Debugger::RunREPL(), lldb_private::BreakpointResolverName::SerializeToStructuredData(), and lldb_private::CommandCompletions::TypeLanguages().
|
inlinevirtual |
Returns the summary string for ValueObjects for which IsNilReference() is true.
Reimplemented in lldb_private::ObjCLanguage, lldb_private::CPlusPlusLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 243 of file Language.h.
|
virtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 148 of file Language.cpp.
|
static |
Definition at line 301 of file Language.cpp.
References lldb::eLanguageTypeAda83, lldb::eLanguageTypeAda95, lldb::eLanguageTypeC, lldb::eLanguageTypeC11, lldb::eLanguageTypeC89, lldb::eLanguageTypeC99, lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeC_plus_plus_03, lldb::eLanguageTypeC_plus_plus_11, lldb::eLanguageTypeC_plus_plus_14, lldb::eLanguageTypeCobol74, lldb::eLanguageTypeCobol85, lldb::eLanguageTypeD, lldb::eLanguageTypeDylan, lldb::eLanguageTypeExtRenderScript, lldb::eLanguageTypeFortran03, lldb::eLanguageTypeFortran08, lldb::eLanguageTypeFortran77, lldb::eLanguageTypeFortran90, lldb::eLanguageTypeFortran95, lldb::eLanguageTypeGo, lldb::eLanguageTypeHaskell, lldb::eLanguageTypeJava, lldb::eLanguageTypeJulia, lldb::eLanguageTypeMipsAssembler, lldb::eLanguageTypeModula2, lldb::eLanguageTypeModula3, lldb::eLanguageTypeObjC, lldb::eLanguageTypeObjC_plus_plus, lldb::eLanguageTypeOCaml, lldb::eLanguageTypeOpenCL, lldb::eLanguageTypePascal83, lldb::eLanguageTypePLI, lldb::eLanguageTypePython, lldb::eLanguageTypeRust, lldb::eLanguageTypeSwift, lldb::eLanguageTypeUnknown, and lldb::eLanguageTypeUPC.
Referenced by lldb_private::Process::GetLanguageRuntime(), and lldb_private::BreakpointResolverName::SearchCallback().
|
static |
Definition at line 349 of file Language.cpp.
References GetLanguageType().
Referenced by lldb_private::Process::GetLanguageRuntimes(), lldb_private::LanguageRuntime::GetRuntimeUnwindPlan(), and lldb_private::Process::ModulesDidLoad().
|
virtual |
Reimplemented in lldb_private::ObjCLanguage, and lldb_private::CPlusPlusLanguage.
Definition at line 370 of file Language.cpp.
|
virtual |
Definition at line 443 of file Language.cpp.
References lldb_private::eLazyBoolCalculate.
|
virtual |
Reimplemented in lldb_private::ObjCLanguage, and lldb_private::CPlusPlusLanguage.
Definition at line 447 of file Language.cpp.
|
pure virtual |
Implemented in lldb_private::ObjCLanguage, lldb_private::CPlusPlusLanguage, and lldb_private::ObjCPlusPlusLanguage.
Referenced by FindPlugin().
|
virtual |
Definition at line 130 of file Language.cpp.
|
virtual |
Definition at line 449 of file Language.cpp.
|
static |
Definition at line 262 of file Language.cpp.
References lldb::eLanguageTypeC, lldb::eLanguageTypeC11, lldb::eLanguageTypeC89, and lldb::eLanguageTypeC99.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction().
|
static |
Equivalent to LanguageIsC||LanguageIsObjC||LanguageIsCPlusPlus
.
Definition at line 274 of file Language.cpp.
References lldb::eLanguageTypeC, lldb::eLanguageTypeC11, lldb::eLanguageTypeC89, lldb::eLanguageTypeC99, lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeC_plus_plus_03, lldb::eLanguageTypeC_plus_plus_11, lldb::eLanguageTypeC_plus_plus_14, lldb::eLanguageTypeObjC, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ValueObject::GetObjectDescription().
|
static |
Definition at line 239 of file Language.cpp.
References lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeC_plus_plus_03, lldb::eLanguageTypeC_plus_plus_11, lldb::eLanguageTypeC_plus_plus_14, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction().
|
static |
Definition at line 252 of file Language.cpp.
References lldb::eLanguageTypeObjC, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction().
|
static |
Definition at line 292 of file Language.cpp.
References lldb::eLanguageTypePascal83.
|
static |
Definition at line 224 of file Language.cpp.
References language_names, language_name_pair::name, num_languages, and lldb_private::Stream::Printf().
|
inlinevirtual |
Returns true iff the given symbol name is compatible with the mangling scheme of this language.
This function should only return true if there is a high confidence that the name actually belongs to this language.
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 209 of file Language.h.