diff options
author | Joel Brobecker <brobecker@gnat.com> | 2012-03-28 21:31:18 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2012-03-28 21:31:18 +0000 |
commit | 181875a4ab05b144b16271677cdfcac85edd5c7e (patch) | |
tree | 7347768735e646ebd3f7b24c96dafccf143a9cc2 /gdb/ada-varobj.h | |
parent | 7a290c40a913feccadbe946ea56b5abbc5648a1c (diff) | |
download | gdb-181875a4ab05b144b16271677cdfcac85edd5c7e.zip gdb-181875a4ab05b144b16271677cdfcac85edd5c7e.tar.gz gdb-181875a4ab05b144b16271677cdfcac85edd5c7e.tar.bz2 |
Varobj support for Ada.
This patch adds varobj support for Ada variables. Most of the code
is implemented in a separate Ada-specific file called ada-varobj.c.
The only bits in varobj.c are the functions used as the hooks in
the language-specific varobj's vector.
gdb/ChangeLog:
* ada-varobj.h, ada-varobj.c: New files.
* Makefile.in (SFILES): Add ada-varobj.c.
(HFILES_NO_SRCDIR): Add ada-varobj.h.
(COMMON_OBS): Add ada-varobj.o.
Diffstat (limited to 'gdb/ada-varobj.h')
-rw-r--r-- | gdb/ada-varobj.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gdb/ada-varobj.h b/gdb/ada-varobj.h new file mode 100644 index 0000000..2ef1a70 --- /dev/null +++ b/gdb/ada-varobj.h @@ -0,0 +1,56 @@ +/* varobj support for Ada. + + Copyright (C) 2012 Free Software Foundation, Inc. + + This file is part of GDB. + + 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 + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef ADA_VAROBJ_H +#define ADA_VAROBJ_H + +#include "defs.h" +#include "varobj.h" + +struct value; +struct value_print_options; + +extern int ada_varobj_get_number_of_children (struct value *parent_value, + struct type *parent_type); + +extern char *ada_varobj_get_name_of_child (struct value *parent_value, + struct type *parent_type, + const char *parent_name, + int child_index); + +extern char *ada_varobj_get_path_expr_of_child (struct value *parent_value, + struct type *parent_type, + const char *parent_name, + const char *parent_path_expr, + int child_index); + +extern struct value *ada_varobj_get_value_of_child (struct value *parent_value, + struct type *parent_type, + const char *parent_name, + int child_index); + +extern struct type *ada_varobj_get_type_of_child (struct value *parent_value, + struct type *parent_type, + int child_index); + +extern char *ada_varobj_get_value_of_variable + (struct value *value, struct type *type, + struct value_print_options *opts); + +#endif /* ADA_VAROBJ_H */ |