mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-04-02 05:27:41 -05:00
sys: Updated llvm demangler, now supports D-Lang and Rust symbols
This commit is contained in:
@@ -37,15 +37,21 @@ namespace hex::plugin::builtin {
|
||||
using namespace hex::literals;
|
||||
|
||||
void drawDemangler() {
|
||||
static std::vector<char> mangledBuffer(0xF'FFFF, 0x00);
|
||||
static std::string demangledName;
|
||||
static std::string mangledName, demangledName;
|
||||
|
||||
if (ImGui::InputText("hex.builtin.tools.demangler.mangled"_lang, mangledBuffer.data(), 0xF'FFFF)) {
|
||||
demangledName = llvm::demangle(mangledBuffer.data());
|
||||
if (ImGui::InputTextWithHint("hex.builtin.tools.demangler.mangled"_lang, "Itanium, MSVC, Dlang & Rust", mangledName)) {
|
||||
demangledName = llvm::demangle(mangledName);
|
||||
|
||||
if (demangledName == mangledName) {
|
||||
demangledName = "???";
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::InputText("hex.builtin.tools.demangler.demangled"_lang, demangledName.data(), demangledName.size(), ImGuiInputTextFlags_ReadOnly);
|
||||
ImGui::NewLine();
|
||||
ImGui::Header("hex.builtin.tools.demangler.demangled"_lang);
|
||||
if (ImGui::BeginChild("demangled", ImVec2(0, 200_scaled), true)) {
|
||||
ImGui::TextFormattedWrapped("{}", demangledName);
|
||||
}
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void drawASCIITable() {
|
||||
|
||||
@@ -594,7 +594,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "Byteverteilung" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM Demangler" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "Mangled Namen" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "Demangled Namen" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCII Tabelle" },
|
||||
|
||||
@@ -598,7 +598,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "Byte Distribution" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM Demangler" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "Mangled name" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "Demangled name" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCII table" },
|
||||
|
||||
@@ -602,7 +602,7 @@ namespace hex::plugin::builtin {
|
||||
//{ "hex.builtin.nodes.visualizer.byte_distribution.header", "Byte Distribution" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM Demangler" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "Nome Mangled" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "Nome Demangled" },
|
||||
{ "hex.builtin.tools.ascii_table", "Tavola ASCII" },
|
||||
|
||||
@@ -599,7 +599,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "バイト分布" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVCデマングラー" },
|
||||
{ "hex.builtin.tools.demangler", "LLVMデマングラー" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "マングリング名" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "デマングリング名" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCIIテーブル" },
|
||||
|
||||
@@ -594,7 +594,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "Byte Distribution" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM Demangler" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "Mangled name" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "Demangled name" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCII table" },
|
||||
|
||||
@@ -599,7 +599,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "字节分布" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC 名还原" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM 名还原" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "修饰名" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "还原名" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCII 表" },
|
||||
|
||||
@@ -595,7 +595,7 @@ namespace hex::plugin::builtin {
|
||||
{ "hex.builtin.nodes.visualizer.byte_distribution.header", "Byte Distribution" },
|
||||
|
||||
|
||||
{ "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
|
||||
{ "hex.builtin.tools.demangler", "LLVM Demangler" },
|
||||
{ "hex.builtin.tools.demangler.mangled", "Mangled name" },
|
||||
{ "hex.builtin.tools.demangler.demangled", "Demangled name" },
|
||||
{ "hex.builtin.tools.ascii_table", "ASCII 表" },
|
||||
|
||||
Reference in New Issue
Block a user