28#include "gdbsupport/gdb_vecs.h"
29#include "gdbsupport/gdb_obstack.h"
30#include "gdbsupport/array-view.h"
40struct demangle_component;
45#define CP_ANONYMOUS_NAMESPACE_STR "(anonymous namespace)"
49#define CP_ANONYMOUS_NAMESPACE_LEN 21
53#define CP_OPERATOR_STR "operator"
57#define CP_OPERATOR_LEN 8
71 struct demangle_component *
tree;
99extern gdb::unique_xmalloc_ptr<char>
cp_func_name (
const char *full_name);
102 (
const char *demanged_name);
110 (
const char *demangled_name,
bool completion_mode);
116 (gdb::array_view<type *> arg_types,
117 const char *func_name,
118 std::vector<symbol *> *overload_list);
162 const char *nested_name,
176 (
const char *demangled_name, std::string *
errmsg);
182 (
struct demangle_component *result,
int estimated_len);
185 struct demangle_component *,
205 struct demangle_component *tree,
206 int estimated_length,
207 size_t *p_allocated_size);
struct block_symbol cp_lookup_symbol_imports_or_template(const char *scope, const char *name, const struct block *block, const domain_enum domain)
std::unique_ptr< demangle_parse_info > cp_demangled_name_to_comp(const char *demangled_name, std::string *errmsg)
std::vector< symbol * > make_symbol_overload_list(const char *, const char *)
gdb::unique_xmalloc_ptr< char > cp_canonicalize_string_full(const char *string, canonicalization_ftype *finder, void *data)
gdb::unique_xmalloc_ptr< char > cp_func_name(const char *full_name)
char * gdb_cplus_demangle_print(int options, struct demangle_component *tree, int estimated_length, size_t *p_allocated_size)
gdb::unique_xmalloc_ptr< char > gdb_demangle(const char *name, int options)
gdb::unique_xmalloc_ptr< char > cp_remove_params(const char *demanged_name)
const char * find_toplevel_char(const char *s, char c)
gdb::unique_xmalloc_ptr< char > cp_comp_to_string(struct demangle_component *result, int estimated_len)
struct type * cp_lookup_transparent_type(const char *name)
gdb::unique_xmalloc_ptr< char > cp_canonicalize_string_no_typedefs(const char *string)
symbol_name_matcher_ftype * cp_get_symbol_name_matcher(const lookup_name_info &lookup_name)
struct type * cp_find_type_baseclass_by_name(struct type *parent_type, const char *name)
struct type * cp_lookup_rtti_type(const char *name, const struct block *block)
char * method_name_from_physname(const char *physname)
void add_symbol_overload_list_adl(gdb::array_view< type * > arg_types, const char *func_name, std::vector< symbol * > *overload_list)
unsigned int cp_find_first_component(const char *name)
unsigned int cp_entire_prefix_len(const char *name)
gdb::unique_xmalloc_ptr< char > cp_canonicalize_string(const char *string)
char * cp_class_name_from_physname(const char *physname)
struct block_symbol cp_lookup_symbol_namespace(const char *the_namespace, const char *name, const struct block *block, const domain_enum domain)
unsigned int cp_search_name_hash(const char *search_name)
struct block_symbol cp_lookup_symbol_nonlocal(const struct language_defn *langdef, const char *name, const struct block *block, const domain_enum domain)
void cp_scan_for_anonymous_namespaces(struct buildsym_compunit *, const struct symbol *symbol, struct objfile *objfile)
gdb::unique_xmalloc_ptr< char > cp_remove_params_if_any(const char *demangled_name, bool completion_mode)
struct block_symbol cp_lookup_nested_symbol(struct type *parent_type, const char *nested_name, const struct block *block, const domain_enum domain)
int cp_is_in_anonymous(const char *symbol_name)
void cp_merge_demangle_parse_infos(struct demangle_parse_info *, struct demangle_component *, struct demangle_parse_info *)
struct cmd_list_element * maint_cplus_cmd_list
const char *() canonicalization_ftype(struct type *, void *)
struct demangle_component * tree
struct demangle_info * info
bool() symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)