|
LLDB mainline
|
#include <Language.h>
Classes | |
| struct | DemangledName |
| A demangled name and, if requested, where its parts begin and end. More... | |
| struct | DemangleOptions |
| How to demangle a name in DemangleSymbol(). More... | |
| class | EitherTypeScavenger |
| class | ImageListTypeScavenger |
| class | MangledNameParser |
| Parses mangled function names. More... | |
| class | MethodName |
| class | MethodNameVariant |
| class | TypeScavenger |
| class | UnionTypeScavenger |
Public Types | |
| enum class | FunctionNameRepresentation { eName , eNameWithArgs , eNameWithNoArgs } |
Public Member Functions | |
| ~Language () override | |
| virtual lldb::LanguageType | GetLanguageType () const =0 |
| virtual llvm::StringRef | GetUserEntryPointName () const |
| virtual bool | IsTopLevelFunction (Function &function) |
| virtual bool | IsSourceFile (llvm::StringRef file_path) const =0 |
| virtual lldb::TypeCategoryImplSP | GetFormatters () |
| virtual HardcodedFormatters::HardcodedFormatFinder | GetHardcodedFormats () |
| virtual HardcodedFormatters::HardcodedSummaryFinder | GetHardcodedSummaries () |
| virtual HardcodedFormatters::HardcodedSyntheticFinder | GetHardcodedSynthetics () |
| virtual std::vector< FormattersMatchCandidate > | GetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic) |
| virtual std::unique_ptr< TypeScavenger > | GetTypeScavenger () |
| virtual const char * | GetLanguageSpecificTypeLookupHelp () |
| virtual std::vector< Language::MethodNameVariant > | GetMethodNameVariants (llvm::StringRef method_name) const |
| virtual std::unique_ptr< Language::MethodName > | GetMethodName (llvm::StringRef name) const |
| virtual std::pair< lldb::FunctionNameType, std::optional< ConstString > > | GetFunctionNameInfo (ConstString name) const |
| virtual bool | SymbolNameFitsToLanguage (const Mangled &name) const |
| Returns true iff the given symbol name is compatible with the mangling scheme of this language. | |
| virtual bool | HandlesManglingScheme (Mangled::ManglingScheme scheme) const |
Returns true if this language handles the names mangled with scheme. | |
| virtual DemangledName | DemangleSymbol (ConstString mangled, Mangled::ManglingScheme scheme, const DemangleOptions &options) const |
Demangle mangled, a name mangled with scheme, a scheme that this language handles. | |
| virtual std::unique_ptr< MangledNameParser > | CreateMangledNameParser (Mangled::ManglingScheme scheme) const |
Returns a parser for the names mangled with scheme, a scheme that this language handles, or a nullptr if the symbol table should index them by their demangled names. | |
| virtual std::pair< llvm::StringRef, llvm::StringRef > | GetFormatterPrefixSuffix (llvm::StringRef type_hint) |
| An individual data formatter may apply to several types and cross language boundaries. | |
| virtual bool | DemangledNameContainsPath (llvm::StringRef path, ConstString demangled) const |
| virtual DumpValueObjectOptions::DeclPrintingHelper | GetDeclPrintingHelper () |
| virtual LazyBool | IsLogicalTrue (ValueObject &valobj, Status &error) |
| virtual bool | IsNilReference (ValueObject &valobj) |
| virtual llvm::StringRef | GetNilReferenceSummaryString () |
| Returns the summary string for ValueObjects for which IsNilReference() is true. | |
| virtual bool | IsUninitializedReference (ValueObject &valobj) |
| virtual bool | GetFunctionDisplayName (const SymbolContext &sc, const ExecutionContext *exe_ctx, FunctionNameRepresentation representation, Stream &s) |
| virtual bool | HandleFrameFormatVariable (const SymbolContext &sc, const ExecutionContext *exe_ctx, FormatEntity::Entry::Type type, Stream &s) |
| virtual ConstString | GetDemangledFunctionNameWithoutArguments (Mangled mangled) const |
| virtual ConstString | GetDisplayDemangledName (Mangled mangled) const |
| virtual void | GetExceptionResolverDescription (bool catch_on, bool throw_on, Stream &s) |
| virtual std::vector< ConstString > | GenerateAlternateFunctionManglings (const ConstString mangled) const |
| virtual ConstString | FindBestAlternateFunctionMangledName (const Mangled mangled, const SymbolContext &sym_ctx) const |
| virtual llvm::StringRef | GetInstanceName () |
| virtual void | FilterForLineBreakpoints (llvm::SmallVectorImpl< SymbolContext > &) const |
| Given a symbol context list of matches which supposedly represent the same file and line number in a CU, erases those that should be ignored when setting breakpoints by line (number or regex). | |
| virtual std::optional< bool > | AreEqualForFrameComparison (const SymbolContext &sc1, const SymbolContext &sc2) const |
| Returns a boolean indicating whether two symbol contexts are equal for the purposes of frame comparison. | |
| virtual std::optional< bool > | GetBooleanFromString (llvm::StringRef str) const |
| virtual bool | SupportsExceptionBreakpointsOnThrow () const |
| Returns true if this Language supports exception breakpoints on throw via a corresponding LanguageRuntime plugin. | |
| virtual bool | SupportsExceptionBreakpointsOnCatch () const |
| Returns true if this Language supports exception breakpoints on catch via a corresponding LanguageRuntime plugin. | |
| virtual llvm::StringRef | GetThrowKeyword () const |
| Returns the keyword used for throw statements in this language, e.g. | |
| virtual llvm::StringRef | GetCatchKeyword () const |
| Returns the keyword used for catch statements in this language, e.g. | |
| virtual FormatEntity::Entry | GetFunctionNameFormat () const |
| Public Member Functions inherited from lldb_private::PluginInterface | |
| PluginInterface ()=default | |
| virtual | ~PluginInterface ()=default |
| virtual llvm::StringRef | GetPluginName ()=0 |
| PluginInterface (const PluginInterface &)=delete | |
| PluginInterface & | operator= (const PluginInterface &)=delete |
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 Language * | FindPluginForManglingScheme (Mangled::ManglingScheme scheme) |
Returns the Language that handles names mangled with scheme, or a nullptr if there is none. | |
| static llvm::Expected< lldb::LanguageType > | GetExceptionLanguageForLanguage (llvm::StringRef lang_name) |
| static void | ForEach (llvm::function_ref< IterationAction(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) |
| Returns the internal LLDB name for the specified language. | |
| static llvm::StringRef | GetDisplayNameForLanguageType (lldb::LanguageType language) |
| Returns a user-friendly name for the specified 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 (llvm::function_ref< IterationAction(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 | LanguageIsFortran (lldb::LanguageType language) |
| 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 () |
| static LanguageProperties & | GetGlobalLanguageProperties () |
Protected Member Functions | |
| Language () | |
Private Member Functions | |
| Language (const Language &)=delete | |
| const Language & | operator= (const Language &)=delete |
Definition at line 43 of file Language.h.
|
strong |
| Enumerator | |
|---|---|
| eName | |
| eNameWithArgs | |
| eNameWithNoArgs | |
Definition at line 155 of file Language.h.
|
overridedefault |
References Language().
|
protecteddefault |
Referenced by lldb_private::CPlusPlusLanguage::CreateInstance(), lldb_private::FortranLanguage::CreateInstance(), lldb_private::ObjCLanguage::CreateInstance(), lldb_private::ObjCPlusPlusLanguage::CreateInstance(), lldb_private::CPlusPlusLanguage::CxxMethodName::CxxMethodName(), FindPlugin(), FindPlugin(), FindPlugin(), FindPluginForManglingScheme(), ForEach(), GetExceptionLanguageForLanguage(), GetSupportedLanguages(), Language(), operator=(), and ~Language().
|
privatedelete |
References Language().
|
inlinevirtual |
Returns a boolean indicating whether two symbol contexts are equal for the purposes of frame comparison.
If the plugin has no opinion, it should return nullopt.
Definition at line 541 of file Language.h.
|
inlinevirtual |
Returns a parser for the names mangled with scheme, a scheme that this language handles, or a nullptr if the symbol table should index them by their demangled names.
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 375 of file Language.h.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 579 of file Language.cpp.
References lldb_private::ConstString::GetStringRef().
|
inlinevirtual |
Demangle mangled, a name mangled with scheme, a scheme that this language handles.
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 354 of file Language.h.
Referenced by lldb_private::Mangled::ComputeDemangledInfo().
|
inlinevirtual |
Given a symbol context list of matches which supposedly represent the same file and line number in a CU, erases those that should be ignored when setting breakpoints by line (number or regex).
Helpful for languages that create split a single source-line into many functions (e.g. call sites transformed by CoroSplitter).
Definition at line 535 of file Language.h.
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 522 of file Language.h.
|
static |
Definition at line 86 of file Language.cpp.
References lldb_private::PluginManager::GetLanguageCreateCallbacks(), GetLanguagesMap(), GetLanguagesMutex(), and Language().
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::IRExecutionUnit::CollectCandidateCPlusPlusNames(), ConvertBoolean(), lldb_private::Target::CreateBreakpointAtUserEntry(), FindPlugin(), ForEach(), lldb_private::FormatEntity::Formatter::Format(), lldb_private::FormatEntity::Formatter::FormatFunctionNameForLanguage(), lldb_private::RichManglingContext::FromCxxMethodName(), lldb::SBLanguageRuntime::GetCatchKeywordForLanguage(), ExceptionBreakpointResolver::GetDescription(), lldb_private::Mangled::GetDisplayDemangledName(), GetExceptionLanguageForLanguage(), lldb_private::CommandInterpreter::GetFrameLanguageCommand(), lldb_private::HighlighterManager::getHighlighterFor(), lldb_private::SymbolContext::GetInstanceName(), lldb_private::Mangled::GetName(), lldb_private::FormatManager::GetPossibleMatches(), lldb::SBLanguageRuntime::GetThrowKeywordForLanguage(), lldb_private::ValueObjectPrinter::GetValueSummaryError(), HandleFunctionNameWithArgs(), lldb_private::ThreadPlanStepOverRange::IsEquivalentContext(), 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(), lldb_private::formatters::NSIndirectTaggedString_SummaryProvider(), 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(), lldb_private::ValueObjectPrinter::PrintDecl(), lldb_private::Module::LookupInfo::Prune(), lldb_private::BreakpointResolver::SetSCMatchesByLine(), lldb::SBLanguageRuntime::SupportsExceptionBreakpointsOnCatch(), and lldb::SBLanguageRuntime::SupportsExceptionBreakpointsOnThrow().
|
static |
Definition at line 119 of file Language.cpp.
References FindPlugin(), and Language().
|
static |
Returns the Language associated with the given file path or a nullptr if there is no known language.
Definition at line 107 of file Language.cpp.
References lldb_private::Continue, ForEach(), IsSourceFile(), Language(), and lldb_private::Stop.
|
static |
Returns the Language that handles names mangled with scheme, or a nullptr if there is none.
Definition at line 130 of file Language.cpp.
References lldb_private::Continue, lldb_private::Mangled::eManglingSchemeNone, ForEach(), HandlesManglingScheme(), lldb_private::Mangled::kNumManglingSchemes, Language(), and lldb_private::Stop.
Referenced by lldb_private::Mangled::ComputeDemangledInfo(), lldb_private::Mangled::GetDemangledName(), and lldb_private::Symtab::InitNameIndexes().
|
static |
Definition at line 363 of file Language.cpp.
References language_names, num_languages, and lldb_private::Stop.
|
static |
Definition at line 156 of file Language.cpp.
References lldb::eLanguageTypeUnknown, lldb::eNumLanguageTypes, FindPlugin(), GetLanguagesMap(), GetLanguagesMutex(), Language(), and lldb_private::Stop.
Referenced by lldb_private::BreakpointResolverName::AddNameLookup(), FindPlugin(), FindPluginForManglingScheme(), GetSupportedLanguages(), lldb_private::Mangled::GuessLanguage(), lldb_private::Symtab::InitNameIndexes(), and lldb_private::Module::LookupInfo::MakeLookupInfos().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 517 of file Language.h.
|
virtual |
Reimplemented in lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 618 of file Language.cpp.
|
inlinevirtual |
Returns the keyword used for catch statements in this language, e.g.
Python uses except. Defaults to catch.
Definition at line 562 of file Language.h.
|
virtual |
Definition at line 587 of file Language.cpp.
|
static |
Definition at line 611 of file Language.cpp.
References lldb_private::Stream::Printf().
Referenced by ExceptionBreakpointResolver::GetDescription(), and GetExceptionResolverDescription().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 439 of file Language.h.
References lldb_private::Mangled::GetDemangledName(), and lldb_private::Mangled::GetMangledName().
|
inlinevirtual |
Definition at line 446 of file Language.h.
References lldb_private::Mangled::GetDemangledName().
|
static |
Returns a user-friendly name for the specified language.
Definition at line 341 of file Language.cpp.
References lldb_private::SourceLanguage::GetDescription().
Referenced by SetupLangOpts().
|
static |
Definition at line 188 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_plus_plus, lldb::eLanguageTypeUnknown, FindPlugin(), GetLanguageTypeFromString(), and Language().
Definition at line 606 of file Language.cpp.
References GetDefaultExceptionResolverDescription().
Referenced by ExceptionBreakpointResolver::GetDescription().
|
virtual |
An individual data formatter may apply to several types and cross language boundaries.
Each of those languages may want to customize the display of values of said types by appending proper prefix/suffix information in language-specific ways. This function returns that prefix and suffix.
| [in] | type_hint | A StringRef used to determine what the prefix and suffix should be. It is called a hint because some types may have multiple variants for which the prefix and/or suffix may vary. |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 575 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 231 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 599 of file Language.cpp.
Referenced by lldb_private::FormatEntity::Formatter::Format(), and HandleFunctionNameWithArgs().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 564 of file Language.h.
Referenced by lldb_private::FormatEntity::Formatter::FormatFunctionNameForLanguage().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 320 of file Language.h.
|
static |
Definition at line 42 of file Language.cpp.
Referenced by lldb_private::Debugger::Debugger(), and lldb_private::BreakpointResolver::SetSCMatchesByLine().
|
virtual |
Definition at line 233 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 237 of file Language.cpp.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 242 of file Language.cpp.
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 527 of file Language.h.
|
virtual |
Definition at line 526 of file Language.cpp.
|
static |
Definition at line 518 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 510 of file Language.cpp.
References lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForTypes().
Referenced by lldb_private::OptionValueLanguage::SetValueFromString(), and lldb_private::CommandCompletions::TypeLanguages().
|
static |
Definition at line 514 of file Language.cpp.
References lldb_private::PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions().
Referenced by lldb_private::Target::GetScratchTypeSystemForLanguage(), lldb_private::Target::GetScratchTypeSystems(), PrintSupportedLanguagesForExpressions(), and lldb_private::BreakpointOptionGroup::SetOptionValue().
|
pure virtual |
|
staticdelete |
Referenced by lldb_private::BreakpointResolverName::CreateFromStructuredData(), CommandObjectTypeLookup::DoExecute(), GetExceptionLanguageForLanguage(), lldb::SBLanguageRuntime::GetLanguageTypeFromString(), CommandObjectBreakpointAddName::CommandOptions::SetOptionValue(), CommandObjectBreakpointSet::CommandOptions::SetOptionValue(), CommandObjectTypeFormatterDelete::CommandOptions::SetOptionValue(), lldb_private::BreakpointOptionGroup::SetOptionValue(), lldb_private::CommandObjectExpression::CommandOptions::SetOptionValue(), lldb_private::OptionGroupWatchpoint::SetOptionValue(), and lldb_private::OptionValueLanguage::SetValueFromString().
|
static |
Definition at line 325 of file Language.cpp.
References lldb::eLanguageTypeUnknown, and language_names.
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 315 of file Language.h.
Referenced by lldb_private::Module::LookupInfo::Prune().
|
inlinevirtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 222 of file Language.h.
|
static |
Returns the internal LLDB name for the specified language.
When presenting the language name to users, use GetDisplayNameForLanguageType instead.
Definition at line 334 of file Language.cpp.
References lldb::eLanguageTypeUnknown, language_names, and num_languages.
Referenced by lldb_private::Target::CreateUtilityFunction(), lldb_private::ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(), lldb_private::ThreadPlanShouldStopHere::DefaultStepFromHereCallback(), CommandObjectFormatterInfo< FormatterType >::DoExecute(), lldb_private::OptionValueLanguage::DumpValue(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindDefinitionDIE(), lldb_private::FormatEntity::Formatter::Format(), llvm::format_provider< lldb::LanguageType >::format(), lldb_private::CompileUnit::GetCachedLanguage(), lldb_private::BreakpointResolverName::GetDescription(), lldb_private::TypeCategoryImpl::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::Module::ReportWarningUnsupportedLanguage(), lldb_private::Debugger::RunREPL(), lldb_private::BreakpointResolverName::SerializeToStructuredData(), SetupLangOpts(), lldb_private::OptionValueLanguage::SetValueFromString(), lldb_private::OptionValueLanguage::ToJSON(), lldb_private::CommandCompletions::TypeLanguages(), and lldb_private::ValueObjectVTable::UpdateValue().
|
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 418 of file Language.h.
|
virtual |
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 247 of file Language.cpp.
|
static |
Definition at line 451 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::eLanguageTypeC_plus_plus_17, lldb::eLanguageTypeC_plus_plus_20, 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::eLanguageTypeMojo, 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::CommandInterpreter::GetFrameLanguageCommand(), lldb_private::Process::GetLanguageRuntime(), and lldb_private::BreakpointResolverName::SearchCallback().
|
static |
Definition at line 501 of file Language.cpp.
References lldb_private::Continue, ForEach(), GetLanguageType(), and Language().
Referenced by lldb_private::Target::CreateBreakpointAtUserEntry(), CommandObjectMemoryRead::DoExecute(), lldb_private::Process::GetLanguageRuntimes(), lldb_private::LanguageRuntime::GetRuntimeUnwindPlan(), and lldb_private::Process::ModulesDidLoad().
|
inlinevirtual |
Returns the keyword used for throw statements in this language, e.g.
Python uses raise. Defaults to throw.
Definition at line 558 of file Language.h.
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 522 of file Language.cpp.
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Definition at line 185 of file Language.h.
Referenced by lldb_private::Target::CreateBreakpointAtUserEntry().
|
inlinevirtual |
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 431 of file Language.h.
Referenced by lldb_private::FormatEntity::Formatter::Format().
|
inlinevirtual |
Returns true if this language handles the names mangled with scheme.
Reimplemented in lldb_private::CPlusPlusLanguage.
Definition at line 334 of file Language.h.
Referenced by FindPluginForManglingScheme().
|
virtual |
Definition at line 591 of file Language.cpp.
References lldb_private::eLazyBoolCalculate, and error().
|
virtual |
Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.
Definition at line 595 of file Language.cpp.
|
pure virtual |
Implemented in lldb_private::CPlusPlusLanguage, lldb_private::FortranLanguage, lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.
Referenced by FindPlugin().
Definition at line 229 of file Language.cpp.
|
virtual |
Definition at line 597 of file Language.cpp.
|
static |
Definition at line 396 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 408 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::eLanguageTypeC_plus_plus_17, lldb::eLanguageTypeC_plus_plus_20, lldb::eLanguageTypeObjC, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangHighlighter::CreateInstance(), lldb_private::ValueObject::GetObjectDescription(), and lldb::SBLanguageRuntime::LanguageIsCFamily().
|
static |
Definition at line 371 of file Language.cpp.
References lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeC_plus_plus_03, lldb::eLanguageTypeC_plus_plus_11, lldb::eLanguageTypeC_plus_plus_14, lldb::eLanguageTypeC_plus_plus_17, lldb::eLanguageTypeC_plus_plus_20, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction(), lldb_private::CPlusPlusLanguage::CreateInstance(), lldb_private::CPlusPlusLanguage::GetTypeScavenger(), DWARFASTParserClang::GetUniqueTypeNameAndDeclaration(), lldb_private::CPlusPlusLanguage::IsNilReference(), IsSizeAndDeclarationMatching(), lldb::SBLanguageRuntime::LanguageIsCPlusPlus(), DWARFASTParserClang::ParseFunctionFromDWARF(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariableDIE().
|
static |
Definition at line 428 of file Language.cpp.
References lldb::eLanguageTypeFortran03, lldb::eLanguageTypeFortran08, lldb::eLanguageTypeFortran18, lldb::eLanguageTypeFortran77, lldb::eLanguageTypeFortran90, and lldb::eLanguageTypeFortran95.
Referenced by lldb_private::FortranLanguage::CreateInstance(), lldb_private::TypeSystemFortran::CreateInstance(), and lldb_private::TypeSystemFortran::SupportsLanguage().
|
static |
Definition at line 386 of file Language.cpp.
References lldb::eLanguageTypeObjC, and lldb::eLanguageTypeObjC_plus_plus.
Referenced by lldb_private::ClangExpressionDeclMap::AddOneFunction(), DWARFASTParserClang::CompleteRecordType(), lldb_private::ValueObject::Dereference(), lldb_private::ObjCLanguage::GetTypeScavenger(), lldb_private::ClangDynamicCheckerFunctions::Install(), lldb::SBLanguageRuntime::LanguageIsObjC(), and DWARFASTParserClang::ParseFunctionFromDWARF().
|
static |
Definition at line 442 of file Language.cpp.
References lldb::eLanguageTypePascal83.
References Language().
|
static |
Definition at line 356 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 345 of file Language.cpp.
References GetLanguagesSupportingTypeSystemsForExpressions(), language_names, and num_languages.
Referenced by lldb_private::CommandObjectExpression::CommandOptions::SetOptionValue(), and lldb_private::OptionGroupWatchpoint::SetOptionValue().
|
inlinevirtual |
Returns true if this Language supports exception breakpoints on catch via a corresponding LanguageRuntime plugin.
Definition at line 554 of file Language.h.
|
inlinevirtual |
Returns true if this Language supports exception breakpoints on throw via a corresponding LanguageRuntime plugin.
Reimplemented in lldb_private::ObjCLanguage.
Definition at line 550 of file Language.h.
|
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 329 of file Language.h.