|
Rizin
unix-like reverse engineering framework and cli tools
|
#include "libiberty.h"Go to the source code of this file.
Classes | |
| struct | demangler_engine |
| struct | demangle_component |
Typedefs | |
| typedef void(* | demangle_callbackref) (const char *, size_t, void *) |
Variables | |
| enum demangling_styles | current_demangling_style |
| const struct demangler_engine | libiberty_demanglers [] |
| #define ARM_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_ARM) |
Definition at line 110 of file demangle.h.
| #define ARM_DEMANGLING_STYLE_STRING "arm" |
Definition at line 95 of file demangle.h.
| #define AUTO_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_AUTO) |
Definition at line 107 of file demangle.h.
| #define AUTO_DEMANGLING_STYLE_STRING "auto" |
Definition at line 92 of file demangle.h.
| #define CURRENT_DEMANGLING_STYLE current_demangling_style |
Definition at line 106 of file demangle.h.
| #define DLANG_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_DLANG) |
Definition at line 116 of file demangle.h.
| #define DLANG_DEMANGLING_STYLE_STRING "dlang" |
Definition at line 101 of file demangle.h.
Definition at line 44 of file demangle.h.
| #define DMGL_ARM (1 << 11) |
Definition at line 54 of file demangle.h.
| #define DMGL_AUTO (1 << 8) |
Definition at line 51 of file demangle.h.
| #define DMGL_DLANG (1 << 16) |
Definition at line 59 of file demangle.h.
| #define DMGL_EDG (1 << 13) |
Definition at line 56 of file demangle.h.
| #define DMGL_GNAT (1 << 15) |
Definition at line 58 of file demangle.h.
| #define DMGL_GNU (1 << 9) |
Definition at line 52 of file demangle.h.
| #define DMGL_GNU_V3 (1 << 14) |
Definition at line 57 of file demangle.h.
| #define DMGL_HP |
Definition at line 55 of file demangle.h.
| #define DMGL_JAVA (1 << 2) /* Demangle as Java rather than C++. */ |
Definition at line 45 of file demangle.h.
| #define DMGL_LUCID (1 << 10) |
Definition at line 53 of file demangle.h.
| #define DMGL_NO_OPTS 0 /* For readability... */ |
Definition at line 42 of file demangle.h.
| #define DMGL_PARAMS (1 << 0) /* Include function args */ |
Definition at line 43 of file demangle.h.
| #define DMGL_RET_DROP |
Definition at line 49 of file demangle.h.
| #define DMGL_RET_POSTFIX |
Definition at line 48 of file demangle.h.
| #define DMGL_RUST (1 << 17) /* Rust wraps GNU_V3 style mangling. */ |
Definition at line 60 of file demangle.h.
| #define DMGL_STYLE_MASK (DMGL_AUTO | DMGL_GNU | DMGL_LUCID | DMGL_ARM | DMGL_HP | DMGL_EDG | DMGL_GNU_V3 | DMGL_JAVA | DMGL_GNAT | DMGL_DLANG | DMGL_RUST) |
Definition at line 63 of file demangle.h.
Definition at line 47 of file demangle.h.
| #define DMGL_VERBOSE (1 << 3) /* Include implementation details. */ |
Definition at line 46 of file demangle.h.
| #define EDG_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_EDG) |
Definition at line 112 of file demangle.h.
| #define EDG_DEMANGLING_STYLE_STRING "edg" |
Definition at line 97 of file demangle.h.
| #define GNAT_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNAT) |
Definition at line 115 of file demangle.h.
| #define GNAT_DEMANGLING_STYLE_STRING "gnat" |
Definition at line 100 of file demangle.h.
| #define GNU_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNU) |
Definition at line 108 of file demangle.h.
| #define GNU_DEMANGLING_STYLE_STRING "gnu" |
Definition at line 93 of file demangle.h.
| #define GNU_V3_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_GNU_V3) |
Definition at line 113 of file demangle.h.
| #define GNU_V3_DEMANGLING_STYLE_STRING "gnu-v3" |
Definition at line 98 of file demangle.h.
| #define HP_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_HP) |
Definition at line 111 of file demangle.h.
| #define HP_DEMANGLING_STYLE_STRING "hp" |
Definition at line 96 of file demangle.h.
| #define JAVA_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_JAVA) |
Definition at line 114 of file demangle.h.
| #define JAVA_DEMANGLING_STYLE_STRING "java" |
Definition at line 99 of file demangle.h.
| #define LUCID_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_LUCID) |
Definition at line 109 of file demangle.h.
| #define LUCID_DEMANGLING_STYLE_STRING "lucid" |
Definition at line 94 of file demangle.h.
| #define NO_DEMANGLING_STYLE_STRING "none" |
Definition at line 91 of file demangle.h.
| #define RUST_DEMANGLING (((int)CURRENT_DEMANGLING_STYLE) & DMGL_RUST) |
Definition at line 117 of file demangle.h.
| #define RUST_DEMANGLING_STYLE_STRING "rust" |
Definition at line 102 of file demangle.h.
Definition at line 149 of file demangle.h.
Definition at line 245 of file demangle.h.
| enum demangling_styles |
Definition at line 73 of file demangle.h.
| enum gnu_v3_ctor_kinds |
| Enumerator | |
|---|---|
| gnu_v3_complete_object_ctor | |
| gnu_v3_base_object_ctor | |
| gnu_v3_complete_object_allocating_ctor | |
| gnu_v3_unified_ctor | |
| gnu_v3_object_ctor_group | |
Definition at line 195 of file demangle.h.
| enum gnu_v3_dtor_kinds |
| Enumerator | |
|---|---|
| gnu_v3_deleting_dtor | |
| gnu_v3_complete_object_dtor | |
| gnu_v3_base_object_dtor | |
| gnu_v3_unified_dtor | |
| gnu_v3_object_dtor_group | |
Definition at line 213 of file demangle.h.
References demangler_engine::demangling_style_name.
| int cplus_demangle_fill_builtin_type | ( | struct demangle_component * | fill, |
| const char * | type_name | ||
| ) |
| int cplus_demangle_fill_component | ( | struct demangle_component * | fill, |
| enum | demangle_component_type, | ||
| struct demangle_component * | left, | ||
| struct demangle_component * | right | ||
| ) |
| int cplus_demangle_fill_ctor | ( | struct demangle_component * | fill, |
| enum gnu_v3_ctor_kinds | kind, | ||
| struct demangle_component * | name | ||
| ) |
Definition at line 871 of file cp-demangle.c.
References DEMANGLE_COMPONENT_CTOR, gnu_v3_complete_object_ctor, gnu_v3_object_ctor_group, demangle_component::kind, name, NULL, and p.
Referenced by d_make_ctor().
| int cplus_demangle_fill_dtor | ( | struct demangle_component * | fill, |
| enum gnu_v3_dtor_kinds | kind, | ||
| struct demangle_component * | name | ||
| ) |
Definition at line 886 of file cp-demangle.c.
References DEMANGLE_COMPONENT_DTOR, gnu_v3_deleting_dtor, gnu_v3_object_dtor_group, demangle_component::kind, name, NULL, and p.
Referenced by d_make_dtor().
| int cplus_demangle_fill_extended_operator | ( | struct demangle_component * | fill, |
| int | numargs, | ||
| struct demangle_component * | nm | ||
| ) |
Definition at line 857 of file cp-demangle.c.
References args, DEMANGLE_COMPONENT_EXTENDED_OPERATOR, name, NULL, and p.
Referenced by d_make_extended_operator().
| int cplus_demangle_fill_name | ( | struct demangle_component * | fill, |
| const char * | s, | ||
| int | len | ||
| ) |
Definition at line 844 of file cp-demangle.c.
References DEMANGLE_COMPONENT_NAME, len, NULL, p, and s.
Referenced by d_make_name().
| int cplus_demangle_fill_operator | ( | struct demangle_component * | fill, |
| const char * | opname, | ||
| int | args | ||
| ) |
| enum demangling_styles cplus_demangle_name_to_style | ( | const char * | name | ) |
| char* cplus_demangle_print | ( | int | options, |
| struct demangle_component * | tree, | ||
| int | estimated_length, | ||
| size_t * | p_allocated_size | ||
| ) |
Definition at line 4010 of file cp-demangle.c.
References d_growable_string::alc, d_growable_string::allocation_failure, d_growable_string::buf, cplus_demangle_print_callback(), d_growable_string_callback_adapter(), d_growable_string_init(), free(), NULL, and options.
| int cplus_demangle_print_callback | ( | int | options, |
| struct demangle_component * | tree, | ||
| demangle_callbackref | callback, | ||
| void * | opaque | ||
| ) |
Definition at line 3967 of file cp-demangle.c.
References __extension__, alloca(), d_print_info::callback, CP_STATIC_IF_GLIBCPP_V3, d_print_comp(), d_print_flush(), d_print_init(), d_print_saw_error(), and d_print_info::opaque.
Referenced by cplus_demangle_print(), and d_demangle_callback().
| enum demangling_styles cplus_demangle_set_style | ( | enum demangling_styles | style | ) |
Definition at line 5942 of file cp-demangle.c.
References d_growable_string::alc, d_demangle(), and options.
| int cplus_demangle_v3_callback | ( | const char * | mangled, |
| int | options, | ||
| demangle_callbackref | callback, | ||
| void * | opaque | ||
| ) |
Definition at line 5948 of file cp-demangle.c.
References d_demangle_callback(), and options.
| struct demangle_component* cplus_demangle_v3_components | ( | const char * | mangled, |
| int | options, | ||
| void ** | mem | ||
| ) |
| enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor | ( | const char * | name | ) |
Definition at line 5982 of file cp-demangle.c.
| enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor | ( | const char * | name | ) |
Definition at line 5982 of file cp-demangle.c.
| char* java_demangle_v3 | ( | const char * | mangled | ) |
Definition at line 5960 of file cp-demangle.c.
References d_growable_string::alc, d_demangle(), DMGL_JAVA, DMGL_PARAMS, and DMGL_RET_POSTFIX.
| int java_demangle_v3_callback | ( | const char * | mangled, |
| demangle_callbackref | callback, | ||
| void * | opaque | ||
| ) |
Definition at line 5966 of file cp-demangle.c.
References d_demangle_callback(), DMGL_JAVA, DMGL_PARAMS, and DMGL_RET_POSTFIX.
| void rust_demangle_sym | ( | char * | sym | ) |
| void set_cplus_marker_for_demangling | ( | int | ch | ) |
| enum demangling_styles current_demangling_style |
| const struct demangler_engine libiberty_demanglers[] |