GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
rust_language Class Reference

#include "rust-lang.h"

Inheritance diagram for rust_language:
language_defn

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 range_checking_on_by_default () const override
 
- Public Member Functions inherited from language_defn
 language_defn (enum language lang)
 
virtual const char * name () const =0
 
virtual const char * natural_name () const =0
 
virtual const char * get_digit_separator () const
 
virtual const std::vector< const char * > & filename_extensions () const
 
virtual void print_array_index (struct type *index_type, LONGEST index_value, struct ui_file *stream, const value_print_options *options) const
 
virtual struct valueread_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 void language_arch_info (struct gdbarch *, struct language_arch_info *) const =0
 
virtual struct typelookup_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_ftypeget_symbol_name_matcher (const lookup_name_info &lookup_name) const
 
virtual std::unique_ptr< compile_instanceget_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 bool sniff_from_mangled_name (const char *mangled, gdb::unique_xmalloc_ptr< char > *demangled) const
 
virtual gdb::unique_xmalloc_ptr< char > demangle_symbol (const char *mangled, int options) const
 
virtual bool can_print_type_offsets () const
 
virtual void print_type (struct type *type, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags) const =0
 
virtual CORE_ADDR skip_trampoline (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 struct block_symbol lookup_symbol_nonlocal (const char *name, const struct block *block, const domain_enum domain) const
 
virtual gdb::unique_xmalloc_ptr< char > watch_location_expression (struct type *type, CORE_ADDR addr) const
 
virtual void value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options) const
 
virtual void value_print_inner (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options) const
 
virtual int parser (struct parser_state *ps) const
 
virtual void emitchar (int ch, struct type *chtype, struct ui_file *stream, int quoter) const
 
virtual void printchar (int ch, struct type *chtype, struct ui_file *stream) const
 
virtual 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
 
virtual void print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream) const
 
virtual bool is_string_type_p (struct type *type) 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 bool store_sym_names_in_linkage_form_p () const
 
virtual bool range_checking_on_by_default () 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_opsvarobj_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

- Public Attributes inherited from language_defn
enum language la_language
 
- Static Public Attributes inherited from language_defn
static const struct language_defnlanguages [nr_languages]
 
- Protected Member Functions inherited from language_defn
virtual symbol_name_matcher_ftypeget_symbol_name_matcher_inner (const lookup_name_info &lookup_name) const
 

Detailed Description

Definition at line 55 of file rust-lang.h.

Constructor & Destructor Documentation

◆ rust_language()

rust_language::rust_language ( )
inline

Definition at line 58 of file rust-lang.h.

Member Function Documentation

◆ can_print_type_offsets()

bool rust_language::can_print_type_offsets ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 110 of file rust-lang.h.

◆ demangle_symbol()

gdb::unique_xmalloc_ptr< char > rust_language::demangle_symbol ( const char *  mangled,
int  options 
) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 102 of file rust-lang.h.

References gdb_demangle().

◆ emitchar()

void rust_language::emitchar ( int  ch,
struct type chtype,
struct ui_file stream,
int  quoter 
) const
overridevirtual

Reimplemented from language_defn.

Definition at line 1641 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().

◆ filename_extensions()

const std::vector< const char * > & rust_language::filename_extensions ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 79 of file rust-lang.h.

◆ get_digit_separator()

const char * rust_language::get_digit_separator ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 74 of file rust-lang.h.

◆ is_string_type_p()

bool rust_language::is_string_type_p ( struct type type) const
overridevirtual

◆ language_arch_info()

void rust_language::language_arch_info ( struct gdbarch gdbarch,
struct language_arch_info lai 
) const
overridevirtual

◆ lookup_symbol_nonlocal()

struct block_symbol rust_language::lookup_symbol_nonlocal ( const char *  name,
const struct block block,
const domain_enum  domain 
) const
inlineoverridevirtual

◆ name()

const char * rust_language::name ( ) const
inlineoverridevirtual

◆ natural_name()

const char * rust_language::natural_name ( ) const
inlineoverridevirtual

Implements language_defn.

Definition at line 69 of file rust-lang.h.

◆ parser()

int rust_language::parser ( struct parser_state ps) const
overridevirtual

Reimplemented from language_defn.

Definition at line 2123 of file rust-parse.c.

References parser_state::parse_completion, parser(), and expr_builder::set_operation().

Referenced by parser().

◆ print_enum()

void rust_language::print_enum ( struct value val,
struct ui_file stream,
int  recurse,
const struct value_print_options options 
) const
private

◆ print_type()

void rust_language::print_type ( struct type type,
const char *  varstring,
struct ui_file stream,
int  show,
int  level,
const struct type_print_options flags 
) const
overridevirtual

Implements language_defn.

Definition at line 1629 of file rust-lang.c.

References flags, and rust_internal_print_type().

◆ print_typedef()

void rust_language::print_typedef ( struct type type,
struct symbol new_symbol,
struct ui_file stream 
) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 208 of file rust-lang.h.

References check_typedef(), gdb_printf(), new_symbol(), general_symbol_info::print_name(), and type_print().

◆ printchar()

void rust_language::printchar ( int  ch,
struct type chtype,
struct ui_file stream 
) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 191 of file rust-lang.h.

References emitchar(), and gdb_puts().

◆ printstr()

void rust_language::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
overridevirtual

Reimplemented from language_defn.

Definition at line 278 of file rust-lang.c.

References generic_printstr(), language_defn::printstr(), and rust_u8_type_p().

Referenced by value_print_inner().

◆ range_checking_on_by_default()

bool rust_language::range_checking_on_by_default ( ) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 223 of file rust-lang.h.

◆ sniff_from_mangled_name()

bool rust_language::sniff_from_mangled_name ( const char *  mangled,
gdb::unique_xmalloc_ptr< char > *  demangled 
) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 92 of file rust-lang.h.

References gdb_demangle().

◆ val_print_struct()

void rust_language::val_print_struct ( struct value val,
struct ui_file stream,
int  recurse,
const struct value_print_options options 
) const
private

◆ value_print()

void rust_language::value_print ( struct value val,
struct ui_file stream,
const struct value_print_options options 
) const
overridevirtual

◆ value_print_inner()

void rust_language::value_print_inner ( struct value val,
struct ui_file stream,
int  recurse,
const struct value_print_options options 
) const
overridevirtual

◆ watch_location_expression()

gdb::unique_xmalloc_ptr< char > rust_language::watch_location_expression ( struct type type,
CORE_ADDR  addr 
) const
inlineoverridevirtual

Reimplemented from language_defn.

Definition at line 123 of file rust-lang.h.

References check_typedef(), name(), and type_to_string().


The documentation for this class was generated from the following files: