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-05-15 15:08:43 +03:00
2020-04-13 17:09:04 +03:00
2020-04-10 14:49:27 +03:00
2020-04-20 17:05:30 +03:00
2020-04-23 11:50:54 +03:00
2020-05-14 13:40:36 +03:00
2020-05-14 13:40:36 +03:00
2020-02-19 15:58:08 +03:00
2020-05-14 13:40:36 +03:00
2020-05-18 11:17:45 +03:00
2020-05-07 15:27:17 +03:00
2020-03-20 11:55:34 +03:00
2020-05-12 19:47:37 +03:00
2020-04-02 12:42:50 +03:00
2020-05-14 13:40:36 +03:00
2020-05-08 17:30:24 +03:00
2020-05-14 13:40:36 +03:00
2019-12-27 13:46:05 +03:00
2020-03-30 18:31:50 +03:00
2020-04-10 14:49:27 +03:00
2020-03-18 17:09:36 +03:00
2020-05-19 15:42:49 +03:00
2020-05-14 14:07:40 +03:00
2020-05-14 13:40:36 +03:00
2020-02-20 14:24:02 +03:00
2020-05-20 07:19:29 +03:00
2020-05-14 13:40:36 +03:00
2020-05-20 07:19:29 +03:00
2020-04-09 15:22:56 +03:00
2020-04-30 13:15:43 +03:00
2020-05-14 13:40:36 +03:00
2020-04-27 11:50:26 +03:00
2020-02-20 14:24:02 +03:00
2019-12-11 16:54:15 +03:00
2020-04-13 20:26:18 +03:00
2020-04-07 17:54:55 +03:00
2020-05-08 17:30:19 +03:00
2020-03-18 17:09:35 +03:00
2020-04-03 13:31:15 +03:00
2020-04-08 07:04:16 +02:00
2020-05-14 14:07:40 +03:00
2020-05-15 16:04:44 +03:00
2020-05-18 09:36:22 +03:00
2020-04-14 13:53:22 +02:00
2020-04-23 11:50:54 +03:00
2020-03-04 16:55:33 +03:00
2020-05-15 15:08:43 +03:00
2020-05-20 07:19:29 +03:00
2020-05-14 13:42:07 +03:00
2020-03-18 17:09:36 +03:00
2020-05-14 13:40:36 +03:00
2020-05-18 17:20:43 +02:00
2020-05-15 15:08:43 +03:00
2020-05-14 13:40:36 +03:00
2020-05-14 14:07:40 +03:00
2020-04-28 07:34:56 +03:00
2020-05-14 09:41:11 +03:00
2020-05-08 17:30:19 +03:00
2020-02-20 14:24:02 +03:00
2020-05-08 17:30:19 +03:00
2020-04-30 13:15:43 +03:00
2020-04-28 07:35:09 +03:00
2020-05-12 16:57:07 +03:00
2020-04-30 12:26:47 +03:00
2020-05-14 13:42:07 +03:00
2020-05-19 15:42:49 +03:00
2020-04-03 15:37:56 +02:00
2020-05-20 07:19:29 +03:00
2020-04-03 17:21:21 +03:00
2020-04-21 21:00:16 +03:00
2020-04-02 12:42:50 +03:00
2020-04-03 17:21:21 +03:00
2020-05-12 16:57:07 +03:00
2020-04-14 13:53:22 +02:00
2020-04-27 11:50:24 +03:00
2020-02-20 14:24:02 +03:00
2020-04-03 17:21:21 +03:00
2020-04-02 12:42:50 +03:00
2020-04-14 13:53:22 +02:00
2020-01-21 15:57:35 +01:00
2020-04-27 11:50:24 +03:00
2020-03-18 11:31:53 +03:00
2020-05-14 13:42:07 +03:00
2020-04-30 12:26:47 +03:00
2020-05-08 17:30:19 +03:00
2020-05-19 15:41:29 +03:00
2020-05-20 07:19:28 +03:00
2020-05-14 13:40:36 +03:00
2020-05-13 10:04:28 +02:00
2020-04-03 13:31:15 +03:00
2020-05-18 09:36:22 +03:00
2020-03-20 11:55:34 +03:00
2020-05-14 13:42:07 +03:00
2020-03-11 22:08:59 +03:00
2020-05-09 21:11:40 +03:00
2020-05-08 17:45:39 +03:00
2020-05-14 13:40:37 +03:00
2020-05-15 16:04:44 +03:00
2020-02-20 14:24:02 +03:00
2020-03-27 17:31:48 +03:00
2020-05-14 13:40:36 +03:00
2020-05-14 14:07:40 +03:00
2020-05-08 17:30:19 +03:00
2020-01-16 12:43:09 +01:00
2020-03-18 17:09:36 +03:00
2020-04-10 14:49:27 +03:00
2019-11-01 19:40:20 +03:00
2020-05-12 19:47:37 +03:00
2020-05-12 16:57:07 +03:00
2020-02-28 15:29:02 +03:00
2020-04-03 13:29:55 +03:00
2019-12-11 16:54:15 +03:00
2020-03-23 15:13:50 +03:00
2020-05-14 13:40:36 +03:00
2020-05-14 13:42:07 +03:00
2020-05-14 13:40:36 +03:00