vladislav.grechko
44caa3cdd5
Do not use dispatch receiver type when calculating method owner
...
Motivation of using dispatch receiver type when calculating method owner
was discussed here: https://github.com/JetBrains/kotlin/pull/3054
However, this is incompatible with type erasure of non-reified type
parameters on inlining (which will be done in future). Consider the
code:
```
inline fun <T> f(arr: Array<T>, p: (T) -> Int): Int = p(arr[0])
fun box() = f(arrayOf("abacaba"), String::length)
```
After inlining and erasure, the type of `arr[0]` is `Any`. Thus, when
calculating owner of `String::length` we would have `Any` instead of
`String` if we used dispatch receiver type.
Note, that this change affects bytecode instruction that invokes
method, but does not change which method is being invoked.
2024-01-26 18:31:19 +00:00
..
2024-01-04 15:54:27 +00:00
2023-10-24 10:30:55 +00:00
2023-12-26 10:18:19 +00:00
2024-01-22 09:34:42 +00:00
2023-12-26 10:18:19 +00:00
2023-06-22 08:39:20 +00:00
2024-01-16 13:35:16 +00:00
2024-01-26 18:13:27 +00:00
2023-12-26 10:18:19 +00:00
2024-01-10 14:20:09 +00:00
2024-01-18 08:27:10 +00:00
2023-11-24 22:09:43 +00:00
2024-01-25 14:06:10 +00:00
2024-01-02 12:18:34 +00:00
2023-08-02 10:48:22 +00:00
2024-01-18 15:48:55 +00:00
2023-07-19 13:34:58 +00:00
2024-01-12 15:01:49 +00:00
2023-12-26 10:18:19 +00:00
2023-11-22 14:54:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2024-01-26 18:31:19 +00:00
2023-12-26 10:18:19 +00:00
2023-07-25 11:25:43 +00:00
2023-12-26 10:18:19 +00:00
2024-01-18 15:48:55 +00:00
2023-12-26 10:18:19 +00:00
2023-06-25 10:20:40 +02:00
2023-09-15 12:55:33 +00:00
2023-12-26 10:18:19 +00:00
2023-08-21 12:11:58 +00:00
2023-11-24 22:09:43 +00:00
2024-01-18 15:48:55 +00:00
2023-12-26 10:18:19 +00:00
2023-11-08 10:26:34 +00:00
2024-01-25 09:22:07 +00:00
2024-01-19 18:31:25 +01:00
2024-01-24 08:39:18 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2024-01-10 14:56:30 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2024-01-18 15:48:55 +00:00
2023-12-26 10:18:19 +00:00
2024-01-26 18:31:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2024-01-19 12:30:48 +00:00
2024-01-16 09:26:27 +00:00
2023-11-09 09:13:28 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-06-22 17:10:51 +02:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-06-23 14:15:48 +00:00
2023-06-22 17:10:51 +02:00
2024-01-18 15:48:55 +00:00
2023-10-24 10:30:55 +00:00
2023-11-15 19:03:07 +00:00
2023-12-26 10:18:19 +00:00
2023-11-24 22:09:43 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-06-26 07:44:12 +00:00
2024-01-05 17:27:31 +00:00
2023-06-21 07:34:29 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-08-02 10:48:22 +00:00
2023-12-26 10:18:19 +00:00
2024-01-17 08:20:05 +00:00
2023-11-15 19:03:07 +00:00
2024-01-19 15:54:53 +00:00
2023-12-26 10:18:19 +00:00
2023-12-21 14:19:09 +00:00
2024-01-23 23:16:00 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-12-26 10:18:19 +00:00
2023-10-17 12:46:27 +00:00
2023-12-26 10:18:19 +00:00
2023-11-24 22:09:43 +00:00
2023-09-21 13:09:32 +00:00
2023-12-26 10:18:19 +00:00
2024-01-17 08:20:05 +00:00
2023-11-15 19:03:07 +00:00
2024-01-18 15:48:55 +00:00