26#include "gdbsupport/gdb_vecs.h"
27#include "gdbsupport/gdb_obstack.h"
28#include "gdbsupport/array-view.h"
38struct demangle_component;
43#define CP_ANONYMOUS_NAMESPACE_STR "(anonymous namespace)"
47#define CP_ANONYMOUS_NAMESPACE_LEN 21
51#define CP_OPERATOR_STR "operator"
55#define CP_OPERATOR_LEN 8
69 struct demangle_component *
tree;
97extern gdb::unique_xmalloc_ptr<char>
cp_func_name (
const char *full_name);
100 (
const char *demangled_name);
108 (
const char *demangled_name,
bool completion_mode);
114 (gdb::array_view<type *> arg_types,
115 const char *func_name,
116 std::vector<symbol *> *overload_list);
160 const char *nested_name,
174 (
const char *demangled_name, std::string *errmsg);
180 (
struct demangle_component *result,
int estimated_len);
183 struct demangle_component *,
203 struct demangle_component *tree,
204 int estimated_length,
205 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 *demangled_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)
const char * canonicalization_ftype(struct type *, void *)
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
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)