GDB (xrefs)
|
#include "rust-lang.h"
Public Member Functions | |
rust_language () | |
const char * | name () const override |
const char * | natural_name () const override |
const char * | get_digit_separator () const override |
const std::vector< const char * > & | filename_extensions () const override |
void | language_arch_info (struct gdbarch *gdbarch, struct language_arch_info *lai) const override |
bool | sniff_from_mangled_name (const char *mangled, gdb::unique_xmalloc_ptr< char > *demangled) const override |
gdb::unique_xmalloc_ptr< char > | demangle_symbol (const char *mangled, int options) const override |
bool | can_print_type_offsets () 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 |
gdb::unique_xmalloc_ptr< char > | watch_location_expression (struct type *type, CORE_ADDR addr) const override |
void | value_print_inner (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const override |
void | value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options) const override |
struct block_symbol | lookup_symbol_nonlocal (const char *name, const struct block *block, const domain_enum domain) const override |
int | parser (struct parser_state *ps) const override |
void | emitchar (int ch, struct type *chtype, struct ui_file *stream, int quoter) const override |
void | printchar (int ch, struct type *chtype, struct ui_file *stream) 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 | print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream) const override |
bool | is_string_type_p (struct type *type) const override |
bool | is_array_like (struct type *type) const override |
struct value * | to_array (struct value *val) const override |
bool | range_checking_on_by_default () const override |
![]() | |
language_defn (enum language lang) | |
virtual void | print_array_index (struct type *index_type, LONGEST index_value, struct ui_file *stream, const value_print_options *options) const |
virtual struct value * | read_var_value (struct symbol *var, const struct block *var_block, frame_info_ptr frame) const |
virtual struct language_pass_by_ref_info | pass_by_reference_info (struct type *type) const |
virtual bool | symbol_printing_suppressed (struct symbol *symbol) const |
virtual struct type * | lookup_transparent_type (const char *name) const |
virtual bool | iterate_over_symbols (const struct block *block, const lookup_name_info &name, domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback) const |
symbol_name_matcher_ftype * | get_symbol_name_matcher (const lookup_name_info &lookup_name) const |
virtual std::unique_ptr< compile_instance > | get_compile_instance () const |
virtual std::string | compute_program (compile_instance *inst, const char *input, struct gdbarch *gdbarch, const struct block *expr_block, CORE_ADDR expr_pc) const |
virtual unsigned int | search_name_hash (const char *name) const |
virtual CORE_ADDR | skip_trampoline (const frame_info_ptr &fi, CORE_ADDR pc) const |
virtual char * | class_name_from_physname (const char *physname) const |
virtual const char * | word_break_characters (void) const |
virtual void | collect_symbol_completion_matches (completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type name_match_type, const char *text, const char *word, enum type_code code) const |
virtual const char * | struct_too_deep_ellipsis () const |
virtual const char * | name_of_this () const |
virtual bool | c_style_arrays_p () const |
virtual char | string_lower_bound () const |
virtual struct value * | value_string (struct gdbarch *gdbarch, const char *ptr, ssize_t len) const |
virtual bool | store_sym_names_in_linkage_form_p () const |
virtual enum case_sensitivity | case_sensitivity () const |
virtual enum array_ordering | array_ordering () const |
virtual enum macro_expansion | macro_expansion () const |
virtual const struct lang_varobj_ops * | varobj_ops () const |
Private Member Functions | |
void | val_print_struct (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const |
void | print_enum (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const |
Additional Inherited Members | |
![]() | |
enum language | la_language |
![]() | |
static const struct language_defn * | languages [nr_languages] |
![]() | |
virtual symbol_name_matcher_ftype * | get_symbol_name_matcher_inner (const lookup_name_info &lookup_name) const |
Definition at line 62 of file rust-lang.h.
|
inline |
Definition at line 65 of file rust-lang.h.
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 117 of file rust-lang.h.
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 109 of file rust-lang.h.
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 1653 of file rust-lang.c.
References type::arch(), gdb_printf(), gdb_putc(), gdb_puts(), generic_emit_char(), rust_chartype_p(), and target_charset().
Referenced by printchar().
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 86 of file rust-lang.h.
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 81 of file rust-lang.h.
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 199 of file rust-lang.h.
References rust_slice_type_p().
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 1680 of file rust-lang.c.
References check_typedef(), type::code(), get_array_bounds(), type::name(), rust_enum_p(), rust_slice_type_p(), rust_u8_type_p(), and type::target_type().
|
overridevirtual |
Implements language_defn.
Definition at line 1594 of file rust-lang.c.
References language_arch_info::add_primitive_type(), builtin_type::builtin_data_ptr, builtin_type(), floatformats_ieee_double, floatformats_ieee_single, init_boolean_type(), init_character_type(), init_float_type(), init_integer_type(), type::length(), make_cv_type(), rust_slice_type(), language_arch_info::set_bool_type(), and language_arch_info::set_string_char_type().
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 1700 of file rust-lang.c.
References cp_find_first_component(), domain_name(), lookup_global_symbol(), lookup_symbol_in_static_block(), name, block::scope(), block_symbol::symbol, and symbol_lookup_debug_printf.
|
inlineoverridevirtual |
Implements language_defn.
Definition at line 71 of file rust-lang.h.
Referenced by gdb.printing.FlagEnumerationPrinter::__call__(), gdb.dap.varref.BaseReference::__init__(), gdb.disassembler.Disassembler::__init__(), gdb.printing.SubPrettyPrinter::__init__(), gdb.types.TypePrinter::__init__(), gdb.xmethod.XMethod::__init__(), gdb.xmethod.XMethodMatcher::__init__(), gdb.printing.PrettyPrinter::__init__(), gdb.dap.varref.BaseReference::to_object(), and watch_location_expression().
|
inlineoverridevirtual |
Implements language_defn.
Definition at line 76 of file rust-lang.h.
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 2144 of file rust-parse.c.
References parser_state::parse_completion, parser(), and expr_builder::set_operation().
Referenced by parser().
|
private |
Definition at line 466 of file rust-lang.c.
References value::address, check_typedef(), common_val_print(), value::contents_for_printing(), type::field(), gdb_printf(), gdb_puts(), type::length(), metadata_style, field::name(), type::name(), type::num_fields(), value::primitive_field(), ui_file_style::ptr(), resolve_dynamic_type(), rust_empty_enum_p(), rust_enum_p(), rust_enum_variant(), rust_tuple_struct_type_p(), cli_style_option::style(), styled_string(), field::type(), value::type(), value_field(), and variable_name_style.
Referenced by value_print_inner().
|
overridevirtual |
Implements language_defn.
Definition at line 1641 of file rust-lang.c.
References flags, and rust_internal_print_type().
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 184 of file rust-lang.h.
References check_typedef(), gdb_printf(), new_symbol(), general_symbol_info::print_name(), and type_print().
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 167 of file rust-lang.h.
References emitchar(), and gdb_puts().
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 277 of file rust-lang.c.
References generic_printstr(), language_defn::printstr(), and rust_u8_type_p().
Referenced by value_print_inner().
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 209 of file rust-lang.h.
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 99 of file rust-lang.h.
Reimplemented from language_defn.
Definition at line 204 of file rust-lang.h.
References rust_slice_to_array().
|
private |
Definition at line 383 of file rust-lang.c.
References check_typedef(), common_val_print(), type::field(), fputs_styled(), gdb_printf(), gdb_puts(), field::is_static(), field::name(), type::name(), type::num_fields(), value_print_options::prettyformat, print_spaces(), rust_slice_type_p(), rust_tuple_struct_type_p(), rust_tuple_type_p(), rust_val_print_slice(), cli_style_option::style(), value::type(), value_field(), and variable_name_style.
Referenced by value_print_inner().
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 649 of file rust-lang.c.
References check_typedef(), common_val_print(), gdb_printf(), type::is_pointer_or_reference(), value::type(), and type_print().
|
overridevirtual |
Reimplemented from language_defn.
Definition at line 540 of file rust-lang.c.
References type::arch(), check_typedef(), type::code(), value::contents_for_printing(), gdb_puts(), generic_value_print(), get_array_bounds(), type::is_unsigned(), type::length(), type::name(), paddress(), print_enum(), printstr(), rust_decorations, rust_enum_p(), rust_u8_type_p(), type::target_type(), value::type(), Val_no_prettyformat, Val_prettyformat, Val_prettyformat_default, val_print_string(), val_print_struct(), and value_as_address().
|
inlineoverridevirtual |
Reimplemented from language_defn.
Definition at line 130 of file rust-lang.h.
References check_typedef(), name(), and type_to_string().