[JS IR] Add reflection tests
This commit is contained in:
committed by
Space Team
parent
c13cc38758
commit
85b2daf41d
@@ -0,0 +1,33 @@
|
||||
class A {
|
||||
companion object {
|
||||
fun getSimpleName() = this::class.simpleName
|
||||
}
|
||||
}
|
||||
|
||||
class B {
|
||||
companion object MyCompanion {
|
||||
fun getSimpleName() = this::class.simpleName
|
||||
}
|
||||
}
|
||||
|
||||
fun getSimpleName(x: Any) = x::class.simpleName
|
||||
inline fun <reified T> getSimpleNameReified(x: T) = T::class.simpleName
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("Companion", A.getSimpleName())
|
||||
assertEquals("MyCompanion", B.getSimpleName())
|
||||
|
||||
assertEquals("Companion", A.Companion.getSimpleName())
|
||||
assertEquals("MyCompanion", B.MyCompanion.getSimpleName())
|
||||
|
||||
assertEquals("Companion", getSimpleName(A.Companion))
|
||||
assertEquals("MyCompanion", getSimpleName(B.MyCompanion))
|
||||
|
||||
assertEquals("Companion", getSimpleNameReified(A.Companion))
|
||||
assertEquals("MyCompanion", getSimpleNameReified(B.MyCompanion))
|
||||
|
||||
assertEquals("Companion", A.Companion::class.simpleName)
|
||||
assertEquals("MyCompanion", B.MyCompanion::class.simpleName)
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user