[NI] Fix shouldRunCompletion for builder inference session
#KT-41308 Fixed #KT-41363
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -EXPERIMENTAL_API_USAGE_ERROR -UNUSED_EXPRESSION
|
||||
// WITH_RUNTIME
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
fun test(s: String?): Int {
|
||||
val list = buildList {
|
||||
s?.let(::add)
|
||||
}
|
||||
return list.size
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return when (test("hello")) {
|
||||
1 -> "OK"
|
||||
else -> "Error"
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -EXPERIMENTAL_API_USAGE_ERROR -UNUSED_EXPRESSION
|
||||
|
||||
fun test(s: String?) {
|
||||
val list = buildList {
|
||||
s?.let(::add)
|
||||
}
|
||||
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.List<kotlin.String>")!>list<!>
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package
|
||||
|
||||
public fun test(/*0*/ s: kotlin.String?): kotlin.Unit
|
||||
+2
-2
@@ -21,7 +21,7 @@ fun test_2() {
|
||||
fun test_3() {
|
||||
sequence {
|
||||
yield(materialize<Int>())
|
||||
<!TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH, TYPE_MISMATCH!>materialize()<!>
|
||||
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>materialize<!>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,4 +32,4 @@ interface Inv<T> {
|
||||
fun yield(element: T)
|
||||
}
|
||||
|
||||
fun <K> materialize(): Inv<K> = TODO()
|
||||
fun <K> materialize(): Inv<K> = TODO()
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
Failures detected in FirBodyResolveTransformerAdapter, file: /kt41308.fir.kt
|
||||
Cause: java.lang.RuntimeException: While resolving call R?C|kotlin/sequences/sequence|(<L> = sequence@fun R|kotlin/sequences/SequenceScope<Stub: TypeVariable(T)>|.<anonymous>(): R|kotlin/Unit| {
|
||||
lval list: R|kotlin/collections/List<kotlin/String>?| = Null(null)
|
||||
lval outputList: R|TypeVariable(K)| = R|<local>/list| ?: R?C|kotlin/collections/listOf|()
|
||||
yieldAll#(R|<local>/outputList|)
|
||||
}
|
||||
)
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// ISSUE: KT-41308
|
||||
|
||||
fun main() {
|
||||
sequence {
|
||||
val list: List<String>? = null
|
||||
val outputList = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.List<kotlin.String>")!>list ?: listOf()<!>
|
||||
yieldAll(outputList)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
// ISSUE: KT-41308
|
||||
|
||||
fun main() {
|
||||
sequence {
|
||||
val list: List<String>? = null
|
||||
val outputList = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.List<kotlin.String>")!>list ?: listOf()<!>
|
||||
yieldAll(outputList)
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package
|
||||
|
||||
public fun main(): kotlin.Unit
|
||||
@@ -21,4 +21,4 @@ fun main() {
|
||||
}
|
||||
}
|
||||
|
||||
class Foo(val notNullProp: String)
|
||||
class Foo(val notNullProp: String)
|
||||
|
||||
Reference in New Issue
Block a user