Dmitry Petrov
2f82c5b6af
JVM: Fix default parameter values handling
...
When we generate call for 'foo', we make decision about invoking
a 'foo$default' too late, after the call arguments are generated.
If 'foo' was an override, and base class (interface) was generic,
'foo' in base class could have a different Kotlin and JVM
signature, so the arguments we generated could be generated wrong
(primitive or inline class values instead of boxes, see KT-38680).
Also, we always selected first base class in supertypes list,
which caused KT-15971.
Look into resolved call and see if we should actually call
'foo$default' instead of 'foo' when determining actual callable.
Overrides can't introduce default parameter values, and
override-equivalent inherited methods with default parameters
is an error in a child class. Thus, if we are calling a class
member function with a default parameters, there should be one
and only one overridden function that has default parameter values
and overrides nothing.
2020-05-20 07:19:29 +03:00
..
2020-04-16 09:07:35 +03:00
2020-05-20 07:19:28 +03:00
2020-04-30 13:09:53 +03:00
2020-04-10 14:49:27 +03:00
2020-04-27 11:50:24 +03:00
2020-04-30 13:09:53 +03:00
2020-04-17 12:37:29 +03:00
2020-04-21 13:21:58 +03:00
2020-04-27 11:50:26 +03:00
2020-04-03 13:29:55 +03:00
2020-04-03 13:31:15 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-03 13:31:15 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-27 11:50:24 +03:00
2020-03-30 16:23:10 +03:00
2020-03-24 18:58:19 +03:00
2020-04-02 12:42:50 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-09 15:22:55 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-09 15:22:55 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-27 11:50:24 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-04-30 13:09:53 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-04-30 13:09:53 +03:00
2020-04-30 13:09:53 +03:00
2020-04-30 13:09:53 +03:00
2020-04-30 13:09:53 +03:00
2020-04-30 13:09:53 +03:00
2020-04-30 13:09:53 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-04-30 13:09:53 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2020-04-30 13:09:53 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-05-08 17:30:19 +03:00
2020-05-08 17:30:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-04-30 13:09:53 +03:00
2019-11-19 11:00:09 +03:00
2020-03-25 08:27:21 +03:00
2020-03-30 16:57:53 +03:00
2020-03-30 16:57:53 +03:00
2019-11-19 11:00:09 +03:00
2020-03-18 17:09:36 +03:00
2020-03-24 18:58:19 +03:00
2020-04-02 12:42:50 +03:00
2020-03-10 15:19:34 +03:00
2020-03-24 18:58:19 +03:00
2019-10-16 19:23:49 +02:00
2020-04-04 01:32:45 +03:00
2020-05-20 07:19:28 +03:00
2020-05-20 07:19:29 +03:00
2020-05-20 07:19:29 +03:00
2020-03-24 18:58:19 +03:00
2020-05-07 11:44:09 +02:00
2020-03-04 16:55:31 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-04-30 13:09:53 +03:00
2019-11-19 11:00:09 +03:00
2020-04-27 11:50:24 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-05-13 20:57:52 +02:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-27 11:50:24 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2019-11-19 11:00:09 +03:00
2019-11-19 11:00:09 +03:00
2020-03-24 18:58:19 +03:00
2020-04-20 17:05:30 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-03-24 18:58:19 +03:00
2020-04-03 13:31:15 +03:00