Commit 3a5395a3 by Tom Tromey Committed by Tom Tromey

gjavah.c (decode_signature_piece): Emit "::" in JArray<>.

	* gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
	Handle nested arrays, like `[[I'.

From-SVN: r29067
parent ad7342be
1999-09-02 Tom Tromey <tromey@cygnus.com>
* gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
Handle nested arrays, like `[[I'.
1999-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* class.c (finish_class): Remove unused parameter, all callers
......
......@@ -695,10 +695,13 @@ decode_signature_piece (stream, signature, limit, need_space)
int *need_space;
{
const char *ctype;
int array_depth = 0;
switch (signature[0])
{
case '[':
/* More spaghetti. */
array_loop:
for (signature++; (signature < limit
&& *signature >= '0'
&& *signature <= '9'); signature++)
......@@ -713,13 +716,17 @@ decode_signature_piece (stream, signature, limit, need_space)
case 'S': ctype = "jshortArray"; goto printit;
case 'J': ctype = "jlongArray"; goto printit;
case 'Z': ctype = "jbooleanArray"; goto printit;
case '[': ctype = "jobjectArray"; goto printit;
case '[':
/* We have a nested array. */
++array_depth;
fputs ("JArray<", stream);
goto array_loop;
case 'L':
/* We have to generate a reference to JArray here,
so that our output matches what the compiler
does. */
/* We have to generate a reference to JArray here, so that
our output matches what the compiler does. */
++signature;
fputs ("JArray<", stream);
fputs ("JArray<::", stream);
while (signature < limit && *signature != ';')
{
int ch = UTF8_GET (signature, limit);
......@@ -781,6 +788,9 @@ decode_signature_piece (stream, signature, limit, need_space)
break;
}
while (array_depth-- > 0)
fputs ("> *", stream);
return signature;
}
......
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