X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fjv-lang.h;h=345cc9111655e5dd874f7aaf703edd66d0e827d2;hb=720a66cfb68d5d7d8f2e18e9b44c346ac630c68b;hp=822cf087cef1b27fc0a68ae0cdbbc7c82358542e;hpb=b6ba6518e9254bc25f88088228e93ac966ebccd1;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/jv-lang.h b/gdb/jv-lang.h index 822cf08..345cc91 100644 --- a/gdb/jv-lang.h +++ b/gdb/jv-lang.h @@ -1,11 +1,12 @@ /* Java language support definitions for GDB, the GNU debugger. - Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc. + + Copyright (C) 1997-2014 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,53 +15,65 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ + +#ifndef JV_LANG_H +#define JV_LANG_H -extern int java_parse (void); /* Defined in jv-exp.y */ +struct value; +struct type_print_options; +struct parser_state; + +extern int java_parse (struct parser_state *); /* Defined in jv-exp.y */ extern void java_error (char *); /* Defined in jv-exp.y */ -/* sizeof (struct Object) */ -#define JAVA_OBJECT_SIZE (get_java_object_header_size ()) +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 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; +extern const struct builtin_java_type *builtin_java_type (struct gdbarch *); -extern int java_val_print (struct type *, char *, int, CORE_ADDR, - struct ui_file *, int, int, int, - enum val_prettyprint); +extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, + struct ui_file *, int, + const struct value *, + const struct value_print_options *); -extern int java_value_print (struct value *, struct ui_file *, int, - enum val_prettyprint); +extern void java_value_print (struct value *, struct ui_file *, + const struct value_print_options *); -extern value_ptr java_class_from_object (value_ptr); +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 *, + const char *, int); extern struct type *java_array_type (struct type *, int); extern struct type *get_java_object_type (void); -extern int get_java_object_header_size (void); +extern int get_java_object_header_size (struct gdbarch *); extern struct type *java_lookup_class (char *); extern int is_object_type (struct type *); /* Defined in jv-typeprint.c */ -extern void java_print_type (struct type *, char *, struct ui_file *, int, - int); +extern void java_print_type (struct type *, const char *, + struct ui_file *, int, int, + const struct type_print_options *); + +extern char *java_demangle_type_signature (const char *); -extern char *java_demangle_type_signature (char *); +#endif