]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/jv-varobj.c
Replace some $ARCH_{get,set}_pc with linux_{get,set}_pc_32bit
[thirdparty/binutils-gdb.git] / gdb / jv-varobj.c
CommitLineData
99ad9427
YQ
1/* varobj support for Java.
2
618f726f 3 Copyright (C) 1999-2016 Free Software Foundation, Inc.
99ad9427
YQ
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18#include "defs.h"
19#include "varobj.h"
20
21/* Java */
22
23static int
b09e2c59 24java_number_of_children (const struct varobj *var)
99ad9427
YQ
25{
26 return cplus_varobj_ops.number_of_children (var);
27}
28
29static char *
b09e2c59 30java_name_of_variable (const struct varobj *parent)
99ad9427
YQ
31{
32 char *p, *name;
33
34 name = cplus_varobj_ops.name_of_variable (parent);
35 /* If the name has "-" in it, it is because we
36 needed to escape periods in the name... */
37 p = name;
38
39 while (*p != '\000')
40 {
41 if (*p == '-')
42 *p = '.';
43 p++;
44 }
45
46 return name;
47}
48
49static char *
c1cc6152 50java_name_of_child (const struct varobj *parent, int index)
99ad9427
YQ
51{
52 char *name, *p;
53
54 name = cplus_varobj_ops.name_of_child (parent, index);
55 /* Escape any periods in the name... */
56 p = name;
57
58 while (*p != '\000')
59 {
60 if (*p == '.')
61 *p = '-';
62 p++;
63 }
64
65 return name;
66}
67
68static char *
b09e2c59 69java_path_expr_of_child (const struct varobj *child)
99ad9427
YQ
70{
71 return NULL;
72}
73
74static struct value *
c1cc6152 75java_value_of_child (const struct varobj *parent, int index)
99ad9427
YQ
76{
77 return cplus_varobj_ops.value_of_child (parent, index);
78}
79
80static struct type *
c1cc6152 81java_type_of_child (const struct varobj *parent, int index)
99ad9427
YQ
82{
83 return cplus_varobj_ops.type_of_child (parent, index);
84}
85
86static char *
b09e2c59
SM
87java_value_of_variable (const struct varobj *var,
88 enum varobj_display_formats format)
99ad9427
YQ
89{
90 return cplus_varobj_ops.value_of_variable (var, format);
91}
92
93/* varobj operations for java. */
94
95const struct lang_varobj_ops java_varobj_ops =
96{
97 java_number_of_children,
98 java_name_of_variable,
99 java_name_of_child,
100 java_path_expr_of_child,
101 java_value_of_child,
102 java_type_of_child,
103 java_value_of_variable,
104 varobj_default_value_is_changeable_p,
9a9a7608
AB
105 NULL, /* value_has_mutated */
106 varobj_default_is_path_expr_parent
99ad9427 107};