Files
kotlin-fork/backend.native/tests/external/codegen/blackbox/reflection/modifiers/classVisibility.kt
T

33 lines
992 B
Kotlin

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
// WITH_REFLECT
import kotlin.reflect.KClass
import kotlin.reflect.KVisibility
import kotlin.test.assertEquals
class DefaultVisibilityClass
public class PublicClass {
protected class ProtectedClass
fun getProtectedClass(): KClass<*> = ProtectedClass::class
}
internal class InternalClass
private class PrivateClass
fun box(): String {
assertEquals(KVisibility.PUBLIC, DefaultVisibilityClass::class.visibility)
assertEquals(KVisibility.PUBLIC, PublicClass::class.visibility)
assertEquals(KVisibility.PROTECTED, PublicClass().getProtectedClass().visibility)
assertEquals(KVisibility.INTERNAL, InternalClass::class.visibility)
assertEquals(KVisibility.PRIVATE, PrivateClass::class.visibility)
class Local
assertEquals(null, Local::class.visibility)
val anonymous = object {}
assertEquals(null, anonymous::class.visibility)
return "OK"
}