]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/jv-lang.h
Update Copyright year range in all files maintained by GDB.
[thirdparty/binutils-gdb.git] / gdb / jv-lang.h
CommitLineData
c906108c 1/* Java language support definitions for GDB, the GNU debugger.
a2bd3dcd 2
ecd75fc8 3 Copyright (C) 1997-2014 Free Software Foundation, Inc.
c906108c 4
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
c5aa993b 10 (at your option) any later version.
c906108c 11
c5aa993b
JM
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
c906108c 16
c5aa993b 17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c 19
75c9979e
AC
20#ifndef JV_LANG_H
21#define JV_LANG_H
22
23struct value;
79d43c61 24struct type_print_options;
75c9979e 25
1777feb0 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
d3eab38a
TT
45extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
46 struct ui_file *, int,
47 const struct value *,
48 const struct value_print_options *);
c906108c 49
8e069a98
TT
50extern void 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 59extern struct type *java_primitive_type_from_name (struct gdbarch *,
0d5cff50 60 const 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 */
1777feb0 72extern void java_print_type (struct type *, const char *,
79d43c61
TT
73 struct ui_file *, int, int,
74 const struct type_print_options *);
c906108c 75
0d5cff50 76extern char *java_demangle_type_signature (const char *);
75c9979e
AC
77
78#endif