[NI] Fix initial data flow info for analyzing lambdas

#KT-30734 Fixed
This commit is contained in:
Dmitriy Novozhilov
2019-04-04 16:09:26 +03:00
parent b7ffdb9fde
commit aa96a05469
7 changed files with 44 additions and 2 deletions
@@ -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
}