Skip to content

Commit 4b848aa

Browse files
fix info variable not being passed to parent class
1 parent 715cfde commit 4b848aa

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

lldb/source/Core/Mangled.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ void Mangled::SetValue(ConstString name) {
150150

151151
// BEGIN SWIFT
152152
#ifdef LLDB_ENABLE_SWIFT
153-
static ConstString GetSwiftDemangledStr(ConstString m_mangled,
154-
const SymbolContext *sc,
155-
ConstString &m_demangled) {
153+
std::pair<ConstString, DemangledNameInfo>
154+
GetSwiftDemangledStr(ConstString m_mangled, const SymbolContext *sc,
155+
ConstString &m_demangled) {
156156
const char *mangled_name = m_mangled.AsCString("");
157157
Log *log = GetLog(LLDBLog::Demangle);
158158
LLDB_LOGF(log, "demangle swift: %s", mangled_name);
@@ -168,7 +168,7 @@ static ConstString GetSwiftDemangledStr(ConstString m_mangled,
168168
if (!sc || !sc->function) {
169169
LLDB_LOGF(log, "demangle swift: %s -> \"%s\" (not cached)", mangled_name,
170170
demangled.c_str());
171-
return ConstString(demangled);
171+
return std::make_pair(ConstString(demangled), info);
172172
}
173173
if (demangled.empty()) {
174174
LLDB_LOGF(log, "demangle swift: %s -> error: failed to demangle",
@@ -178,7 +178,7 @@ static ConstString GetSwiftDemangledStr(ConstString m_mangled,
178178
demangled.c_str());
179179
m_demangled.SetStringWithMangledCounterpart(demangled, m_mangled);
180180
}
181-
return m_demangled;
181+
return std::make_pair(m_demangled, info);
182182
}
183183
#endif // LLDB_ENABLE_SWIFT
184184
// END SWIFT
@@ -384,7 +384,11 @@ ConstString Mangled::GetDemangledNameImpl(bool force, // BEGIN SWIFT
384384
// Demangling a swift name requires the swift compiler. This is
385385
// explicitly unsupported on llvm.org.
386386
#ifdef LLDB_ENABLE_SWIFT
387-
return GetSwiftDemangledStr(m_mangled, sc, m_demangled);
387+
{
388+
auto demangled = GetSwiftDemangledStr(m_mangled, sc, m_demangled);
389+
m_demangled_info.emplace(std::move(demangled.second));
390+
return demangled.first;
391+
}
388392
#endif // LLDB_ENABLE_SWIFT
389393
break;
390394
case eManglingSchemeNone:

lldb/source/Plugins/Language/Swift/SwiftLanguage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2094,7 +2094,7 @@ class PluginProperties : public Properties {
20942094
}
20952095

20962096
FormatEntity::Entry GetFunctionNameFormat() const {
2097-
return GetPropertyAtIndexAs<const FormatEntity::Entry>(
2097+
return GetPropertyAtIndexAs<FormatEntity::Entry>(
20982098
ePropertyFunctionNameFormat, {});
20992099
}
21002100
};

0 commit comments

Comments
 (0)