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
492 d_dump (struct demangle_component *dc, int indent) in d_dump() argument
496 if (dc == NULL) in d_dump()
506 switch (dc->type) in d_dump()
509 printf ("name '%.*s'\n", dc->u.s_name.len, dc->u.s_name.s); in d_dump()
513 d_dump (dc->u.s_binary.left, indent + 2); in d_dump()
514 d_dump (dc->u.s_binary.right, indent + 2); in d_dump()
517 printf ("template parameter %ld\n", dc->u.s_number.number); in d_dump()
520 printf ("constructor %d\n", (int) dc->u.s_ctor.kind); in d_dump()
521 d_dump (dc->u.s_ctor.name, indent + 2); in d_dump()
524 printf ("destructor %d\n", (int) dc->u.s_dtor.kind); in d_dump()
525 d_dump (dc->u.s_dtor.name, indent + 2); in d_dump()
528 printf ("standard substitution %s\n", dc->u.s_string.string); in d_dump()
531 printf ("builtin type %s\n", dc->u.s_builtin.type->name); in d_dump()
534 printf ("operator %s\n", dc->u.s_operator.op->name); in d_dump()
538 dc->u.s_extended_operator.args); in d_dump()
539 d_dump (dc->u.s_extended_operator.name, indent + 2); in d_dump()
696 printf ("character '%c'\n", dc->u.s_character.character); in d_dump()
711 printf ("default argument %d\n", dc->u.s_unary_num.num); in d_dump()
712 d_dump (dc->u.s_unary_num.sub, indent+2); in d_dump()
715 printf ("lambda %d\n", dc->u.s_unary_num.num); in d_dump()
716 d_dump (dc->u.s_unary_num.sub, indent+2); in d_dump()
720 d_dump (d_left (dc), indent + 2); in d_dump()
721 d_dump (d_right (dc), indent + 2); in d_dump()
1121 has_return_type (struct demangle_component *dc) in has_return_type() argument
1123 if (dc == NULL) in has_return_type()
1125 switch (dc->type) in has_return_type()
1130 return ! is_ctor_dtor_or_conversion (d_left (dc)); in has_return_type()
1134 return has_return_type (d_left (dc)); in has_return_type()
1142 is_ctor_dtor_or_conversion (struct demangle_component *dc) in is_ctor_dtor_or_conversion() argument
1144 if (dc == NULL) in is_ctor_dtor_or_conversion()
1146 switch (dc->type) in is_ctor_dtor_or_conversion()
1152 return is_ctor_dtor_or_conversion (d_right (dc)); in is_ctor_dtor_or_conversion()
1178 struct demangle_component *dc; in d_encoding() local
1180 dc = d_name (di); in d_encoding()
1182 if (dc != NULL && top_level && (di->options & DMGL_PARAMS) == 0) in d_encoding()
1187 while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS in d_encoding()
1188 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS in d_encoding()
1189 || dc->type == DEMANGLE_COMPONENT_CONST_THIS) in d_encoding()
1190 dc = d_left (dc); in d_encoding()
1196 if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME) in d_encoding()
1200 dcr = d_right (dc); in d_encoding()
1205 dc->u.s_binary.right = dcr; in d_encoding()
1208 return dc; in d_encoding()
1212 if (dc == NULL || peek == '\0' || peek == 'E') in d_encoding()
1213 return dc; in d_encoding()
1214 return d_make_comp (di, DEMANGLE_COMPONENT_TYPED_NAME, dc, in d_encoding()
1215 d_bare_function_type (di, has_return_type (dc))); in d_encoding()
1222 d_abi_tags (struct d_info *di, struct demangle_component *dc) in d_abi_tags() argument
1231 dc = d_make_comp (di, DEMANGLE_COMPONENT_TAGGED_NAME, dc, tag); in d_abi_tags()
1233 return dc; in d_abi_tags()
1252 struct demangle_component *dc; in d_name() local
1272 dc = d_substitution (di, 0); in d_name()
1278 dc = d_make_comp (di, DEMANGLE_COMPONENT_QUAL_NAME, in d_name()
1299 if (! d_add_substitution (di, dc)) in d_name()
1302 dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc, in d_name()
1306 return dc; in d_name()
1310 dc = d_unqualified_name (di); in d_name()
1316 if (! d_add_substitution (di, dc)) in d_name()
1318 dc = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, dc, in d_name()
1321 return dc; in d_name()
1373 struct demangle_component *dc; in d_prefix() local
1389 dc = cplus_demangle_type (di); in d_prefix()
1392 dc = d_unqualified_name (di); in d_prefix()
1399 dc = d_unqualified_name (di); in d_prefix()
1401 dc = d_substitution (di, 1); in d_prefix()
1407 dc = d_template_args (di); in d_prefix()
1410 dc = d_template_param (di); in d_prefix()
1427 ret = dc; in d_prefix()
1429 ret = d_make_comp (di, comb_type, ret, dc); in d_prefix()
3354 d_add_substitution (struct d_info *di, struct demangle_component *dc) in d_add_substitution() argument
3356 if (dc == NULL) in d_add_substitution()
3360 di->subs[di->next_sub] = dc; in d_add_substitution()
3672 const struct demangle_component *dc, in cplus_demangle_print_callback() argument
3679 d_print_comp (&dpi, options, dc); in cplus_demangle_print_callback()
3696 cplus_demangle_print (int options, const struct demangle_component *dc, in cplus_demangle_print() argument
3703 if (! cplus_demangle_print_callback (options, dc, in cplus_demangle_print()
3745 const struct demangle_component *dc) in d_lookup_template_argument() argument
3755 dc->u.s_number.number); in d_lookup_template_argument()
3762 const struct demangle_component *dc) in d_find_pack() argument
3765 if (dc == NULL) in d_find_pack()
3768 switch (dc->type) in d_find_pack()
3771 a = d_lookup_template_argument (dpi, dc); in d_find_pack()
3791 return d_find_pack (dpi, dc->u.s_extended_operator.name); in d_find_pack()
3793 return d_find_pack (dpi, dc->u.s_ctor.name); in d_find_pack()
3795 return d_find_pack (dpi, dc->u.s_dtor.name); in d_find_pack()
3798 a = d_find_pack (dpi, d_left (dc)); in d_find_pack()
3801 return d_find_pack (dpi, d_right (dc)); in d_find_pack()
3808 d_pack_length (const struct demangle_component *dc) in d_pack_length() argument
3811 while (dc && dc->type == DEMANGLE_COMPONENT_TEMPLATE_ARGLIST in d_pack_length()
3812 && d_left (dc) != NULL) in d_pack_length()
3815 dc = d_right (dc); in d_pack_length()
3825 const struct demangle_component *dc) in d_print_subexpr() argument
3828 if (dc->type == DEMANGLE_COMPONENT_NAME in d_print_subexpr()
3829 || dc->type == DEMANGLE_COMPONENT_QUAL_NAME in d_print_subexpr()
3830 || dc->type == DEMANGLE_COMPONENT_INITIALIZER_LIST in d_print_subexpr()
3831 || dc->type == DEMANGLE_COMPONENT_FUNCTION_PARAM) in d_print_subexpr()
3835 d_print_comp (dpi, options, dc); in d_print_subexpr()
3844 const struct demangle_component *dc) in d_print_comp() argument
3850 if (dc == NULL) in d_print_comp()
3858 switch (dc->type) in d_print_comp()
3862 d_append_buffer (dpi, dc->u.s_name.s, dc->u.s_name.len); in d_print_comp()
3864 d_print_java_identifier (dpi, dc->u.s_name.s, dc->u.s_name.len); in d_print_comp()
3868 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
3870 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
3876 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
3882 struct demangle_component *local_name = d_right (dc); in d_print_comp()
3908 typed_name = d_left (dc); in d_print_comp()
3981 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4015 dcl = d_left (dc); in d_print_comp()
4025 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4034 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4050 struct demangle_component *a = d_lookup_template_argument (dpi, dc); in d_print_comp()
4077 d_print_comp (dpi, options, dc->u.s_ctor.name); in d_print_comp()
4082 d_print_comp (dpi, options, dc->u.s_dtor.name); in d_print_comp()
4087 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4092 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4097 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4099 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4104 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4109 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4114 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4119 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4124 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4129 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4134 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4139 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4144 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4149 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4154 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4156 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4161 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4166 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4171 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4175 d_append_buffer (dpi, dc->u.s_string.string, dc->u.s_string.len); in d_print_comp()
4196 if (pdpm->mod->type == dc->type) in d_print_comp()
4198 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4210 const struct demangle_component *sub = d_left (dc); in d_print_comp()
4227 || sub->type == dc->type) in d_print_comp()
4228 dc = sub; in d_print_comp()
4248 dpm.mod = dc; in d_print_comp()
4253 mod_inner = d_left (dc); in d_print_comp()
4260 d_print_mod (dpi, options, dc); in d_print_comp()
4269 d_append_buffer (dpi, dc->u.s_builtin.type->name, in d_print_comp()
4270 dc->u.s_builtin.type->len); in d_print_comp()
4272 d_append_buffer (dpi, dc->u.s_builtin.type->java_name, in d_print_comp()
4273 dc->u.s_builtin.type->java_len); in d_print_comp()
4277 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4285 dc, dpi->modifiers); in d_print_comp()
4288 if (d_left (dc) != NULL && (options & DMGL_RET_POSTFIX) != 0) in d_print_comp()
4290 d_left (dc)); in d_print_comp()
4291 else if (d_left (dc) != NULL && (options & DMGL_RET_DROP) == 0) in d_print_comp()
4299 dpm.mod = dc; in d_print_comp()
4304 d_left (dc)); in d_print_comp()
4320 dc, dpi->modifiers); in d_print_comp()
4344 adpm[0].mod = dc; in d_print_comp()
4373 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4386 d_print_array_type (dpi, options, dc, dpi->modifiers); in d_print_comp()
4398 dpm.mod = dc; in d_print_comp()
4402 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4407 d_print_mod (dpi, options, dc); in d_print_comp()
4415 if (dc->u.s_fixed.sat) in d_print_comp()
4418 if (dc->u.s_fixed.length->u.s_builtin.type in d_print_comp()
4421 d_print_comp (dpi, options, dc->u.s_fixed.length); in d_print_comp()
4424 if (dc->u.s_fixed.accum) in d_print_comp()
4432 if (d_left (dc) != NULL) in d_print_comp()
4433 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4434 if (d_right (dc) != NULL) in d_print_comp()
4445 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4455 struct demangle_component *type = d_left (dc); in d_print_comp()
4456 struct demangle_component *list = d_right (dc); in d_print_comp()
4468 const struct demangle_operator_info *op = dc->u.s_operator.op; in d_print_comp()
4484 d_print_comp (dpi, options, dc->u.s_extended_operator.name); in d_print_comp()
4489 d_print_cast (dpi, options, dc); in d_print_comp()
4493 d_print_expr_op (dpi, options, d_left (dc)); in d_print_comp()
4498 struct demangle_component *op = d_left (dc); in d_print_comp()
4499 struct demangle_component *operand = d_right (dc); in d_print_comp()
4548 if (d_right (dc)->type != DEMANGLE_COMPONENT_BINARY_ARGS) in d_print_comp()
4554 if (op_is_new_cast (d_left (dc))) in d_print_comp()
4556 d_print_expr_op (dpi, options, d_left (dc)); in d_print_comp()
4558 d_print_comp (dpi, options, d_left (d_right (dc))); in d_print_comp()
4560 d_print_comp (dpi, options, d_right (d_right (dc))); in d_print_comp()
4568 if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR in d_print_comp()
4569 && d_left (dc)->u.s_operator.op->len == 1 in d_print_comp()
4570 && d_left (dc)->u.s_operator.op->name[0] == '>') in d_print_comp()
4573 if (strcmp (d_left (dc)->u.s_operator.op->code, "cl") == 0 in d_print_comp()
4574 && d_left (d_right (dc))->type == DEMANGLE_COMPONENT_TYPED_NAME) in d_print_comp()
4580 const struct demangle_component *func = d_left (d_right (dc)); in d_print_comp()
4587 d_print_subexpr (dpi, options, d_left (d_right (dc))); in d_print_comp()
4588 if (strcmp (d_left (dc)->u.s_operator.op->code, "ix") == 0) in d_print_comp()
4591 d_print_comp (dpi, options, d_right (d_right (dc))); in d_print_comp()
4596 if (strcmp (d_left (dc)->u.s_operator.op->code, "cl") != 0) in d_print_comp()
4597 d_print_expr_op (dpi, options, d_left (dc)); in d_print_comp()
4598 d_print_subexpr (dpi, options, d_right (d_right (dc))); in d_print_comp()
4601 if (d_left (dc)->type == DEMANGLE_COMPONENT_OPERATOR in d_print_comp()
4602 && d_left (dc)->u.s_operator.op->len == 1 in d_print_comp()
4603 && d_left (dc)->u.s_operator.op->name[0] == '>') in d_print_comp()
4614 if (d_right (dc)->type != DEMANGLE_COMPONENT_TRINARY_ARG1 in d_print_comp()
4615 || d_right (d_right (dc))->type != DEMANGLE_COMPONENT_TRINARY_ARG2) in d_print_comp()
4621 struct demangle_component *op = d_left (dc); in d_print_comp()
4622 struct demangle_component *first = d_left (d_right (dc)); in d_print_comp()
4623 struct demangle_component *second = d_left (d_right (d_right (dc))); in d_print_comp()
4624 struct demangle_component *third = d_right (d_right (d_right (dc))); in d_print_comp()
4662 if (d_left (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE) in d_print_comp()
4664 tp = d_left (dc)->u.s_builtin.type->print; in d_print_comp()
4673 if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME) in d_print_comp()
4675 if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) in d_print_comp()
4677 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4703 if (d_right (dc)->type == DEMANGLE_COMPONENT_NAME in d_print_comp()
4704 && d_right (dc)->u.s_name.len == 1 in d_print_comp()
4705 && dc->type == DEMANGLE_COMPONENT_LITERAL) in d_print_comp()
4707 switch (d_right (dc)->u.s_name.s[0]) in d_print_comp()
4727 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4729 if (dc->type == DEMANGLE_COMPONENT_LITERAL_NEG) in d_print_comp()
4733 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4740 d_append_num (dpi, dc->u.s_number.number); in d_print_comp()
4745 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4749 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4750 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4754 d_append_char (dpi, dc->u.s_character.character); in d_print_comp()
4759 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4767 struct demangle_component *a = d_find_pack (dpi, d_left (dc)); in d_print_comp()
4773 d_print_subexpr (dpi, options, d_left (dc)); in d_print_comp()
4779 dc = d_left (dc); in d_print_comp()
4783 d_print_comp (dpi, options, dc); in d_print_comp()
4792 long num = dc->u.s_number.number; in d_print_comp()
4806 d_print_comp (dpi, options, dc->u.s_binary.left); in d_print_comp()
4811 d_print_comp (dpi, options, dc->u.s_binary.left); in d_print_comp()
4816 d_print_comp (dpi, options, dc->u.s_unary_num.sub); in d_print_comp()
4818 d_append_num (dpi, dc->u.s_unary_num.num + 1); in d_print_comp()
4824 d_append_num (dpi, dc->u.s_number.number + 1); in d_print_comp()
4829 d_print_comp (dpi, options, d_left (dc)); in d_print_comp()
4831 d_print_comp (dpi, options, d_right (dc)); in d_print_comp()
4935 struct demangle_component *dc; in d_print_mod_list() local
4952 dc = d_right (mods->mod); in d_print_mod_list()
4954 if (dc->type == DEMANGLE_COMPONENT_DEFAULT_ARG) in d_print_mod_list()
4957 d_append_num (dpi, dc->u.s_unary_num.num + 1); in d_print_mod_list()
4959 dc = dc->u.s_unary_num.sub; in d_print_mod_list()
4962 while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS in d_print_mod_list()
4963 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS in d_print_mod_list()
4964 || dc->type == DEMANGLE_COMPONENT_CONST_THIS) in d_print_mod_list()
4965 dc = d_left (dc); in d_print_mod_list()
4967 d_print_comp (dpi, options, dc); in d_print_mod_list()
5048 const struct demangle_component *dc, in d_print_function_type() argument
5114 if (d_right (dc) != NULL) in d_print_function_type()
5115 d_print_comp (dpi, options, d_right (dc)); in d_print_function_type()
5128 const struct demangle_component *dc, in d_print_array_type() argument
5172 if (d_left (dc) != NULL) in d_print_array_type()
5173 d_print_comp (dpi, options, d_left (dc)); in d_print_array_type()
5182 const struct demangle_component *dc) in d_print_expr_op() argument
5184 if (dc->type == DEMANGLE_COMPONENT_OPERATOR) in d_print_expr_op()
5185 d_append_buffer (dpi, dc->u.s_operator.op->name, in d_print_expr_op()
5186 dc->u.s_operator.op->len); in d_print_expr_op()
5188 d_print_comp (dpi, options, dc); in d_print_expr_op()
5195 const struct demangle_component *dc) in d_print_cast() argument
5197 if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE) in d_print_cast()
5198 d_print_comp (dpi, options, d_left (dc)); in d_print_cast()
5214 dpt.template_decl = d_left (dc); in d_print_cast()
5216 d_print_comp (dpi, options, d_left (d_left (dc))); in d_print_cast()
5223 d_print_comp (dpi, options, d_right (d_left (dc))); in d_print_cast()
5283 struct demangle_component *dc; in d_demangle_callback() local
5317 dc = cplus_demangle_type (&di); in d_demangle_callback()
5320 dc = cplus_demangle_mangled_name (&di, 1); in d_demangle_callback()
5325 dc = d_make_comp (&di, in d_demangle_callback()
5340 dc = NULL; in d_demangle_callback()
5343 d_dump (dc, 0); in d_demangle_callback()
5346 status = (dc != NULL) in d_demangle_callback()
5347 ? cplus_demangle_print_callback (options, dc, callback, opaque) in d_demangle_callback()
5573 struct demangle_component *dc; in is_ctor_or_dtor() local
5593 dc = cplus_demangle_mangled_name (&di, 1); in is_ctor_or_dtor()
5599 while (dc != NULL) in is_ctor_or_dtor()
5601 switch (dc->type) in is_ctor_or_dtor()
5604 dc = NULL; in is_ctor_or_dtor()
5611 dc = d_left (dc); in is_ctor_or_dtor()
5615 dc = d_right (dc); in is_ctor_or_dtor()
5618 *ctor_kind = dc->u.s_ctor.kind; in is_ctor_or_dtor()
5620 dc = NULL; in is_ctor_or_dtor()
5623 *dtor_kind = dc->u.s_dtor.kind; in is_ctor_or_dtor()
5625 dc = NULL; in is_ctor_or_dtor()