Mikhael Bogdanov
02d9c526e2
Proper resort variables on inlining lowered ir closures
...
Original problem is that lowered ir closures doesn't meet inliner expectations
about captured variable position in inlining method.
E.g.: Call 'foo(valueParam) { capturedParam }' to
inline function 'foo' with declaration
inline fun foo(valueParam: Foo, inlineParamWithCaptured: Bar.() ->) ....
is reorganized through inlining to equivalent call foo(valueParam, capturedParam1, cp2 ...).
But lowered closure for lambda parameter has totally different parameters order:
fun loweredLambda$x(extensionReceiver, captured1, cp2..., valueParam1, vp2...)
So before inlining lowered closure should be transformed to
fun loweredLambda$x(extensionReceiver, valueParam1, vp2..., captured1, cp2..)
#KT-28547 Fixed
2019-01-03 07:57:36 +01:00
..
2018-12-21 16:09:07 +01:00
2018-10-10 19:03:56 +03:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:04 +01:00
2018-12-21 16:09:06 +01:00
2018-12-21 16:09:11 +01:00
2018-09-18 14:36:20 +03:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:07 +01:00
2018-12-24 13:40:40 +01:00
2018-10-10 19:35:17 +03:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:04 +01:00
2018-12-21 16:09:06 +01:00
2018-12-21 16:09:06 +01:00
2018-12-21 16:09:06 +01:00
2018-12-20 12:53:23 +01:00
2018-10-25 15:48:42 +03:00
2018-08-09 14:22:46 +03:00
2018-12-28 15:09:11 +03:00
2018-12-21 16:09:12 +01:00
2018-12-24 15:58:10 +03:00
2018-12-21 16:09:11 +01:00
2018-08-08 18:33:39 +03:00
2019-01-03 07:57:36 +01:00
2018-12-21 16:09:09 +01:00
2018-12-21 16:09:04 +01:00
2018-09-18 14:36:20 +03:00
2018-10-26 19:51:20 +03:00
2018-10-15 00:03:45 +03:00
2018-12-21 16:09:04 +01:00
2018-12-21 16:09:04 +01:00
2018-07-10 13:34:19 +03:00
2018-09-21 18:16:03 +03:00
2018-12-21 16:09:06 +01:00
2018-12-21 16:09:07 +01:00
2018-10-25 15:48:42 +03:00
2018-08-09 14:22:50 +03:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:12 +01:00
2018-12-21 16:09:09 +01:00
2018-12-20 12:53:22 +01:00
2018-09-18 14:36:20 +03:00
2018-09-11 12:34:09 +03:00
2018-12-25 13:23:48 +03:00
2018-09-18 14:36:20 +03:00
2018-07-10 13:34:19 +03:00
2018-12-27 13:12:38 +01:00
2018-09-24 18:21:57 +03:00
2018-12-21 16:09:06 +01:00
2018-12-20 12:53:23 +01:00
2018-12-20 12:53:23 +01:00
2018-12-21 16:09:09 +01:00
2019-01-03 07:57:36 +01:00
2018-12-21 16:09:06 +01:00
2018-12-20 12:53:23 +01:00
2019-01-03 07:57:36 +01:00
2018-08-09 14:22:50 +03:00
2018-09-18 14:36:20 +03:00
2018-11-01 16:18:44 +03:00
2018-12-21 16:09:06 +01:00
2018-10-10 13:43:22 +03:00
2018-10-15 21:52:50 +03:00
2018-12-18 15:55:09 +03:00
2018-12-21 16:09:06 +01:00
2018-10-09 15:33:04 +03:00
2018-06-09 19:15:38 +03:00
2019-01-03 07:57:36 +01:00
2018-12-20 12:53:23 +01:00
2018-10-22 16:32:52 +02:00
2018-12-21 16:09:04 +01:00
2018-10-22 16:32:55 +02:00
2018-12-21 16:09:11 +01:00
2018-11-23 18:41:33 +01:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:04 +01:00
2019-01-03 07:57:36 +01:00
2018-12-21 16:09:04 +01:00
2019-01-03 07:57:36 +01:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:06 +01:00
2018-09-18 14:36:20 +03:00
2018-12-21 16:09:06 +01:00
2018-06-14 19:54:30 +03:00
2018-11-01 16:51:42 +03:00
2018-06-28 12:26:41 +02:00
2018-08-02 15:51:16 +02:00
2018-10-22 16:32:55 +02:00
2018-12-21 16:09:11 +01:00
2018-12-21 16:09:06 +01:00
2018-08-09 20:55:50 +03:00
2018-10-25 15:48:42 +03:00
2018-10-15 00:03:45 +03:00
2018-12-21 16:09:10 +01:00
2018-12-21 16:09:07 +01:00
2018-11-29 22:04:53 +03:00
2018-12-21 16:09:07 +01:00
2018-12-21 16:09:06 +01:00
2018-09-18 14:36:20 +03:00
2018-12-21 16:09:06 +01:00
2018-12-21 16:09:06 +01:00
2018-10-10 17:27:37 +03:00
2018-08-15 10:26:28 +03:00
2018-11-13 11:48:32 +03:00
2018-12-21 16:09:06 +01:00
2018-10-25 09:12:26 +02:00