From cef23a284f8cead7ca5f806b438f98a606d70ba7 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 19 May 2020 19:13:58 +0300 Subject: [PATCH] [PSI2IR] Use returnTarget.symbol directly in generateReturnExpression --- .../org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt index 9763b3d17c5..b8aaf8aac0b 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/BodyGenerator.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.psi2ir.generators import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.builders.Scope +import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.* import org.jetbrains.kotlin.ir.symbols.IrSymbol @@ -122,10 +123,10 @@ class BodyGenerator( } private fun generateReturnExpression(startOffset: Int, endOffset: Int, returnValue: IrExpression): IrReturnImpl { - val returnTarget = (scopeOwner as? CallableDescriptor) ?: throw AssertionError("'return' in a non-callable: $scopeOwner") + val returnTarget = scopeOwnerSymbol.owner as? IrFunction ?: throw AssertionError("'return' in a non-callable: $scopeOwner") return IrReturnImpl( startOffset, endOffset, context.irBuiltIns.nothingType, - context.symbolTable.referenceFunction(returnTarget), + returnTarget.symbol, returnValue ) }