LLDB mainline
|
#include <Language.h>
Classes | |
class | EitherTypeScavenger |
class | ImageListTypeScavenger |
class | MethodNameVariant |
class | TypeScavenger |
class | UnionTypeScavenger |
Public Types | |
enum class | FunctionNameRepresentation { eName , eNameWithArgs , 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. | |
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 | PrintSupportedLanguagesForExpressions (Stream &s, llvm::StringRef prefix, llvm::StringRef suffix) |
Prints to the specified stream 's' each language type that the current target supports for expression evaluation. | |
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 . | |
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.
|
strong |
Enumerator | |
---|---|
eName | |
eNameWithArgs | |
eNameWithNoArgs |
Definition at line 141 of file Language.h.
|
overridedefault |
|
protecteddefault |
|
privatedelete |
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 440 of file Language.cpp.
References lldb_private::ConstString::GetStringRef().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 324 of file Language.h.
|
static |
Definition at line 53 of file Language.cpp.
References lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex(), GetLanguagesMap(), and GetLanguagesMutex().
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::IRExecutionUnit::CollectCandidateCPlusPlusNames(), FindPlugin(), ForEach(), lldb_private::FormatEntity::Format(), ExceptionBreakpointResolver::GetDescription(), lldb_private::HighlighterManager::getHighlighterFor(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ValueObjectPrinter::GetValueSummaryError(), 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(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), NSNumber_FormatChar(), NSNumber_FormatDouble(), NSNumber_FormatFloat(), NSNumber_FormatInt(), NSNumber_FormatInt128(), NSNumber_FormatLong(), NSNumber_FormatShort(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTaggedString_SummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), and lldb_private::ValueObjectPrinter::PrintDecl().
|
static |
Definition at line 90 of file Language.cpp.
References FindPlugin().
|
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 ForEach(), and IsSourceFile().
|
static |
Definition at line 241 of file Language.cpp.
References language_names, and num_languages.
|
static |
Definition at line 100 of file Language.cpp.
References lldb::eLanguageTypeUnknown, lldb::eNumLanguageTypes, FindPlugin(), GetLanguagesMap(), and GetLanguagesMutex().
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), FindPlugin(), GetSupportedLanguages(), and lldb_private::Symtab::InitNameIndexes().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 319 of file Language.h.
|
virtual |
Definition at line 448 of file Language.cpp.
|
static |
Definition at line 472 of file Language.cpp.
References lldb_private::Stream::Printf().
Referenced by ExceptionBreakpointResolver::GetDescription(), and GetExceptionResolverDescription().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 257 of file Language.h.
|
virtual |
Definition at line 467 of file Language.cpp.
References GetDefaultExceptionResolverDescription().
Referenced by ExceptionBreakpointResolver::GetDescription().
|
virtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 433 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 132 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 460 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::CPlusPlusLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 167 of file Language.h.
Referenced by lldb_private::HighlighterManager::getHighlighterFor().
|
virtual |
Definition at line 383 of file Language.cpp.
|
static |
Definition at line 375 of file Language.cpp.
References lldb_private::PluginManager::GetREPLAllTypeSystemSupportedLanguages().
Referenced by GetHomeREPLInitFile(), lldb_private::Target::GetREPL(), and lldb_private::Debugger::RunREPL().
|
static |
Definition at line 367 of file Language.cpp.
References lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForTypes().
Referenced by lldb_private::OptionValueLanguage::SetValueFromString(), and lldb_private::CommandCompletions::TypeLanguages().
|
static |
Definition at line 371 of file Language.cpp.
References lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions().
Referenced by lldb_private::Target::GetScratchTypeSystemForLanguage(), lldb_private::Target::GetScratchTypeSystems(), and PrintSupportedLanguagesForExpressions().
|
pure virtual |
Implemented in lldb_private::CPlusPlusLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Referenced by GetSupportedLanguages().
|
staticdelete |
Referenced by lldb_private::BreakpointResolverName::CreateFromStructuredData(), CommandObjectTypeCategoryEnable::DoExecute(), CommandObjectTypeCategoryDisable::DoExecute(), CommandObjectTypeLookup::DoExecute(), lldb::SBLanguageRuntime::GetLanguageTypeFromString(), lldb_private::Property::Property(), CommandObjectBreakpointSet::CommandOptions::SetOptionValue(), CommandObjectTypeFormatterDelete::CommandOptions::SetOptionValue(), lldb_private::CommandObjectExpression::CommandOptions::SetOptionValue(), and lldb_private::OptionValueLanguage::SetValueFromString().
|
static |
Definition at line 207 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 216 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::OptionValueLanguage::DumpValue(), SymbolFileDWARF::FindDefinitionTypeForDWARFDeclContext(), lldb_private::FormatEntity::Format(), lldb_private::CompileUnit::GetCachedLanguage(), lldb_private::TypeCategoryImpl::GetDescription(), lldb_private::BreakpointResolverName::GetDescription(), lldb_private::Target::GetFunctionCallerForLanguage(), GetHomeREPLInitFile(), lldb::SBLanguageRuntime::GetNameForLanguageType(), 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(), lldb_private::OptionValueLanguage::SetValueFromString(), lldb_private::OptionValueLanguage::ToJSON(), and lldb_private::CommandCompletions::TypeLanguages().
|
inlinevirtual |
Returns the summary string for ValueObjects for which IsNilReference() is true.
Reimplemented in lldb_private::CPlusPlusLanguage, lldb_private::ObjCLanguage, 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 311 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::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 358 of file Language.cpp.
References ForEach(), and GetLanguageType().
Referenced by CommandObjectMemoryRead::DoExecute(), lldb_private::Process::GetLanguageRuntimes(), lldb_private::LanguageRuntime::GetRuntimeUnwindPlan(), and lldb_private::Process::ModulesDidLoad().
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 379 of file Language.cpp.
|
virtual |
Definition at line 452 of file Language.cpp.
References lldb_private::eLazyBoolCalculate.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 456 of file Language.cpp.
|
pure virtual |
Implemented in lldb_private::CPlusPlusLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Referenced by FindPlugin().
|
virtual |
Definition at line 130 of file Language.cpp.
|
virtual |
Definition at line 458 of file Language.cpp.
|
static |
Definition at line 272 of file Language.cpp.
References lldb::eLanguageTypeC, lldb::eLanguageTypeC11, lldb::eLanguageTypeC89, and lldb::eLanguageTypeC99.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction(), and lldb_private::CPlusPlusLanguage::GetTypeScavenger().
|
static |
Equivalent to LanguageIsC||LanguageIsObjC||LanguageIsCPlusPlus
.
Definition at line 284 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 249 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(), lldb_private::CPlusPlusLanguage::CreateInstance(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), lldb_private::CPlusPlusLanguage::IsNilReference(), DWARFASTParserClang::ParseFunctionFromDWARF(), DWARFASTParserClang::ParseStructureLikeDIE(), and SymbolFileDWARF::ParseVariableDIE().
|
static |
Definition at line 262 of file Language.cpp.
References lldb::eLanguageTypeObjC, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction(), lldb_private::ValueObject::Dereference(), lldb_private::ObjCLanguage::GetTypeScavenger(), and DWARFASTParserClang::ParseFunctionFromDWARF().
|
static |
Definition at line 302 of file Language.cpp.
References lldb::eLanguageTypePascal83.
|
static |
Definition at line 234 of file Language.cpp.
References language_names, num_languages, and lldb_private::Stream::Printf().
Referenced by lldb_private::LanguageTypeHelpTextCallback().
|
static |
Prints to the specified stream 's' each language type that the current target supports for expression evaluation.
[out] | s | Stream to which the language types are written. |
[in] | prefix | String that is prepended to the language type. |
[in] | suffix | String that is appended to the language type. |
Definition at line 223 of file Language.cpp.
References GetLanguagesSupportingTypeSystemsForExpressions(), language_names, and num_languages.
Referenced by lldb_private::CommandObjectExpression::CommandOptions::SetOptionValue().
|
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.