[FIR] Disable not null checks on dynamics

It looks like K1 doesn't do them.
And it's not particularly bad because
in the ideal world we'd have dynamics
with variable upper bound so that
in `dynamic?.let { it }` `it` would
be `Nothing..Any` (smartcasting to
`Any` is not correct because `dynamic`
can be passed into anything, but `Any`
can not).

^KT-63071
This commit is contained in:
Nikolay Lunyak
2023-11-24 13:21:47 +02:00
committed by Space Team
parent 875e2b0cd6
commit d5fa755e63
4 changed files with 13 additions and 6 deletions
@@ -12,7 +12,7 @@ fun test(d: dynamic) {
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!>
}
run {
d!!.<!UNRESOLVED_REFERENCE!>onAnyVal<!> = 1
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVal<!> = 1
}
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVal<!> = 1
@@ -13,7 +13,7 @@ fun test(d: dynamic) {
}
run {
d!!.<!UNRESOLVED_REFERENCE!>onAnyVar<!> = 1
d!!.<!DEBUG_INFO_DYNAMIC!>onAnyVar<!> = 1
}
d.<!DEBUG_INFO_DYNAMIC!>onNullableAnyVar<!> = 1
@@ -22,7 +22,7 @@ fun test(d: dynamic) {
d.<!DEBUG_INFO_DYNAMIC!>onDynamicVar<!> = 1
d?.<!DYNAMIC_RECEIVER_EXPECTED_BUT_WAS_NON_DYNAMIC!>onDynamicVar<!> = 1
d?.<!DEBUG_INFO_DYNAMIC!>onDynamicVar<!> = 1
(d as String).onStringVar
(d as Any).onAnyVar
@@ -14,7 +14,7 @@ fun test(d: dynamic) {
d.<!DEBUG_INFO_DYNAMIC!>onString<!>()
d.<!DEBUG_INFO_DYNAMIC!>onDynamic<!>()
d?.<!DYNAMIC_RECEIVER_EXPECTED_BUT_WAS_NON_DYNAMIC!>onDynamic<!>()
d?.<!DEBUG_INFO_DYNAMIC!>onDynamic<!>()
(d as String).onString()
(d as Any).onAny()