Not likely to be implemented in the foreseeable future; your best solution
is to create two JavaScript methods (or JSNI)

function asAccessor(f) {
  return function (a) { return f(a); };
}

function asComparator(f) {
  return function (a, b) { return f(a, b); };
}

It would be possible to implement @JsFunction lambdas without a backing
class and that would result in the function having the same number of
parameters as the lambda. But as I said this is unlikely to be implemented
in the foreseeable future as it would require a new Java AST node and thus
changes throughout the code base.

On Tue, Jun 27, 2017 at 2:28 PM, Vassilis Virvilis <[email protected]>
wrote:

> Do you want me to report it as issue? If so where?
>
> Is it possible for @JsFunction magic to implement it some day? or it is
> impossible to be implemented with the current design?
>
> Thanks again for all the answers so far.
>
>     Vassilis
>
> On Tue, Jun 27, 2017 at 7:40 PM, 'Roberto Lublinerman' via GWT
> Contributors <[email protected]> wrote:
>
>> You can call it a missing feature. Clearly not a bug, not everything that
>> can be done in JS is available from Java with interop. For these situations
>> you probably want to have some JS stubs.
>>
>> On Tue, Jun 27, 2017 at 1:09 AM, Vassilis Virvilis <[email protected]>
>> wrote:
>>
>>> Ok guys this is the last one - I promise.
>>>
>>> Originally posted in gwt-users.
>>>
>>> Does this count as a bug or at least as a missing feature?
>>>
>>> Thanks
>>>
>>> ---------- Forwarded message ----------
>>> From: Vassilis Virvilis <[email protected]>
>>> Date: Mon, Mar 6, 2017 at 4:08 PM
>>> Subject: jsinterop: @JsFunction .length always 0
>>> To: [email protected]
>>>
>>>
>>> Hi,
>>>
>>> in D3 the bisect function takes a function that can be a comparator or
>>> an accessor.
>>>
>>> D3 internall figures it out by counting provided function arguments
>>> length via f.length https://developer.mozilla.org/
>>> en/docs/Web/JavaScript/Reference/Global_Objects/Function/length
>>>
>>> Trying to pass a java @JsFunction fails because @JsFunction objects are
>>> lambda with zero arguments that wrap samMethod.apply() call
>>>
>>> Any ideas? Should I file this as a bug?
>>>
>>>
>>> --
>>> Vassilis Virvilis
>>>
>>>
>>>
>>> --
>>> Vassilis Virvilis
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Contributors" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected]
>>> .
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/google-web-toolkit-contributors/CAKbOjEx1_jOohikJ7nBAfps
>>> E%3DJHtnD6M31PibMzjvcjLn7G1fw%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjEx1_jOohikJ7nBAfpsE%3DJHtnD6M31PibMzjvcjLn7G1fw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/google-web-toolkit-contributors/CAC7T7g%3D_JcBzZaNnjBosA
>> mcQ_Bm8Bn9r-_7LfFi%3DDu5r%2BO1h1A%40mail.gmail.com
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAC7T7g%3D_JcBzZaNnjBosAmcQ_Bm8Bn9r-_7LfFi%3DDu5r%2BO1h1A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Vassilis Virvilis
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Contributors" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/ms
> gid/google-web-toolkit-contributors/CAKbOjEzKqjBGngrz%3DNES1
> bEe24ejg48mHzBw3L9fLP3JC11_%2BA%40mail.gmail.com
> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjEzKqjBGngrz%3DNES1bEe24ejg48mHzBw3L9fLP3JC11_%2BA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAC7T7gnJC5tBdXqwr1B4wYTz4UNLppqxpbp4ydZUe7xx8qYCrg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to