Ilmir Usmanov
20b9d8b2f3
Generate state-machine even if the object is going to be transformed
...
This fixes Java interop of inline functions, which use coroutines.
However, we cannot transform the state-machine. Thus, we generate
a $$forInline counterpart for suspend functions (similar to inline
suspend functions) and invokeSuspend$$forInline for lambdas if these
coroutines are going to transformed (i.e. are declared inside inline
functions).
During transformation we just skip method with state-machine and
transform the $$forInline counterpart. Of course, if inline site is
inline itself, we generate both state-machine version (which will be
dropped during the next transformation) and $$forInline version.
Consequently, the final version of the coroutines will not have
$$forInline counterpart.
Unfortunately, since CompileKotlinAgainstInlineKotlin tests do not allow
java sources, the tests for the interop are usual box tests.
#KT-30707 Fixed
2019-04-18 01:12:52 +03:00
..
2018-12-21 16:20:45 +01:00
2019-02-18 12:39:03 +03:00
2019-04-18 01:12:52 +03:00
2019-04-08 13:10:22 +02:00
2019-02-23 00:42:16 +03:00
2018-12-21 16:20:45 +01:00
2019-04-08 13:10:22 +02:00
2018-12-21 16:20:45 +01:00
2019-04-10 20:51:46 +02:00
2019-02-07 23:32:32 +01:00
2019-03-15 08:32:22 +01:00
2019-03-26 13:32:02 +01:00
2019-03-20 21:02:55 +01:00
2018-12-21 16:20:45 +01:00
2019-03-13 08:48:20 +01:00
2019-04-18 01:12:52 +03:00
2019-03-20 21:02:55 +01:00
2018-12-28 14:18:39 +03:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2019-01-23 15:11:14 +01:00
2019-04-11 08:54:55 +02:00
2017-06-28 13:44:07 +02:00
2019-01-19 09:43:43 +01:00
2019-04-08 13:10:22 +02:00
2018-12-21 16:20:45 +01:00
2019-02-23 00:42:16 +03:00
2018-12-21 16:20:45 +01:00
2019-04-10 20:51:46 +02:00
2019-03-20 17:25:29 +01:00
2018-12-28 14:18:39 +03:00
2018-12-21 16:20:45 +01:00
2019-02-19 15:46:52 +01:00
2019-03-13 08:48:20 +01:00
2019-02-01 21:45:44 +03:00
2019-02-19 16:37:47 +01:00
2019-01-25 15:57:13 +01:00
2019-04-08 13:10:22 +02:00
2018-12-21 16:20:45 +01:00
2019-01-10 17:17:51 +03:00
2019-04-04 09:45:00 +02:00
2019-04-08 13:10:24 +02:00
2018-12-21 16:20:45 +01:00
2018-12-28 14:18:39 +03:00
2019-03-20 21:02:55 +01:00
2019-01-17 13:49:39 +03:00
2018-12-21 16:20:45 +01:00
2019-03-20 09:13:51 +01:00
2018-12-21 16:20:45 +01:00
2019-03-20 09:13:51 +01:00
2018-12-21 16:20:45 +01:00
2014-03-31 21:27:13 +04:00
2015-09-30 08:19:52 +03:00
2015-09-18 10:14:32 +03:00
2017-03-10 10:04:30 +01:00
2019-02-23 00:42:16 +03:00
2016-06-02 16:01:03 +03:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2017-07-27 09:02:26 +03:00
2017-06-20 13:31:36 +03:00
2018-05-21 20:43:37 +03:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2019-01-19 09:43:43 +01:00
2018-12-21 16:20:45 +01:00
2015-09-30 08:19:51 +03:00
2019-04-04 09:07:19 +02:00
2015-10-14 18:36:53 +03:00
2016-03-04 10:14:21 +03:00
2016-03-02 15:44:28 +03:00
2015-11-30 16:24:05 +03:00
2015-09-21 15:48:00 +03:00
2013-02-11 02:01:43 +04:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-20 12:53:24 +01:00
2015-05-21 10:06:01 +03:00
2015-10-27 12:02:27 +03:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2017-09-06 08:20:32 +02:00
2015-09-04 18:19:31 +03:00
2018-12-21 16:20:45 +01:00
2016-06-02 16:01:05 +03:00
2017-01-13 10:31:07 +03:00
2016-01-29 11:02:21 +03:00
2018-06-22 16:53:07 +03:00
2016-03-02 15:44:28 +03:00
2016-03-02 15:44:28 +03:00
2018-12-21 16:20:45 +01:00
2018-12-21 16:20:45 +01:00
2019-04-08 13:10:22 +02:00
2019-02-07 23:32:32 +01:00
2019-02-07 23:32:32 +01:00
2019-02-05 08:44:33 +01:00
2019-04-08 13:10:22 +02:00
2019-04-08 13:10:22 +02:00
2019-04-08 13:10:22 +02:00
2019-04-08 13:10:22 +02:00
2018-12-21 16:20:45 +01:00
2016-02-01 18:32:12 +03:00