diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-07-02 12:09:27 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-07-02 12:09:27 +0000 |
commit | 0daa2b63ccc8c016d21d06513058310385cfa221 (patch) | |
tree | 4464bf8830a9d3e12f78234f165048a75628cf8a /gdb/jv-lang.h | |
parent | 85bd1942b5a87c71d84faa442a6385236a5c9355 (diff) | |
download | gdb-0daa2b63ccc8c016d21d06513058310385cfa221.zip gdb-0daa2b63ccc8c016d21d06513058310385cfa221.tar.gz gdb-0daa2b63ccc8c016d21d06513058310385cfa221.tar.bz2 |
* jv-lang.h (java_int_type, java_byte_type, java_short_type,
java_long_type, java_boolean_type, java_char_type, java_float_type,
java_double_type, java_void_type): Remove.
(struct builtin_java_type): New data type.
(builtin_java_type): Add prototype.
(java_primitive_type): Add GDBARCH argument.
(java_primitive_type_from_name): Likewise.
(type_from_class): Likewise.
* jv-lang.c (java_int_type, java_byte_type, java_short_type,
java_long_type, java_boolean_type, java_char_type, java_float_type,
java_double_type, java_void_type): Remove.
(build_java_types, builtin_java_type): New functions.
(java_type_data): New static variable.
(_initialize_java_language): Initialize it. No longer initialize
global types.
(java_language_arch_info): Use per-architecture types.
(java_primitive_type): Add GDBARCH argument. Return per-architecture
type instead of refering to global variable.
(java_primitive_type_from_name): Add GDBARCH argument.
(java_primitive_type_name): New function.
(java_demangled_signature_length): Use it instead of
java_primitive_type_from_name.
(java_demangled_signature_copy): Likewise.
(type_from_class): Add GDBARCH argument. Pass to java_link_class_type,
java_primitive_type, and recursive type_from_class call.
(java_link_class_type): Add GDBARCH argument. Pass to type_from_class
calls. Use per-architecture types instead of global types.
* jv-exp.y (parse_java_type): New define.
Use per-architecture types instead of global types througout.
* jv-valprint.c (java_value_print): Pass architecture to
type_from_class and java_primitive_type_from_name. Use per-
architecture types instead of global types.
Diffstat (limited to 'gdb/jv-lang.h')
-rw-r--r-- | gdb/jv-lang.h | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/gdb/jv-lang.h b/gdb/jv-lang.h index df97d3f..466927d 100644 --- a/gdb/jv-lang.h +++ b/gdb/jv-lang.h @@ -27,15 +27,20 @@ extern int java_parse (void); /* Defined in jv-exp.y */ extern void java_error (char *); /* Defined in jv-exp.y */ -extern struct type *java_int_type; -extern struct type *java_byte_type; -extern struct type *java_short_type; -extern struct type *java_long_type; -extern struct type *java_boolean_type; -extern struct type *java_char_type; -extern struct type *java_float_type; -extern struct type *java_double_type; -extern struct type *java_void_type; +struct builtin_java_type +{ + struct type *builtin_int; + struct type *builtin_byte; + struct type *builtin_short; + struct type *builtin_long; + struct type *builtin_boolean; + struct type *builtin_char; + struct type *builtin_float; + struct type *builtin_double; + struct type *builtin_void; +}; + +extern const struct builtin_java_type *builtin_java_type (struct gdbarch *); extern int java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, struct ui_file *, int, @@ -46,11 +51,12 @@ extern int java_value_print (struct value *, struct ui_file *, extern struct value *java_class_from_object (struct value *); -extern struct type *type_from_class (struct value *); +extern struct type *type_from_class (struct gdbarch *, struct value *); -extern struct type *java_primitive_type (int signature); +extern struct type *java_primitive_type (struct gdbarch *, int signature); -extern struct type *java_primitive_type_from_name (char *, int); +extern struct type *java_primitive_type_from_name (struct gdbarch *, + char *, int); extern struct type *java_array_type (struct type *, int); |