From ab3681e1645172b9cf1b9564aa903ef2b3da347d Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Tue, 28 Feb 2017 17:25:49 +0300 Subject: [PATCH] Package level delegated properties have no dispatch receiver. --- .../jetbrains/kotlin/ir/descriptors/IrDelegateDescriptor.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrDelegateDescriptor.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrDelegateDescriptor.kt index b941134c613..27d112c696a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrDelegateDescriptor.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/IrDelegateDescriptor.kt @@ -68,7 +68,11 @@ abstract class IrDelegateDescriptorBase( init { val typeParameters: List = emptyList() val extensionReceiverParameter: ReceiverParameterDescriptor? = null - setType(delegateType, typeParameters, (containingDeclaration as ClassDescriptor).thisAsReceiverParameter, extensionReceiverParameter) + val dispatchReceiverParameter = + if (containingDeclaration is ClassDescriptor) + containingDeclaration.thisAsReceiverParameter + else null + setType(delegateType, typeParameters, dispatchReceiverParameter, extensionReceiverParameter) } override final fun setOutType(outType: KotlinType?) {