This is the reworked java inferior call patch. My previous attempt
tried to modify the gdb v3 abi code to handle missing debug information
from gcj. After a couple of gcc patches from Andrew Haley, the
gnu-v3-abi.c code doesn't require any tampering.
I had to enhance dwarf2read.c to handle the java vtable name (which is
vtable) and to modify C++-only code to handle java syntax for class names.
I have included a test case.
Ok to commit?
-- Jeff J.
2004-05-17 Jeff Johnston <jjohnstn@redhat.com>
* dwarf2read.c (typename_concat): Change prototype to accept dwarf2_cu
struct pointer as argument. Change function to use new argument to
determine language. If language is Java, use "." as separator,
otherwise, use "::".
(partial_die_parent_scope): Change comment to include java. Check
language to determine if Java "." or C++ "::" separator should be used.
(add_partial_symbol): Enhance tests for C++ to also test for Java.
(guess_structure_name): Ditto.
(read_subroutine_type): Ditto.
(new_symbol): Ditto.
(dwarf2_add_member_fn): Add check for Java when reading member name.
Java debug info includes full class name which must be stripped off.
(read_structure_type): Add Java vtable support.
(read_namespace): Add Java support.
* jv-exp.y (FuncStart): New pattern.
(MethodInvocation): Add support for simple function calls. Change
warning message for other forms of inferior call currently not
supported.
* valarith.c (value_subscript): Treat an array with upper-bound
of -1 as unknown size.
gdb/testsuite/ChangeLog:
2004-05-17 Jeff Johnston <jjohnstn@redhat.com>
* gdb.java/jprint.exp: New test for java inferior call.
* gdb.java/jprint.java: Ditto.