| package foo |
| import kotlin.test.* |
| |
| // CHECK_NOT_CALLED: isTypeOfOrNull |
| // CHECK_NULLS_COUNT: function=box count=10 |
| |
| inline |
| fun <reified T> Any?.isTypeOfOrNull() = this is T? |
| |
| class A |
| class B |
| |
| fun box(): String { |
| assertEquals(true, null.isTypeOfOrNull<A>(), "null.isTypeOfOrNull<A>()") |
| assertEquals(true, null.isTypeOfOrNull<A?>(), "null.isTypeOfOrNull<A?>()") |
| assertEquals(true, A().isTypeOfOrNull<A>(), "A().isTypeOfOrNull<A>()") |
| assertEquals(true, A().isTypeOfOrNull<A?>(), "A().isTypeOfOrNull<A?>()") |
| assertEquals(false, A().isTypeOfOrNull<B>(), "A().isTypeOfOrNull<B>()") |
| assertEquals(false, A().isTypeOfOrNull<B?>(), "A().isTypeOfOrNull<B?>()") |
| |
| return "OK" |
| } |