]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/jv-lang.h
gdb/
[thirdparty/binutils-gdb.git] / gdb / jv-lang.h
CommitLineData
c906108c 1/* Java language support definitions for GDB, the GNU debugger.
a2bd3dcd 2
4c38e0a4 3 Copyright (C) 1997, 1998, 1999, 2000, 2005, 2007, 2008, 2009, 2010
6aba47ca 4 Free Software Foundation, Inc.
c906108c 5
c5aa993b 6 This file is part of GDB.
c906108c 7
c5aa993b
JM
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
a9762ec7 10 the Free Software Foundation; either version 3 of the License, or
c5aa993b 11 (at your option) any later version.
c906108c 12
c5aa993b
JM
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
c906108c 17
c5aa993b 18 You should have received a copy of the GNU General Public License
a9762ec7 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c 20
75c9979e
AC
21#ifndef JV_LANG_H
22#define JV_LANG_H
23
24struct value;
25
a14ed312 26extern int java_parse (void); /* Defined in jv-exp.y */
c906108c 27
a14ed312 28extern void java_error (char *); /* Defined in jv-exp.y */
c906108c 29
0daa2b63
UW
30struct builtin_java_type
31{
32 struct type *builtin_int;
33 struct type *builtin_byte;
34 struct type *builtin_short;
35 struct type *builtin_long;
36 struct type *builtin_boolean;
37 struct type *builtin_char;
38 struct type *builtin_float;
39 struct type *builtin_double;
40 struct type *builtin_void;
41};
42
43extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
c906108c 44
fc1a4b47 45extern int java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
79a45b7d 46 struct ui_file *, int,
0e03807e 47 const struct value *,
79a45b7d 48 const struct value_print_options *);
c906108c 49
79a45b7d
TT
50extern int java_value_print (struct value *, struct ui_file *,
51 const struct value_print_options *);
c906108c 52
75c9979e 53extern struct value *java_class_from_object (struct value *);
c906108c 54
0daa2b63 55extern struct type *type_from_class (struct gdbarch *, struct value *);
c906108c 56
0daa2b63 57extern struct type *java_primitive_type (struct gdbarch *, int signature);
c906108c 58
0daa2b63
UW
59extern struct type *java_primitive_type_from_name (struct gdbarch *,
60 char *, int);
c906108c 61
a14ed312 62extern struct type *java_array_type (struct type *, int);
c906108c 63
a14ed312 64extern struct type *get_java_object_type (void);
45d5d5ca 65extern int get_java_object_header_size (struct gdbarch *);
c906108c 66
a14ed312 67extern struct type *java_lookup_class (char *);
c906108c 68
a14ed312 69extern int is_object_type (struct type *);
c906108c 70
d9fcf2fb 71/* Defined in jv-typeprint.c */
25b524e8 72extern void java_print_type (struct type *, const char *, struct ui_file *, int,
d9fcf2fb 73 int);
c906108c 74
a14ed312 75extern char *java_demangle_type_signature (char *);
75c9979e
AC
76
77#endif