mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 09:08:59 +00:00
gdb: Convert language la_word_break_characters field to a method
This commit changes the language_data::la_word_break_characters function pointer member variable into a member function of language_defn. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_get_gdb_completer_word_break_characters): Delete. (ada_language_data): Delete la_word_break_characters initializer. (ada_language::word_break_characters): New member function. * c-lang.c (c_language_data): Delete la_word_break_characters initializer. (cplus_language_data): Likewise. (asm_language_data): Likewise. (minimal_language_data): Likewise. * completer.c: Update global comment. (advance_to_expression_complete_word_point): Update call to word_break_characters. (complete_files_symbols): Likewise. (complete_line_internal_1): Likewise. (default_completer_handle_brkchars): Likewise. (skip_quoted_chars): Likewise. * d-lang.c (d_language_data): Delete la_word_break_characters initializer. * f-lang.c (f_word_break_characters): Delete. (f_language_data): Delete la_word_break_characters initializer. (f_language::word_break_characters): New member function. * go-lang.c (go_language_data): Delete la_word_break_characters initializer. * language.c (unknown_language_data): Likewise. (auto_language_data): Likewise. * language.h (default_word_break_characters): Move declaration to earlier in the file. (language_data): Delete la_word_break_characters field. (language_defn::word_break_characters): New member function. * m2-lang.c (m2_language_data): Delete la_word_break_characters initializer. * objc-lang.c (objc_language_data): Likewise. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise.
This commit is contained in:
49
gdb/f-lang.c
49
gdb/f-lang.c
@@ -165,30 +165,6 @@ enum f_primitive_types {
|
||||
nr_f_primitive_types
|
||||
};
|
||||
|
||||
/* Remove the modules separator :: from the default break list. */
|
||||
|
||||
static const char *
|
||||
f_word_break_characters (void)
|
||||
{
|
||||
static char *retval;
|
||||
|
||||
if (!retval)
|
||||
{
|
||||
char *s;
|
||||
|
||||
retval = xstrdup (default_word_break_characters ());
|
||||
s = strchr (retval, ':');
|
||||
if (s)
|
||||
{
|
||||
char *last_char = &s[strlen (s) - 1];
|
||||
|
||||
*s = *last_char;
|
||||
*last_char = 0;
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
/* Consider the modules separator :: as a valid symbol name character
|
||||
class. */
|
||||
|
||||
@@ -617,7 +593,6 @@ extern const struct language_data f_language_data =
|
||||
f_op_print_tab, /* expression operators for printing */
|
||||
0, /* arrays are first-class (not c-style) */
|
||||
1, /* String lower bound */
|
||||
f_word_break_characters,
|
||||
f_collect_symbol_completion_matches,
|
||||
c_watch_location_expression,
|
||||
&default_varobj_ops,
|
||||
@@ -699,6 +674,30 @@ public:
|
||||
f_print_type (type, varstring, stream, show, level, flags);
|
||||
}
|
||||
|
||||
/* See language.h. This just returns default set of word break
|
||||
characters but with the modules separator `::' removed. */
|
||||
|
||||
const char *word_break_characters (void) const override
|
||||
{
|
||||
static char *retval;
|
||||
|
||||
if (!retval)
|
||||
{
|
||||
char *s;
|
||||
|
||||
retval = xstrdup (language_defn::word_break_characters ());
|
||||
s = strchr (retval, ':');
|
||||
if (s)
|
||||
{
|
||||
char *last_char = &s[strlen (s) - 1];
|
||||
|
||||
*s = *last_char;
|
||||
*last_char = 0;
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
Reference in New Issue
Block a user