From 5949cd8aef8e7c5aa210d4575e30dd86393363c5 Mon Sep 17 00:00:00 2001 From: Amber Brault Date: Sat, 7 Dec 2024 22:21:15 -0500 Subject: [PATCH] Cleanup --- Source/Core/Common/SymbolDB.cpp | 3 +- Source/Core/Core/PowerPC/CWDemangler.cpp | 75 +++++++------------ Source/Core/Core/PowerPC/CWDemangler.h | 7 +- Source/Core/DolphinLib.props | 2 + Source/Core/DolphinLib.vcxproj | 21 +++--- Source/Core/DolphinQt/Debugger/CodeWidget.cpp | 4 +- .../Core/PowerPC/CWDemanglerTest.cpp | 13 ++-- 7 files changed, 53 insertions(+), 72 deletions(-) diff --git a/Source/Core/Common/SymbolDB.cpp b/Source/Core/Common/SymbolDB.cpp index 3fe8e7cfc4..10d85b425b 100644 --- a/Source/Core/Common/SymbolDB.cpp +++ b/Source/Core/Common/SymbolDB.cpp @@ -33,7 +33,8 @@ void Symbol::Rename(const std::string& symbol_name) this->function_name = GetStrippedFunctionName(symbol_name); // Try demangling the symbol name, saving it in the symbol if valid. - auto demangle_result = CWDemangler::demangle(symbol_name, DemangleOptions::DemangleOptions()); + DemangleOptions options = DemangleOptions::DemangleOptions(); + auto demangle_result = CWDemangler::demangle(symbol_name, options); if (demangle_result) { this->demangled_name = demangle_result.value(); diff --git a/Source/Core/Core/PowerPC/CWDemangler.cpp b/Source/Core/Core/PowerPC/CWDemangler.cpp index 4341db3b69..f2c25c1d32 100644 --- a/Source/Core/Core/PowerPC/CWDemangler.cpp +++ b/Source/Core/Core/PowerPC/CWDemangler.cpp @@ -9,50 +9,28 @@ #include "common/StringUtil.h" static const std::map operators = { - {"nw", "operator new"}, - {"nwa", "operator new[]"}, - {"dl", "operator delete"}, - {"dla", "operator delete[]"}, - {"pl", "operator+"}, - {"mi", "operator-"}, - {"ml", "operator*"}, - {"dv", "operator/"}, - {"md", "operator%"}, - {"er", "operator^"}, - {"ad", "operator&"}, - {"or", "operator|"}, - {"co", "operator~"}, - {"nt", "operator!"}, - {"as", "operator="}, - {"lt", "operator<"}, - {"gt", "operator>"}, - {"apl", "operator+="}, - {"ami", "operator-="}, - {"amu", "operator*="}, - {"adv", "operator/="}, - {"amd", "operator%="}, - {"aer", "operator^="}, - {"aad", "operator&="}, - {"aor", "operator|="}, - {"ls", "operator<<"}, - {"rs", "operator>>"}, - {"ars", "operator>>="}, - {"als", "operator<<="}, - {"eq", "operator=="}, - {"ne", "operator!="}, - {"le", "operator<="}, - {"ge", "operator>="}, - {"aa", "operator&&"}, - {"oo", "operator||"}, - {"pp", "operator++"}, - {"mm", "operator--"}, - {"cm", "operator,"}, - {"rm", "operator->*"}, - {"rf", "operator->"}, - {"cl", "operator()"}, - {"vc", "operator[]"}, - {"vt", "__vtable"} -}; + {"nw", "operator new"}, {"nwa", "operator new[]"}, + {"dl", "operator delete"}, {"dla", "operator delete[]"}, + {"pl", "operator+"}, {"mi", "operator-"}, + {"ml", "operator*"}, {"dv", "operator/"}, + {"md", "operator%"}, {"er", "operator^"}, + {"ad", "operator&"}, {"or", "operator|"}, + {"co", "operator~"}, {"nt", "operator!"}, + {"as", "operator="}, {"lt", "operator<"}, + {"gt", "operator>"}, {"apl", "operator+="}, + {"ami", "operator-="}, {"amu", "operator*="}, + {"adv", "operator/="}, {"amd", "operator%="}, + {"aer", "operator^="}, {"aad", "operator&="}, + {"aor", "operator|="}, {"ls", "operator<<"}, + {"rs", "operator>>"}, {"ars", "operator>>="}, + {"als", "operator<<="}, {"eq", "operator=="}, + {"ne", "operator!="}, {"le", "operator<="}, + {"ge", "operator>="}, {"aa", "operator&&"}, + {"oo", "operator||"}, {"pp", "operator++"}, + {"mm", "operator--"}, {"cm", "operator,"}, + {"rm", "operator->*"}, {"rf", "operator->"}, + {"cl", "operator()"}, {"vc", "operator[]"}, + {"vt", "__vtable"}}; std::tuple CWDemangler::parse_qualifiers(std::string str) { @@ -241,7 +219,7 @@ CWDemangler::demangle_qualified_name(std::string str, DemangleOptions options) int count = 0; - if (!(std::istringstream(str.substr(1,1)) >> count)) + if (!(std::istringstream(str.substr(1, 1)) >> count)) return {}; str = str.substr(2); @@ -547,7 +525,9 @@ CWDemangler::demangle_function_args(std::string str, DemangleOptions options) return {{result, str}}; } -std::optional CWDemangler::demangle_special_function(std::string str, std::string class_name, DemangleOptions options) +std::optional CWDemangler::demangle_special_function(std::string str, + std::string class_name, + DemangleOptions options) { if (str.starts_with("op")) { @@ -808,8 +788,7 @@ std::optional CWDemangler::demangle(std::string str, DemangleOption /// Finds the first double underscore in the string, excluding any that are part of a /// template argument list or operator name. -std::optional CWDemangler::find_split(std::string s, bool special, - DemangleOptions options) +std::optional CWDemangler::find_split(std::string s, bool special, DemangleOptions options) { size_t start = 0; diff --git a/Source/Core/Core/PowerPC/CWDemangler.h b/Source/Core/Core/PowerPC/CWDemangler.h index 3a91b47447..093614e3bf 100644 --- a/Source/Core/Core/PowerPC/CWDemangler.h +++ b/Source/Core/Core/PowerPC/CWDemangler.h @@ -22,10 +22,10 @@ struct DemangleOptions mw_extensions = false; } - DemangleOptions(bool omit_empty_parameters, bool mw_extensions) + DemangleOptions(bool omit_empty_params, bool mw_exts) { - this->omit_empty_parameters = omit_empty_parameters; - this->mw_extensions = mw_extensions; + this->omit_empty_parameters = omit_empty_params; + this->mw_extensions = mw_exts; } }; @@ -58,7 +58,6 @@ private: return true; } - static std::tuple parse_qualifiers(std::string str); static std::optional> parse_digits(std::string str); static std::optional find_split(std::string s, bool special, DemangleOptions options); diff --git a/Source/Core/DolphinLib.props b/Source/Core/DolphinLib.props index a61f0d822a..0600dcab44 100644 --- a/Source/Core/DolphinLib.props +++ b/Source/Core/DolphinLib.props @@ -433,6 +433,7 @@ + @@ -1095,6 +1096,7 @@ + diff --git a/Source/Core/DolphinLib.vcxproj b/Source/Core/DolphinLib.vcxproj index 90177eb938..c9bfb7af0b 100644 --- a/Source/Core/DolphinLib.vcxproj +++ b/Source/Core/DolphinLib.vcxproj @@ -71,22 +71,19 @@ - - - - - - - + - + + ]]> + @@ -94,6 +91,10 @@ - + \ No newline at end of file diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp index bd667e612c..162ebae29e 100644 --- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp @@ -454,8 +454,8 @@ void CodeWidget::UpdateFunctionCallers(const Common::Symbol* symbol) if (!caller_symbol->object_name.empty()) { - name = QString::fromStdString(fmt::format("< {} ({}, {:08x})", symbol_name, - caller_symbol->object_name, addr)); + name = QString::fromStdString( + fmt::format("< {} ({}, {:08x})", symbol_name, caller_symbol->object_name, addr)); } else { diff --git a/Source/UnitTests/Core/PowerPC/CWDemanglerTest.cpp b/Source/UnitTests/Core/PowerPC/CWDemanglerTest.cpp index ee00621d9a..6c606f50ac 100644 --- a/Source/UnitTests/Core/PowerPC/CWDemanglerTest.cpp +++ b/Source/UnitTests/Core/PowerPC/CWDemanglerTest.cpp @@ -37,7 +37,8 @@ void DoDemangleQualifiedNameTest(std::string mangled, std::string baseName, std: EXPECT_EQ(result, expected); } -void DoDemangleArgTest(std::string mangled, std::string typePre, std::string typePost, std::string remainder) +void DoDemangleArgTest(std::string mangled, std::string typePre, std::string typePost, + std::string remainder) { DemangleOptions options = DemangleOptions(); @@ -70,7 +71,8 @@ void DoDemangleTest(std::string mangled, std::string demangled) EXPECT_EQ(result, expected); } -void DoDemangleOptionsTest(bool omitEmptyParams, bool mwExtensions, std::string mangled, std::string demangled) +void DoDemangleOptionsTest(bool omitEmptyParams, bool mwExtensions, std::string mangled, + std::string demangled) { DemangleOptions options = DemangleOptions(omitEmptyParams, mwExtensions); @@ -84,8 +86,8 @@ TEST(CWDemangler, TestDemangleTemplateArgs) { DoDemangleTemplateArgsTest("single_ptr<10CModelData>", "single_ptr", ""); DoDemangleTemplateArgsTest("basic_string,Q24rstl17rmemory_allocator>", - "basic_string", - ", rstl::rmemory_allocator>"); + "basic_string", + ", rstl::rmemory_allocator>"); } TEST(CWDemangler, TestDemangleName) @@ -438,6 +440,3 @@ TEST(CWDemangler, TestDemangleOptions) DoDemangleOptionsTest(true, true, "fn<3,PV2>__FPC2", "fn<3, volatile __vec2x32float__*>(const __vec2x32float__*)"); } - - -