/* Source-language-related definitions for GDB.
- Copyright (C) 1991-1995, 1998-2000, 2003-2004, 2007-2012 Free
- Software Foundation, Inc.
+ Copyright (C) 1991-2013 Free Software Foundation, Inc.
Contributed by the Department of Computer Science at the State University
of New York at Buffalo.
struct expression;
struct ui_file;
struct value_print_options;
+struct type_print_options;
#define MAX_FORTRAN_DIMS 7 /* Maximum number of F77 array dims. */
/* Print a type using syntax appropriate for this language. */
void (*la_print_type) (struct type *, const char *, struct ui_file *, int,
- int);
+ int, const struct type_print_options *);
/* Print a typedef using syntax appropriate for this language.
TYPE is the underlying type. NEW_SYMBOL is the symbol naming
/* Should return a vector of all symbols which are possible
completions for TEXT. WORD is the entire command on which the
- completion is being made. */
- VEC (char_ptr) *(*la_make_symbol_completion_list) (char *text, char *word);
+ completion is being made. If CODE is TYPE_CODE_UNDEF, then all
+ symbols should be examined; otherwise, only STRUCT_DOMAIN
+ symbols whose type has a code of CODE should be matched. */
+ VEC (char_ptr) *(*la_make_symbol_completion_list) (const char *text,
+ const char *word,
+ enum type_code code);
/* The per-architecture (OS/ABI) language information. */
void (*la_language_arch_info) (struct gdbarch *,
/* Find all symbols in the current program space matching NAME in
DOMAIN, according to this language's rules.
- The search starts with BLOCK. This function iterates upward
- through blocks. When the outermost block has been finished,
- the function returns.
+ The search is done in BLOCK only.
+ The caller is responsible for iterating up through superblocks
+ if desired.
For each one, call CALLBACK with the symbol and the DATA
argument. If CALLBACK returns zero, the iteration ends at that
the current setting of working_lang, which the user sets
with the "set language" command. */
-#define LA_PRINT_TYPE(type,varstring,stream,show,level) \
- (current_language->la_print_type(type,varstring,stream,show,level))
+#define LA_PRINT_TYPE(type,varstring,stream,show,level,flags) \
+ (current_language->la_print_type(type,varstring,stream,show,level,flags))
#define LA_PRINT_TYPEDEF(type,new_symbol,stream) \
(current_language->la_print_typedef(type,new_symbol,stream))