Files
kotlin-fork/compiler/testData/diagnostics/tests/funInterface/functionDelegateClashOnJvm.kt
T
Alexander Udalov b77e5a21ec Report error if fun interface method has JVM name getFunctionDelegate
This is needed so that it wouldn't clash with the corresponding member
from the kotlin/jvm/internal/FunctionAdapter interface, which all fun
interface wrappers will implement to get proper equals/hashCode. The
workaround is to rename the fun interface method.

 #KT-33455
2020-04-29 12:15:50 +02:00

33 lines
762 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
fun interface F1 {
val <!FUNCTION_DELEGATE_MEMBER_NAME_CLASH!>functionDelegate<!>: Function<*>? get() = null
fun invoke()
}
fun interface F2 {
fun <!FUNCTION_DELEGATE_MEMBER_NAME_CLASH!>getFunctionDelegate<!>(): Function<*>? = null
fun invoke()
}
fun interface F3 {
val getFunctionDelegate: Function<*>? get() = null
fun invoke()
}
fun interface F4 {
fun functionDelegate(): Function<*>? = null
fun invoke()
}
fun interface F5 {
val <!FUNCTION_DELEGATE_MEMBER_NAME_CLASH!>functionDelegate<!>: Any? get() = null
fun invoke()
}
fun interface F6 {
val String.functionDelegate: Function<*>? get() = null
fun getFunctionDelegate(x: Any?): Function<*>? = null
fun invoke()
}