JC IR IC: correct signatures for function types created during lowerings
This commit is contained in:
committed by
teamcityserver
parent
8553c6ef58
commit
058ca16af7
@@ -243,6 +243,14 @@ class JsIrBackendContext(
|
|||||||
|
|
||||||
override val functionAdapter: IrClassSymbol
|
override val functionAdapter: IrClassSymbol
|
||||||
get() = TODO("Not implemented")
|
get() = TODO("Not implemented")
|
||||||
|
|
||||||
|
override fun functionN(n: Int): IrClassSymbol {
|
||||||
|
return irFactory.stageController.withInitialIr { super.functionN(n) }
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun suspendFunctionN(n: Int): IrClassSymbol {
|
||||||
|
return irFactory.stageController.withInitialIr { super.suspendFunctionN(n) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun unfoldInlineClassType(irType: IrType): IrType? {
|
override fun unfoldInlineClassType(irType: IrType): IrType? {
|
||||||
|
|||||||
+3
@@ -44,10 +44,13 @@ class WholeWorldStageController : StageController() {
|
|||||||
override fun <T> withStage(stage: Int, fn: () -> T): T {
|
override fun <T> withStage(stage: Int, fn: () -> T): T {
|
||||||
val oldStage = currentStage
|
val oldStage = currentStage
|
||||||
currentStage = stage
|
currentStage = stage
|
||||||
|
val oldCurrentDeclaration = currentDeclaration
|
||||||
|
currentDeclaration = null
|
||||||
return try {
|
return try {
|
||||||
fn()
|
fn()
|
||||||
} finally {
|
} finally {
|
||||||
currentStage = oldStage
|
currentStage = oldStage
|
||||||
|
currentDeclaration = oldCurrentDeclaration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user