#include <sys/types.h>#include <stdio.h>#include <ctype.h>#include "ansidecl.h"#include "libiberty.h"#include "dyn-string.h"#include "demangle.h"

Go to the source code of this file.
| #define advance_char | ( | DM | ) | (++(DM)->next) |
Definition at line 309 of file cp-demangle.c.
Referenced by demangle_bare_function_type(), demangle_builtin_type(), demangle_call_offset(), demangle_char(), demangle_ctor_dtor_name(), demangle_CV_qualifiers(), demangle_discriminator(), demangle_expr_primary(), demangle_function_type(), demangle_identifier(), demangle_literal(), demangle_local_name(), demangle_number_literally(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_type(), and demangle_type_ptr().
| #define ANONYMOUS_NAMESPACE_PREFIX "_GLOBAL_" |
Definition at line 84 of file cp-demangle.c.
| #define BFT_NO_RETURN_TYPE NULL |
Definition at line 961 of file cp-demangle.c.
Referenced by demangle_bare_function_type(), and demangle_encoding().
Definition at line 290 of file cp-demangle.c.
| #define DEMANGLE_TRACE | ( | PRODUCTION, | |||
| DM | ) |
Definition at line 72 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_bare_function_type(), demangle_builtin_type(), demangle_call_offset(), demangle_class_enum_type(), demangle_ctor_dtor_name(), demangle_CV_qualifiers(), demangle_encoding(), demangle_expr_primary(), demangle_expression(), demangle_function_type(), demangle_identifier(), demangle_literal(), demangle_local_name(), demangle_mangled_name(), demangle_name(), demangle_nested_name(), demangle_number(), demangle_number_literally(), demangle_nv_offset(), demangle_operator_name(), demangle_prefix(), demangle_source_name(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_template_param(), demangle_type(), demangle_type_ptr(), demangle_unqualified_name(), and demangle_v_offset().
| #define dyn_string_append_space | ( | DS | ) |
Value:
((dyn_string_length (DS) > 0 \ && dyn_string_last_char (DS) != ' ') \ ? dyn_string_append_char ((DS), ' ') \ : 1)
Definition at line 283 of file cp-demangle.c.
Referenced by demangle_bare_function_type(), and demangle_CV_qualifiers().
| #define dyn_string_last_char | ( | DS | ) | (dyn_string_buf (DS)[dyn_string_length (DS) - 1]) |
Definition at line 278 of file cp-demangle.c.
| #define end_of_name_p | ( | DM | ) | (peek_char (DM) == '\0') |
Definition at line 306 of file cp-demangle.c.
Referenced by demangle_bare_function_type(), demangle_encoding(), demangle_identifier(), and demangle_prefix().
| #define IS_ALPHA | ( | CHAR | ) |
Definition at line 77 of file cp-demangle.c.
| #define NAMESPACE_SEPARATOR (dm->style == DMGL_JAVA ? "." : "::") |
Definition at line 302 of file cp-demangle.c.
Referenced by demangle_ctor_dtor_name(), demangle_identifier(), demangle_name(), demangle_number_literally(), demangle_operator_name(), DST_dump(), DST_line_overflow(), DST_nput_char(), DST_put_string(), DST_write_line(), main(), parse_imp_do(), parse_io_list(), and W2CF_Symtab_Alloc_Chars().
| #define peek_char | ( | DM | ) | (*((DM)->next)) |
Definition at line 293 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_bare_function_type(), demangle_builtin_type(), demangle_call_offset(), demangle_char(), demangle_ctor_dtor_name(), demangle_CV_qualifiers(), demangle_discriminator(), demangle_encoding(), demangle_expr_primary(), demangle_expression(), demangle_function_type(), demangle_identifier(), demangle_literal(), demangle_local_name(), demangle_name(), demangle_nested_name(), demangle_number_literally(), demangle_prefix(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_template_param(), demangle_type(), demangle_type_ptr(), and demangle_unqualified_name().
| #define peek_char_next | ( | DM | ) | (peek_char (DM) == '\0' ? '\0' : (*((DM)->next + 1))) |
Definition at line 297 of file cp-demangle.c.
Referenced by demangle_expression(), demangle_identifier(), demangle_name(), demangle_type(), and demangle_unqualified_name().
| #define result_add | ( | DM, | |||
| CSTR | ) |
Value:
(dyn_string_insert_cstr (&(DM)->result->string, \ result_caret_pos (DM), (CSTR)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 327 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_bare_function_type(), demangle_builtin_type(), demangle_ctor_dtor_name(), demangle_discriminator(), demangle_expression(), demangle_function_type(), demangle_literal(), demangle_local_name(), demangle_name(), demangle_nv_offset(), demangle_operator_name(), demangle_prefix(), demangle_scope_expression(), demangle_special_name(), demangle_substitution(), demangle_template_args(), demangle_type(), demangle_type_ptr(), and demangle_v_offset().
| #define result_add_char | ( | DM, | |||
| CHAR | ) |
Value:
(dyn_string_insert_char (&(DM)->result->string, \ result_caret_pos (DM), (CHAR)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 333 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_bare_function_type(), demangle_ctor_dtor_name(), demangle_discriminator(), demangle_expression(), demangle_literal(), demangle_nested_name(), demangle_nv_offset(), demangle_special_name(), demangle_type(), demangle_type_ptr(), demangle_v_offset(), and result_add_separated_char().
| #define result_add_string | ( | DM, | |||
| STRING | ) |
Value:
(dyn_string_insert (&(DM)->result->string, \ result_caret_pos (DM), (STRING)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 321 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_ctor_dtor_name(), demangle_expression(), demangle_literal(), demangle_nested_name(), demangle_nv_offset(), demangle_source_name(), demangle_special_name(), demangle_substitution(), demangle_template_args(), demangle_template_param(), demangle_type(), and demangle_v_offset().
| #define result_caret_pos | ( | DM | ) |
Value:
(result_length (DM) + \ ((string_list_t) result_string (DM))->caret_position)
Definition at line 316 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_encoding(), demangle_type_ptr(), result_add_separated_char(), result_previous_char_is_space(), substitution_add(), and substitution_start().
| #define result_close_template_list | ( | DM | ) | result_add_separated_char(DM, '>') |
| #define result_insert | ( | DM, | |||
| POS, | |||||
| CSTR | ) |
Value:
(dyn_string_insert_cstr (&(DM)->result->string, (POS), (CSTR)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 345 of file cp-demangle.c.
Referenced by demangle_type_ptr().
| #define result_insert_char | ( | DM, | |||
| POS, | |||||
| CHAR | ) |
Value:
(dyn_string_insert_char (&(DM)->result->string, (POS), (CHAR)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 350 of file cp-demangle.c.
Referenced by demangle_type_ptr().
| #define result_insert_string | ( | DM, | |||
| POS, | |||||
| STRING | ) |
Value:
(dyn_string_insert (&(DM)->result->string, (POS), (STRING)) \ ? STATUS_OK : STATUS_ALLOCATION_FAILED)
Definition at line 339 of file cp-demangle.c.
Referenced by demangle_type_ptr().
Definition at line 355 of file cp-demangle.c.
Referenced by ffecom_gen_sfuncdef_(), and sxt_sequence().
| #define result_open_template_list | ( | DM | ) | result_add_separated_char(DM, '<') |
Definition at line 312 of file cp-demangle.c.
Referenced by demangle_bare_function_type(), result_add_separated_char(), result_get_caret(), result_previous_char_is_space(), result_set_caret(), result_shift_caret(), and substitution_add().
| #define RETURN_IF_ERROR | ( | EXPR | ) |
Value:
do \ { \ status_t s = EXPR; \ if (!STATUS_NO_ERROR (s)) \ return s; \ } \ while (0)
Definition at line 223 of file cp-demangle.c.
Referenced by demangle_array_type(), demangle_bare_function_type(), demangle_builtin_type(), demangle_call_offset(), demangle_class_enum_type(), demangle_ctor_dtor_name(), demangle_discriminator(), demangle_encoding(), demangle_expr_primary(), demangle_expression(), demangle_function_type(), demangle_literal(), demangle_local_name(), demangle_mangled_name(), demangle_name(), demangle_nested_name(), demangle_nv_offset(), demangle_operator_name(), demangle_prefix(), demangle_scope_expression(), demangle_source_name(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_template_param(), demangle_type(), demangle_type_ptr(), demangle_unqualified_name(), demangle_v_offset(), and result_add_separated_char().
| #define STATUS_ALLOCATION_FAILED status_allocation_failed |
Definition at line 215 of file cp-demangle.c.
Referenced by cp_demangle(), cp_demangle_type(), cplus_demangle_v3(), demangle_array_type(), demangle_bare_function_type(), demangle_CV_qualifiers(), demangle_identifier(), demangle_literal(), demangle_nested_name(), demangle_number(), demangle_number_literally(), demangle_nv_offset(), demangle_special_name(), demangle_substitution(), demangle_template_args(), demangle_type(), demangle_v_offset(), int_to_dyn_string(), java_demangle_v3(), result_push(), and substitution_add().
| #define STATUS_ERROR "Error." |
Definition at line 209 of file cp-demangle.c.
Referenced by demangle_ctor_dtor_name(), demangle_discriminator(), demangle_expr_primary(), demangle_identifier(), and demangle_special_name().
| #define STATUS_INTERNAL_ERROR "Internal error." |
Definition at line 218 of file cp-demangle.c.
Referenced by cp_demangle(), cp_demangle_type(), cplus_demangle_v3(), demangle_array_type(), demangle_bare_function_type(), demangle_expression(), demangle_literal(), demangle_nested_name(), demangle_nv_offset(), demangle_special_name(), demangle_type_ptr(), demangle_v3_with_details(), demangle_v_offset(), and java_demangle_v3().
| #define STATUS_OK NULL |
Definition at line 208 of file cp-demangle.c.
Referenced by cp_demangle(), cp_demangle_type(), demangle_array_type(), demangle_bare_function_type(), demangle_builtin_type(), demangle_call_offset(), demangle_char(), demangle_class_enum_type(), demangle_ctor_dtor_name(), demangle_CV_qualifiers(), demangle_discriminator(), demangle_encoding(), demangle_expr_primary(), demangle_expression(), demangle_function_type(), demangle_identifier(), demangle_literal(), demangle_local_name(), demangle_mangled_name(), demangle_name(), demangle_nested_name(), demangle_number(), demangle_number_literally(), demangle_nv_offset(), demangle_operator_name(), demangle_prefix(), demangle_scope_expression(), demangle_source_name(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_template_param(), demangle_type(), demangle_type_ptr(), demangle_unqualified_name(), demangle_v_offset(), int_to_dyn_string(), result_add_separated_char(), result_push(), and substitution_add().
| #define STATUS_UNIMPLEMENTED "Unimplemented." |
| typedef struct demangling_def* demangling_t |
Definition at line 201 of file cp-demangle.c.
| typedef const char* status_t |
Definition at line 205 of file cp-demangle.c.
| typedef struct string_list_def* string_list_t |
Definition at line 119 of file cp-demangle.c.
Definition at line 148 of file cp-demangle.c.
| static status_t cp_demangle | ( | char * | name, | |
| dyn_string_t | result, | |||
| int | style | |||
| ) | const [static] |
Definition at line 3559 of file cp-demangle.c.
References demangle_mangled_name(), demangling_delete(), demangling_new(), dyn_string_copy(), dyn_string_copy_cstr(), dyn_string_delete(), length, NULL, result_pop(), result_push(), STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, STATUS_OK, and strlen().
Referenced by cplus_demangle_v3(), and java_demangle_v3().
| static status_t cp_demangle_type | ( | char* | type_name, | |
| dyn_string_t | result | |||
| ) | const [static] |
Definition at line 3609 of file cp-demangle.c.
References demangle_type(), demangling_delete(), demangling_new(), DMGL_GNU_V3, dyn_string_copy(), dyn_string_delete(), NULL, result_pop(), result_push(), STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by cplus_demangle_v3().
| char* cplus_demangle_v3 | ( | char* | mangled, | |
| int | options | |||
| ) | const |
Definition at line 3762 of file cp-demangle.c.
References abort, cp_demangle(), cp_demangle_type(), DMGL_TYPES, DMGL_VERBOSE, dyn_string_delete(), dyn_string_new(), dyn_string_release(), flag_verbose, fprintf(), NULL, STATUS_ALLOCATION_FAILED, and STATUS_NO_ERROR.
| static template_arg_list_t current_template_arg_list | ( | demangling_t | dm | ) | [static] |
Definition at line 805 of file cp-demangle.c.
References demangling_def::template_arg_lists.
Referenced by demangle_encoding(), demangle_template_param(), and demangle_type().
| static status_t demangle_array_type | ( | demangling_t | dm, | |
| int * | ptr_insert_pos | |||
| ) | [static] |
Definition at line 2873 of file cp-demangle.c.
References array_size, demangle_char(), demangle_expression(), demangle_number_literally(), DEMANGLE_TRACE, demangle_type(), dyn_string_delete(), dyn_string_new(), IS_DIGIT, NULL, peek_char, result_add, result_add_char, result_add_string, result_caret_pos, result_pop(), result_push(), RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by demangle_type(), and demangle_type_ptr().
| static status_t demangle_bare_function_type | ( | demangling_t | dm, | |
| int * | return_type_pos | |||
| ) | [static] |
Definition at line 2765 of file cp-demangle.c.
References advance_char, BFT_NO_RETURN_TYPE, DEMANGLE_TRACE, demangle_type(), dyn_string_append_space, dyn_string_delete(), dyn_string_insert(), dyn_string_length, end_of_name_p, peek_char, result_add, result_add_char, result_pop(), result_push(), result_string, RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by demangle_encoding(), and demangle_function_type().
| static status_t demangle_builtin_type | ( | demangling_t | dm | ) | [static] |
Definition at line 2653 of file cp-demangle.c.
References advance_char, demangle_source_name(), DEMANGLE_TRACE, DMGL_JAVA, NULL, peek_char, result_add, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_type().
| static status_t demangle_call_offset | ( | demangling_t | dm | ) | [static] |
Definition at line 1840 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_nv_offset(), DEMANGLE_TRACE, demangle_v_offset(), peek_char, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_special_name().
| static status_t demangle_char | ( | demangling_t | dm, | |
| int | c | |||
| ) | [static] |
Definition at line 967 of file cp-demangle.c.
References advance_char, NULL, peek_char, STATUS_OK, and strdup.
Referenced by demangle_array_type(), demangle_call_offset(), demangle_expr_primary(), demangle_function_type(), demangle_local_name(), demangle_mangled_name(), demangle_nested_name(), demangle_scope_expression(), demangle_special_name(), demangle_substitution(), demangle_template_arg(), demangle_template_args(), demangle_template_param(), and demangle_v_offset().
| static status_t demangle_class_enum_type | ( | demangling_t | dm, | |
| int * | encode_return_type | |||
| ) | [static] |
Definition at line 2845 of file cp-demangle.c.
References demangle_name(), DEMANGLE_TRACE, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_type().
| static status_t demangle_ctor_dtor_name | ( | demangling_t | dm | ) | [static] |
Definition at line 2090 of file cp-demangle.c.
References advance_char, DEMANGLE_TRACE, flag_verbose, gnu_v3_base_object_ctor, gnu_v3_base_object_dtor, gnu_v3_complete_object_allocating_ctor, gnu_v3_complete_object_ctor, gnu_v3_complete_object_dtor, gnu_v3_deleting_dtor, next_char, peek_char, result_add, result_add_char, result_add_string, RETURN_IF_ERROR, STATUS_ERROR, and STATUS_OK.
Referenced by demangle_unqualified_name().
| static status_t demangle_CV_qualifiers | ( | demangling_t | dm, | |
| dyn_string_t | qualifiers | |||
| ) | [static] |
Definition at line 2691 of file cp-demangle.c.
References advance_char, DEMANGLE_TRACE, dyn_string_append_cstr(), dyn_string_append_space, peek_char, STATUS_ALLOCATION_FAILED, and STATUS_OK.
Referenced by demangle_nested_name(), and demangle_type().
| static status_t demangle_discriminator | ( | demangling_t | dm, | |
| int | suppress_first | |||
| ) | [static] |
Definition at line 3514 of file cp-demangle.c.
References advance_char, demangle_number(), flag_verbose, int_to_dyn_string(), IS_DIGIT, peek_char, result_add, result_add_char, RETURN_IF_ERROR, STATUS_ERROR, and STATUS_OK.
Referenced by demangle_local_name().
| static status_t demangle_encoding | ( | demangling_t | dm | ) | [static] |
Definition at line 1009 of file cp-demangle.c.
References BFT_NO_RETURN_TYPE, current_template_arg_list(), demangle_bare_function_type(), demangle_name(), demangle_special_name(), DEMANGLE_TRACE, end_of_name_p, peek_char, pop_to_template_arg_list(), result_caret_pos, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_local_name(), demangle_mangled_name(), demangle_scope_expression(), demangle_special_name(), and demangle_template_arg().
| static status_t demangle_expr_primary | ( | demangling_t | dm | ) | [static] |
Definition at line 3289 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_literal(), demangle_mangled_name(), demangle_template_param(), DEMANGLE_TRACE, peek_char, RETURN_IF_ERROR, STATUS_ERROR, and STATUS_OK.
Referenced by demangle_expression().
| static status_t demangle_expression | ( | demangling_t | dm | ) | [static] |
Definition at line 3202 of file cp-demangle.c.
References demangle_expr_primary(), demangle_expression(), demangle_operator_name(), demangle_scope_expression(), DEMANGLE_TRACE, demangle_type(), dyn_string_delete(), peek_char, peek_char_next, result_add, result_add_char, result_add_string, result_pop(), result_push(), RETURN_IF_ERROR, STATUS_NO_ERROR, and STATUS_OK.
| static status_t demangle_function_type | ( | demangling_t | dm, | |
| int * | function_name_pos | |||
| ) | [static] |
Definition at line 2739 of file cp-demangle.c.
References advance_char, demangle_bare_function_type(), demangle_char(), DEMANGLE_TRACE, flag_verbose, peek_char, result_add, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_type_ptr().
| static status_t demangle_identifier | ( | demangling_t | dm, | |
| int | length, | |||
| dyn_string_t | identifier | |||
| ) | [static] |
Definition at line 1462 of file cp-demangle.c.
References advance_char, ANONYMOUS_NAMESPACE_PREFIX, buf, DEMANGLE_TRACE, dyn_string_append_char(), dyn_string_append_cstr(), dyn_string_buf, dyn_string_clear(), dyn_string_copy_cstr(), dyn_string_resize(), end_of_name_p, flag_strict, isxdigit(), next_char, peek_char, peek_char_next, pos(), STATUS_ALLOCATION_FAILED, STATUS_ERROR, STATUS_OK, strlen(), strncmp(), and strtol().
Referenced by demangle_source_name().
| static status_t demangle_literal | ( | demangling_t | dm | ) | [static] |
Definition at line 3057 of file cp-demangle.c.
References advance_char, demangle_number_literally(), DEMANGLE_TRACE, demangle_type(), dyn_string_delete(), dyn_string_new(), flag_verbose, NULL, peek_char, result_add, result_add_char, result_add_string, RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, STATUS_OK, and STATUS_UNIMPLEMENTED.
Referenced by demangle_expr_primary(), and demangle_template_arg().
| static status_t demangle_local_name | ( | demangling_t | dm | ) | [static] |
Definition at line 3476 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_discriminator(), demangle_encoding(), demangle_name(), DEMANGLE_TRACE, peek_char, result_add, RETURN_IF_ERROR, STATUS_OK, and unused.
Referenced by demangle_name(), and demangle_prefix().
| static status_t demangle_mangled_name | ( | demangling_t | dm | ) | [static] |
Definition at line 992 of file cp-demangle.c.
References demangle_char(), demangle_encoding(), DEMANGLE_TRACE, RETURN_IF_ERROR, and STATUS_OK.
Referenced by cp_demangle(), demangle_expr_primary(), and demangle_v3_with_details().
| static status_t demangle_name | ( | demangling_t | dm, | |
| int * | encode_return_type | |||
| ) | [static] |
Definition at line 1070 of file cp-demangle.c.
References demangle_local_name(), demangle_nested_name(), demangle_substitution(), demangle_template_args(), DEMANGLE_TRACE, demangle_unqualified_name(), is_std_substitution(), next_char, peek_char, peek_char_next, result_add, RETURN_IF_ERROR, start, STATUS_OK, substitution_add(), substitution_start(), and void.
Referenced by demangle_class_enum_type(), demangle_encoding(), demangle_local_name(), and demangle_special_name().
| static status_t demangle_nested_name | ( | demangling_t | dm, | |
| int * | encode_return_type | |||
| ) | [static] |
Definition at line 1157 of file cp-demangle.c.
References demangle_char(), demangle_CV_qualifiers(), demangle_prefix(), DEMANGLE_TRACE, dyn_string_delete(), dyn_string_length, dyn_string_new(), NULL, peek_char, result_add_char, result_add_string, result_shift_caret(), RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by demangle_name().
| static status_t demangle_number | ( | demangling_t | dm, | |
| int * | value, | |||
| int | base, | |||
| int | is_signed | |||
| ) | [static] |
Definition at line 1389 of file cp-demangle.c.
References demangle_number_literally(), DEMANGLE_TRACE, dyn_string_buf, dyn_string_delete(), dyn_string_new(), NULL, STATUS_ALLOCATION_FAILED, STATUS_OK, and strtol().
Referenced by demangle_discriminator(), demangle_source_name(), demangle_substitution(), and demangle_template_param().
| static status_t demangle_number_literally | ( | demangling_t | dm, | |
| dyn_string_t | str, | |||
| int | base, | |||
| int | is_signed | |||
| ) | [static] |
Definition at line 1417 of file cp-demangle.c.
References advance_char, DEMANGLE_TRACE, dyn_string_append_char(), IS_DIGIT, next_char, peek_char, STATUS_ALLOCATION_FAILED, STATUS_INTERNAL_ERROR, and STATUS_OK.
Referenced by demangle_array_type(), demangle_literal(), demangle_number(), demangle_nv_offset(), demangle_special_name(), and demangle_v_offset().
| static status_t demangle_nv_offset | ( | demangling_t | dm | ) | [static] |
Definition at line 1750 of file cp-demangle.c.
References demangle_number_literally(), DEMANGLE_TRACE, dyn_string_delete(), dyn_string_new(), flag_verbose, NULL, result_add, result_add_char, result_add_string, RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by demangle_call_offset(), and demangle_special_name().
| static status_t demangle_operator_name | ( | demangling_t | dm, | |
| int | short_name, | |||
| int * | num_args, | |||
| int * | type_arg | |||
| ) | [static] |
Definition at line 1604 of file cp-demangle.c.
References demangle_source_name(), DEMANGLE_TRACE, demangle_type(), IS_DIGIT, next_char, p, p1, p2, result_add, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_expression(), and demangle_unqualified_name().
| static status_t demangle_prefix | ( | demangling_t | dm, | |
| int * | encode_return_type | |||
| ) | [static] |
Definition at line 1213 of file cp-demangle.c.
References demangle_local_name(), demangle_substitution(), demangle_template_args(), DEMANGLE_TRACE, demangle_unqualified_name(), end_of_name_p, IS_DIGIT, NAMESPACE_SEPARATOR, peek_char, result_add, RETURN_IF_ERROR, start, STATUS_OK, substitution_add(), and substitution_start().
| static status_t demangle_scope_expression | ( | demangling_t | dm | ) | [static] |
Definition at line 3271 of file cp-demangle.c.
References demangle_char(), demangle_encoding(), demangle_type(), result_add, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_expression().
| static status_t demangle_source_name | ( | demangling_t | dm | ) | [static] |
Definition at line 1355 of file cp-demangle.c.
References demangle_identifier(), demangle_number(), DEMANGLE_TRACE, length, result_add_string, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_builtin_type(), demangle_operator_name(), demangle_type(), and demangle_unqualified_name().
| static status_t demangle_special_name | ( | demangling_t | dm | ) | [static] |
Definition at line 1901 of file cp-demangle.c.
References advance_char, demangle_call_offset(), demangle_char(), demangle_encoding(), demangle_name(), demangle_number_literally(), demangle_nv_offset(), DEMANGLE_TRACE, demangle_type(), demangle_v_offset(), dyn_string_delete(), dyn_string_new(), flag_strict, flag_verbose, NULL, peek_char, result_add, result_add_char, result_add_string, result_pop(), result_push(), RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_ERROR, STATUS_NO_ERROR, STATUS_OK, and unused.
Referenced by demangle_encoding().
| static status_t demangle_substitution | ( | demangling_t | dm, | |
| int * | template_p | |||
| ) | [static] |
Definition at line 3338 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_number(), DEMANGLE_TRACE, dyn_string_copy_cstr(), flag_verbose, IS_DIGIT, NULL, peek_char, result_add, result_add_string, RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_OK, and substitution_get().
Referenced by demangle_name(), demangle_prefix(), and demangle_type().
| static status_t demangle_template_arg | ( | demangling_t | dm | ) | [static] |
Definition at line 3157 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_encoding(), demangle_expression(), demangle_literal(), DEMANGLE_TRACE, demangle_type(), peek_char, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_template_args().
| static status_t demangle_template_args | ( | demangling_t | dm | ) | [static] |
Definition at line 2987 of file cp-demangle.c.
References advance_char, demangle_char(), demangle_template_arg(), DEMANGLE_TRACE, dyn_string_delete(), dyn_string_new(), first, NULL, peek_char, push_template_arg_list(), result_add, result_add_string, result_close_template_list, result_open_template_list, result_pop(), result_push(), RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_OK, template_arg_list_add_arg(), and template_arg_list_new().
Referenced by demangle_name(), demangle_prefix(), and demangle_type().
| static status_t demangle_template_param | ( | demangling_t | dm | ) | [static] |
Definition at line 2948 of file cp-demangle.c.
References current_template_arg_list(), demangle_char(), demangle_number(), DEMANGLE_TRACE, NULL, peek_char, result_add_string, RETURN_IF_ERROR, STATUS_OK, and template_arg_list_get_arg().
Referenced by demangle_expr_primary(), and demangle_type().
| static status_t demangle_type | ( | demangling_t | dm | ) | [static] |
Definition at line 2363 of file cp-demangle.c.
References advance_char, current_template_arg_list(), demangle_array_type(), demangle_builtin_type(), demangle_class_enum_type(), demangle_CV_qualifiers(), demangle_source_name(), demangle_substitution(), demangle_template_args(), demangle_template_param(), DEMANGLE_TRACE, demangle_type_ptr(), dyn_string_delete(), dyn_string_length, dyn_string_new(), IS_DIGIT, next, NULL, peek_char, peek_char_next, pop_to_template_arg_list(), result_add, result_add_char, result_add_string, result_get_caret(), result_set_caret(), result_shift_caret(), RETURN_IF_ERROR, start, STATUS_ALLOCATION_FAILED, STATUS_OK, substitution_add(), and substitution_start().
Referenced by cp_demangle_type(), demangle_array_type(), demangle_bare_function_type(), demangle_expression(), demangle_literal(), demangle_operator_name(), demangle_scope_expression(), demangle_special_name(), demangle_template_arg(), and demangle_type_ptr().
| static status_t demangle_type_ptr | ( | demangling_t | dm, | |
| int * | insert_pos, | |||
| int | substitution_start | |||
| ) | [static] |
Definition at line 2195 of file cp-demangle.c.
References advance_char, class_type, demangle_array_type(), demangle_function_type(), DEMANGLE_TRACE, demangle_type(), DMGL_JAVA, dyn_string_delete(), dyn_string_length, peek_char, result_add, result_add_char, result_caret_pos, result_insert, result_insert_char, result_insert_string, result_pop(), result_previous_char_is_space(), result_push(), RETURN_IF_ERROR, STATUS_NO_ERROR, STATUS_OK, and substitution_add().
Referenced by demangle_type().
| static status_t demangle_unqualified_name | ( | demangling_t | dm, | |
| int * | suppress_return_type | |||
| ) | [static] |
Definition at line 1312 of file cp-demangle.c.
References demangle_ctor_dtor_name(), demangle_operator_name(), demangle_source_name(), DEMANGLE_TRACE, IS_DIGIT, NULL, peek_char, peek_char_next, RETURN_IF_ERROR, and STATUS_OK.
Referenced by demangle_name(), and demangle_prefix().
| static demangling_t demangle_v3_with_details | ( | char * | name | ) | const [static] |
Definition at line 3930 of file cp-demangle.c.
References abort, demangle_mangled_name(), demangling_delete(), demangling_new(), DMGL_GNU_V3, fprintf(), NULL, result_push(), STATUS_NO_ERROR, and strncmp().
Referenced by is_gnu_v3_mangled_ctor(), and is_gnu_v3_mangled_dtor().
| static status_t demangle_v_offset | ( | demangling_t | dm | ) | [static] |
Definition at line 1786 of file cp-demangle.c.
References demangle_char(), demangle_number_literally(), DEMANGLE_TRACE, dyn_string_delete(), dyn_string_new(), flag_verbose, NULL, result_add, result_add_char, result_add_string, RETURN_IF_ERROR, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, and STATUS_OK.
Referenced by demangle_call_offset(), and demangle_special_name().
| static void demangling_delete | ( | demangling_t | dm | ) | [static] |
Definition at line 852 of file cp-demangle.c.
References dyn_string_delete(), free(), i, next, template_arg_list_def::next, NULL, string_list_delete(), and template_arg_list_delete().
Referenced by cp_demangle(), cp_demangle_type(), demangle_v3_with_details(), is_gnu_v3_mangled_ctor(), and is_gnu_v3_mangled_dtor().
| static demangling_t demangling_new | ( | char * | name, | |
| int | style | |||
| ) | const [static] |
Definition at line 816 of file cp-demangle.c.
References dyn_string_delete(), dyn_string_new(), demangling_def::is_constructor, demangling_def::is_destructor, demangling_def::last_source_name, malloc, demangling_def::name, demangling_def::next, NULL, demangling_def::num_substitutions, demangling_def::result, demangling_def::style, demangling_def::substitutions, demangling_def::substitutions_allocated, and demangling_def::template_arg_lists.
Referenced by cp_demangle(), cp_demangle_type(), and demangle_v3_with_details().
| static status_t int_to_dyn_string | ( | int | value, | |
| dyn_string_t | ds | |||
| ) | [static] |
Definition at line 369 of file cp-demangle.c.
References digit, dyn_string_append_char(), i, STATUS_ALLOCATION_FAILED, and STATUS_OK.
Referenced by demangle_discriminator().
| enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor | ( | char * | name | ) | const |
Definition at line 3969 of file cp-demangle.c.
References demangle_v3_with_details(), demangling_delete(), and demangling_def::is_constructor.
| enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor | ( | char * | name | ) | const |
Definition at line 3991 of file cp-demangle.c.
References demangle_v3_with_details(), demangling_delete(), and demangling_def::is_destructor.
| char* java_demangle_v3 | ( | char* | mangled | ) | const |
Definition at line 3822 of file cp-demangle.c.
References abort, cp_demangle(), DMGL_JAVA, dyn_string_append_cstr(), dyn_string_delete(), dyn_string_new(), dyn_string_release(), end, fprintf(), free(), len, next, NULL, STATUS_ALLOCATION_FAILED, STATUS_NO_ERROR, strchr, strlen(), and strstr().
| static status_t cp_demangle_type PARAMS | ( | (const char *, dyn_string_t) | ) | [static] |
| static status_t cp_demangle PARAMS | ( | (const char *, dyn_string_t, int) | ) | [static] |
| static status_t demangle_CV_qualifiers PARAMS | ( | (demangling_t, dyn_string_t) | ) | [static] |
| static status_t demangle_type_ptr PARAMS | ( | (demangling_t, int *, int) | ) | [static] |
| static status_t demangle_operator_name PARAMS | ( | (demangling_t, int, int *, int *) | ) | [static] |
| static status_t demangle_identifier PARAMS | ( | (demangling_t, int, dyn_string_t) | ) | [static] |
| static status_t demangle_number_literally PARAMS | ( | (demangling_t, dyn_string_t, int, int) | ) | [static] |
| static status_t demangle_number PARAMS | ( | (demangling_t, int *, int, int) | ) | [static] |
| static status_t demangle_name PARAMS | ( | (demangling_t, int *) | ) | [static] |
| static demangling_t demangling_new PARAMS | ( | (const char *, int) | ) | [static] |
| static void push_template_arg_list PARAMS | ( | (demangling_t, template_arg_list_t) | ) | [static] |
| static string_list_t template_arg_list_get_arg PARAMS | ( | (template_arg_list_t, int) | ) | [static] |
| static void template_arg_list_add_arg PARAMS | ( | (template_arg_list_t, string_list_t) | ) | [static] |
| static void template_arg_list_delete PARAMS | ( | (template_arg_list_t) | ) | [static] |
| static template_arg_list_t template_arg_list_new PARAMS | ( | (void) | ) | [static, read] |
Definition at line 77 of file cplus-dem.c.
| static dyn_string_t substitution_get PARAMS | ( | (demangling_t, int, int *) | ) | [static] |
| static status_t substitution_add PARAMS | ( | (demangling_t, int, int) | ) | [static] |
| static status_t result_push PARAMS | ( | (demangling_t) | ) | [static] |
| static status_t result_add_separated_char PARAMS | ( | (demangling_t, int) | ) | [static] |
| static void string_list_delete PARAMS | ( | (string_list_t) | ) | [static] |
| static string_list_t string_list_new PARAMS | ( | (int) | ) | [static] |
| static status_t int_to_dyn_string PARAMS | ( | (int, dyn_string_t) | ) | [static] |
| static void pop_to_template_arg_list | ( | demangling_t | dm, | |
| template_arg_list_t | arg_list | |||
| ) | [static] |
Definition at line 758 of file cp-demangle.c.
References fprintf(), template_arg_list_def::next, template_arg_list_delete(), and top.
Referenced by demangle_encoding(), and demangle_type().
| static void push_template_arg_list | ( | demangling_t | dm, | |
| template_arg_list_t | arg_list | |||
| ) | [static] |
Definition at line 741 of file cp-demangle.c.
References fprintf(), and template_arg_list_def::next.
Referenced by demangle_template_args().
| static status_t result_add_separated_char | ( | demangling_t | dm, | |
| int | character | |||
| ) | [static] |
Definition at line 451 of file cp-demangle.c.
References dyn_string_buf, result, result_add_char, result_caret_pos, result_string, RETURN_IF_ERROR, and STATUS_OK.
| static int result_get_caret | ( | demangling_t | dm | ) | [static] |
Definition at line 505 of file cp-demangle.c.
References result_string.
Referenced by demangle_type().
| static string_list_t result_pop | ( | demangling_t | dm | ) | [static] |
Definition at line 493 of file cp-demangle.c.
References top.
Referenced by cp_demangle(), cp_demangle_type(), demangle_array_type(), demangle_bare_function_type(), demangle_expression(), demangle_special_name(), demangle_template_args(), and demangle_type_ptr().
| static int result_previous_char_is_space | ( | demangling_t | dm | ) | [static] |
Definition at line 538 of file cp-demangle.c.
References dyn_string_buf, pos(), result, result_caret_pos, and result_string.
Referenced by demangle_type_ptr().
| static status_t result_push | ( | demangling_t | dm | ) | [static] |
Definition at line 474 of file cp-demangle.c.
References NULL, STATUS_ALLOCATION_FAILED, STATUS_OK, and string_list_new().
Referenced by cp_demangle(), cp_demangle_type(), demangle_array_type(), demangle_bare_function_type(), demangle_expression(), demangle_special_name(), demangle_template_args(), demangle_type_ptr(), and demangle_v3_with_details().
| static void result_set_caret | ( | demangling_t | dm, | |
| int | position | |||
| ) | [static] |
Definition at line 515 of file cp-demangle.c.
References result_string.
Referenced by demangle_type().
| static void result_shift_caret | ( | demangling_t | dm, | |
| int | position_offset | |||
| ) | [static] |
Definition at line 526 of file cp-demangle.c.
References result_string.
Referenced by demangle_nested_name(), and demangle_type().
| static void string_list_delete | ( | string_list_t | node | ) | [static] |
Definition at line 436 of file cp-demangle.c.
References dyn_string_delete(), next, and NULL.
Referenced by demangling_delete(), and template_arg_list_delete().
| static string_list_t string_list_new | ( | int | length | ) | [static] |
Definition at line 421 of file cp-demangle.c.
References dyn_string_init(), malloc, NULL, and s.
Referenced by result_push().
| static status_t substitution_add | ( | demangling_t | dm, | |
| int | start_position, | |||
| int | template_p | |||
| ) | [static] |
Definition at line 562 of file cp-demangle.c.
References dyn_string_delete(), dyn_string_new(), dyn_string_substring(), i, NULL, realloc, result, result_caret_pos, result_string, STATUS_ALLOCATION_FAILED, and STATUS_OK.
Referenced by demangle_name(), demangle_prefix(), demangle_type(), and demangle_type_ptr().
| static dyn_string_t substitution_get | ( | demangling_t | dm, | |
| int | n, | |||
| int * | template_p | |||
| ) | [static] |
Definition at line 623 of file cp-demangle.c.
References NULL, sub, substitution_def::template_p, and substitution_def::text.
Referenced by demangle_substitution().
| static int substitution_start | ( | demangling_t | dm | ) | [static] |
Definition at line 551 of file cp-demangle.c.
References result_caret_pos.
Referenced by demangle_name(), demangle_prefix(), and demangle_type().
| static void template_arg_list_add_arg | ( | template_arg_list_t | arg_list, | |
| string_list_t | arg | |||
| ) | [static] |
Definition at line 700 of file cp-demangle.c.
References NULL.
Referenced by demangle_template_args().
| static void template_arg_list_delete | ( | template_arg_list_t | list | ) | [static] |
Definition at line 687 of file cp-demangle.c.
References free(), NULL, and string_list_delete().
Referenced by demangling_delete(), and pop_to_template_arg_list().
| static string_list_t template_arg_list_get_arg | ( | template_arg_list_t | arg_list, | |
| int | index | |||
| ) | [static] |
Definition at line 719 of file cp-demangle.c.
References NULL.
Referenced by demangle_template_param().
| static template_arg_list_t template_arg_list_new | ( | ) | [static] |
Definition at line 670 of file cp-demangle.c.
References template_arg_list_def::first_argument, template_arg_list_def::last_argument, malloc, and NULL.
Referenced by demangle_template_args().
const char* const builtin_type_names[26] [static] |
Initial value:
{
"signed char",
"bool",
"char",
"double",
"long double",
"float",
"__float128",
"unsigned char",
"int",
"unsigned",
NULL,
"long",
"unsigned long",
"__int128",
"unsigned __int128",
NULL,
NULL,
NULL,
"short",
"unsigned short",
NULL,
"void",
"wchar_t",
"long long",
"unsigned long long",
"..."
}
Definition at line 2564 of file cp-demangle.c.
int flag_strict [static] |
Definition at line 98 of file cp-demangle.c.
Referenced by demangle_identifier(), and demangle_special_name().
int flag_verbose [static] |
Definition at line 94 of file cp-demangle.c.
Referenced by cplus_demangle_v3(), demangle_ctor_dtor_name(), demangle_discriminator(), demangle_function_type(), demangle_literal(), demangle_nv_offset(), demangle_special_name(), demangle_substitution(), and demangle_v_offset().
const char* const java_builtin_type_names[26] [static] |
Initial value:
{
"signed char",
"boolean",
"byte",
"double",
"long double",
"float",
"__float128",
"unsigned char",
"int",
"unsigned",
NULL,
"long",
"unsigned long",
"__int128",
"unsigned __int128",
NULL,
NULL,
NULL,
"short",
"unsigned short",
NULL,
"void",
"char",
"long",
"unsigned long long",
"..."
}
Definition at line 2597 of file cp-demangle.c.
const char* const status_allocation_failed = "Allocation failed." [static] |
Definition at line 214 of file cp-demangle.c.
1.5.6