From 8bbbee8ffd1038ed8d3acdda8d40703e27a819e1 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Wed, 15 Jul 2020 18:39:52 +0500 Subject: [PATCH] [IR] Supported IrFunctionExpression in ClosureAnnotator It may be encountered during local classes extraction from inline lambdas --- .../kotlin/backend/common/lower/ClosureAnnotator.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ClosureAnnotator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ClosureAnnotator.kt index 1f55972a9dd..2c2400dbc38 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ClosureAnnotator.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ClosureAnnotator.kt @@ -243,6 +243,11 @@ class ClosureAnnotator(irElement: IrElement, declaration: IrDeclaration) { processMemberAccess(expression.symbol.owner, data) } + override fun visitFunctionExpression(expression: IrFunctionExpression, data: ClosureBuilder?) { + super.visitFunctionExpression(expression, data) + processMemberAccess(expression.function, data) + } + override fun visitPropertyReference(expression: IrPropertyReference, data: ClosureBuilder?) { super.visitPropertyReference(expression, data) expression.getter?.let { processMemberAccess(it.owner, data) }