Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/lambdaArgInScopeFunction.kt
T
2020-12-16 19:52:30 +03:00

41 lines
902 B
Kotlin
Vendored

// !CHECK_TYPE
// ISSUE: KT-37070
class KotlinClass(private val name: String) : Comparable<KotlinClass> {
override operator fun compareTo(that: KotlinClass): Int {
return name.compareTo(that.name)
}
}
// TESTCASE NUMBER: 1
fun case1(kotlinClass: KotlinClass?) {
val value = kotlinClass?.let {
it
}
value.checkType { _<KotlinClass?>() }
val lambda = kotlinClass?.let {
{it}
}
lambda.checkType { <!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>_<!><Function1<Unit, KotlinClass?>>()<!> }
}
// TESTCASE NUMBER: 2
fun case2(kotlinClass: KotlinClass) {
val value = kotlinClass.let {
it
}
value.checkType { _<KotlinClass>() }
val lambda = kotlinClass.let {
{it}
}
lambda.checkType { <!INAPPLICABLE_CANDIDATE{LT}!><!INAPPLICABLE_CANDIDATE{PSI}!>_<!><Function1<Unit, KotlinClass?>>()<!> }
}