]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/jv-lang.h
GDB copyright headers update after running GDB's copyright.py script.
[thirdparty/binutils-gdb.git] / gdb / jv-lang.h
CommitLineData
c906108c 1/* Java language support definitions for GDB, the GNU debugger.
a2bd3dcd 2
618f726f 3 Copyright (C) 1997-2016 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;
410a0ff2 25struct parser_state;
75c9979e 26
410a0ff2 27extern int java_parse (struct parser_state *); /* Defined in jv-exp.y */
c906108c 28
a14ed312 29extern void java_error (char *); /* Defined in jv-exp.y */
c906108c 30
0daa2b63
UW
31struct builtin_java_type
32{
33 struct type *builtin_int;
34 struct type *builtin_byte;
35 struct type *builtin_short;
36 struct type *builtin_long;
37 struct type *builtin_boolean;
38 struct type *builtin_char;
39 struct type *builtin_float;
40 struct type *builtin_double;
41 struct type *builtin_void;
42};
43
44extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
c906108c 45
d3eab38a
TT
46extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
47 struct ui_file *, int,
48 const struct value *,
49 const struct value_print_options *);
c906108c 50
8e069a98
TT
51extern void java_value_print (struct value *, struct ui_file *,
52 const struct value_print_options *);
c906108c 53
75c9979e 54extern struct value *java_class_from_object (struct value *);
c906108c 55
0daa2b63 56extern struct type *type_from_class (struct gdbarch *, struct value *);
c906108c 57
0daa2b63 58extern struct type *java_primitive_type (struct gdbarch *, int signature);
c906108c 59
0daa2b63 60extern struct type *java_primitive_type_from_name (struct gdbarch *,
0d5cff50 61 const char *, int);
c906108c 62
a14ed312 63extern struct type *java_array_type (struct type *, int);
c906108c 64
a14ed312 65extern struct type *get_java_object_type (void);
45d5d5ca 66extern int get_java_object_header_size (struct gdbarch *);
c906108c 67
a14ed312 68extern struct type *java_lookup_class (char *);
c906108c 69
a14ed312 70extern int is_object_type (struct type *);
c906108c 71
d9fcf2fb 72/* Defined in jv-typeprint.c */
1777feb0 73extern void java_print_type (struct type *, const char *,
79d43c61
TT
74 struct ui_file *, int, int,
75 const struct type_print_options *);
c906108c 76
0d5cff50 77extern char *java_demangle_type_signature (const char *);
75c9979e
AC
78
79#endif