[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)) }
|
declaration.extensionReceiverParameter?.let { function.addParameter(functionContext.getNameForValueDeclaration(it)) }
|
||||||
functionParams.forEach { function.addParameter(it) }
|
functionParams.forEach { function.addParameter(it) }
|
||||||
if (declaration.descriptor.isSuspend) {
|
if (declaration.isSuspend) {
|
||||||
function.addParameter(JsName(Namer.CONTINUATION)) // TODO: Use namer?
|
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.IrFunction
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
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.JsName
|
||||||
import org.jetbrains.kotlin.js.backend.ast.JsNameRef
|
import org.jetbrains.kotlin.js.backend.ast.JsNameRef
|
||||||
import org.jetbrains.kotlin.js.backend.ast.JsScope
|
import org.jetbrains.kotlin.js.backend.ast.JsScope
|
||||||
@@ -35,7 +36,7 @@ class JsGenerationContext(
|
|||||||
get() = if (isCoroutineDoResume()) {
|
get() = if (isCoroutineDoResume()) {
|
||||||
JsThisRef()
|
JsThisRef()
|
||||||
} else {
|
} else {
|
||||||
if (currentFunction!!.descriptor.isSuspend) {
|
if (currentFunction!!.isSuspend) {
|
||||||
JsNameRef(Namer.CONTINUATION)
|
JsNameRef(Namer.CONTINUATION)
|
||||||
} else {
|
} else {
|
||||||
getNameForValueDeclaration(currentFunction.valueParameters.last()).makeRef()
|
getNameForValueDeclaration(currentFunction.valueParameters.last()).makeRef()
|
||||||
|
|||||||
Reference in New Issue
Block a user