JS: replace suspend inline metadata after inlining

This fixes some issues on coroutine inlining, see tests
This commit is contained in:
Alexey Andreev
2017-11-03 14:35:39 +03:00
parent f8e7861ce6
commit 71b1591044
21 changed files with 344 additions and 60 deletions
@@ -115,6 +115,8 @@ var JsNameRef.coroutineReceiver by MetadataProperty(default = false)
var JsFunction.forceStateMachine by MetadataProperty(default = false)
var JsFunction.isInlineableCoroutineBody by MetadataProperty(default = false)
var JsName.imported by MetadataProperty(default = false)
var JsFunction.coroutineMetadata: CoroutineMetadata? by MetadataProperty(default = null)
@@ -156,7 +158,8 @@ enum class SpecialFunction(val suggestedName: String) {
SUSPEND_CALL("suspendCall"),
COROUTINE_RESULT("coroutineResult"),
COROUTINE_CONTROLLER("coroutineController"),
COROUTINE_RECEIVER("coroutineReceiver")
COROUTINE_RECEIVER("coroutineReceiver"),
SET_COROUTINE_RESULT("setCoroutineResult")
}
enum class BoxingKind {