mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 00:21:35 +00:00
Additional tests on reflection calls
This commit is contained in:
20
compiler/testData/codegen/boxWithJava/reflection/callPrivateJavaMethod/K.kt
vendored
Normal file
20
compiler/testData/codegen/boxWithJava/reflection/callPrivateJavaMethod/K.kt
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import kotlin.reflect.*
|
||||
import kotlin.reflect.jvm.*
|
||||
import kotlin.test.*
|
||||
|
||||
fun box(): String {
|
||||
val c = J::class.constructors.single()
|
||||
assertFalse(c.isAccessible)
|
||||
failsWith(javaClass<IllegalCallableAccessException>()) { c.call("") }
|
||||
|
||||
c.isAccessible = true
|
||||
assertTrue(c.isAccessible)
|
||||
val j = c.call("OK")
|
||||
|
||||
val m = J::class.members.single { it.name == "getResult" }
|
||||
assertFalse(m.isAccessible)
|
||||
failsWith(javaClass<IllegalCallableAccessException>()) { m.call(j)!! }
|
||||
|
||||
m.isAccessible = true
|
||||
return m.call(j) as String
|
||||
}
|
||||
Reference in New Issue
Block a user