Reflection: add KVisibility, KClass.visibility, KCallable.visibility
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
// 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"
|
||||
}
|
||||
Reference in New Issue
Block a user