Lines Matching refs:dc
236 #define d_left(dc) ((dc)->u.s_binary.left) argument
237 #define d_right(dc) ((dc)->u.s_binary.right) argument
491 d_dump (struct demangle_component *dc, int indent) in d_dump() argument
495 if (dc == NULL) in d_dump()
505 switch (dc->type) in d_dump()
508 printf ("name '%.*s'\n", dc->u.s_name.len, dc->u.s_name.s); in d_dump()
511 printf ("template parameter %ld\n", dc->u.s_number.number); in d_dump()
514 printf ("constructor %d\n", (int) dc->u.s_ctor.kind); in d_dump()
515 d_dump (dc->u.s_ctor.name, indent + 2); in d_dump()
518 printf ("destructor %d\n", (int) dc->u.s_dtor.kind); in d_dump()
519 d_dump (dc->u.s_dtor.name, indent + 2); in d_dump()
522 printf ("standard substitution %s\n", dc->u.s_string.string); in d_dump()
525 printf ("builtin type %s\n", dc->u.s_builtin.type->name); in d_dump()
528 printf ("operator %s\n", dc->u.s_operator.op->name); in d_dump()
532 dc->u.s_extended_operator.args); in d_dump()
533 d_dump (dc->u.s_extended_operator.name, indent + 2); in d_dump()
678 printf ("character '%c'\n", dc->u.s_character.character); in d_dump()
688 d_dump (d_left (dc), indent + 2); in d_dump()
689 d_dump (d_right (dc), indent + 2); in d_dump()
1068 has_return_type (struct demangle_component *dc) in has_return_type() argument
1070 if (dc == NULL) in has_return_type()
1072 switch (dc->type) in has_return_type()
1077 return ! is_ctor_dtor_or_conversion (d_left (dc)); in has_return_type()
1081 return has_return_type (d_left (dc)); in has_return_type()
1089 is_ctor_dtor_or_conversion (struct demangle_component *dc) in is_ctor_dtor_or_conversion() argument
1091 if (dc == NULL) in is_ctor_dtor_or_conversion()
1093 switch (dc->type) in is_ctor_dtor_or_conversion()
1099 return is_ctor_dtor_or_conversion (d_right (dc)); in is_ctor_dtor_or_conversion()
1125 struct demangle_component *dc; in d_encoding() local
1127 dc = d_name (di); in d_encoding()
1129 if (dc != NULL && top_level && (di->options & DMGL_PARAMS) == 0) in d_encoding()
1134 while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS in d_encoding()
1135 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS in d_encoding()
1136 || dc->type == DEMANGLE_COMPONENT_CONST_THIS) in d_encoding()
1137 dc = d_left (dc); in d_encoding()
1143 if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME) in d_encoding()
1147 dcr = d_right (dc); in d_encoding()
1152 dc->u.s_binary.right = dcr; in d_encoding()
1155 return dc; in d_encoding()
1159 if (dc == NULL || peek == '\0' || peek == 'E') in d_encoding()
1160 return dc; in d_encoding()
1161 return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc, in d_encoding()
1162 d_bare_function_type (di, has_return_type (dc))); in d_encoding()
1182 struct demangle_component *dc; in d_name() local
1202 dc = d_substitution (di, 0); in d_name()
1208 dc = d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, in d_name()
1229 if (! d_add_substitution (di, dc)) in d_name()
1232 dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc, in d_name()
1236 return dc; in d_name()
1240 dc = d_unqualified_name (di); in d_name()
1246 if (! d_add_substitution (di, dc)) in d_name()
1248 dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc, in d_name()
1251 return dc; in d_name()
1302 struct demangle_component *dc; in d_prefix() local
1319 dc = d_unqualified_name (di); in d_prefix()
1321 dc = d_substitution (di, 1); in d_prefix()
1327 dc = d_template_args (di); in d_prefix()
1330 dc = d_template_param (di); in d_prefix()
1347 ret = dc; in d_prefix()
1349 ret = d_make_comp (di, comb_type, ret, dc); in d_prefix()
3072 d_add_substitution (struct d_info *di, struct demangle_component *dc) in d_add_substitution() argument
3074 if (dc == NULL) in d_add_substitution()
3078 di->subs[di->next_sub] = dc; in d_add_substitution()
3390 const struct demangle_component *dc, in cplus_demangle_print_callback() argument
3397 d_print_comp (&dpi, dc); in cplus_demangle_print_callback()
3414 cplus_demangle_print (int options, const struct demangle_component *dc, in cplus_demangle_print() argument
3421 if (! cplus_demangle_print_callback (options, dc, in cplus_demangle_print()
3463 const struct demangle_component *dc) in d_lookup_template_argument() argument
3473 dc->u.s_number.number); in d_lookup_template_argument()
3480 const struct demangle_component *dc) in d_find_pack() argument
3483 if (dc == NULL) in d_find_pack()
3486 switch (dc->type) in d_find_pack()
3489 a = d_lookup_template_argument (dpi, dc); in d_find_pack()
3507 return d_find_pack (dpi, dc->u.s_extended_operator.name); in d_find_pack()
3509 return d_find_pack (dpi, dc->u.s_ctor.name); in d_find_pack()
3511 return d_find_pack (dpi, dc->u.s_dtor.name); in d_find_pack()
3514 a = d_find_pack (dpi, d_left (dc)); in d_find_pack()
3517 return d_find_pack (dpi, d_right (dc)); in d_find_pack()
3524 d_pack_length (const struct demangle_component *dc) in d_pack_length() argument
3527 while (dc && dc->type == DEMANGLE_COMPONENT_TEMPLATE_ARGLIST in d_pack_length()
3528 && d_left (dc) != NULL) in d_pack_length()
3531 dc = d_right (dc); in d_pack_length()
3541 const struct demangle_component *dc) in d_print_subexpr() argument
3544 if (dc->type == DEMANGLE_COMPONENT_NAME in d_print_subexpr()
3545 || dc->type == DEMANGLE_COMPONENT_FUNCTION_PARAM) in d_print_subexpr()
3549 d_print_comp (dpi, dc); in d_print_subexpr()
3558 const struct demangle_component *dc) in d_print_comp() argument
3560 if (dc == NULL) in d_print_comp()
3568 switch (dc->type) in d_print_comp()
3572 d_append_buffer (dpi, dc->u.s_name.s, dc->u.s_name.len); in d_print_comp()
3574 d_print_java_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len); in d_print_comp()
3579 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3584 d_print_comp (dpi, d_right (dc)); in d_print_comp()
3601 typed_name = d_left (dc); in d_print_comp()
3674 d_print_comp (dpi, d_right (dc)); in d_print_comp()
3708 dcl = d_left (dc); in d_print_comp()
3718 d_print_comp (dpi, d_right (dc)); in d_print_comp()
3727 d_print_comp (dpi, d_right (dc)); in d_print_comp()
3743 struct demangle_component *a = d_lookup_template_argument (dpi, dc); in d_print_comp()
3770 d_print_comp (dpi, dc->u.s_ctor.name); in d_print_comp()
3775 d_print_comp (dpi, dc->u.s_dtor.name); in d_print_comp()
3780 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3785 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3790 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3792 d_print_comp (dpi, d_right (dc)); in d_print_comp()
3797 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3802 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3807 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3812 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3817 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3822 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3827 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3832 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3837 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3842 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3846 d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len); in d_print_comp()
3867 if (pdpm->mod->type == dc->type) in d_print_comp()
3869 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3891 dpm.mod = dc; in d_print_comp()
3895 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3900 d_print_mod (dpi, dc); in d_print_comp()
3909 d_append_buffer (dpi, dc->u.s_builtin.type->name, in d_print_comp()
3910 dc->u.s_builtin.type->len); in d_print_comp()
3912 d_append_buffer (dpi, dc->u.s_builtin.type->java_name, in d_print_comp()
3913 dc->u.s_builtin.type->java_len); in d_print_comp()
3917 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3923 d_print_function_type (dpi, dc, dpi->modifiers); in d_print_comp()
3926 if (d_left (dc) != NULL) in d_print_comp()
3934 dpm.mod = dc; in d_print_comp()
3938 d_print_comp (dpi, d_left (dc)); in d_print_comp()
3952 d_print_function_type (dpi, dc, dpi->modifiers); in d_print_comp()
3976 adpm[0].mod = dc; in d_print_comp()
4005 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4018 d_print_array_type (dpi, dc, dpi->modifiers); in d_print_comp()
4030 dpm.mod = dc; in d_print_comp()
4034 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4039 d_print_mod (dpi, dc); in d_print_comp()
4047 if (dc->u.s_fixed.sat) in d_print_comp()
4050 if (dc->u.s_fixed.length->u.s_builtin.type in d_print_comp()
4053 d_print_comp (dpi, dc->u.s_fixed.length); in d_print_comp()
4056 if (dc->u.s_fixed.accum) in d_print_comp()
4064 if (d_left (dc) != NULL) in d_print_comp()
4065 d_print_comp (dpi, d_left (dc)); in d_print_comp()
4066 if (d_right (dc) != NULL) in d_print_comp()
4077 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4090 c = dc->u.s_operator.op->name[0]; in d_print_comp()
4093 d_append_buffer (dpi, dc->u.s_operator.op->name, in d_print_comp()
4094 dc->u.s_operator.op->len); in d_print_comp()
4100 d_print_comp (dpi, dc->u.s_extended_operator.name); in d_print_comp()
4105 d_print_cast (dpi, dc); in d_print_comp()
4109 if (d_left (dc)->type != DEMANGLE_COMPONENT_CAST) in d_print_comp()
4110 d_print_expr_op (dpi, d_left (dc)); in d_print_comp()
4114 d_print_cast (dpi, d_left (dc)); in d_print_comp()
4117 d_print_subexpr (dpi, d_right (dc)); in d_print_comp()
4121 if (d_right (dc)->type != DEMANGLE_COMPONENT_BINARY_ARGS) in d_print_comp()
4130 if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR in d_print_comp()
4131 && d_left (dc)->u.s_operator.op->len == 1 in d_print_comp()
4132 && d_left (dc)->u.s_operator.op->name[0] == '>') in d_print_comp()
4135 d_print_subexpr (dpi, d_left (d_right (dc))); in d_print_comp()
4136 if (strcmp (d_left (dc)->u.s_operator.op->code, "ix") == 0) in d_print_comp()
4139 d_print_comp (dpi, d_right (d_right (dc))); in d_print_comp()
4144 if (strcmp (d_left (dc)->u.s_operator.op->code, "cl") != 0) in d_print_comp()
4145 d_print_expr_op (dpi, d_left (dc)); in d_print_comp()
4146 d_print_subexpr (dpi, d_right (d_right (dc))); in d_print_comp()
4149 if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR in d_print_comp()
4150 && d_left (dc)->u.s_operator.op->len == 1 in d_print_comp()
4151 && d_left (dc)->u.s_operator.op->name[0] == '>') in d_print_comp()
4162 if (d_right (dc)->type != DEMANGLE_COMPONENT_TRINARY_ARG1 in d_print_comp()
4163 || d_right (d_right (dc))->type != DEMANGLE_COMPONENT_TRINARY_ARG2) in d_print_comp()
4168 d_print_subexpr (dpi, d_left (d_right (dc))); in d_print_comp()
4169 d_print_expr_op (dpi, d_left (dc)); in d_print_comp()
4170 d_print_subexpr (dpi, d_left (d_right (d_right (dc)))); in d_print_comp()
4172 d_print_subexpr (dpi, d_right (d_right (d_right (dc)))); in d_print_comp()
4188 if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE) in d_print_comp()
4190 tp = d_left (dc)->u.s_builtin.type->print; in d_print_comp()
4199 if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME) in d_print_comp()
4201 if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) in d_print_comp()
4203 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4229 if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME in d_print_comp()
4230 && d_right (dc)->u.s_name.len == 1 in d_print_comp()
4231 && dc->type == DEMANGLE_COMPONENT_LITERAL) in d_print_comp()
4233 switch (d_right (dc)->u.s_name.s[0]) in d_print_comp()
4253 d_print_comp (dpi, d_left (dc)); in d_print_comp()
4255 if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) in d_print_comp()
4259 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4266 d_append_num (dpi, dc->u.s_number.number); in d_print_comp()
4271 d_print_comp (dpi, d_left (dc)); in d_print_comp()
4275 d_print_comp (dpi, d_left (dc)); in d_print_comp()
4276 d_print_comp (dpi, d_right (dc)); in d_print_comp()
4280 d_append_char (dpi, dc->u.s_character.character); in d_print_comp()
4285 d_print_comp (dpi, d_left (dc)); in d_print_comp()
4293 struct demangle_component *a = d_find_pack (dpi, d_left (dc)); in d_print_comp()
4299 d_print_subexpr (dpi, d_left (dc)); in d_print_comp()
4305 dc = d_left (dc); in d_print_comp()
4309 d_print_comp (dpi, dc); in d_print_comp()
4318 d_append_num (dpi, dc->u.s_number.number + 1); in d_print_comp()
4324 d_print_comp (dpi, dc->u.s_binary.left); in d_print_comp()
4329 d_print_comp (dpi, dc->u.s_binary.left); in d_print_comp()
4334 d_print_comp (dpi, dc->u.s_unary_num.sub); in d_print_comp()
4336 d_append_num (dpi, dc->u.s_unary_num.num + 1); in d_print_comp()
4342 d_append_num (dpi, dc->u.s_number.number + 1); in d_print_comp()
4446 struct demangle_component *dc; in d_print_mod_list() local
4463 dc = d_right (mods->mod); in d_print_mod_list()
4465 if (dc->type == DEMANGLE_COMPONENT_DEFAULT_ARG) in d_print_mod_list()
4468 d_append_num (dpi, dc->u.s_unary_num.num + 1); in d_print_mod_list()
4470 dc = dc->u.s_unary_num.sub; in d_print_mod_list()
4473 while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS in d_print_mod_list()
4474 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS in d_print_mod_list()
4475 || dc->type == DEMANGLE_COMPONENT_CONST_THIS) in d_print_mod_list()
4476 dc = d_left (dc); in d_print_mod_list()
4478 d_print_comp (dpi, dc); in d_print_mod_list()
4559 const struct demangle_component *dc, in d_print_function_type() argument
4625 if (d_right (dc) != NULL) in d_print_function_type()
4626 d_print_comp (dpi, d_right (dc)); in d_print_function_type()
4639 const struct demangle_component *dc, in d_print_array_type() argument
4683 if (d_left (dc) != NULL) in d_print_array_type()
4684 d_print_comp (dpi, d_left (dc)); in d_print_array_type()
4693 const struct demangle_component *dc) in d_print_expr_op() argument
4695 if (dc->type == DEMANGLE_COMPONENT_OPERATOR) in d_print_expr_op()
4696 d_append_buffer (dpi, dc->u.s_operator.op->name, in d_print_expr_op()
4697 dc->u.s_operator.op->len); in d_print_expr_op()
4699 d_print_comp (dpi, dc); in d_print_expr_op()
4706 const struct demangle_component *dc) in d_print_cast() argument
4708 if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE) in d_print_cast()
4709 d_print_comp (dpi, d_left (dc)); in d_print_cast()
4725 dpt.template_decl = d_left (dc); in d_print_cast()
4727 d_print_comp (dpi, d_left (d_left (dc))); in d_print_cast()
4734 d_print_comp (dpi, d_right (d_left (dc))); in d_print_cast()
4794 struct demangle_component *dc; in d_demangle_callback() local
4828 dc = cplus_demangle_type (&di); in d_demangle_callback()
4831 dc = cplus_demangle_mangled_name (&di, 1); in d_demangle_callback()
4836 dc = d_make_comp (&di, in d_demangle_callback()
4851 dc = NULL; in d_demangle_callback()
4854 d_dump (dc, 0); in d_demangle_callback()
4857 status = (dc != NULL) in d_demangle_callback()
4858 ? cplus_demangle_print_callback (options, dc, callback, opaque) in d_demangle_callback()
5084 struct demangle_component *dc; in is_ctor_or_dtor() local
5104 dc = cplus_demangle_mangled_name (&di, 1); in is_ctor_or_dtor()
5110 while (dc != NULL) in is_ctor_or_dtor()
5112 switch (dc->type) in is_ctor_or_dtor()
5115 dc = NULL; in is_ctor_or_dtor()
5122 dc = d_left (dc); in is_ctor_or_dtor()
5126 dc = d_right (dc); in is_ctor_or_dtor()
5129 *ctor_kind = dc->u.s_ctor.kind; in is_ctor_or_dtor()
5131 dc = NULL; in is_ctor_or_dtor()
5134 *dtor_kind = dc->u.s_dtor.kind; in is_ctor_or_dtor()
5136 dc = NULL; in is_ctor_or_dtor()