sdeleuze
02/18/2016, 11:50 AMfinal
in Kotlin by default, and in fact that may be « just » a low level bytecode difference (compared to Java) that causes our problem since if I create a final implementation class of functional interfaces in Java we have no issue at all. I have been debugging that and found that in Java, Method.invoke()
works on public final
implementation of functional interfaces because the Method#override
field is true
(see http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/lang/reflect/Method.java?av=f#482 with override
to true
there is no access check), while in Kotlin it is false
. Could I raise an issue with a repro project (with both Java and Kotlin code) to see if there is something to fix on Kotlin side?