GDB (API)
/home/stan/gdb/src/gdb/jv-lang.h
Go to the documentation of this file.
00001 /* Java language support definitions for GDB, the GNU debugger.
00002 
00003    Copyright (C) 1997-2013 Free Software Foundation, Inc.
00004 
00005    This file is part of GDB.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 3 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00019 
00020 #ifndef JV_LANG_H
00021 #define JV_LANG_H
00022 
00023 struct value;
00024 struct type_print_options;
00025 
00026 extern int java_parse (void);           /* Defined in jv-exp.y */
00027 
00028 extern void java_error (char *);        /* Defined in jv-exp.y */
00029 
00030 struct builtin_java_type
00031 {
00032   struct type *builtin_int;
00033   struct type *builtin_byte;
00034   struct type *builtin_short;
00035   struct type *builtin_long;
00036   struct type *builtin_boolean;
00037   struct type *builtin_char;
00038   struct type *builtin_float;
00039   struct type *builtin_double;
00040   struct type *builtin_void;
00041 };
00042 
00043 extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
00044 
00045 extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
00046                             struct ui_file *, int,
00047                             const struct value *,
00048                             const struct value_print_options *);
00049 
00050 extern void java_value_print (struct value *, struct ui_file *,
00051                               const struct value_print_options *);
00052 
00053 extern struct value *java_class_from_object (struct value *);
00054 
00055 extern struct type *type_from_class (struct gdbarch *, struct value *);
00056 
00057 extern struct type *java_primitive_type (struct gdbarch *, int signature);
00058 
00059 extern struct type *java_primitive_type_from_name (struct gdbarch *,
00060                                                    const char *, int);
00061 
00062 extern struct type *java_array_type (struct type *, int);
00063 
00064 extern struct type *get_java_object_type (void);
00065 extern int get_java_object_header_size (struct gdbarch *);
00066 
00067 extern struct type *java_lookup_class (char *);
00068 
00069 extern int is_object_type (struct type *);
00070 
00071 /* Defined in jv-typeprint.c */
00072 extern void java_print_type (struct type *, const char *,
00073                              struct ui_file *, int, int,
00074                              const struct type_print_options *);
00075 
00076 extern char *java_demangle_type_signature (const char *);
00077 
00078 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines