You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Derek Baum (JIRA)" <ji...@apache.org> on 2009/07/30 18:17:14 UTC

[jira] Updated: (FELIX-1408) [gogo] coercion of args to match varargs method is inconsistent

     [ https://issues.apache.org/jira/browse/FELIX-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Derek Baum updated FELIX-1408:
------------------------------

    Attachment: patch.txt

This patch simply removes the expansion of list arguments when coercing to to a final array parameter.

It fixes the inconsistency reported in this issue, but gives the results proposed by 
Guillaume Nodet:

> echo $list
[a, b, c]

> echo x $list
x [a, b, c]

> echo $list x
[a, b, c] x

> [gogo] coercion of args to match varargs method is inconsistent
> ---------------------------------------------------------------
>
>                 Key: FELIX-1408
>                 URL: https://issues.apache.org/jira/browse/FELIX-1408
>             Project: Felix
>          Issue Type: Bug
>          Components: Gogo
>            Reporter: Derek Baum
>            Priority: Minor
>         Attachments: patch.txt
>
>
> gogo coerces the supplied arguments to match those required by the method.
> when the last parameter of a method is an array, gogo will coerce all remaining args into the array.
> For example:
> echo is defined as String echo(Object[] args);
> > echo d e f
> d e f
> above, gogo has coerced the 3 arguments into a single args[] array argument
> > list = [a b c]
> a
> b
> c
> > echo $list
> a b c
> here gogo passes the list directly, rather than as the first element of an array
> However, this is inconsistent when extra args are given:
> echo $list x
> x a b c
> The bug here is that the argument 'x' appears as the first, rather than the last argument to echo
>  echo x $list
> x [a, b, c]
> The bug here is that the list is no longer expanded.
> The result should be:
> x a b c

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.