Report 'free function called as extension' on Function subclasses

You can't make a value of some type invokable as an extension by adding
'extension' annotation to the type
This commit is contained in:
Alexander Udalov
2015-05-26 17:34:43 +03:00
parent 596d378962
commit 12a6461006
3 changed files with 28 additions and 3 deletions
@@ -1,3 +1,11 @@
package
internal fun foo(/*0*/ a: (kotlin.String) -> kotlin.Unit): kotlin.Unit
internal fun foo(/*0*/ a: @[kotlin.extension()] A): kotlin.Unit
internal interface A : (kotlin.String) -> kotlin.Unit {
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: kotlin.String): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}