From baa287d6eeafe95b194a11ea0fdc75738757fee8 Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Tue, 8 Feb 2022 17:06:39 +0300 Subject: [PATCH] Unmute previously failing piece of test at definitelyNotNullAsArgument.kt ^KT-49419 Obsolete --- .../types/definitelyNotNullAsArgument.fir.ir.txt | 11 +++++++++++ .../types/definitelyNotNullAsArgument.fir.kt.txt | 5 +++++ .../irText/types/definitelyNotNullAsArgument.ir.txt | 12 ++++++++++++ .../ir/irText/types/definitelyNotNullAsArgument.kt | 3 +-- .../irText/types/definitelyNotNullAsArgument.kt.txt | 4 ++++ 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt index abf8b65ac74..4b0f2475df3 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.ir.txt @@ -93,3 +93,14 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt overridden: public open fun toString (): kotlin.String [fake_override] declared in .I $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:FINAL (p1:T1 of .foo2, p2:T2 of .foo2) returnType:kotlin.Unit + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] + VALUE_PARAMETER name:p1 index:0 type:T1 of .foo2 + VALUE_PARAMETER name:p2 index:1 type:T2 of .foo2 + BLOCK_BODY + CALL 'public abstract fun input (t: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: GET_VAR 'p2: T2 of .foo2 declared in .foo2' type=T2 of .foo2 origin=null + t: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): T0 of kotlin.internal.ir.CHECK_NOT_NULL declared in kotlin.internal.ir' type={T1 of .foo2 & Any} origin=EXCLEXCL + : T1 of .foo2 + arg0: GET_VAR 'p1: T1 of .foo2 declared in .foo2' type=T1 of .foo2 origin=null diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.kt.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.kt.txt index d10d623fc1c..00844c322dc 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.kt.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.fir.kt.txt @@ -35,3 +35,8 @@ class C : I<(TT & Any)> { } } + +fun > foo2(p1: T1, p2: T2) { + p2.input(t = CHECK_NOT_NULL(arg0 = p1)) +} + diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt index b3ac4e3eb87..3ef8a29b9a1 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.ir.txt @@ -93,3 +93,15 @@ FILE fqName: fileName:/definitelyNotNullAsArgument.kt overridden: public open fun toString (): kotlin.String [fake_override] declared in .I $this: VALUE_PARAMETER name: type:kotlin.Any + FUN name:foo2 visibility:public modality:FINAL (p1:T1 of .foo2, p2:T2 of .foo2) returnType:kotlin.Unit + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[.I<{T1 of .foo2 & Any}>] + VALUE_PARAMETER name:p1 index:0 type:T1 of .foo2 + VALUE_PARAMETER name:p2 index:1 type:T2 of .foo2 + BLOCK_BODY + CALL 'public abstract fun input (t: T of .I): kotlin.Unit declared in .I' type=kotlin.Unit origin=null + $this: TYPE_OP type=.I<{T1 of .foo2 & Any}> origin=IMPLICIT_CAST typeOperand=.I<{T1 of .foo2 & Any}> + GET_VAR 'p2: T2 of .foo2 declared in .foo2' type=T2 of .foo2 origin=null + t: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): T0 of kotlin.internal.ir.CHECK_NOT_NULL declared in kotlin.internal.ir' type=T1 of .foo2 origin=EXCLEXCL + : T1 of .foo2 + arg0: GET_VAR 'p1: T1 of .foo2 declared in .foo2' type=T1 of .foo2 origin=null diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt index 9ea8017bc4a..7af84afc511 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt @@ -16,5 +16,4 @@ class C(val t: TT): I { override fun output(): TT & Any = t!! } -// TODO: FE gets crashed on that method, KT-49419 -//fun > foo2(p1: T, p2: T2) { p2.input(p1!!) } \ No newline at end of file +fun > foo2(p1: T1, p2: T2) { p2.input(p1!!) } diff --git a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt.txt b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt.txt index 571a54e7ad5..4f057ae8d8a 100644 --- a/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt.txt +++ b/compiler/testData/ir/irText/types/definitelyNotNullAsArgument.kt.txt @@ -36,3 +36,7 @@ class C : I<(TT & Any)> { } +fun > foo2(p1: T1, p2: T2) { + p2 /*as I<(T1 & Any)> */.input(t = CHECK_NOT_NULL(arg0 = p1)) +} +