diff options
Diffstat (limited to 'lldb/source/Core/Mangled.cpp')
-rw-r--r-- | lldb/source/Core/Mangled.cpp | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp index 15baffd212aff..143ec8770bf47 100644 --- a/lldb/source/Core/Mangled.cpp +++ b/lldb/source/Core/Mangled.cpp @@ -1,4 +1,4 @@ -//===-- Mangled.cpp ---------------------------------------------*- C++ -*-===// +//===-- Mangled.cpp -------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -142,9 +142,8 @@ void Mangled::Clear() { // Compare the string values. int Mangled::Compare(const Mangled &a, const Mangled &b) { - return ConstString::Compare( - a.GetName(lldb::eLanguageTypeUnknown, ePreferMangled), - b.GetName(lldb::eLanguageTypeUnknown, ePreferMangled)); + return ConstString::Compare(a.GetName(ePreferMangled), + b.GetName(ePreferMangled)); } // Set the string value in this objects. If "mangled" is true, then the mangled @@ -182,7 +181,7 @@ void Mangled::SetValue(ConstString name) { // Local helpers for different demangling implementations. static char *GetMSVCDemangledStr(const char *M) { char *demangled_cstr = llvm::microsoftDemangle( - M, nullptr, nullptr, nullptr, + M, nullptr, nullptr, nullptr, nullptr, llvm::MSDemangleFlags(llvm::MSDF_NoAccessSpecifier | llvm::MSDF_NoCallingConvention | llvm::MSDF_NoMemberType)); @@ -295,8 +294,7 @@ bool Mangled::DemangleWithRichManglingInfo( // class will need to use this accessor if it wishes to decode the demangled // name. The result is cached and will be kept until a new string value is // supplied to this object, or until the end of the object's lifetime. -ConstString -Mangled::GetDemangledName(lldb::LanguageType language) const { +ConstString Mangled::GetDemangledName() const { // Check to make sure we have a valid mangled name and that we haven't // already decoded our mangled name. if (m_mangled && m_demangled.IsNull()) { @@ -341,26 +339,24 @@ Mangled::GetDemangledName(lldb::LanguageType language) const { } ConstString -Mangled::GetDisplayDemangledName(lldb::LanguageType language) const { - return GetDemangledName(language); +Mangled::GetDisplayDemangledName() const { + return GetDemangledName(); } -bool Mangled::NameMatches(const RegularExpression ®ex, - lldb::LanguageType language) const { - if (m_mangled && regex.Execute(m_mangled.AsCString())) +bool Mangled::NameMatches(const RegularExpression ®ex) const { + if (m_mangled && regex.Execute(m_mangled.GetStringRef())) return true; - ConstString demangled = GetDemangledName(language); - return demangled && regex.Execute(demangled.AsCString()); + ConstString demangled = GetDemangledName(); + return demangled && regex.Execute(demangled.GetStringRef()); } // Get the demangled name if there is one, else return the mangled name. -ConstString Mangled::GetName(lldb::LanguageType language, - Mangled::NamePreference preference) const { +ConstString Mangled::GetName(Mangled::NamePreference preference) const { if (preference == ePreferMangled && m_mangled) return m_mangled; - ConstString demangled = GetDemangledName(language); + ConstString demangled = GetDemangledName(); if (preference == ePreferDemangledWithoutArguments) { return get_demangled_name_without_arguments(m_mangled, demangled); @@ -417,12 +413,10 @@ lldb::LanguageType Mangled::GuessLanguage() const { const char *mangled_name = mangled.GetCString(); if (CPlusPlusLanguage::IsCPPMangledName(mangled_name)) return lldb::eLanguageTypeC_plus_plus; - else if (ObjCLanguage::IsPossibleObjCMethodName(mangled_name)) - return lldb::eLanguageTypeObjC; } else { // ObjC names aren't really mangled, so they won't necessarily be in the // mangled name slot. - ConstString demangled_name = GetDemangledName(lldb::eLanguageTypeUnknown); + ConstString demangled_name = GetDemangledName(); if (demangled_name && ObjCLanguage::IsPossibleObjCMethodName(demangled_name.GetCString())) return lldb::eLanguageTypeObjC; @@ -436,8 +430,7 @@ Stream &operator<<(Stream &s, const Mangled &obj) { if (obj.GetMangledName()) s << "mangled = '" << obj.GetMangledName() << "'"; - ConstString demangled = - obj.GetDemangledName(lldb::eLanguageTypeUnknown); + ConstString demangled = obj.GetDemangledName(); if (demangled) s << ", demangled = '" << demangled << '\''; else |