diff options
author | Michael Snyder <msnyder@vmware.com> | 2010-05-14 23:41:05 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2010-05-14 23:41:05 +0000 |
commit | e0881a8e0fbb8bd5d4d14683390269b97e4e90d7 (patch) | |
tree | 60fe317865c5f6a2e987df4e590cf170bee3360f /gdb/jv-valprint.c | |
parent | abbb1732a91accadee3e1c00b75fc0a3f418fae7 (diff) | |
download | gdb-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.c | 6 |
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); |