Commit 9b4579b3 by Tom Tromey Committed by Tom Tromey

* gjavah.c (print_field_info): Allow non-static final fields.

From-SVN: r31466
parent 9311a396
2000-01-17 Tom Tromey <tromey@cygnus.com>
* gjavah.c (print_field_info): Allow non-static final fields.
2000-01-16 Anthony Green <green@cygnus.com> 2000-01-16 Anthony Green <green@cygnus.com>
* parse.y (build_string_concatenation): Only use * parse.y (build_string_concatenation): Only use
......
/* Program to write C++-suitable header files from a Java(TM) .class /* Program to write C++-suitable header files from a Java(TM) .class
file. This is similar to SUN's javah. file. This is similar to SUN's javah.
Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc. Copyright (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -436,7 +436,11 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -436,7 +436,11 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
return; return;
} }
if (flags & ACC_FINAL) fputs (" ", out);
if ((flags & ACC_STATIC))
fputs ("static ", out);
if ((flags & ACC_FINAL))
{ {
if (current_field_value > 0) if (current_field_value > 0)
{ {
...@@ -449,7 +453,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -449,7 +453,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
{ {
jint num; jint num;
int most_negative = 0; int most_negative = 0;
fputs (" static const jint ", out); fputs ("const jint ", out);
print_field_name (out, jcf, name_index, 0); print_field_name (out, jcf, name_index, 0);
fputs (" = ", out); fputs (" = ", out);
num = JPOOL_INT (jcf, current_field_value); num = JPOOL_INT (jcf, current_field_value);
...@@ -468,7 +472,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -468,7 +472,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
{ {
jlong num; jlong num;
int most_negative = 0; int most_negative = 0;
fputs (" static const jlong ", out); fputs ("const jlong ", out);
print_field_name (out, jcf, name_index, 0); print_field_name (out, jcf, name_index, 0);
fputs (" = ", out); fputs (" = ", out);
num = JPOOL_LONG (jcf, current_field_value); num = JPOOL_LONG (jcf, current_field_value);
...@@ -486,7 +490,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -486,7 +490,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
case CONSTANT_Float: case CONSTANT_Float:
{ {
jfloat fnum = JPOOL_FLOAT (jcf, current_field_value); jfloat fnum = JPOOL_FLOAT (jcf, current_field_value);
fputs (" static const jfloat ", out); fputs ("const jfloat ", out);
print_field_name (out, jcf, name_index, 0); print_field_name (out, jcf, name_index, 0);
if (! java_float_finite (fnum)) if (! java_float_finite (fnum))
fputs (";\n", out); fputs (";\n", out);
...@@ -497,7 +501,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -497,7 +501,7 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
case CONSTANT_Double: case CONSTANT_Double:
{ {
jdouble dnum = JPOOL_DOUBLE (jcf, current_field_value); jdouble dnum = JPOOL_DOUBLE (jcf, current_field_value);
fputs (" static const jdouble ", out); fputs ("const jdouble ", out);
print_field_name (out, jcf, name_index, 0); print_field_name (out, jcf, name_index, 0);
if (! java_double_finite (dnum)) if (! java_double_finite (dnum))
fputs (";\n", out); fputs (";\n", out);
...@@ -517,10 +521,6 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags), ...@@ -517,10 +521,6 @@ DEFUN(print_field_info, (stream, jcf, name_index, sig_index, flags),
} }
} }
fputs (" ", out);
if ((flags & ACC_STATIC))
fputs ("static ", out);
override = get_field_name (jcf, name_index, flags); override = get_field_name (jcf, name_index, flags);
print_c_decl (out, jcf, name_index, sig_index, 0, override); print_c_decl (out, jcf, name_index, sig_index, 0, override);
fputs (";\n", out); fputs (";\n", out);
......
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