mirror of git://gcc.gnu.org/git/gcc.git
gjavah.c (decode_signature_piece): Emit "::" in JArray<>.
* gjavah.c (decode_signature_piece): Emit "::" in JArray<>. Handle nested arrays, like `[[I'. From-SVN: r29067
This commit is contained in:
parent
ad7342be69
commit
3a5395a311
|
|
@ -1,3 +1,8 @@
|
|||
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 'L':
|
||||
/* We have to generate a reference to JArray here,
|
||||
so that our output matches what the compiler
|
||||
does. */
|
||||
++signature;
|
||||
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. */
|
||||
++signature;
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue