Commit 1bbee75b by Bryce McKinlay Committed by Bryce McKinlay

gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream argument on…

gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream argument on the first pass for CNI as...

        * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL
	stream argument on the first pass for CNI as well as JNI.
        (print_method_info): Set up method name on the first pass only.

From-SVN: r34869
parent 043afb2a
2000-07-02 Bryce McKinlay <bryce@albatross.co.nz>
* gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream
argument on the first pass for CNI as well as JNI.
(print_method_info): Set up method name on the first pass only.
2000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com> 2000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-write.c (push_long_const): Appropriately cast short negative * jcf-write.c (push_long_const): Appropriately cast short negative
......
...@@ -189,9 +189,12 @@ static int method_printed = 0; ...@@ -189,9 +189,12 @@ static int method_printed = 0;
if (out) \ if (out) \
print_method_info (out, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \ print_method_info (out, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \
} \ } \
else if (flag_jni) \ else \
print_method_info (NULL, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \ { \
else if (! stubs) add_class_decl (out, jcf, SIGNATURE); print_method_info (NULL, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \
if (! stubs && ! flag_jni) \
add_class_decl (out, jcf, SIGNATURE); \
}
#define HANDLE_CODE_ATTRIBUTE(MAX_STACK, MAX_LOCALS, CODE_LENGTH) \ #define HANDLE_CODE_ATTRIBUTE(MAX_STACK, MAX_LOCALS, CODE_LENGTH) \
if (out && method_declared) decompile_method (out, jcf, CODE_LENGTH); if (out && method_declared) decompile_method (out, jcf, CODE_LENGTH);
...@@ -665,6 +668,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -665,6 +668,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
free (override); free (override);
} }
static void static void
DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags), DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags),
FILE *stream AND JCF* jcf FILE *stream AND JCF* jcf
...@@ -700,7 +704,10 @@ DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags), ...@@ -700,7 +704,10 @@ DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags),
else else
return; return;
} }
else
/* During the first method pass, build a list of method names. This will
be used to determine if field names conflict with method names. */
if (! stream)
{ {
struct method_name *nn; struct method_name *nn;
...@@ -714,14 +721,11 @@ DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags), ...@@ -714,14 +721,11 @@ DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags),
memcpy (nn->signature, JPOOL_UTF_DATA (jcf, sig_index), memcpy (nn->signature, JPOOL_UTF_DATA (jcf, sig_index),
nn->sig_length); nn->sig_length);
method_name_list = nn; method_name_list = nn;
/* The rest of this function doesn't matter. */
return;
} }
/* If we're not printing, then the rest of this function doesn't
matter. This happens during the first method pass in JNI mode.
Eww. */
if (! stream)
return;
/* We don't worry about overrides in JNI mode. */ /* We don't worry about overrides in JNI mode. */
if (! flag_jni) if (! flag_jni)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment