Yep I have done it like this exactly but this creates a JSNI dependency. My reports were assuming that JSNI is a soon to be deprecated thing or at least further investment on it is should be avoided.
However, thanks for the development insight. On Wed, Jun 28, 2017 at 7:56 PM, 'Roberto Lublinerman' via GWT Contributors <[email protected]> wrote: > 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 google-web-toolkit-contributor >>>> [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/CAC7T7gnJC5tBdXqwr1B4wYTz4UNLp > pqxpbp4ydZUe7xx8qYCrg%40mail.gmail.com > <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAC7T7gnJC5tBdXqwr1B4wYTz4UNLppqxpbp4ydZUe7xx8qYCrg%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/msgid/google-web-toolkit-contributors/CAKbOjEw0Mq47XyGruTOqe4owYTsOAWvwzo0yV2rTSTH%2B7WfxJQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
