48 lines
918 B
Kotlin
Vendored
48 lines
918 B
Kotlin
Vendored
// UNEXPECTED BEHAVIOUR
|
|
// Issue: KT-37056
|
|
class A()
|
|
|
|
// TESTCASE NUMBER: 1
|
|
fun case1(a: A?) {
|
|
val test = a?.let {
|
|
|
|
Case1.invoke(it) //resolved to private constructor
|
|
|
|
Case1(it) //resolved to private constructor
|
|
|
|
Case1(A()) //resolved to private constructor
|
|
}
|
|
|
|
Case1(A()) //resolved to private constructor
|
|
Case1(a = A()) //resolved to private constructor
|
|
}
|
|
|
|
class Case1 private constructor(val a: String) {
|
|
companion object {
|
|
operator fun invoke(a: A) = ""
|
|
}
|
|
}
|
|
|
|
// TESTCASE NUMBER: 2
|
|
fun case2(a: A){
|
|
Case2(a)
|
|
Case2(a = a)
|
|
}
|
|
|
|
class Case2 {
|
|
companion object {
|
|
operator fun invoke(a: A) = ""
|
|
}
|
|
}
|
|
|
|
// TESTCASE NUMBER: 3
|
|
fun case3(a: A){
|
|
Case3.Companion(a) //ok resolved to (2)
|
|
Case3.Companion(parameterA = a) //ok resolved to (2)
|
|
}
|
|
class Case3 {
|
|
companion object {
|
|
operator fun invoke(parameterA: A) = "" //(2)
|
|
}
|
|
}
|