aboutsummaryrefslogtreecommitdiff
path: root/gdb/jv-valprint.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2010-05-14 23:41:05 +0000
committerMichael Snyder <msnyder@vmware.com>2010-05-14 23:41:05 +0000
commite0881a8e0fbb8bd5d4d14683390269b97e4e90d7 (patch)
tree60fe317865c5f6a2e987df4e590cf170bee3360f /gdb/jv-valprint.c
parentabbb1732a91accadee3e1c00b75fc0a3f418fae7 (diff)
downloadgdb-e0881a8e0fbb8bd5d4d14683390269b97e4e90d7.zip
gdb-e0881a8e0fbb8bd5d4d14683390269b97e4e90d7.tar.gz
gdb-e0881a8e0fbb8bd5d4d14683390269b97e4e90d7.tar.bz2
2010-05-14 Michael Snyder <msnyder@vmware.com>
* jv-lang.c: White space. * jv-typeprint.c: White space. * jv-valprint.c: White space. * language.c: White space. * libunwind-frame.c: White space. * linespec.c: White space. * linux-nat.c: White space. * linux-record.c: White space. * linux-thread-db.c: White space.
Diffstat (limited to 'gdb/jv-valprint.c')
-rw-r--r--gdb/jv-valprint.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/jv-valprint.c b/gdb/jv-valprint.c
index d53a8e3..165f14e 100644
--- a/gdb/jv-valprint.c
+++ b/gdb/jv-valprint.c
@@ -79,6 +79,7 @@ java_value_print (struct value *val, struct ui_file *stream,
int reps;
struct type *el_type
= java_primitive_type_from_name (gdbarch, name, i - 2);
+
i = 0;
read_memory (address + get_java_object_header_size (gdbarch), buf4, 4);
@@ -319,6 +320,7 @@ java_print_value_fields (struct type *type, const gdb_byte *valaddr,
if (field_is_static (&TYPE_FIELD (type, i)))
{
char *name = TYPE_FIELD_NAME (type, i);
+
if (!options->static_field_print)
continue;
if (name != NULL && strcmp (name, "class") == 0)
@@ -412,12 +414,14 @@ java_print_value_fields (struct type *type, const gdb_byte *valaddr,
else if (field_is_static (&TYPE_FIELD (type, i)))
{
struct value *v = value_static_field (type, i);
+
if (v == NULL)
fputs_filtered ("<optimized out>", stream);
else
{
struct value_print_options opts;
struct type *t = check_typedef (value_type (v));
+
if (TYPE_CODE (t) == TYPE_CODE_STRUCT)
v = value_addr (v);
opts = *options;
@@ -431,6 +435,7 @@ java_print_value_fields (struct type *type, const gdb_byte *valaddr,
else
{
struct value_print_options opts = *options;
+
opts.deref_ref = 0;
val_print (TYPE_FIELD_TYPE (type, i),
valaddr + TYPE_FIELD_BITPOS (type, i) / 8, 0,
@@ -522,6 +527,7 @@ java_val_print (struct type *type, const gdb_byte *valaddr,
if (options->format || options->output_format)
{
struct value_print_options opts = *options;
+
opts.format = (options->format ? options->format
: options->output_format);
print_scalar_formatted (valaddr, type, &opts, 0, stream);