Catch IllegalAccessException in KFunction.call
Rename IllegalPropertyAccessException -> IllegalCallableAccessException
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
import kotlin.reflect.*
|
||||
import kotlin.reflect.jvm.*
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
class A {
|
||||
private fun foo() = "A"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val f = A::class.declaredFunctions.single() as KFunction<String>
|
||||
|
||||
try {
|
||||
f.call(A())
|
||||
return "Fail: no exception was thrown"
|
||||
} catch (e: IllegalCallableAccessException) {}
|
||||
|
||||
f.isAccessible = true
|
||||
|
||||
assertEquals("A", f.call(A()))
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+1
-1
@@ -9,7 +9,7 @@ fun box(): String {
|
||||
try {
|
||||
return p.get(K("Fail: private property should not be accessible by default"))
|
||||
}
|
||||
catch (e: IllegalPropertyAccessException) {
|
||||
catch (e: IllegalCallableAccessException) {
|
||||
// OK
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ fun box(): String {
|
||||
try {
|
||||
p.get(Result())
|
||||
return "Fail: private property is accessible by default"
|
||||
} catch(e: IllegalPropertyAccessException) { }
|
||||
} catch(e: IllegalCallableAccessException) { }
|
||||
|
||||
p.isAccessible = true
|
||||
|
||||
@@ -22,7 +22,7 @@ fun box(): String {
|
||||
try {
|
||||
p.get(Result())
|
||||
return "Fail: setAccessible(false) had no effect"
|
||||
} catch(e: IllegalPropertyAccessException) { }
|
||||
} catch(e: IllegalCallableAccessException) { }
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@ fun box(): String {
|
||||
try {
|
||||
p.set(a, 1)
|
||||
return "Fail: private property is accessible by default"
|
||||
} catch(e: IllegalPropertyAccessException) { }
|
||||
} catch(e: IllegalCallableAccessException) { }
|
||||
|
||||
p.isAccessible = true
|
||||
|
||||
@@ -24,7 +24,7 @@ fun box(): String {
|
||||
try {
|
||||
p.set(a, 3)
|
||||
return "Fail: setAccessible(false) had no effect"
|
||||
} catch(e: IllegalPropertyAccessException) { }
|
||||
} catch(e: IllegalCallableAccessException) { }
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+2
-2
@@ -14,12 +14,12 @@ fun box(): String {
|
||||
try {
|
||||
f.get(a)
|
||||
return "Fail: protected property getter is accessible by default"
|
||||
} catch (e: IllegalPropertyAccessException) { }
|
||||
} catch (e: IllegalCallableAccessException) { }
|
||||
|
||||
try {
|
||||
f.set(a, ":D")
|
||||
return "Fail: protected property setter is accessible by default"
|
||||
} catch (e: IllegalPropertyAccessException) { }
|
||||
} catch (e: IllegalCallableAccessException) { }
|
||||
|
||||
f.isAccessible = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user