Ilmir Usmanov
0fec3470dd
Regenerate anonymous object if call site of non-inlineable
...
functional argument is suspend
Split LambdaInfo into inlineable and non-inlineable
#KT-26925
2019-03-27 17:44:37 +03:00
Ilmir Usmanov
1c2b8e6fad
Fix wrong state-machine generation if inner object is retransformed
...
during inlining.
#KT-29492 Fixed
2019-03-27 17:44:35 +03:00
Ilmir Usmanov
c68413b953
Do not generate StateMachineChecker if CHECK_STATE_MACHINE directive is
...
not present.
Otherwise, since it uses suspend functions, it breaks IR tests.
2019-03-18 14:04:03 +03:00
Ilmir Usmanov
cc9a0041e0
Check number of suspensions in crossinline tests
2019-03-18 14:04:01 +03:00
Ilmir Usmanov
df52c5217d
Add facility to check number of suspensions in coroutine tests
2019-03-18 14:04:01 +03:00
Anton Bannykh
59009430e5
JS: report inline suspend functions to IC
...
* Also inline suspend lambda'a
* Also use correct JsName's in exported suspend inline fun's
* Also use less unused imports
2018-11-07 12:11:01 +03:00
Mikhael Bogdanov
6c65507f29
Mute inline tests
2018-08-02 13:19:25 +02:00
Roman Artemev
c9b7db646c
Temporary mute test with issue between coroutines and crossinline
2018-08-01 10:56:08 +03:00
Denis Zharkov
0b3048f60a
Replace trivial usages of suspendCoroutineOrReturn in tests
...
This is necessary since suspendCoroutineOrReturn gets removed in 1.3
2018-07-09 15:27:19 +03:00
Denis Zharkov
f23a0c8fea
Add ContinuationAdapter to coroutine tests helpers
...
It allows having the same Continuation implementations for different
API versions
2018-07-09 15:27:19 +03:00
Denis Zharkov
f01e690f49
Minor. Use coroutine test helpers for inline/diagnostics tests
...
It should help with decreasing test data copy-pasting when
testing against release / pre-release coroutines
2018-07-09 15:27:19 +03:00
Ilmir Usmanov
f60787d57c
Move coroutines to kotlin.coroutines package: tests
...
Introduce COMMON_COROUTINES_TEST directive.
Every test with this directive is run twice: one time with
language version 1.2 and kotlin.coroutines.experimental package
and the other time with language version 1.3 and kotlin.coroutines
package. Each run is a separate method: with suffixes _1_2 and _1_3
respectively.
However, since codegen of release coroutines is not supported in JS
backend, we generate only one method: with suffix _1_2.
#KT-23362
2018-04-23 21:51:59 +03:00
Ilmir Usmanov
6854135077
Support crossinline suspend lambda as parameter of inline function
...
Use fake continuation instead of ALOAD 0 while inlining
Do not generate state machine for inner lambdas and inner objects,
which capture crossinline suspend lambda.
#KT-19159: Fixed
2018-03-16 16:26:11 +03:00