summaryrefslogtreecommitdiff
path: root/gdb/jv-lang.c
diff options
context:
space:
mode:
authorAdam Fedor <fedor@gnu.org>2003-04-02 03:02:46 +0000
committerAdam Fedor <fedor@gnu.org>2003-04-02 03:02:46 +0000
commit284117c688b1bc6adc6d6c490edfc94ecca8db6a (patch)
treee2c4ae95abd500b2c3d2d28b64430a5fa7798c33 /gdb/jv-lang.c
parent8f2071401333e6ad49cdfe7993e84280a2fa45dd (diff)
downloadgdb-284117c688b1bc6adc6d6c490edfc94ecca8db6a.tar.gz
* Makefile.in (c_lang.o, jv_lang.o, language.o): Add $(demangle_h).
* language.h (struct language_defn): Add la_demangle. (language_demangle): Declare. * language.c (language_demangle): New function. (unk_lang_demangle): Likewise. (unknown_language_defn, auto_language_defn, local_language_defn): Add ukn_lang_demangle. * ada-lang.c (ada_language_defn): Add NULL for la_demangle element. * f-lang.c, m2-lang.c, p-lang.c, scm-lang.c: Likewise. * c-lang.c (c_language_defn, asm_language_defn): Likewise. (cplus_language_defn): Add cplus_demangle for la_demangle element. * jv-lang.c (java_demangle): New function (java_language_defn): Use it for la_demangle element. * objc-lang.c (objc_demangle): Add options argument (objc_language_defn): Use objc_demangle for la_demangle element. * maint.c (maintenance_demangle): Replace switch with call to language_demangle. * utils.c (fprintf_symbol_filtered): Likewise.
Diffstat (limited to 'gdb/jv-lang.c')
-rw-r--r--gdb/jv-lang.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c
index f6bc2deb9d8..9e73030362d 100644
--- a/gdb/jv-lang.c
+++ b/gdb/jv-lang.c
@@ -34,6 +34,7 @@
#include "jv-lang.h"
#include "gdbcore.h"
#include "block.h"
+#include "demangle.h"
#include <ctype.h>
struct type *java_int_type;
@@ -996,6 +997,12 @@ java_create_fundamental_type (struct objfile *objfile, int typeid)
return c_create_fundamental_type (objfile, typeid);
}
+static char *java_demangle (const char *mangled, int options)
+{
+ return cplus_demangle (mangled, options | DMGL_JAVA);
+}
+
+
/* Table mapping opcodes into strings for printing operators
and precedences of the operators. */
@@ -1055,6 +1062,7 @@ const struct language_defn java_language_defn =
java_val_print, /* Print a value using appropriate syntax */
java_value_print, /* Print a top-level value */
NULL, /* Language specific skip_trampoline */
+ java_demangle, /* Language specific symbol demangler */
{"", "", "", ""}, /* Binary format info */
{"0%lo", "0", "o", ""}, /* Octal format info */
{"%ld", "", "d", ""}, /* Decimal format info */