| // TODO: muted automatically, investigate should it be ran for JS or not |
| // IGNORE_BACKEND: JS |
| |
| // WITH_RUNTIME |
| |
| import kotlin.test.assertEquals |
| |
| inline fun <reified T : Any> foo(x: Class<T> = T::class.java): String = x.getName() |
| |
| inline fun <reified R : Any> bar(x: R): String = foo<R>() |
| |
| fun box(): String { |
| assertEquals("java.lang.String", foo<String>()) |
| assertEquals("java.lang.Integer", foo<Int>()) |
| assertEquals("java.lang.Object", foo<Any>()) |
| |
| assertEquals("java.lang.String", bar("abc")) |
| assertEquals("java.lang.Integer", bar(1)) |
| assertEquals("java.lang.Object", bar(Any())) |
| |
| return "OK" |
| } |