void (*la_print_typedef) (struct type *type, struct symbol *new_symbol,
struct ui_file *stream);
- /* Print a value using syntax appropriate for this language.
- RECURSE is the recursion depth. It is zero-based. */
-
- void (*la_value_print_inner) (struct value *, struct ui_file *,
- int recurse,
- const struct value_print_options *);
-
- /* Print a top-level value using syntax appropriate for this language. */
-
- void (*la_value_print) (struct value *, struct ui_file *,
- const struct value_print_options *);
-
/* Now come some hooks for lookup_symbol. */
/* If this is non-NULL, specifies the name that of the implicit
const bool la_store_sym_names_in_linkage_form_p;
- /* This is a function that lookup_symbol will call when it gets to
- the part of symbol lookup where C looks up static and global
- variables. */
-
- struct block_symbol (*la_lookup_symbol_nonlocal)
- (const struct language_defn *,
- const char *,
- const struct block *,
- const domain_enum);
-
/* Table for printing expressions. */
const struct op_print *la_op_print_tab;
(tracker, mode, name_match_type, text, word, "", code);
}
+ /* This is a function that lookup_symbol will call when it gets to
+ the part of symbol lookup where C looks up static and global
+ variables. This default implements the basic C lookup rules. */
+
+ virtual struct block_symbol lookup_symbol_nonlocal
+ (const char *name,
+ const struct block *block,
+ const domain_enum domain) const;
+
/* Return an expression that can be used for a location
watchpoint. TYPE is a pointer type that points to the memory
to watch, and ADDR is the address of the watched memory. */
/* List of all known languages. */
static const struct language_defn *languages[nr_languages];
+ /* Print a top-level value using syntax appropriate for this language. */
+ virtual void value_print (struct value *val, struct ui_file *stream,
+ const struct value_print_options *options) const;
+
+ /* Print a value using syntax appropriate for this language. RECURSE is
+ the recursion depth. It is zero-based. */
+ virtual void value_print_inner
+ (struct value *val, struct ui_file *stream, int recurse,
+ const struct value_print_options *options) const;
+
protected:
/* This is the overridable part of the GET_SYMBOL_NAME_MATCHER method.
(current_language->la_print_typedef(type,new_symbol,stream))
#define LA_VALUE_PRINT(val,stream,options) \
- (current_language->la_value_print(val,stream,options))
+ (current_language->value_print (val,stream,options))
#define LA_PRINT_CHAR(ch, type, stream) \
(current_language->la_printchar(ch, type, stream))