[IR] Read isSuspend directly from IrFunction without using descriptor
This commit is contained in:
+1
-1
@@ -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?
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user