From 1c4bfc35d980856033714a84a8425e71576623eb Mon Sep 17 00:00:00 2001 From: Amber Brault Date: Sat, 2 Nov 2024 16:48:11 -0400 Subject: Core: Store object name separately for symbols --- Source/Core/DolphinQt/Debugger/CodeWidget.cpp | 32 +++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'Source/Core/DolphinQt/Debugger/CodeWidget.cpp') diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp index c36f8c31d7..af8315f179 100644 --- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp @@ -379,6 +379,12 @@ void CodeWidget::UpdateSymbols() { QString name = QString::fromStdString(symbol.second.name); + // If the symbol has an object name, add it to the entry name. + if (!symbol.second.object_name.empty()) + { + name += QString::fromStdString(fmt::format(" ({})", symbol.second.object_name)); + } + auto* item = new QListWidgetItem(name); if (name == selection) item->setSelected(true); @@ -408,8 +414,17 @@ void CodeWidget::UpdateFunctionCalls(const Common::Symbol* symbol) if (call_symbol) { - const QString name = - QString::fromStdString(fmt::format("> {} ({:08x})", call_symbol->name, addr)); + QString name; + + if (!call_symbol->object_name.empty()) + { + name = QString::fromStdString( + fmt::format("< {} ({}, {:08x})", call_symbol->name, call_symbol->object_name, addr)); + } + else + { + name = QString::fromStdString(fmt::format("< {} ({:08x})", call_symbol->name, addr)); + } if (!name.contains(filter, Qt::CaseInsensitive)) continue; @@ -433,8 +448,17 @@ void CodeWidget::UpdateFunctionCallers(const Common::Symbol* symbol) if (caller_symbol) { - const QString name = - QString::fromStdString(fmt::format("< {} ({:08x})", caller_symbol->name, addr)); + QString name; + + if (!caller_symbol->object_name.empty()) + { + name = QString::fromStdString(fmt::format("< {} ({}, {:08x})", caller_symbol->name, + caller_symbol->object_name, addr)); + } + else + { + name = QString::fromStdString(fmt::format("< {} ({:08x})", caller_symbol->name, addr)); + } if (!name.contains(filter, Qt::CaseInsensitive)) continue; -- cgit v1.2.3