Do not fail with type cast when not needed in reflection.jvm

This commit is contained in:
Alexander Udalov
2015-11-06 00:46:57 +03:00
parent 1c889c4e67
commit 7d32524754
2 changed files with 3 additions and 3 deletions
@@ -53,7 +53,7 @@ public var KCallable<*>.isAccessible: Boolean
javaMethod?.isAccessible ?: true
is KFunction ->
javaMethod?.isAccessible ?: true &&
((this as KCallableImpl<*>).defaultCaller?.member as? AccessibleObject)?.isAccessible ?: true &&
((this as? KCallableImpl<*>)?.defaultCaller?.member as? AccessibleObject)?.isAccessible ?: true &&
this.javaConstructor?.isAccessible ?: true
else -> throw UnsupportedOperationException("Unknown callable: $this ($javaClass)")
}
@@ -79,7 +79,7 @@ public var KCallable<*>.isAccessible: Boolean
}
is KFunction -> {
javaMethod?.isAccessible = value
((this as KCallableImpl<*>).defaultCaller?.member as? AccessibleObject)?.isAccessible = true
((this as? KCallableImpl<*>)?.defaultCaller?.member as? AccessibleObject)?.isAccessible = true
this.javaConstructor?.isAccessible = value
}
else -> throw UnsupportedOperationException("Unknown callable: $this ($javaClass)")
@@ -33,7 +33,7 @@ import kotlin.reflect.jvm.internal.KTypeImpl
* or `null` if the property has no backing field.
*/
public val KProperty<*>.javaField: Field?
get() = (this as KPropertyImpl<*>).javaField
get() = (this as? KPropertyImpl<*>)?.javaField
/**
* Returns a Java [Method] instance corresponding to the getter of the given property,