projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
don't let bin2hex call strlen
[deliverable/binutils-gdb.git]
/
gdb
/
jv-typeprint.c
diff --git
a/gdb/jv-typeprint.c
b/gdb/jv-typeprint.c
index cc3bb158e3d1024d72824c563d11c26d2edbee82..df46debece361c71261da2eec00c4cc5330f76cb 100644
(file)
--- a/
gdb/jv-typeprint.c
+++ b/
gdb/jv-typeprint.c
@@
-1,5
+1,5
@@
/* Support for printing Java types for GDB, the GNU debugger.
/* Support for printing Java types for GDB, the GNU debugger.
- Copyright (C) 1997-20
00, 2007-2012
Free Software Foundation, Inc.
+ Copyright (C) 1997-20
14
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-24,17
+24,19
@@
#include "demangle.h"
#include "gdb-demangle.h"
#include "jv-lang.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "jv-lang.h"
-#include
"gdb_string.h"
+#include
<string.h>
#include "typeprint.h"
#include "c-lang.h"
#include "cp-abi.h"
#include "typeprint.h"
#include "c-lang.h"
#include "cp-abi.h"
+#include "cp-support.h"
#include "gdb_assert.h"
/* Local functions */
static void java_type_print_base (struct type * type,
struct ui_file *stream, int show,
#include "gdb_assert.h"
/* Local functions */
static void java_type_print_base (struct type * type,
struct ui_file *stream, int show,
- int level);
+ int level,
+ const struct type_print_options *flags);
static void
java_type_print_derivation_info (struct ui_file *stream, struct type *type)
static void
java_type_print_derivation_info (struct ui_file *stream, struct type *type)
@@
-84,7
+86,7
@@
java_type_print_derivation_info (struct ui_file *stream, struct type *type)
static void
java_type_print_base (struct type *type, struct ui_file *stream, int show,
static void
java_type_print_base (struct type *type, struct ui_file *stream, int show,
- int level)
+ int level
, const struct type_print_options *flags
)
{
int i;
int len;
{
int i;
int len;
@@
-115,7
+117,8
@@
java_type_print_base (struct type *type, struct ui_file *stream, int show,
switch (TYPE_CODE (type))
{
case TYPE_CODE_PTR:
switch (TYPE_CODE (type))
{
case TYPE_CODE_PTR:
- java_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level);
+ java_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level,
+ flags);
break;
case TYPE_CODE_STRUCT:
break;
case TYPE_CODE_STRUCT:
@@
-192,7
+195,7
@@
java_type_print_base (struct type *type, struct ui_file *stream, int show,
java_print_type (TYPE_FIELD_TYPE (type, i),
TYPE_FIELD_NAME (type, i),
java_print_type (TYPE_FIELD_TYPE (type, i),
TYPE_FIELD_NAME (type, i),
- stream, show - 1, level + 4);
+ stream, show - 1, level + 4
, flags
);
fprintf_filtered (stream, ";\n");
}
fprintf_filtered (stream, ";\n");
}
@@
-237,7
+240,8
@@
java_type_print_base (struct type *type, struct ui_file *stream, int show,
physname[p - real_physname] = '\0';
is_full_physname_constructor
physname[p - real_physname] = '\0';
is_full_physname_constructor
- = (is_constructor_name (physname)
+ = (TYPE_FN_FIELD_CONSTRUCTOR (f, j)
+ || is_constructor_name (physname)
|| is_destructor_name (physname));
QUIT;
|| is_destructor_name (physname));
QUIT;
@@
-283,8
+287,8
@@
java_type_print_base (struct type *type, struct ui_file *stream, int show,
mangled_name = physname;
demangled_name =
mangled_name = physname;
demangled_name =
-
cplus
_demangle (mangled_name,
-
DMGL_ANSI | DMGL_PARAMS | DMGL_JAVA);
+
gdb
_demangle (mangled_name,
+ DMGL_ANSI | DMGL_PARAMS | DMGL_JAVA);
if (demangled_name == NULL)
demangled_name = xstrdup (mangled_name);
if (demangled_name == NULL)
demangled_name = xstrdup (mangled_name);
@@
-323,22
+327,20
@@
java_type_print_base (struct type *type, struct ui_file *stream, int show,
break;
default:
break;
default:
- c_type_print_base (type, stream, show, level);
+ c_type_print_base (type, stream, show, level
, flags
);
}
}
/* LEVEL is the depth to indent lines by. */
}
}
/* LEVEL is the depth to indent lines by. */
-extern void c_type_print_varspec_suffix (struct type *, struct ui_file *,
- int, int, int);
-
void
java_print_type (struct type *type, const char *varstring,
void
java_print_type (struct type *type, const char *varstring,
- struct ui_file *stream, int show, int level)
+ struct ui_file *stream, int show, int level,
+ const struct type_print_options *flags)
{
int demangled_args;
{
int demangled_args;
- java_type_print_base (type, stream, show, level);
+ java_type_print_base (type, stream, show, level
, flags
);
if (varstring != NULL && *varstring != '\0')
{
if (varstring != NULL && *varstring != '\0')
{
@@
-350,5
+352,5
@@
java_print_type (struct type *type, const char *varstring,
so don't print an additional pair of ()'s. */
demangled_args = varstring != NULL && strchr (varstring, '(') != NULL;
so don't print an additional pair of ()'s. */
demangled_args = varstring != NULL && strchr (varstring, '(') != NULL;
- c_type_print_varspec_suffix (type, stream, show, 0, demangled_args);
+ c_type_print_varspec_suffix (type, stream, show, 0, demangled_args
, flags
);
}
}
This page took
0.025522 seconds
and
4
git commands to generate.