23 #if !defined (LANGUAGE_H) 42 #define MAX_FORTRAN_DIMS 7 192 const char *encoding,
int force_ellipses,
196 struct ui_file * stream,
int quoter);
230 struct ui_file *stream,
int recurse,
251 const struct block *var_block,
274 const struct block *,
278 struct type *(*la_lookup_transparent_type) (
const char *);
281 char *(*la_demangle) (
const char *mangled,
int options);
300 char *(*la_class_name_from_physname) (
const char *physname);
315 const char *(*la_word_break_characters) (void);
354 struct type **chartype,
const char **charset);
428 const struct block *expr_block,
438 #define LANG_MAGIC 910823L 500 #define RANGE_CHECK (range_check != range_check_off) 504 #define CAST_IS_CONVERSION(LANG) ((LANG)->la_language == language_c || \ 505 (LANG)->la_language == language_cplus || \ 506 (LANG)->la_language == language_objc) 518 #define LA_PRINT_TYPE(type,varstring,stream,show,level,flags) \ 519 (current_language->la_print_type(type,varstring,stream,show,level,flags)) 521 #define LA_PRINT_TYPEDEF(type,new_symbol,stream) \ 522 (current_language->la_print_typedef(type,new_symbol,stream)) 524 #define LA_VALUE_PRINT(val,stream,options) \ 525 (current_language->la_value_print(val,stream,options)) 527 #define LA_PRINT_CHAR(ch, type, stream) \ 528 (current_language->la_printchar(ch, type, stream)) 529 #define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options) \ 530 (current_language->la_printstr(stream, elttype, string, length, \ 531 encoding, force_ellipses,options)) 532 #define LA_EMIT_CHAR(ch, type, stream, quoter) \ 533 (current_language->la_emitchar(ch, type, stream, quoter)) 534 #define LA_GET_STRING(value, buffer, length, chartype, encoding) \ 535 (current_language->la_get_string(value, buffer, length, chartype, encoding)) 537 #define LA_PRINT_ARRAY_INDEX(index_value, stream, options) \ 538 (current_language->la_print_array_index(index_value, stream, options)) 540 #define LA_ITERATE_OVER_SYMBOLS(BLOCK, NAME, DOMAIN, CALLBACK) \ 541 (current_language->la_iterate_over_symbols (BLOCK, NAME, DOMAIN, CALLBACK)) 549 #define PRINT_LITERAL_FORM(c) \ 551 && ((c) < 0x7F || (c) >= 0xA0) \ 552 && (!sevenbit_strings || (c) < 0x80)) 580 const
char *mangled,
int options);
591 const
char *physname);
615 struct
type **char_type, const
char **charset);
626 struct
type **char_type, const
char **charset);
scoped_restore_current_language()
const struct language_defn rust_language_defn
struct symbol * language_lookup_primitive_type_as_symbol(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
CORE_ADDR(* skip_trampoline)(struct frame_info *, CORE_ADDR)
int default_pass_by_reference(struct type *type)
void(* la_print_typedef)(struct type *type, struct symbol *new_symbol, struct ui_file *stream)
const struct language_defn * current_language
gdb::unique_xmalloc_ptr< expression > expression_up
int(* la_pass_by_reference)(struct type *type)
const struct language_defn cplus_language_defn
const char * language_str(enum language)
void(* la_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 *)
void default_get_string(struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
enum case_sensitivity la_case_sensitivity
const struct language_defn d_language_defn
const char * symbol_search_name(const struct general_symbol_info *gsymbol)
void(* la_emitchar)(int ch, struct type *chtype, struct ui_file *stream, int quoter)
void int value_true(struct value *)
void(* la_error)(const char *)
struct type * language_string_char_type(const struct language_defn *l, struct gdbarch *gdbarch)
enum domain_enum_tag domain_enum
bool() symbol_name_matcher_ftype(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
const struct language_defn pascal_language_defn
enum language la_language
const struct language_defn minimal_language_defn
void default_print_typedef(struct type *type, struct symbol *new_symbol, struct ui_file *stream)
struct type * string_char_type
int language_sniff_from_mangled_name(const struct language_defn *lang, const char *mangled, char **demangled)
void(* la_language_arch_info)(struct gdbarch *, struct language_arch_info *)
const struct language_defn c_language_defn
char * language_demangle(const struct language_defn *current_language, const char *mangled, int options)
const struct language_defn opencl_language_defn
const char * la_name_of_this
const struct language_defn ada_language_defn
char * language_class_name_from_physname(const struct language_defn *, const char *physname)
const struct language_defn f_language_defn
const struct exp_descriptor * la_exp_desc
CORE_ADDR skip_language_trampoline(struct frame_info *, CORE_ADDR pc)
void(* la_collect_symbol_completion_matches)(completion_tracker &tracker, complete_symbol_mode mode, symbol_name_match_type match_type, const char *text, const char *word, enum type_code code)
struct type * language_bool_type(const struct language_defn *l, struct gdbarch *gdbarch)
enum array_ordering la_array_ordering
struct symbol ** primitive_type_symbols
struct type * bool_type_default
std::unique_ptr< T, xfree_deleter< T > > unique_xmalloc_ptr
void(* la_val_print)(struct type *type, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *val, const struct value_print_options *options)
const struct lang_varobj_ops * la_varobj_ops
const char *const * la_filename_extensions
const char * bool_type_symbol
void range_error(const char *,...) ATTRIBUTE_PRINTF(1
struct block_symbol(* la_lookup_symbol_nonlocal)(const struct language_defn *, const char *, const struct block *, const domain_enum)
void(* la_iterate_over_symbols)(const struct block *block, const lookup_name_info &name, domain_enum domain, gdb::function_view< symbol_found_callback_ftype > callback)
bool default_symbol_name_matcher(const char *symbol_search_name, const lookup_name_info &lookup_name, completion_match_result *comp_match_res)
const char * default_word_break_characters(void)
int(* la_parser)(struct parser_state *)
static struct symbol * new_symbol(struct die_info *, struct type *, struct dwarf2_cu *)
void(* la_printchar)(int ch, struct type *chtype, struct ui_file *stream)
const struct language_defn * language_def(enum language)
void(* la_print_type)(struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *)
enum language language_enum(const char *str)
unsigned int default_search_name_hash(const char *search_name)
void c_get_string(struct value *value, gdb_byte **buffer, int *length, struct type **char_type, const char **charset)
const char * la_natural_name
struct type * language_lookup_primitive_type(const struct language_defn *l, struct gdbarch *gdbarch, const char *name)
~scoped_restore_current_language()
enum language set_language(enum language)
enum range_check la_range_check
const struct op_print * la_op_print_tab
symbol_name_matcher_ftype * get_symbol_name_matcher(const language_defn *lang, const lookup_name_info &lookup_name)
int language_pass_by_reference(struct type *type)
const struct language_defn m2_language_defn
const struct language_defn unknown_language_defn
const struct language_defn go_language_defn
void default_print_array_index(struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
const struct language_defn asm_language_defn
int pointer_type(struct type *)
enum macro_expansion la_macro_expansion
const struct language_defn objc_language_defn
unsigned int(* la_search_name_hash)(const char *name)
void(* la_get_string)(struct value *value, gdb_byte **buffer, int *length, struct type **chartype, const char **charset)
struct type ** primitive_type_vector
int(* la_sniff_from_mangled_name)(const char *mangled, char **demangled)
void(* la_value_print)(struct value *, struct ui_file *, const struct value_print_options *)
void(* la_print_array_index)(struct value *index_value, struct ui_file *stream, const struct value_print_options *options)
std::string(* la_compute_program)(struct compile_instance *inst, const char *input, struct gdbarch *gdbarch, const struct block *expr_block, CORE_ADDR expr_pc)
const struct language_defn auto_language_defn
void(* la_post_parser)(expression_up *expp, int void_context_p)
const struct language_defn * expected_language