gjavah.c (print_name_for_stub_or_jni): Adjust call to print_cxx_classname.

* gjavah.c (print_name_for_stub_or_jni): Adjust call to
	print_cxx_classname.
	(print_cxx_classname): Add add_scope parameter.
	(print_class_decls): Do not emit a semicolon after the extern
	"Java" block.
	(process_file): Adjust calls to print_cxx_classname.

From-SVN: r60555
This commit is contained in:
Mark Mitchell 2002-12-28 06:29:24 +00:00 committed by Mark Mitchell
parent 62fbd434b0
commit 239b7deaef
2 changed files with 18 additions and 7 deletions

View File

@ -1,3 +1,12 @@
2002-12-27 Mark Mitchell <mark@codesourcery.com>
* gjavah.c (print_name_for_stub_or_jni): Adjust call to
print_cxx_classname.
(print_cxx_classname): Add add_scope parameter.
(print_class_decls): Do not emit a semicolon after the extern
"Java" block.
(process_file): Adjust calls to print_cxx_classname.
2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk> 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
* gcj.texi: Include Cover Texts in man page. * gcj.texi: Include Cover Texts in man page.

View File

@ -122,7 +122,7 @@ static struct method_name *method_name_list;
static void print_field_info PARAMS ((FILE*, JCF*, int, int, JCF_u2)); static void print_field_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
static void print_mangled_classname PARAMS ((FILE*, JCF*, const char*, int)); static void print_mangled_classname PARAMS ((FILE*, JCF*, const char*, int));
static int print_cxx_classname PARAMS ((FILE*, const char*, JCF*, int)); static int print_cxx_classname PARAMS ((FILE*, const char*, JCF*, int, int));
static void print_method_info PARAMS ((FILE*, JCF*, int, int, JCF_u2)); static void print_method_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
static void print_c_decl PARAMS ((FILE*, JCF*, int, int, int, const char *, static void print_c_decl PARAMS ((FILE*, JCF*, int, int, int, const char *,
int)); int));
@ -1533,7 +1533,7 @@ DEFUN (print_name_for_stub_or_jni, (stream, jcf, name_index, signature_index,
AND int is_init AND const char *name_override AND int flags) AND int is_init AND const char *name_override AND int flags)
{ {
const char *const prefix = flag_jni ? "Java_" : ""; const char *const prefix = flag_jni ? "Java_" : "";
print_cxx_classname (stream, prefix, jcf, jcf->this_class); print_cxx_classname (stream, prefix, jcf, jcf->this_class, 1);
fputs (flag_jni ? "_" : "::", stream); fputs (flag_jni ? "_" : "::", stream);
print_full_cxx_name (stream, jcf, name_index, print_full_cxx_name (stream, jcf, name_index,
signature_index, is_init, name_override, signature_index, is_init, name_override,
@ -1641,11 +1641,12 @@ DEFUN(print_mangled_classname, (stream, jcf, prefix, index),
to an array, ignore it and don't print PREFIX. Returns 1 if to an array, ignore it and don't print PREFIX. Returns 1 if
something was printed, 0 otherwise. */ something was printed, 0 otherwise. */
static int static int
print_cxx_classname (stream, prefix, jcf, index) print_cxx_classname (stream, prefix, jcf, index, add_scope)
FILE *stream; FILE *stream;
const char *prefix; const char *prefix;
JCF *jcf; JCF *jcf;
int index; int index;
int add_scope;
{ {
int name_index = JPOOL_USHORT1 (jcf, index); int name_index = JPOOL_USHORT1 (jcf, index);
int len, c; int len, c;
@ -1664,7 +1665,7 @@ print_cxx_classname (stream, prefix, jcf, index)
fputs (prefix, stream); fputs (prefix, stream);
/* Print a leading "::" so we look in the right namespace. */ /* Print a leading "::" so we look in the right namespace. */
if (! flag_jni && ! stubs) if (! flag_jni && ! stubs && add_scope)
fputs ("::", stream); fputs ("::", stream);
while (s < limit) while (s < limit)
@ -1954,7 +1955,7 @@ print_class_decls (out, jcf, self)
/* We use an initial offset of 0 because the root namelet /* We use an initial offset of 0 because the root namelet
doesn't cause anything to print. */ doesn't cause anything to print. */
print_namelet (out, &root, 0); print_namelet (out, &root, 0);
fputs ("};\n\n", out); fputs ("}\n\n", out);
} }
} }
@ -2130,7 +2131,8 @@ DEFUN(process_file, (jcf, out),
if (! stubs) if (! stubs)
{ {
if (! print_cxx_classname (out, "class ", jcf, jcf->this_class)) if (! print_cxx_classname (out, "class ", jcf,
jcf->this_class, 0))
{ {
fprintf (stderr, "class is of array type\n"); fprintf (stderr, "class is of array type\n");
found_error = 1; found_error = 1;
@ -2139,7 +2141,7 @@ DEFUN(process_file, (jcf, out),
if (jcf->super_class) if (jcf->super_class)
{ {
if (! print_cxx_classname (out, " : public ", if (! print_cxx_classname (out, " : public ",
jcf, jcf->super_class)) jcf, jcf->super_class, 1))
{ {
fprintf (stderr, "base class is of array type\n"); fprintf (stderr, "base class is of array type\n");
found_error = 1; found_error = 1;