module Cradare2::Util::Demangler

Overview

Demangler for Crystal, C++, and Rust symbol names.

Defined in:

cradare2/util/demangler.cr

Class Method Summary

Class Method Detail

def self.clean_crystal_symbol(symbol : String) : String #

Cleans Crystal mangled names for human-readable display


[View source]
def self.clear_cache : Nil #

Clears the demangling cache.


[View source]
def self.demangle(symbol : String, client : Transport::Base | Nil = nil) : String #

Demangles a symbol name. If an optional radare2 command runner is given, it can query radare2's built-in demangler (?m) for C++/Rust/MSVC symbols.


[View source]
def self.is_crystal_symbol?(symbol : String) : Bool #

Checks if symbol matches common Crystal mangled symbol conventions


[View source]
def self.is_mangled_native?(symbol : String) : Bool #

Checks if symbol looks like Itanium (_Z...) or MSVC (?...) mangled C++


[View source]
def self.parse_crystal_method(symbol : String) : Tuple(String, String, Bool) | Nil #

Parses a cleaned or mangled Crystal symbol into {class_name, method_name, is_instance_method} Returns nil if the symbol cannot be decomposed into a Crystal class and method.


[View source]