/* Support for printing Java values for GDB, the GNU debugger.
- Copyright 1997-2000 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GDB.
int
-java_value_print (value_ptr val, struct ui_file *stream, int format,
+java_value_print (struct value *val, struct ui_file *stream, int format,
enum val_prettyprint pretty)
{
struct type *type;
if (el_type == NULL)
{
- CORE_ADDR element, next_element;
+ CORE_ADDR element;
+ CORE_ADDR next_element = -1; /* dummy initial value */
address += JAVA_OBJECT_SIZE + 4; /* Skip object header and length. */
}
else
{
- value_ptr v = allocate_value (el_type);
- value_ptr next_v = allocate_value (el_type);
+ struct value *v = allocate_value (el_type);
+ struct value *next_v = allocate_value (el_type);
VALUE_ADDRESS (v) = address + JAVA_OBJECT_SIZE + 4;
VALUE_ADDRESS (next_v) = VALUE_ADDRESS (v);
if (i > 0)
{
- value_ptr tmp;
+ struct value *tmp;
tmp = next_v;
next_v = v;
&& strcmp (TYPE_NAME (TYPE_TARGET_TYPE (type)), "java.lang.String") == 0
&& (format == 0 || format == 's')
&& address != 0
- && value_as_pointer (val) != 0)
+ && value_as_address (val) != 0)
{
- value_ptr data_val;
+ struct value *data_val;
CORE_ADDR data;
- value_ptr boffset_val;
+ struct value *boffset_val;
unsigned long boffset;
- value_ptr count_val;
+ struct value *count_val;
unsigned long count;
- value_ptr mark;
+ struct value *mark;
mark = value_mark (); /* Remember start of new values */
data_val = value_struct_elt (&val, NULL, "data", NULL, NULL);
- data = value_as_pointer (data_val);
+ data = value_as_address (data_val);
boffset_val = value_struct_elt (&val, NULL, "boffset", NULL, NULL);
- boffset = value_as_pointer (boffset_val);
+ boffset = value_as_address (boffset_val);
count_val = value_struct_elt (&val, NULL, "count", NULL, NULL);
- count = value_as_pointer (count_val);
+ count = value_as_address (count_val);
value_free_to_mark (mark); /* Release unnecessary values */
if (!TYPE_FIELD_STATIC (type, i) && TYPE_FIELD_PACKED (type, i))
{
- value_ptr v;
+ struct value *v;
/* Bitfields require special handling, especially due to byte
order problems. */
}
else if (TYPE_FIELD_STATIC (type, i))
{
- value_ptr v = value_static_field (type, i);
+ struct value *v = value_static_field (type, i);
if (v == NULL)
fputs_filtered ("<optimized out>", stream);
else