K2 Scripting: fix capturing from the imported scripts

This commit is contained in:
Ilya Chernikov
2023-07-14 13:16:03 +02:00
committed by Space Team
parent 1d88c307ea
commit 895a811b47
4 changed files with 40 additions and 33 deletions
@@ -314,7 +314,9 @@ class ClosureAnnotator(irElement: IrElement, declaration: IrDeclaration) {
private fun processScriptCapturing(receiverExpression: IrExpression?, declaration: IrDeclaration, data: ClosureBuilder?) {
if (receiverExpression == null) {
val parent = declaration.parent
if (parent is IrScript && parent.thisReceiver != null) {
if (parent is IrScript) {
data?.seeVariable(parent.thisReceiver!!.symbol)
} else if (parent is IrClass && parent.origin == IrDeclarationOrigin.SCRIPT_CLASS) {
data?.seeVariable(parent.thisReceiver!!.symbol)
}
}