Rename la_get_symbol_name_match_p into la_get_symbol_name_cmp
[deliverable/binutils-gdb.git] / gdb / language.h
index 2ea2dcab8a6490c5a4038c0fdde3d2937a492298..a47a44d25947ad65d1663a5ad71da65d72ac9aa7 100644 (file)
@@ -136,6 +136,16 @@ struct language_arch_info
   struct type *bool_type_default;
 };
 
+/* A pointer to a function expected to return nonzero if
+   SYMBOL_SEARCH_NAME matches the given LOOKUP_NAME.
+
+   SYMBOL_SEARCH_NAME should be a symbol's "search" name.
+   LOOKUP_NAME should be the name of an entity after it has been
+   transformed for lookup.  */
+
+typedef int (*symbol_name_cmp_ftype) (const char *symbol_search_name,
+                                         const char *lookup_name);
+
 /* Structure tying together assorted information about a language.  */
 
 struct language_defn
@@ -318,19 +328,13 @@ struct language_defn
     void (*la_get_string) (struct value *value, gdb_byte **buffer, int *length,
                           struct type **chartype, const char **charset);
 
-    /* Compare two symbol names according to language rules.  For
-       instance, in C++, we might want to ignore whitespaces in
-       the symbol name.  Or some case-insensitive language might
-       want to ignore casing during the match.
-
-       Both STR1 and STR2 are expected to be demangled name, except
-       for Ada, where STR1 and STR2 are expected to be encoded names.
-       The latter is because searches are performed using the encoded
-       name in Ada.
-
-       The return value follows the same spirit as strcmp.  */
+    /* Return a pointer to the function that should be used to match
+       a symbol name against LOOKUP_NAME. This is mostly for languages
+       such as Ada where the matching algorithm depends on LOOKUP_NAME.
 
-    int (*la_symbol_name_compare) (const char *str1, const char *str2);
+       This field may be NULL, in which case strcmp_iw will be used
+       to perform the matching.  */
+    symbol_name_cmp_ftype (*la_get_symbol_name_cmp) (const char *lookup_name);
 
     /* Find all symbols in the current program space matching NAME in
        DOMAIN, according to this language's rules.
@@ -343,13 +347,13 @@ struct language_defn
        argument.  If CALLBACK returns zero, the iteration ends at that
        point.
 
-       This field can be NULL, meaning that this language doesn't need
-       any special code aside from ordinary searches of the symbol
-       table.  */
+       This field may not be NULL.  If the language does not need any
+       special processing here, 'iterate_over_symbols' should be
+       used as the definition.  */
     void (*la_iterate_over_symbols) (const struct block *block,
                                     const char *name,
                                     domain_enum domain,
-                                    int (*callback) (struct symbol *, void *),
+                                    symbol_found_callback_ftype *callback,
                                     void *data);
 
     /* Add fields above this point, so the magic number is always last.  */
This page took 0.028374 seconds and 4 git commands to generate.