blob: de16f2989d746f674fdeb518b1beb8234b372c03 [file]
// TARGET_BACKEND: JVM
// FULL_JDK
// DUMP_IR
// ISSUE: KT-68401
// LANGUAGE: -ForbidInferOfInvisibleTypeAsReifiedVarargOrReturnType
// FILE: other/AClass.java
package other;
public class AClass extends PrivateSuper {}
// FILE: other/BClass.java
package other;
public class BClass extends PrivateSuper {}
// FILE: other/PrivateSuper.java
package other;
class PrivateSuper extends PublicSuper {}
// FILE: other/PublicSuper.java
package other;
public class PublicSuper {}
// FILE: box.kt
package foo
import other.AClass
import other.BClass
import other.PublicSuper
import java.lang.IllegalAccessError
var temp: PublicSuper? = null
fun <T> select(vararg t: T): T = t[0]
fun box(): String {
temp = if ("true" == "false") AClass() else BClass()
temp = when {
"true" == "false" -> AClass()
else -> BClass()
}
try {
temp = select(AClass(), BClass())
return "FAIL"
} catch (e: IllegalAccessError) {
// error is expected
}
return "OK"
}