Use parameter names from function type for invoke() function

#KT-435 Fixed
 #KT-9016 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-09-13 22:02:59 +03:00
parent 0abb2edb2b
commit 6b94e5fd34
9 changed files with 82 additions and 12 deletions
@@ -4,6 +4,6 @@ public final class A : (categoryName: [ERROR : No type element]) -> [ERROR : No
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ p1: [ERROR : No type element]): [ERROR : No type element]
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ categoryName: [ERROR : No type element]): [ERROR : No type element]
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -6,7 +6,7 @@ package typeReferenceError {
public constructor Pair()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ p1: [ERROR : No type element]): [ERROR : main]
public abstract override /*1*/ /*fake_override*/ fun invoke(/*0*/ c: [ERROR : No type element]): [ERROR : main]
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
+7
View File
@@ -0,0 +1,7 @@
fun Any.foo1() : (i : Int) -> Unit {
return {}
}
fun test(a : Any) {
a.foo1()(<!NO_VALUE_FOR_PARAMETER(i)!>)<!>
}
+4
View File
@@ -0,0 +1,4 @@
package
public fun test(/*0*/ a: kotlin.Any): kotlin.Unit
public fun kotlin.Any.foo1(): (i: kotlin.Int) -> kotlin.Unit