Re: Support for interface default methods when selecting an overloaded method
Jeff Allen <[email protected]> Thu, 5 Mar 2020 19:59:25 +0000
| Newsgroups | gmane.comp.lang.jython.devel |
|---|---|
| Message-ID | <[email protected]> |
Thanks for trying the RC.
Had it worked, it would have been luck. It has crossed my mind that it
ought to be a feature, but we haven't attempted to add it. I haven't
even thought about how default is implemented in Java.
You could raise it as a bug (feature request) on bugs.jython.org. You
could even submit a patch. (The logic of method resolution is fairly
complicated.) There will, I think, be a 2.7.3, and if there isn't, it
will be because we're working on a 3.x. One of them should have this if
it can be implemented at all.
Jeff Allen
On 05/03/2020 06:30, Nicolas Falliere wrote:
> Hello Jython Dev Team,
>
> Per
> https://www.jython.org/jython-old-sites/archive/221/archive/22/userguide.html#overloaded-java-method-signatures:
> /"Java methods are allowed to be overloaded for different signatures
> (types and number of arguments). When different versions of the method
> differ in the number of arguments that they expect, the appropriate
> method can be easily determined from the number of arguments passed to
> the method."/
>
> With Jyhon 2.7 (2.7.1, and the current RC of 2.7.2 as well), this
> works fine for regular class methods, eg:
> class A {
> void f(int a) {
> return a + 1;
> }
> void f(int a, int b) {
> return a+b;
> }
> }
>
> in Jython:
> A().f(4) # will select the proper overload
> A().f(1, 2) # will select the proper overload
>
> However, for interfaces:
> interface I {
> default void f(int a) {
> return f(a, 1);
> }
> void f(int a, int b);
> }
> class A implements I {
> void f(int a, int b) {
> return a+b;
> }
> }
>
> in Jython:
> x = someMethodReturningAnObjectImplementingI()
> x.f(4) # fail, complains that method should receive 2 args
>
> So it looks like default methods, a language addition of Java 8, may
> not be seen by the Jython interpreter. Is that the case, or am I doing
> something wrong? In the former case, any chance to support that in a
> coming release?
>
> Thank you & Best regards,
> --
> Nicolas Falliere ([email protected] <mailto:[email protected]>)
> JEB Decompiler, Founder and Architect
> PNF Software <https://www.pnfsoftware.com/>| Follow us on Twitter
> <https://twitter.com/jebdec> | Join us on Slack
> <https://www.pnfsoftware.com/chat> | Bulletin Board
> <https://www.pnfsoftware.com/forum>
>
>
> _______________________________________________
> Jython-dev mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jython-dev
_______________________________________________
Jython-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jython-dev