[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability

- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
    for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
This commit is contained in:
Dmitriy Novozhilov
2021-03-09 14:51:19 +03:00
parent 0108f8a1b4
commit 65ea4e184a
290 changed files with 1395 additions and 2037 deletions
@@ -2,16 +2,17 @@ fun f() {
}
fun J.test1() {
<this>.get(k = ::f /*-> Runnable? */)
<this>.get(k = ::f /*-> Runnable? */, m = ::f /*-> Runnable? */)
<this>.get(k = ::f /*-> @FlexibleNullability Runnable? */)
<this>.get(k = ::f /*-> @FlexibleNullability Runnable? */, m = ::f /*-> @FlexibleNullability Runnable? */)
}
fun J.test2() {
<this>.set(k = ::f /*-> Runnable? */, v = ::f /*-> Runnable? */)
<this>.set(k = ::f /*-> Runnable? */, m = ::f /*-> Runnable? */, v = ::f /*-> Runnable? */)
<this>.set(k = ::f /*-> @FlexibleNullability Runnable? */, v = ::f /*-> @FlexibleNullability Runnable? */)
<this>.set(k = ::f /*-> @FlexibleNullability Runnable? */, m = ::f /*-> @FlexibleNullability Runnable? */, v = ::f /*-> @FlexibleNullability Runnable? */)
}
fun J.test3() {
<this>.plusAssign(i = ::f /*-> Runnable? */)
<this>.minusAssign(i = ::f /*-> Runnable? */)
<this>.plusAssign(i = ::f /*-> @FlexibleNullability Runnable? */)
<this>.minusAssign(i = ::f /*-> @FlexibleNullability Runnable? */)
}