Files
kotlin/compiler/testData/diagnostics/tests/callableReference/function/renameOnImport.kt
Alexander Udalov c3b97e0668 Simplify function hierarchy in reflection
Get rid of all classes except kotlin.reflect.KFunction, which will be used to
represent all kinds of simple functions.

Lots of changes to test data are related to the fact that KFunction is not an
extension function (as opposed to KMemberFunction and KExtensionFunction who
were) and so a member or an extension function reference now requires all
arguments be passed to it in the parentheses, including receivers. This is
probably temporary until we support calling any function both as a free
function and as an extension. In JS, functions and extension functions are not
interchangeable, so tests on this behavior are removed until this is supported
2015-07-10 20:10:08 +03:00

31 lines
464 B
Kotlin
Vendored

// !CHECK_TYPE
// FILE: a.kt
package other
fun foo() {}
class A {
fun bar() = 42
}
fun A.baz(<!UNUSED_PARAMETER!>x<!>: String) {}
// FILE: b.kt
import kotlin.reflect.*
import other.foo as foofoo
import other.A as AA
import other.baz as bazbaz
fun main() {
val x = ::foofoo
val y = AA::bar
val z = AA::bazbaz
checkSubtype<KFunction0<Unit>>(x)
checkSubtype<KFunction1<AA, Int>>(y)
checkSubtype<KFunction2<AA, String, Unit>>(z)
}