LLDB mainline
lldb_private::Language Class Referenceabstract

#include <Language.h>

Inheritance diagram for lldb_private::Language:
[legend]

Classes

class  EitherTypeScavenger
class  ImageListTypeScavenger
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 const HighlighterGetHighlighter () const
virtual lldb::TypeCategoryImplSP GetFormatters ()
virtual HardcodedFormatters::HardcodedFormatFinder GetHardcodedFormats ()
virtual HardcodedFormatters::HardcodedSummaryFinder GetHardcodedSummaries ()
virtual HardcodedFormatters::HardcodedSyntheticFinder GetHardcodedSynthetics ()
virtual std::vector< FormattersMatchCandidateGetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic)
virtual std::unique_ptr< TypeScavengerGetTypeScavenger ()
virtual const char * GetLanguageSpecificTypeLookupHelp ()
virtual std::vector< Language::MethodNameVariantGetMethodNameVariants (ConstString method_name) const
virtual std::unique_ptr< Language::MethodNameGetMethodName (ConstString 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 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< ConstStringGenerateAlternateFunctionManglings (const ConstString mangled) const
virtual ConstString FindBestAlternateFunctionMangledName (const Mangled mangled, const SymbolContext &sym_ctx) const
virtual llvm::StringRef GetInstanceVariableName ()
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< boolAreEqualForFrameComparison (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< boolGetBooleanFromString (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
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static LanguageFindPlugin (lldb::LanguageType language)
static LanguageFindPlugin (llvm::StringRef file_path)
 Returns the Language associated with the given file path or a nullptr if there is no known language.
static LanguageFindPlugin (lldb::LanguageType language, llvm::StringRef file_path)
static llvm::Expected< lldb::LanguageTypeGetExceptionLanguageForLanguage (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 LanguageIsPascal (lldb::LanguageType language)
static lldb::LanguageType GetPrimaryLanguage (lldb::LanguageType language)
static std::set< lldb::LanguageTypeGetSupportedLanguages ()
static LanguageSet GetLanguagesSupportingTypeSystems ()
static LanguageSet GetLanguagesSupportingTypeSystemsForExpressions ()
static LanguageSet GetLanguagesSupportingREPLs ()
static LanguagePropertiesGetGlobalLanguageProperties ()

Protected Member Functions

 Language ()

Private Member Functions

 Language (const Language &)=delete
const Languageoperator= (const Language &)=delete

Detailed Description

Definition at line 39 of file Language.h.

Member Enumeration Documentation

◆ FunctionNameRepresentation

Enumerator
eName 
eNameWithArgs 
eNameWithNoArgs 

Definition at line 151 of file Language.h.

Constructor & Destructor Documentation

◆ ~Language()

Language::~Language ( )
overridedefault

References Language().

◆ Language() [1/2]

◆ Language() [2/2]

lldb_private::Language::Language ( const Language & )
privatedelete

References Language().

Member Function Documentation

◆ AreEqualForFrameComparison()

virtual std::optional< bool > lldb_private::Language::AreEqualForFrameComparison ( const SymbolContext & sc1,
const SymbolContext & sc2 ) const
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 487 of file Language.h.

◆ DemangledNameContainsPath()

bool Language::DemangledNameContainsPath ( llvm::StringRef path,
ConstString demangled ) const
virtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 540 of file Language.cpp.

References lldb_private::ConstString::GetStringRef().

◆ FilterForLineBreakpoints()

virtual void lldb_private::Language::FilterForLineBreakpoints ( llvm::SmallVectorImpl< SymbolContext > & ) const
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 481 of file Language.h.

◆ FindBestAlternateFunctionMangledName()

virtual ConstString lldb_private::Language::FindBestAlternateFunctionMangledName ( const Mangled mangled,
const SymbolContext & sym_ctx ) const
inlinevirtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 468 of file Language.h.

◆ FindPlugin() [1/3]

Language * Language::FindPlugin ( lldb::LanguageType language)
static

Definition at line 84 of file Language.cpp.

References lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex(), 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::Format(), 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::GetInstanceVariableName(), 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().

◆ FindPlugin() [2/3]

Language * Language::FindPlugin ( lldb::LanguageType language,
llvm::StringRef file_path )
static

Definition at line 121 of file Language.cpp.

References FindPlugin(), and Language().

◆ FindPlugin() [3/3]

Language * Language::FindPlugin ( llvm::StringRef file_path)
static

Returns the Language associated with the given file path or a nullptr if there is no known language.

Definition at line 109 of file Language.cpp.

References lldb_private::Continue, ForEach(), IsSourceFile(), Language(), and lldb_private::Stop.

◆ ForAllLanguages()

void Language::ForAllLanguages ( llvm::function_ref< IterationAction(lldb::LanguageType)> callback)
static

Definition at line 338 of file Language.cpp.

References language_names, num_languages, and lldb_private::Stop.

◆ ForEach()

◆ GenerateAlternateFunctionManglings()

virtual std::vector< ConstString > lldb_private::Language::GenerateAlternateFunctionManglings ( const ConstString mangled) const
inlinevirtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 463 of file Language.h.

◆ GetBooleanFromString()

std::optional< bool > Language::GetBooleanFromString ( llvm::StringRef str) const
virtual

Reimplemented in lldb_private::ObjCLanguage, and lldb_private::ObjCPlusPlusLanguage.

Definition at line 579 of file Language.cpp.

◆ GetCatchKeyword()

virtual llvm::StringRef lldb_private::Language::GetCatchKeyword ( ) const
inlinevirtual

Returns the keyword used for catch statements in this language, e.g.

Python uses except. Defaults to catch.

Definition at line 508 of file Language.h.

◆ GetDeclPrintingHelper()

DumpValueObjectOptions::DeclPrintingHelper Language::GetDeclPrintingHelper ( )
virtual

Definition at line 548 of file Language.cpp.

◆ GetDefaultExceptionResolverDescription()

void Language::GetDefaultExceptionResolverDescription ( bool catch_on,
bool throw_on,
Stream & s )
static

◆ GetDemangledFunctionNameWithoutArguments()

virtual ConstString lldb_private::Language::GetDemangledFunctionNameWithoutArguments ( Mangled mangled) const
inlinevirtual

◆ GetDisplayDemangledName()

virtual ConstString lldb_private::Language::GetDisplayDemangledName ( Mangled mangled) const
inlinevirtual

Definition at line 394 of file Language.h.

References lldb_private::Mangled::GetDemangledName().

◆ GetDisplayNameForLanguageType()

llvm::StringRef Language::GetDisplayNameForLanguageType ( lldb::LanguageType language)
static

Returns a user-friendly name for the specified language.

Definition at line 316 of file Language.cpp.

References lldb_private::SourceLanguage::GetDescription().

Referenced by SetupLangOpts().

◆ GetExceptionLanguageForLanguage()

◆ GetExceptionResolverDescription()

void Language::GetExceptionResolverDescription ( bool catch_on,
bool throw_on,
Stream & s )
virtual

◆ GetFormatterPrefixSuffix()

std::pair< llvm::StringRef, llvm::StringRef > Language::GetFormatterPrefixSuffix ( llvm::StringRef type_hint)
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.

Parameters
[in]type_hintA 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.
Returns
A std::pair<StringRef, StringRef>, the first being the prefix and the second being the suffix. They may be empty.

Reimplemented in lldb_private::ObjCLanguage.

Definition at line 536 of file Language.cpp.

◆ GetFormatters()

lldb::TypeCategoryImplSP Language::GetFormatters ( )
virtual

Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.

Definition at line 206 of file Language.cpp.

◆ GetFunctionDisplayName()

bool Language::GetFunctionDisplayName ( const SymbolContext & sc,
const ExecutionContext * exe_ctx,
FunctionNameRepresentation representation,
Stream & s )
virtual

◆ GetFunctionNameFormat()

virtual FormatEntity::Entry lldb_private::Language::GetFunctionNameFormat ( ) const
inlinevirtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 510 of file Language.h.

Referenced by FormatFunctionNameForLanguage().

◆ GetFunctionNameInfo()

virtual std::pair< lldb::FunctionNameType, std::optional< ConstString > > lldb_private::Language::GetFunctionNameInfo ( ConstString name) const
inlinevirtual

Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.

Definition at line 314 of file Language.h.

◆ GetGlobalLanguageProperties()

LanguageProperties & Language::GetGlobalLanguageProperties ( )
static

◆ GetHardcodedFormats()

HardcodedFormatters::HardcodedFormatFinder Language::GetHardcodedFormats ( )
virtual

Definition at line 208 of file Language.cpp.

◆ GetHardcodedSummaries()

HardcodedFormatters::HardcodedSummaryFinder Language::GetHardcodedSummaries ( )
virtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 212 of file Language.cpp.

◆ GetHardcodedSynthetics()

HardcodedFormatters::HardcodedSyntheticFinder Language::GetHardcodedSynthetics ( )
virtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 217 of file Language.cpp.

◆ GetHighlighter()

virtual const Highlighter * lldb_private::Language::GetHighlighter ( ) const
inlinevirtual

◆ GetInstanceVariableName()

virtual llvm::StringRef lldb_private::Language::GetInstanceVariableName ( )
inlinevirtual

◆ GetLanguageSpecificTypeLookupHelp()

const char * Language::GetLanguageSpecificTypeLookupHelp ( )
virtual

Definition at line 487 of file Language.cpp.

◆ GetLanguagesSupportingREPLs()

◆ GetLanguagesSupportingTypeSystems()

◆ GetLanguagesSupportingTypeSystemsForExpressions()

◆ GetLanguageType()

◆ GetLanguageTypeFromString() [1/2]

◆ GetLanguageTypeFromString() [2/2]

LanguageType Language::GetLanguageTypeFromString ( llvm::StringRef string)
static

Definition at line 300 of file Language.cpp.

References lldb::eLanguageTypeUnknown, and language_names.

◆ GetMethodName()

virtual std::unique_ptr< Language::MethodName > lldb_private::Language::GetMethodName ( ConstString name) const
inlinevirtual

Reimplemented in lldb_private::CPlusPlusLanguage.

Definition at line 309 of file Language.h.

Referenced by lldb_private::Module::LookupInfo::Prune().

◆ GetMethodNameVariants()

virtual std::vector< Language::MethodNameVariant > lldb_private::Language::GetMethodNameVariants ( ConstString method_name) const
inlinevirtual

Reimplemented in lldb_private::ObjCLanguage.

Definition at line 216 of file Language.h.

◆ GetNameForLanguageType()

const char * Language::GetNameForLanguageType ( lldb::LanguageType language)
static

Returns the internal LLDB name for the specified language.

When presenting the language name to users, use GetDisplayNameForLanguageType instead.

Definition at line 309 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::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().

◆ GetNilReferenceSummaryString()

virtual llvm::StringRef lldb_private::Language::GetNilReferenceSummaryString ( )
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 366 of file Language.h.

◆ GetPossibleFormattersMatches()

std::vector< FormattersMatchCandidate > Language::GetPossibleFormattersMatches ( ValueObject & valobj,
lldb::DynamicValueType use_dynamic )
virtual

Reimplemented in lldb_private::ObjCLanguage.

Definition at line 222 of file Language.cpp.

◆ GetPrimaryLanguage()

◆ GetSupportedLanguages()

◆ GetThrowKeyword()

virtual llvm::StringRef lldb_private::Language::GetThrowKeyword ( ) const
inlinevirtual

Returns the keyword used for throw statements in this language, e.g.

Python uses raise. Defaults to throw.

Definition at line 504 of file Language.h.

◆ GetTypeScavenger()

std::unique_ptr< Language::TypeScavenger > Language::GetTypeScavenger ( )
virtual

Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.

Definition at line 483 of file Language.cpp.

◆ GetUserEntryPointName()

virtual llvm::StringRef lldb_private::Language::GetUserEntryPointName ( ) const
inlinevirtual

◆ HandleFrameFormatVariable()

virtual bool lldb_private::Language::HandleFrameFormatVariable ( const SymbolContext & sc,
const ExecutionContext * exe_ctx,
FormatEntity::Entry::Type type,
Stream & s )
inlinevirtual

Definition at line 379 of file Language.h.

Referenced by lldb_private::FormatEntity::Format().

◆ IsLogicalTrue()

LazyBool Language::IsLogicalTrue ( ValueObject & valobj,
Status & error )
virtual

Definition at line 552 of file Language.cpp.

References lldb_private::eLazyBoolCalculate, and error().

◆ IsNilReference()

bool Language::IsNilReference ( ValueObject & valobj)
virtual

Reimplemented in lldb_private::CPlusPlusLanguage, and lldb_private::ObjCLanguage.

Definition at line 556 of file Language.cpp.

◆ IsSourceFile()

virtual bool lldb_private::Language::IsSourceFile ( llvm::StringRef file_path) const
pure virtual

◆ IsTopLevelFunction()

bool Language::IsTopLevelFunction ( Function & function)
virtual

Definition at line 204 of file Language.cpp.

◆ IsUninitializedReference()

bool Language::IsUninitializedReference ( ValueObject & valobj)
virtual

Definition at line 558 of file Language.cpp.

◆ LanguageIsC()

◆ LanguageIsCFamily()

◆ LanguageIsCPlusPlus()

◆ LanguageIsObjC()

◆ LanguageIsPascal()

bool Language::LanguageIsPascal ( lldb::LanguageType language)
static

Definition at line 403 of file Language.cpp.

References lldb::eLanguageTypePascal83.

◆ operator=()

const Language & lldb_private::Language::operator= ( const Language & )
privatedelete

References Language().

◆ PrintAllLanguages()

void Language::PrintAllLanguages ( Stream & s,
const char * prefix,
const char * suffix )
static

◆ PrintSupportedLanguagesForExpressions()

void Language::PrintSupportedLanguagesForExpressions ( Stream & s,
llvm::StringRef prefix,
llvm::StringRef suffix )
static

Prints to the specified stream 's' each language type that the current target supports for expression evaluation.

Parameters
[out]sStream to which the language types are written.
[in]prefixString that is prepended to the language type.
[in]suffixString that is appended to the language type.

Definition at line 320 of file Language.cpp.

References GetLanguagesSupportingTypeSystemsForExpressions(), language_names, and num_languages.

Referenced by lldb_private::CommandObjectExpression::CommandOptions::SetOptionValue(), and lldb_private::OptionGroupWatchpoint::SetOptionValue().

◆ SupportsExceptionBreakpointsOnCatch()

virtual bool lldb_private::Language::SupportsExceptionBreakpointsOnCatch ( ) const
inlinevirtual

Returns true if this Language supports exception breakpoints on catch via a corresponding LanguageRuntime plugin.

Definition at line 500 of file Language.h.

◆ SupportsExceptionBreakpointsOnThrow()

virtual bool lldb_private::Language::SupportsExceptionBreakpointsOnThrow ( ) const
inlinevirtual

Returns true if this Language supports exception breakpoints on throw via a corresponding LanguageRuntime plugin.

Reimplemented in lldb_private::ObjCLanguage.

Definition at line 496 of file Language.h.

◆ SymbolNameFitsToLanguage()

virtual bool lldb_private::Language::SymbolNameFitsToLanguage ( const Mangled & name) const
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 323 of file Language.h.


The documentation for this class was generated from the following files: