blob: 5b36cd68fefbd477167dbe1a990cac569ca1f66b [file]
interface I1
interface I2
class C1 : I1
class C2 : I2
fun checkI1(o: Any): Boolean = o is I1
fun checkI2(o: Any): Boolean = o is I2
fun checkC1(o: Any): Boolean = o is C1
fun checkC2(o: Any): Boolean = o is C2
fun box(): String {
val c1 = C1()
val c2 = C2()
val any = Any()
if (!checkI1(c1)) return "FAIL1"
if (checkI2(c1)) return "FAIL2"
if (!checkC1(c1)) return "FAIL3"
if (checkC2(c1)) return "FAIL4"
if (checkI1(c2)) return "FAIL5"
if (!checkI2(c2)) return "FAIL6"
if (checkC1(c2)) return "FAIL7"
if (!checkC2(c2)) return "FAIL8"
if (checkI1(any)) return "FAIL9"
if (checkI2(any)) return "FAIL10"
if (checkC1(any)) return "FAIL11"
if (checkC2(any)) return "FAIL12"
return "OK"
}