[FIR] Set EnhancedNullability attribute for former flexible types
In some cases we transform flexible type into non-flexible during enhancement, but don't add `@EnhancedNullability` attribute to them, which breaks consistency with K1 on IR level This commit fixes it ^KT-65302
This commit is contained in:
committed by
Space Team
parent
da567e54b9
commit
bd66b96f8a
@@ -3,8 +3,8 @@ FILE fqName:<root> fileName:/exclExclOnPlatformType.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun use (a: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||
a: CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.String origin=EXCLEXCL
|
||||
<T0>: kotlin.String
|
||||
arg0: CALL 'public open fun get (): T of java.lang.ref.WeakReference? declared in java.lang.ref.WeakReference' type=kotlin.String? origin=null
|
||||
<T0>: @[EnhancedNullability] kotlin.String
|
||||
arg0: CALL 'public open fun get (): @[EnhancedNullability] T of java.lang.ref.WeakReference? declared in java.lang.ref.WeakReference' type=@[EnhancedNullability] kotlin.String? origin=null
|
||||
$this: CONSTRUCTOR_CALL 'public constructor <init> (p0: @[FlexibleNullability] T of java.lang.ref.WeakReference?) declared in java.lang.ref.WeakReference' type=java.lang.ref.WeakReference<@[FlexibleNullability] kotlin.String?> origin=null
|
||||
<class: T>: @[FlexibleNullability] kotlin.String?
|
||||
p0: CONST String type=kotlin.String value=""
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
fun test() {
|
||||
use(a = CHECK_NOT_NULL<String>(arg0 = WeakReference<@FlexibleNullability String?>(p0 = "").get()))
|
||||
use(a = CHECK_NOT_NULL<@EnhancedNullability String>(arg0 = WeakReference<@FlexibleNullability String?>(p0 = "").get()))
|
||||
use(a = CHECK_NOT_NULL<@FlexibleNullability String>(arg0 = getProperty(p0 = "abc")))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user