From a919351d07e7514cae23bb323a321caf9feb2ca6 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Fri, 3 Dec 2021 14:11:40 +0300 Subject: [PATCH] FIR2IR: change delegate field type to initializer type --- .../fir/backend/Fir2IrDeclarationStorage.kt | 9 +++++++-- .../delegatedImplementation.fir.ir.txt | 16 +++++++-------- .../delegatedImplementation.fir.kt.txt | 4 ++-- ...lementationWithExplicitOverride.fir.ir.txt | 4 ++-- ...lementationWithExplicitOverride.fir.kt.txt | 2 +- ...otNullOnDelegatedImplementation.fir.ir.txt | 20 +++++++++---------- ...otNullOnDelegatedImplementation.fir.kt.txt | 10 +++++----- .../ir/irText/classes/kt45934.fir.ir.txt | 4 ++-- .../nullCheckOnInterfaceDelegation.fir.ir.txt | 4 ++-- .../nullCheckOnInterfaceDelegation.fir.kt.txt | 2 +- 10 files changed, 40 insertions(+), 35 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 0d640d73806..97da251fdd7 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -948,7 +948,11 @@ class Fir2IrDeclarationStorage( fun getCachedIrField(field: FirField): IrField? = fieldCache[field] fun createIrFieldAndDelegatedMembers(field: FirField, owner: FirClass, irClass: IrClass): IrField { - val irField = createIrField(field, origin = IrDeclarationOrigin.DELEGATE) + val irField = createIrField( + field, + typeRef = field.initializer?.typeRef ?: field.returnTypeRef, + origin = IrDeclarationOrigin.DELEGATE + ) irField.setAndModifyParent(irClass) delegatedMemberGenerator.generate(irField, field, owner, irClass) if (owner.isLocalClassOrAnonymousObject()) { @@ -959,9 +963,10 @@ class Fir2IrDeclarationStorage( private fun createIrField( field: FirField, + typeRef: FirTypeRef = field.returnTypeRef, origin: IrDeclarationOrigin = IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB ): IrField = convertCatching(field) { - val type = field.returnTypeRef.toIrType() + val type = typeRef.toIrType() return field.convertWithOffsets { startOffset, endOffset -> irFactory.createField( startOffset, endOffset, origin, IrFieldSymbolImpl(), diff --git a/compiler/testData/ir/irText/classes/delegatedImplementation.fir.ir.txt b/compiler/testData/ir/irText/classes/delegatedImplementation.fir.ir.txt index a10db62b8ed..90ac57a465f 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.fir.ir.txt @@ -216,7 +216,7 @@ FILE fqName: fileName:/delegatedImplementation.kt VALUE_PARAMETER name:s index:1 type:kotlin.String BLOCK_BODY CALL 'public abstract fun foo (x: kotlin.Int, s: kotlin.String): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test1 declared in .Test1.foo' type=.Test1 origin=null x: GET_VAR 'x: kotlin.Int declared in .Test1.foo' type=kotlin.Int origin=null s: GET_VAR 's: kotlin.String declared in .Test1.foo' type=kotlin.String origin=null @@ -227,7 +227,7 @@ FILE fqName: fileName:/delegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .Test1' CALL 'public abstract fun bar (): kotlin.Int declared in .IBase' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test1 declared in .Test1.bar' type=.Test1 origin=null FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test1, $receiver:kotlin.String) returnType:kotlin.Unit overridden: @@ -236,10 +236,10 @@ FILE fqName: fileName:/delegatedImplementation.kt $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY CALL 'public abstract fun qux (): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test1 declared in .Test1.qux' type=.Test1 origin=null $receiver: GET_VAR ': kotlin.String declared in .Test1.qux' type=kotlin.String origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final] EXPRESSION_BODY GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase]' type=.BaseImpl FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -269,7 +269,7 @@ FILE fqName: fileName:/delegatedImplementation.kt VALUE_PARAMETER name:s index:1 type:kotlin.String BLOCK_BODY CALL 'public abstract fun foo (x: kotlin.Int, s: kotlin.String): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test2 declared in .Test2.foo' type=.Test2 origin=null x: GET_VAR 'x: kotlin.Int declared in .Test2.foo' type=kotlin.Int origin=null s: GET_VAR 's: kotlin.String declared in .Test2.foo' type=kotlin.String origin=null @@ -280,7 +280,7 @@ FILE fqName: fileName:/delegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Int declared in .Test2' CALL 'public abstract fun bar (): kotlin.Int declared in .IBase' type=kotlin.Int origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test2 declared in .Test2.bar' type=.Test2 origin=null FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <> ($this:.Test2, $receiver:kotlin.String) returnType:kotlin.Unit overridden: @@ -289,10 +289,10 @@ FILE fqName: fileName:/delegatedImplementation.kt $receiver: VALUE_PARAMETER name: type:kotlin.String BLOCK_BODY CALL 'public abstract fun qux (): kotlin.Unit declared in .IBase' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final]' type=.IBase origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final]' type=.BaseImpl origin=null receiver: GET_VAR ': .Test2 declared in .Test2.qux' type=.Test2 origin=null $receiver: GET_VAR ': kotlin.String declared in .Test2.qux' type=kotlin.String origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IBase visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.BaseImpl visibility:local [final] EXPRESSION_BODY GET_OBJECT 'CLASS OBJECT name:BaseImpl modality:FINAL visibility:public superTypes:[.IBase]' type=.BaseImpl PROPERTY DELEGATED_MEMBER name:x visibility:public modality:OPEN [val] diff --git a/compiler/testData/ir/irText/classes/delegatedImplementation.fir.kt.txt b/compiler/testData/ir/irText/classes/delegatedImplementation.fir.kt.txt index c1ee102d667..681da688bc7 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementation.fir.kt.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementation.fir.kt.txt @@ -96,7 +96,7 @@ class Test1 : IBase { (.#<$$delegate_0>, ).qux() } - local /* final field */ val <$$delegate_0>: IBase = BaseImpl + local /* final field */ val <$$delegate_0>: BaseImpl = BaseImpl } @@ -119,7 +119,7 @@ class Test2 : IBase, IOther { (.#<$$delegate_0>, ).qux() } - local /* final field */ val <$$delegate_0>: IBase = BaseImpl + local /* final field */ val <$$delegate_0>: BaseImpl = BaseImpl override val x: String override get(): String { return .#<$$delegate_1>.() diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.ir.txt b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.ir.txt index 17a7770f373..b4d1d701d00 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.ir.txt @@ -59,9 +59,9 @@ FILE fqName: fileName:/delegatedImplementationWithExplicitOverride.kt $this: VALUE_PARAMETER name: type:.C BLOCK_BODY CALL 'public abstract fun foo (): kotlin.Unit declared in .IFooBar' type=kotlin.Unit origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFooBar visibility:local [final]' type=.IFooBar origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.FooBarImpl visibility:local [final]' type=.FooBarImpl origin=null receiver: GET_VAR ': .C declared in .C.foo' type=.C origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFooBar visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.FooBarImpl visibility:local [final] EXPRESSION_BODY GET_OBJECT 'CLASS OBJECT name:FooBarImpl modality:FINAL visibility:public superTypes:[.IFooBar]' type=.FooBarImpl FUN name:bar visibility:public modality:FINAL <> ($this:.C) returnType:kotlin.Unit diff --git a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.kt.txt b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.kt.txt index 6958dbd5e25..bccfcaf4698 100644 --- a/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.kt.txt +++ b/compiler/testData/ir/irText/classes/delegatedImplementationWithExplicitOverride.fir.kt.txt @@ -30,7 +30,7 @@ class C : IFooBar { .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFooBar = FooBarImpl + local /* final field */ val <$$delegate_0>: FooBarImpl = FooBarImpl override fun bar() { } diff --git a/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.ir.txt b/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.ir.txt index e7a986c8389..a386a3ea3c3 100644 --- a/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.ir.txt @@ -138,9 +138,9 @@ FILE fqName: fileName:/implicitNotNullOnDelegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .TestJFoo' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.JFoo visibility:local [final]' type=.JFoo origin=null receiver: GET_VAR ': .TestJFoo declared in .TestJFoo.foo' type=.TestJFoo origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.JFoo visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .JFoo' type=.JFoo origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -169,9 +169,9 @@ FILE fqName: fileName:/implicitNotNullOnDelegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .TestK1' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.K1 visibility:local [final]' type=.K1 origin=null receiver: GET_VAR ': .TestK1 declared in .TestK1.foo' type=.TestK1 origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.K1 visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .K1' type=.K1 origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -200,9 +200,9 @@ FILE fqName: fileName:/implicitNotNullOnDelegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .TestK2' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.K2 visibility:local [final]' type=.K2 origin=null receiver: GET_VAR ': .TestK2 declared in .TestK2.foo' type=.TestK2 origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.K2 visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .K2' type=.K2 origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -231,9 +231,9 @@ FILE fqName: fileName:/implicitNotNullOnDelegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .TestK3' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.K3 visibility:local [final]' type=.K3 origin=null receiver: GET_VAR ': .TestK3 declared in .TestK3.foo' type=.TestK3 origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.K3 visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .K3' type=.K3 origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] @@ -262,9 +262,9 @@ FILE fqName: fileName:/implicitNotNullOnDelegatedImplementation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .TestK4' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.K4 visibility:local [final]' type=.K4 origin=null receiver: GET_VAR ': .TestK4 declared in .TestK4.foo' type=.TestK4 origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.K4 visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .K4' type=.K4 origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.kt.txt b/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.kt.txt index b077957d9bd..84fcff411ec 100644 --- a/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.kt.txt +++ b/compiler/testData/ir/irText/classes/implicitNotNullOnDelegatedImplementation.fir.kt.txt @@ -58,7 +58,7 @@ class TestJFoo : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = JFoo() + local /* final field */ val <$$delegate_0>: JFoo = JFoo() } @@ -73,7 +73,7 @@ class TestK1 : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = K1() + local /* final field */ val <$$delegate_0>: K1 = K1() } @@ -88,7 +88,7 @@ class TestK2 : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = K2() + local /* final field */ val <$$delegate_0>: K2 = K2() } @@ -103,7 +103,7 @@ class TestK3 : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = K3() + local /* final field */ val <$$delegate_0>: K3 = K3() } @@ -118,6 +118,6 @@ class TestK4 : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = K4() + local /* final field */ val <$$delegate_0>: K4 = K4() } diff --git a/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt b/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt index e0397a83172..40b4dee4d57 100644 --- a/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt +++ b/compiler/testData/ir/irText/classes/kt45934.fir.ir.txt @@ -15,9 +15,9 @@ FILE fqName: fileName:/kt45934.kt RETURN type=kotlin.Nothing from='public open fun foo (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .C.foo?>? declared in .C' CALL 'public abstract fun foo (): @[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .I.foo?>? declared in .I' type=@[FlexibleNullability] kotlin.collections.List<@[FlexibleNullability] C of .C.foo?>? origin=null : C of .C.foo - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.I visibility:local [final]' type=.I origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.J visibility:local [final]' type=.J origin=null receiver: GET_VAR ': .C declared in .C.foo' type=.C origin=null - FIELD DELEGATE name:<$$delegate_0> type:.I visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.J visibility:local [final] EXPRESSION_BODY GET_VAR 'client: .J declared in .C.' type=.J origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.ir.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.ir.txt index 41237287706..0774a6e6e1a 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.ir.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.ir.txt @@ -62,9 +62,9 @@ FILE fqName: fileName:/nullCheckOnInterfaceDelegation.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun foo (): kotlin.String declared in .Delegated' CALL 'public abstract fun foo (): kotlin.String declared in .IFoo' type=kotlin.String origin=null - $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final]' type=.IFoo origin=null + $this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:.Derived visibility:local [final]' type=.Derived origin=null receiver: GET_VAR ': .Delegated declared in .Delegated.foo' type=.Delegated origin=null - FIELD DELEGATE name:<$$delegate_0> type:.IFoo visibility:local [final] + FIELD DELEGATE name:<$$delegate_0> type:.Derived visibility:local [final] EXPRESSION_BODY CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Derived' type=.Derived origin=null FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] diff --git a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.kt.txt b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.kt.txt index 05a4544badf..ad3287f2477 100644 --- a/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.kt.txt +++ b/compiler/testData/ir/irText/types/nullChecks/nullCheckOnInterfaceDelegation.fir.kt.txt @@ -31,7 +31,7 @@ class Delegated : IFoo { return .#<$$delegate_0>.foo() } - local /* final field */ val <$$delegate_0>: IFoo = Derived() + local /* final field */ val <$$delegate_0>: Derived = Derived() }