* jv-exp.y (push_fieldnames): Use STRUCTOP_PTR instead of
STRUCTOP_STRUCT. * jv-lang.c (evaluate_subexp_java): Handle STRUCTOP_PTR instead of STRUCTOP_STRUCT. * jv-typeprint.c (java_print_type): Do not crash on NULL varstring. * gdb.java/jprint.java (public): Avoid invalid call to static method.
This commit is contained in:
parent
bfe9c90b9a
commit
dc5000e721
@ -1,3 +1,11 @@
|
||||
2007-05-14 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* jv-exp.y (push_fieldnames): Use STRUCTOP_PTR instead of
|
||||
STRUCTOP_STRUCT.
|
||||
* jv-lang.c (evaluate_subexp_java): Handle STRUCTOP_PTR instead of
|
||||
STRUCTOP_STRUCT.
|
||||
* jv-typeprint.c (java_print_type): Do not crash on NULL varstring.
|
||||
|
||||
2007-05-14 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* gdbarch.sh (read_sp): Remove.
|
||||
|
@ -1265,7 +1265,7 @@ push_variable (struct stoken name)
|
||||
}
|
||||
|
||||
/* Assuming a reference expression has been pushed, emit the
|
||||
STRUCTOP_STRUCT ops to access the field named NAME. If NAME is a
|
||||
STRUCTOP_PTR ops to access the field named NAME. If NAME is a
|
||||
qualified name (has '.'), generate a field access for each part. */
|
||||
|
||||
static void
|
||||
@ -1281,9 +1281,9 @@ push_fieldnames (name)
|
||||
{
|
||||
/* token.ptr is start of current field name. */
|
||||
token.length = &name.ptr[i] - token.ptr;
|
||||
write_exp_elt_opcode (STRUCTOP_STRUCT);
|
||||
write_exp_elt_opcode (STRUCTOP_PTR);
|
||||
write_exp_string (token);
|
||||
write_exp_elt_opcode (STRUCTOP_STRUCT);
|
||||
write_exp_elt_opcode (STRUCTOP_PTR);
|
||||
token.ptr += token.length + 1;
|
||||
}
|
||||
if (i >= name.length)
|
||||
|
@ -928,7 +928,7 @@ evaluate_subexp_java (struct type *expect_type, struct expression *exp,
|
||||
goto nosideret;
|
||||
return java_value_string (&exp->elts[pc + 2].string, i);
|
||||
|
||||
case STRUCTOP_STRUCT:
|
||||
case STRUCTOP_PTR:
|
||||
arg1 = evaluate_subexp_standard (expect_type, exp, pos, noside);
|
||||
/* Convert object field (such as TYPE.class) to reference. */
|
||||
if (TYPE_CODE (value_type (arg1)) == TYPE_CODE_STRUCT)
|
||||
|
@ -338,6 +338,6 @@ java_print_type (struct type *type, char *varstring, struct ui_file *stream,
|
||||
/* For demangled function names, we have the arglist as part of the name,
|
||||
so don't print an additional pair of ()'s */
|
||||
|
||||
demangled_args = strchr (varstring, '(') != NULL;
|
||||
demangled_args = varstring != NULL && strchr (varstring, '(') != NULL;
|
||||
c_type_print_varspec_suffix (type, stream, show, 0, demangled_args);
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-05-14 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.java/jprint.java (public): Avoid invalid call to static
|
||||
method.
|
||||
|
||||
2007-05-14 Denis Pilat <denis.pilat@st.com>
|
||||
|
||||
* gdb.mi/mi-console.exp, gdb.mi/gdb669.exp, gdb.mi/mi-cli.exp,
|
||||
|
@ -54,7 +54,7 @@ public class jprint extends jvclass {
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
jprint x = new jprint ();
|
||||
x.print (44);
|
||||
x.dothat (44);
|
||||
print (k, 33);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user