51 struct type *usize_type);
64 const char *
name ()
const override
81 static const std::vector<const char *> extensions = {
".rs" };
93 (
const char *mangled, gdb::unique_xmalloc_ptr<char> *demangled)
96 *demangled =
gdb_demangle (mangled, DMGL_PARAMS | DMGL_ANSI);
97 return *demangled != NULL;
103 int options)
const override
118 struct ui_file *stream,
int show,
int level,
124 (
struct type *
type, CORE_ADDR addr)
const override
128 return xstrprintf (
"*(%s as *mut %s)", core_addr_to_string (addr),
135 (
struct value *val,
struct ui_file *stream,
int recurse,
152 (
"rust_lookup_symbol_non_local (%s, %s (scope %s), %s)",
157 std::string scopedname;
162 if (scope[0] !=
'\0')
164 scopedname = std::string (scope) +
"::" +
name;
165 name = scopedname.c_str ();
174 if (result.
symbol == NULL)
187 struct ui_file *stream,
int quoter)
const override;
192 struct ui_file *stream)
const override
195 emitchar (ch, chtype, stream,
'\'');
202 const gdb_byte *
string,
unsigned int length,
203 const char *encoding,
int force_ellipses,
209 struct ui_file *stream)
const override
const char * block_scope(const struct block *block)
void printchar(int ch, struct type *chtype, struct ui_file *stream) const override
struct block_symbol lookup_symbol_nonlocal(const char *name, const struct block *block, const domain_enum domain) const override
const char * get_digit_separator() const override
const char * natural_name() const override
const std::vector< const char * > & filename_extensions() const override
bool sniff_from_mangled_name(const char *mangled, gdb::unique_xmalloc_ptr< char > *demangled) const override
const char * name() const override
gdb::unique_xmalloc_ptr< char > watch_location_expression(struct type *type, CORE_ADDR addr) const override
int parser(struct parser_state *ps) const override
bool range_checking_on_by_default() const override
void print_enum(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options) const override
void printstr(struct ui_file *stream, struct type *elttype, const gdb_byte *string, unsigned int length, const char *encoding, int force_ellipses, const struct value_print_options *options) const override
void value_print_inner(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const override
void print_type(struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const override
bool is_string_type_p(struct type *type) const override
void print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override
void emitchar(int ch, struct type *chtype, struct ui_file *stream, int quoter) const override
bool can_print_type_offsets() const override
gdb::unique_xmalloc_ptr< char > demangle_symbol(const char *mangled, int options) const override
void val_print_struct(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const
gdb::unique_xmalloc_ptr< char > gdb_demangle(const char *name, int options)
unsigned int cp_find_first_component(const char *name)
struct type * check_typedef(struct type *type)
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *, struct symbol *=NULL)
std::string rust_crate_for_block(const struct block *block)
const char * rust_last_path_segment(const char *path)
struct type * rust_slice_type(const char *name, struct type *elt_type, struct type *usize_type)
bool rust_tuple_struct_type_p(struct type *type)
bool rust_tuple_type_p(struct type *type)
const char * print_name() const
const char * domain_name(domain_enum e)
struct block_symbol lookup_global_symbol(const char *name, const struct block *block, const domain_enum domain)
struct block_symbol lookup_symbol_in_static_block(const char *name, const struct block *block, const domain_enum domain)
#define symbol_lookup_debug_printf(fmt,...)
std::string type_to_string(struct type *type)
void type_print(struct type *type, const char *varstring, struct ui_file *stream, int show)
void gdb_printf(struct ui_file *stream, const char *format,...)
void gdb_puts(const char *linebuffer, struct ui_file *stream)