/* GDB variable objects API.
- Copyright (C) 1999-2013 Free Software Foundation, Inc.
+ Copyright (C) 1999-2014 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* String representations of gdb's format codes (defined in varobj.c). */
extern char *varobj_format_string[];
-/* Languages supported by this variable objects system. This enum is used
- to index arrays so we make its first enum explicitly zero. */
-enum varobj_languages
- {
- vlang_c = 0, vlang_cplus, vlang_java, vlang_ada, vlang_end
- };
-
-/* String representations of gdb's known languages (defined in varobj.c). */
-extern char *varobj_language_string[];
-
/* Struct thar describes a variable object instance. */
struct varobj;
struct lang_varobj_ops
{
/* The number of children of PARENT. */
- int (*number_of_children) (struct varobj * parent);
+ int (*number_of_children) (struct varobj *parent);
/* The name (expression) of a root varobj. */
- char *(*name_of_variable) (struct varobj * parent);
+ char *(*name_of_variable) (struct varobj *parent);
/* The name of the INDEX'th child of PARENT. */
- char *(*name_of_child) (struct varobj * parent, int index);
+ char *(*name_of_child) (struct varobj *parent, int index);
/* Returns the rooted expression of CHILD, which is a variable
obtain that has some parent. */
- char *(*path_expr_of_child) (struct varobj * child);
+ char *(*path_expr_of_child) (struct varobj *child);
/* The ``struct value *'' of the INDEX'th child of PARENT. */
- struct value *(*value_of_child) (struct varobj * parent, int index);
+ struct value *(*value_of_child) (struct varobj *parent, int index);
/* The type of the INDEX'th child of PARENT. */
- struct type *(*type_of_child) (struct varobj * parent, int index);
+ struct type *(*type_of_child) (struct varobj *parent, int index);
/* The current value of VAR. */
- char *(*value_of_variable) (struct varobj * var,
+ char *(*value_of_variable) (struct varobj *var,
enum varobj_display_formats format);
/* Return non-zero if changes in value of VAR must be detected and
const struct lang_varobj_ops java_varobj_ops;
const struct lang_varobj_ops ada_varobj_ops;
+#define default_varobj_ops c_varobj_ops
/* API functions */
extern struct varobj *varobj_create (char *objname,
extern char *varobj_get_path_expr (struct varobj *var);
-extern enum varobj_languages varobj_get_language (struct varobj *var);
+extern const struct language_defn *varobj_get_language (struct varobj *var);
extern int varobj_get_attributes (struct varobj *var);