summaryrefslogtreecommitdiffstats
path: root/gdb/ada-varobj.h
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-03-28 21:31:18 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-03-28 21:31:18 +0000
commit181875a4ab05b144b16271677cdfcac85edd5c7e (patch)
tree7347768735e646ebd3f7b24c96dafccf143a9cc2 /gdb/ada-varobj.h
parent7a290c40a913feccadbe946ea56b5abbc5648a1c (diff)
downloadppe42-binutils-181875a4ab05b144b16271677cdfcac85edd5c7e.tar.gz
ppe42-binutils-181875a4ab05b144b16271677cdfcac85edd5c7e.zip
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.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/gdb/ada-varobj.h b/gdb/ada-varobj.h
new file mode 100644
index 0000000000..2ef1a70c17
--- /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 */
OpenPOWER on IntegriCloud