LOOKUP_NAME should be the name of an entity after it has been
transformed for lookup. */
-typedef int (*symbol_name_match_p_ftype) (const char *symbol_search_name,
+typedef int (*symbol_name_cmp_ftype) (const char *symbol_search_name,
const char *lookup_name);
/* Structure tying together assorted information about a language. */
OPTIONS are the formatting options to be used when
printing. */
- int (*la_val_print) (struct type *type,
- const gdb_byte *contents,
- int embedded_offset, CORE_ADDR address,
- struct ui_file *stream, int recurse,
- const struct value *val,
- const struct value_print_options *options);
+ void (*la_val_print) (struct type *type,
+ const gdb_byte *contents,
+ int embedded_offset, CORE_ADDR address,
+ struct ui_file *stream, int recurse,
+ const struct value *val,
+ const struct value_print_options *options);
/* Print a top-level value using syntax appropriate for this language. */
- int (*la_value_print) (struct value *, struct ui_file *,
- const struct value_print_options *);
+ void (*la_value_print) (struct value *, struct ui_file *,
+ const struct value_print_options *);
+
+ /* Given a symbol VAR, and a stack frame id FRAME, read the value
+ of the variable an return (pointer to a) struct value containing
+ the value.
+
+ Throw an error if the variable cannot be found. */
+
+ struct value *(*la_read_var_value) (struct symbol *var,
+ struct frame_info *frame);
/* PC is possibly an unknown languages trampoline.
If that PC falls in a trampoline belonging to this language,
This field may be NULL, in which case strcmp_iw will be used
to perform the matching. */
- symbol_name_match_p_ftype (*la_get_symbol_name_match_p)
- (const char *lookup_name);
+ 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.
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. */