[IR] Read isSuspend directly from IrFunction without using descriptor

This commit is contained in:
Mikhail Glukhikh
2020-05-19 18:41:21 +03:00
parent 8a15edf5e6
commit 934b040152
2 changed files with 3 additions and 2 deletions
@@ -55,7 +55,7 @@ fun translateFunction(declaration: IrFunction, name: JsName?, context: JsGenerat
declaration.extensionReceiverParameter?.let { function.addParameter(functionContext.getNameForValueDeclaration(it)) }
functionParams.forEach { function.addParameter(it) }
if (declaration.descriptor.isSuspend) {
if (declaration.isSuspend) {
function.addParameter(JsName(Namer.CONTINUATION)) // TODO: Use namer?
}
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.ir.backend.js.utils
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
import org.jetbrains.kotlin.ir.util.isSuspend
import org.jetbrains.kotlin.js.backend.ast.JsName
import org.jetbrains.kotlin.js.backend.ast.JsNameRef
import org.jetbrains.kotlin.js.backend.ast.JsScope
@@ -35,7 +36,7 @@ class JsGenerationContext(
get() = if (isCoroutineDoResume()) {
JsThisRef()
} else {
if (currentFunction!!.descriptor.isSuspend) {
if (currentFunction!!.isSuspend) {
JsNameRef(Namer.CONTINUATION)
} else {
getNameForValueDeclaration(currentFunction.valueParameters.last()).makeRef()