|
LLDB mainline
|
#include <CPlusPlusLanguage.h>
Classes | |
| class | CxxMethodName |
Public Member Functions | |
| CPlusPlusLanguage ()=default | |
| ~CPlusPlusLanguage () override=default | |
| virtual std::unique_ptr< Language::MethodName > | GetMethodName (llvm::StringRef name) const override |
| std::pair< lldb::FunctionNameType, std::optional< ConstString > > | GetFunctionNameInfo (ConstString name) const override |
| lldb::LanguageType | GetLanguageType () const override |
| llvm::StringRef | GetUserEntryPointName () const override |
| std::unique_ptr< TypeScavenger > | GetTypeScavenger () override |
| lldb::TypeCategoryImplSP | GetFormatters () override |
| HardcodedFormatters::HardcodedSummaryFinder | GetHardcodedSummaries () override |
| HardcodedFormatters::HardcodedSyntheticFinder | GetHardcodedSynthetics () override |
| bool | IsNilReference (ValueObject &valobj) override |
| llvm::StringRef | GetNilReferenceSummaryString () override |
| Returns the summary string for ValueObjects for which IsNilReference() is true. | |
| bool | IsSourceFile (llvm::StringRef file_path) const override |
| bool | SymbolNameFitsToLanguage (const Mangled &mangled) const override |
| Returns true iff the given symbol name is compatible with the mangling scheme of this language. | |
| bool | HandlesManglingScheme (Mangled::ManglingScheme scheme) const override |
Returns true if this language handles the names mangled with scheme. | |
| DemangledName | DemangleSymbol (ConstString mangled, Mangled::ManglingScheme scheme, const DemangleOptions &options) const override |
Demangle mangled, a name mangled with scheme, a scheme that this language handles. | |
| std::unique_ptr< MangledNameParser > | CreateMangledNameParser (Mangled::ManglingScheme scheme) const override |
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. | |
| bool | DemangledNameContainsPath (llvm::StringRef path, ConstString demangled) const override |
| ConstString | GetDemangledFunctionNameWithoutArguments (Mangled mangled) const override |
| bool | GetFunctionDisplayName (const SymbolContext &sc, const ExecutionContext *exe_ctx, FunctionNameRepresentation representation, Stream &s) override |
| bool | HandleFrameFormatVariable (const SymbolContext &sc, const ExecutionContext *exe_ctx, FormatEntity::Entry::Type type, Stream &s) override |
| std::vector< ConstString > | GenerateAlternateFunctionManglings (const ConstString mangled) const override |
| ConstString | FindBestAlternateFunctionMangledName (const Mangled mangled, const SymbolContext &sym_ctx) const override |
| llvm::StringRef | GetInstanceName () override |
| FormatEntity::Entry | GetFunctionNameFormat () const override |
| llvm::StringRef | GetPluginName () override |
| Public Member Functions inherited from lldb_private::Language | |
| ~Language () override | |
| virtual bool | IsTopLevelFunction (Function &function) |
| virtual HardcodedFormatters::HardcodedFormatFinder | GetHardcodedFormats () |
| virtual std::vector< FormattersMatchCandidate > | GetPossibleFormattersMatches (ValueObject &valobj, lldb::DynamicValueType use_dynamic) |
| virtual const char * | GetLanguageSpecificTypeLookupHelp () |
| virtual std::vector< Language::MethodNameVariant > | GetMethodNameVariants (llvm::StringRef method_name) const |
| 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 DumpValueObjectOptions::DeclPrintingHelper | GetDeclPrintingHelper () |
| virtual LazyBool | IsLogicalTrue (ValueObject &valobj, Status &error) |
| virtual bool | IsUninitializedReference (ValueObject &valobj) |
| virtual ConstString | GetDisplayDemangledName (Mangled mangled) const |
| virtual void | GetExceptionResolverDescription (bool catch_on, bool throw_on, Stream &s) |
| 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. | |
| Public Member Functions inherited from lldb_private::PluginInterface | |
| PluginInterface ()=default | |
| virtual | ~PluginInterface ()=default |
| PluginInterface (const PluginInterface &)=delete | |
| PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
| static void | Initialize () |
| static void | Terminate () |
| static lldb_private::Language * | CreateInstance (lldb::LanguageType language) |
| static llvm::StringRef | GetPluginNameStatic () |
| static bool | IsCPPMangledName (llvm::StringRef name) |
| static llvm::StringRef | GetDemangledBasename (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledTemplateArguments (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledReturnTypeLHS (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledFunctionQualifiers (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledScope (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledReturnTypeRHS (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledFunctionArguments (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static llvm::Expected< llvm::StringRef > | GetDemangledFunctionSuffix (llvm::StringRef demangled, const DemangledNameInfo &info) |
| static bool | ExtractContextAndIdentifier (llvm::StringRef name, llvm::StringRef &context, llvm::StringRef &identifier) |
| static llvm::Expected< ConstString > | SubstituteType_ItaniumMangle (llvm::StringRef mangled_name, llvm::StringRef subst_from, llvm::StringRef subst_to) |
Substitutes Itanium type encoding substrings given by subst_from in mangled_name with subst_to. | |
| static llvm::Expected< ConstString > | SubstituteStructor_ItaniumMangle (llvm::StringRef mangled_name, llvm::StringRef subst_from, llvm::StringRef subst_to) |
Substitutes Itanium structor encoding substrings given by subst_from in mangled_name with subst_to. | |
| static llvm::Expected< ConstString > | SubstituteStructorAliases_ItaniumMangle (llvm::StringRef mangled_name) |
Tries replacing Itanium structor encoding substrings in mangled_name with potential aliases.j. | |
| Static Public Member Functions inherited from lldb_private::Language | |
| 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 () |
Static Private Member Functions | |
| static void | DebuggerInitialize (Debugger &) |
Additional Inherited Members | |
| Public Types inherited from lldb_private::Language | |
| enum class | FunctionNameRepresentation { eName , eNameWithArgs , eNameWithNoArgs } |
| Protected Member Functions inherited from lldb_private::Language | |
| Language () | |
Definition at line 23 of file CPlusPlusLanguage.h.
|
default |
Referenced by CreateInstance(), and Initialize().
|
overridedefault |
|
static |
Definition at line 316 of file CPlusPlusLanguage.cpp.
References CPlusPlusLanguage(), lldb::eLanguageTypeObjC_plus_plus, lldb_private::Language::Language(), and lldb_private::Language::LanguageIsCPlusPlus().
Referenced by Initialize(), and Terminate().
|
overridevirtual |
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 from lldb_private::Language.
Definition at line 278 of file CPlusPlusLanguage.cpp.
References HandlesManglingScheme().
|
staticprivate |
Definition at line 2942 of file CPlusPlusLanguage.cpp.
References lldb_private::PluginManager::CreateSettingForCPlusPlusLanguagePlugin(), GetGlobalPluginProperties(), and lldb_private::PluginManager::GetSettingForCPlusPlusLanguagePlugin().
Referenced by Initialize().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 779 of file CPlusPlusLanguage.cpp.
References lldb_private::CPlusPlusLanguage::CxxMethodName::ContainsPath(), and lldb_private::ConstString::GetStringRef().
|
overridevirtual |
Demangle mangled, a name mangled with scheme, a scheme that this language handles.
Reimplemented from lldb_private::Language.
Definition at line 179 of file CPlusPlusLanguage.cpp.
References lldb_private::Mangled::eManglingSchemeItanium, lldb_private::Mangled::eManglingSchemeMSVC, lldb_private::ConstString::GetCString(), GetItaniumDemangledStr(), GetMSVCDemangledStr(), lldb_private::ConstString::GetStringRef(), lldb_private::Language::DemangledName::info, lldb_private::Language::DemangledName::name, and lldb_private::Language::DemangleOptions::want_info.
|
static |
Definition at line 785 of file CPlusPlusLanguage.cpp.
References MSVCUndecoratedNameParser::ExtractContextAndIdentifier(), MSVCUndecoratedNameParser::IsMSVCUndecoratedName(), and lldb_private::CPlusPlusNameParser::ParseAsFullName().
Referenced by lldb_private::CPlusPlusLanguage::CxxMethodName::ContainsPath(), lldb_private::npdb::SymbolFileNativePDB::FindGlobalVariables(), lldb_private::plugin::dwarf::SymbolFileDWARF::FindGlobalVariables(), and GetFunctionNameInfo().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 875 of file CPlusPlusLanguage.cpp.
References lldb_private::Language::MethodName::GetArguments(), lldb_private::Mangled::GetDemangledName(), lldb_private::SymbolFile::GetMangledNamesForFunction(), lldb_private::Language::MethodName::GetQualifiers(), lldb_private::Language::MethodName::GetScopeQualifiedName(), lldb_private::ConstString::GetStringRef(), lldb_private::Language::MethodName::IsValid(), and lldb_private::SymbolContext::module_sp.
|
overridevirtual |
Get a basic set of alternative manglings for the given symbol name, by making a few basic possible substitutions on basic types, storage duration and constness for the given symbol. The output parameter alternates is filled with a best-guess, non-exhaustive set of different manglings for the given name.
Reimplemented from lldb_private::Language.
Definition at line 801 of file CPlusPlusLanguage.cpp.
References lldb_private::ConstString::GetCString(), lldb_private::GetLog(), lldb_private::ConstString::GetStringRef(), lldb_private::Language, LLDB_LOG_ERROR, SubstituteStructorAliases_ItaniumMangle(), and SubstituteType_ItaniumMangle().
|
static |
Definition at line 477 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::BasenameRange, and lldb_private::DemangledNameInfo::hasBasename().
Referenced by GetDemangledBasename(), and HandleFrameFormatVariable().
|
static |
Definition at line 614 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::ArgumentsRange, and lldb_private::DemangledNameInfo::hasArguments().
Referenced by PrintDemangledArgumentList().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 285 of file CPlusPlusLanguage.cpp.
References lldb_private::Language::MethodName::GetBasename(), lldb_private::Language::MethodName::GetContext(), lldb_private::ConstString::GetCString(), lldb_private::Mangled::GetDemangledName(), lldb_private::Mangled::GetMangledName(), and lldb_private::ConstString::GetStringRef().
|
static |
Definition at line 527 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::hasQualifiers(), and lldb_private::DemangledNameInfo::QualifiersRange.
Referenced by GetDemangledFunctionQualifiers(), and HandleFrameFormatVariable().
|
static |
Definition at line 593 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::hasSuffix(), and lldb_private::DemangledNameInfo::SuffixRange.
Referenced by GetDemangledFunctionSuffix(), and HandleFrameFormatVariable().
|
static |
Definition at line 506 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::ScopeRange.
Referenced by GetDemangledReturnTypeLHS(), and HandleFrameFormatVariable().
|
static |
Definition at line 550 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::ArgumentsRange, and lldb_private::DemangledNameInfo::QualifiersRange.
Referenced by GetDemangledReturnTypeRHS(), and HandleFrameFormatVariable().
|
static |
Definition at line 572 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::hasScope(), and lldb_private::DemangledNameInfo::ScopeRange.
Referenced by GetDemangledScope(), and HandleFrameFormatVariable().
|
static |
Definition at line 484 of file CPlusPlusLanguage.cpp.
References lldb_private::DemangledNameInfo::hasTemplateArguments(), and lldb_private::DemangledNameInfo::TemplateArgumentsRange.
Referenced by GetDemangledTemplateArguments(), and HandleFrameFormatVariable().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2404 of file CPlusPlusLanguage.cpp.
References lldb_private::DataVisualization::Categories::GetCategory(), GetPluginName(), LoadCommonStlFormatters(), LoadLibCxxFormatters(), LoadLibStdcppFormatters(), LoadMsvcStlFormatters(), and LoadSystemFormatters().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2600 of file CPlusPlusLanguage.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Language::eName, lldb_private::Language::eNameWithArgs, lldb_private::Language::eNameWithNoArgs, lldb_private::SymbolContext::function, lldb_private::Symbol::GetName(), PrintFunctionNameWithArgs(), lldb_private::Stream::PutCString(), and lldb_private::SymbolContext::symbol.
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2938 of file CPlusPlusLanguage.cpp.
References GetGlobalPluginProperties().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 82 of file CPlusPlusLanguage.cpp.
References ExtractContextAndIdentifier(), lldb_private::Language::MethodName::GetBasename(), lldb_private::ConstString::GetCString(), lldb_private::Language::MethodName::GetQualifiers(), lldb_private::ConstString::GetStringRef(), and lldb_private::Mangled::IsMangledName().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2427 of file CPlusPlusLanguage.cpp.
References lldb_private::formatters::BlockPointerSummaryProvider(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), lldb::eValueTypeVTableEntry, lldb_private::FormatManager::GetCategory(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetValueType(), lldb_private::CompilerType::IsBlockPointerType(), lldb_private::CompilerType::IsFunctionPointerType(), lldb_private::CompilerType::IsVectorType(), and lldb_private::formatters::VectorTypeSummaryProvider().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2493 of file CPlusPlusLanguage.cpp.
References lldb_private::formatters::BlockPointerSyntheticFrontEndCreator(), lldb_private::FormatManager::GetCategory(), lldb_private::ValueObject::GetCompilerType(), lldb_private::CompilerType::IsBlockPointerType(), lldb_private::CompilerType::IsVectorType(), and lldb_private::formatters::VectorTypeSyntheticFrontEndCreator().
|
inlineoverridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 241 of file CPlusPlusLanguage.h.
|
inlineoverridevirtual |
Implements lldb_private::Language.
Definition at line 61 of file CPlusPlusLanguage.h.
References lldb::eLanguageTypeC_plus_plus.
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 74 of file CPlusPlusLanguage.cpp.
|
inlineoverridevirtual |
Returns the summary string for ValueObjects for which IsNilReference() is true.
Reimplemented from lldb_private::Language.
Definition at line 77 of file CPlusPlusLanguage.h.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 246 of file CPlusPlusLanguage.h.
References GetPluginNameStatic().
Referenced by GetFormatters().
|
inlinestatic |
Definition at line 88 of file CPlusPlusLanguage.h.
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2387 of file CPlusPlusLanguage.cpp.
References lldb_private::CompilerType::GetMinimumLanguage(), lldb_private::CompilerType::GetTypedefedType(), lldb_private::CompilerType::IsTypedefType(), lldb_private::Language::LanguageIsC(), and lldb_private::Language::LanguageIsCPlusPlus().
|
inlineoverridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 65 of file CPlusPlusLanguage.h.
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2627 of file CPlusPlusLanguage.cpp.
References lldb_private::VariableList::AppendVariablesWithScope(), lldb::eValueTypeVariableArgument, lldb_private::SymbolContext::function, lldb_private::FormatEntity::Entry::FunctionBasename, lldb_private::FormatEntity::Entry::FunctionFormattedArguments, lldb_private::FormatEntity::Entry::FunctionQualifiers, lldb_private::FormatEntity::Entry::FunctionReturnLeft, lldb_private::FormatEntity::Entry::FunctionReturnRight, lldb_private::FormatEntity::Entry::FunctionScope, lldb_private::FormatEntity::Entry::FunctionSuffix, lldb_private::FormatEntity::Entry::FunctionTemplateArguments, lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetDemangledBasename(), GetDemangledFunctionQualifiers(), GetDemangledFunctionSuffix(), GetDemangledReturnTypeLHS(), GetDemangledReturnTypeRHS(), GetDemangledScope(), GetDemangledTemplateArguments(), GetFunctionVariableList(), lldb_private::GetLog(), lldb_private::Language, LLDB_LOG_ERROR, lldb_private::FormatEntity::PrettyPrintFunctionArguments(), PrintDemangledArgumentList(), and lldb_private::SymbolContext::symbol.
|
overridevirtual |
Returns true if this language handles the names mangled with scheme.
Reimplemented from lldb_private::Language.
Definition at line 117 of file CPlusPlusLanguage.cpp.
References lldb_private::Mangled::eManglingSchemeItanium, and lldb_private::Mangled::eManglingSchemeMSVC.
Referenced by CreateMangledNameParser(), and SymbolNameFitsToLanguage().
|
static |
Definition at line 64 of file CPlusPlusLanguage.cpp.
References CPlusPlusLanguage(), CreateInstance(), DebuggerInitialize(), GetPluginNameStatic(), Initialize(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by Initialize().
|
static |
|
overridevirtual |
Reimplemented from lldb_private::Language.
Definition at line 2539 of file CPlusPlusLanguage.cpp.
References lldb_private::ValueObject::GetObjectRuntimeLanguage(), lldb_private::ValueObject::GetValueAsUnsigned(), lldb_private::ValueObject::IsPointerType(), and lldb_private::Language::LanguageIsCPlusPlus().
|
overridevirtual |
Implements lldb_private::Language.
Definition at line 2548 of file CPlusPlusLanguage.cpp.
|
static |
Substitutes Itanium structor encoding substrings given by subst_from in mangled_name with subst_to.
This function will only replace Itanium structor encodings (i.e., <ctor-dtor-name> productions in the Itanium ABI mangling grammar). However, no verifiction is done on whether subst_from or subst_to is a valid structor encoding.
| [in] | mangled_name | Mangled name to perform the substitutions in. This function only supports Itanium ABI mangling. |
| [in] | subst_from | The substring to substitute. |
| [in] | subst_to | The substring to insert. |
ConstString (even if the string already contained the substitutions). If an error occurred, this function returns the error. Definition at line 2896 of file CPlusPlusLanguage.cpp.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::ResolveFunctionCallLabel().
|
static |
Tries replacing Itanium structor encoding substrings in mangled_name with potential aliases.j.
This function will only replace Itanium structor encodings (i.e., <ctor-dtor-name> productions in the Itanium ABI mangling grammar).
E.g., on some platforms, the C1/D1 variants are aliased to the C2/D2 variants. This function will try to replace occurrences of C1/D1 with C2/D2.
| [in] | mangled_name | Mangled name to perform the substitutions in. This function only supports Itanium ABI mangling. |
ConstString (even if the string already contained the substitutions). If an error occurred, this function returns the error. Definition at line 2903 of file CPlusPlusLanguage.cpp.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::FindFunctionDefinition(), and GenerateAlternateFunctionManglings().
|
static |
Substitutes Itanium type encoding substrings given by subst_from in mangled_name with subst_to.
This function will only replace Itanium type encodings (i.e., <type> productions in the Itanium ABI mangling grammar). However, no verifiction is done on whether subst_from or subst_to is a valid type encoding.
| [in] | mangled_name | Mangled name to perform the substitutions in. This function only supports Itanium ABI mangling. |
| [in] | subst_from | The substring to substitute. |
| [in] | subst_to | The substring to insert. |
ConstString (even if the string already contained the substitutions). If an error occurred, this function returns the error. Definition at line 2890 of file CPlusPlusLanguage.cpp.
Referenced by GenerateAlternateFunctionManglings().
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 from lldb_private::Language.
Definition at line 111 of file CPlusPlusLanguage.cpp.
References lldb_private::Mangled::GetMangledName(), lldb_private::Mangled::GetManglingScheme(), lldb_private::ConstString::GetStringRef(), and HandlesManglingScheme().
|
static |
Definition at line 69 of file CPlusPlusLanguage.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().