[FIR] Insert SAM conversion expressions during completion

#KT-62847 Fixed
This commit is contained in:
Kirill Rakhman
2023-11-15 12:24:31 +01:00
committed by Space Team
parent 0b28e770b2
commit dd1d36816b
68 changed files with 611 additions and 268 deletions
@@ -16,7 +16,7 @@ fun test3() {
return bar<@FlexibleNullability String?>(j = local fun <anonymous>(x: String): @FlexibleNullability String? {
return x
}
/*-> @FlexibleNullability J<@FlexibleNullability String?>? */)
/*-> J<@FlexibleNullability String?> */)
}
fun test4(a: Any) {
@@ -26,16 +26,16 @@ fun test4(a: Any) {
fun test5(a: Any) {
a as Function1<String, String> /*~> Unit */
bar<@FlexibleNullability String?>(j = a /*as Function1<String, String> */ /*-> @FlexibleNullability J<@FlexibleNullability String?>? */)
bar<@FlexibleNullability String?>(j = a /*as Function1<String, String> */ /*-> J<@FlexibleNullability String?> */)
}
fun <T : Any?> test6(a: Function1<T, T>) {
bar<@FlexibleNullability T?>(j = a /*-> @FlexibleNullability J<@FlexibleNullability T?>? */)
bar<@FlexibleNullability T?>(j = a /*-> J<@FlexibleNullability T?> */)
}
fun <T : Any?> test7(a: Any) {
a as Function1<T, T> /*~> Unit */
bar<@FlexibleNullability T?>(j = a /*as Function1<T, T> */ /*-> @FlexibleNullability J<@FlexibleNullability T?>? */)
bar<@FlexibleNullability T?>(j = a /*as Function1<T, T> */ /*-> J<@FlexibleNullability T?> */)
}
fun test8(efn: @ExtensionFunctionType Function1<String, String>): J<@FlexibleNullability String?> {
@@ -43,9 +43,9 @@ fun test8(efn: @ExtensionFunctionType Function1<String, String>): J<@FlexibleNul
}
fun test9(efn: @ExtensionFunctionType Function1<String, String>) {
bar<@FlexibleNullability String?>(j = efn /*-> @FlexibleNullability J<@FlexibleNullability String?>? */)
bar<@FlexibleNullability String?>(j = efn /*-> J<@FlexibleNullability String?> */)
}
fun test10(fn: Function1<Int, String>) {
bar2x<@FlexibleNullability Int?>(j2x = fn /*-> @FlexibleNullability J2X<@FlexibleNullability Int?>? */)
bar2x<@FlexibleNullability Int?>(j2x = fn /*-> J2X<@FlexibleNullability Int?> */)
}