[JVM IR] Properly insert dispatch receiver in ScriptsToClassesLowering
diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt
index c473fd2..915749a 100644
--- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt
+++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ScriptLowering.kt
@@ -803,7 +803,7 @@
                 is IrProperty -> callee.getter?.dispatchReceiverParameter?.type
                 else -> null
             }
-            expression.dispatchReceiver =
+            val dispatchReceiver =
                 if (memberAccessTargetReceiverType != null && memberAccessTargetReceiverType != scriptClassReceiver.type)
                     getAccessCallForImplicitReceiver(
                         data, expression, memberAccessTargetReceiverType, expression.origin, originalReceiverParameter = null
@@ -812,6 +812,7 @@
                     getAccessCallForScriptInstance(
                         data, expression.startOffset, expression.endOffset, expression.origin, originalReceiverParameter = null
                     )
+            expression.insertDispatchReceiver(dispatchReceiver)
         }
         return super.visitMemberAccess(expression, data) as IrExpression
     }
@@ -835,7 +836,7 @@
                 ?: if (capturingClassesConstructors.keys.any { it.symbol == expression.symbol }) scriptClassReceiver.type else null
             if (ctorDispatchReceiverType != null) {
                 getDispatchReceiverExpression(data, expression, ctorDispatchReceiverType, expression.origin, null)?.let {
-                    expression.dispatchReceiver = it
+                    expression.insertDispatchReceiver(it)
                 }
             }
         }