/* Java language support definitions for GDB, the GNU debugger.
- Copyright 1997 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of GDB.
extern void
java_error PARAMS ((char *)); /* Defined in jv-exp.y */
-#define JAVA_OBJECT_SIZE (6 * 4) /* sizeof (struct Object) FIXME ! */
+/* sizeof (struct Object) */
+#define JAVA_OBJECT_SIZE (get_java_object_header_size ())
extern struct type *java_int_type;
extern struct type *java_byte_type;
extern struct type *java_double_type;
extern struct type *java_void_type;
-/* This objfile contains symtabs that have been dynamically created
- to record dynamically loaded Java classes and dynamically
- compiled java methods. */
-extern struct objfile *dynamics_objfile;
-
extern int
-java_val_print PARAMS ((struct type *, char *, CORE_ADDR, GDB_FILE *, int, int,
+java_val_print PARAMS ((struct type *, char *, int, CORE_ADDR, GDB_FILE *, int, int,
int, enum val_prettyprint));
extern int
extern value_ptr java_class_from_object PARAMS ((value_ptr));
-extern struct type *type_from_class PARAMS ((struct value*));
+extern struct type *type_from_class PARAMS ((struct value *));
+
+extern struct type *java_primitive_type PARAMS ((int signature));
-extern struct type *java_primitive_type PARAMS ((int));
+extern struct type *java_primitive_type_from_name PARAMS ((char*, int));
-extern struct type *java_array_type PARAMS ((struct type*, int));
+extern struct type *java_array_type PARAMS ((struct type *, int));
-extern struct type *get_java_object_type ();
+extern struct type *get_java_object_type PARAMS ((void));
+extern int get_java_object_header_size PARAMS ((void));
-extern struct type * java_lookup_class PARAMS((char *));
+extern struct type *java_lookup_class PARAMS((char *));
extern int is_object_type PARAMS ((struct type*));
extern void /* Defined in jv-typeprint.c */
java_print_type PARAMS ((struct type *, char *, GDB_FILE *, int, int));
+
+extern char *java_demangle_type_signature PARAMS ((char *));