[NI] Fix initial data flow info for analyzing lambdas
#KT-30734 Fixed
This commit is contained in:
+1
-1
@@ -183,7 +183,7 @@ fun returnFunctionLiteral(a: Any?): Function0<Int> {
|
||||
}
|
||||
|
||||
fun returnFunctionLiteralExpressionBody(a: Any?): Function0<Int> =
|
||||
if (a is Int) { -> <!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH, NI;TYPE_MISMATCH, NI;TYPE_MISMATCH, OI;DEBUG_INFO_SMARTCAST!>a<!> }
|
||||
if (a is Int) { -> <!DEBUG_INFO_SMARTCAST!>a<!> }
|
||||
else { -> 1 }
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// !WITH_NEW_INFERENCE
|
||||
// !LANGUAGE: +NewInference
|
||||
// Issue: KT-30734
|
||||
|
||||
class Sample {
|
||||
fun foo(): Boolean = true
|
||||
}
|
||||
|
||||
fun test(ls: Sample?) {
|
||||
val filter: () -> Boolean = if (ls == null) {
|
||||
{ false }
|
||||
} else {
|
||||
{ <!DEBUG_INFO_SMARTCAST!>ls<!>.foo() } // OK in OI, error in NI
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package
|
||||
|
||||
public fun test(/*0*/ ls: Sample?): kotlin.Unit
|
||||
|
||||
public final class Sample {
|
||||
public constructor Sample()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public final fun foo(): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user