Deprecate function expressions with names

This commit is contained in:
Denis Zharkov
2015-05-16 19:04:36 +03:00
parent aa1548a83b
commit 2deb7faf05
20 changed files with 49 additions and 41 deletions
@@ -6,10 +6,6 @@ fun autolabel(l: List<Int>) = l.map (fun (i: Int): Int {
return@map 4
})
fun unresolvedMapLabel(l: List<Int>) = l.map (fun test(i: Int): Int {
fun unresolvedMapLabel(l: List<Int>) = l.map (l@ fun(i: Int): Int {
return<!UNRESOLVED_REFERENCE!>@map<!> 4
})
fun labelToFunName(l: List<Int>) = l.map (fun test(i: Int): Int {
return@test 4
})
@@ -1,6 +1,5 @@
package
internal fun autolabel(/*0*/ l: kotlin.List<kotlin.Int>): kotlin.List<kotlin.Int>
internal fun labelToFunName(/*0*/ l: kotlin.List<kotlin.Int>): kotlin.List<kotlin.Int>
internal fun unresolvedMapLabel(/*0*/ l: kotlin.List<kotlin.Int>): kotlin.List<kotlin.Int>
internal fun </*0*/ T, /*1*/ R> kotlin.Iterable<T>.map(/*0*/ transform: (T) -> R): kotlin.List<R>
@@ -6,8 +6,6 @@ val ok = "OK"
class A
val withName = fun name() {}
val extensionWithName = fun A.name() {}
val withoutName = fun () {}
val extensionWithoutName = fun A.() {}
@@ -1,13 +1,11 @@
package
internal val extensionWithName: A.() -> kotlin.Unit
internal val extensionWithoutName: A.() -> kotlin.Unit
internal val funfun: () -> () -> kotlin.Int
internal val ok: kotlin.String = "OK"
internal val parentesized: () -> kotlin.Unit
internal val parentesizedWithType: () -> kotlin.Unit
internal val withExpression: () -> kotlin.Int
internal val withName: () -> kotlin.Unit
internal val withReturn: () -> kotlin.Int
internal val withType: () -> kotlin.Unit
internal val withoutName: () -> kotlin.Unit
@@ -3,5 +3,5 @@
fun <T> foo(f : (T) -> T) : T = throw Exception()
fun test() {
val a : Int = foo(fun f(x) = x)
val a : Int = foo(fun (x) = x)
}
@@ -19,9 +19,4 @@ fun foo() {
}
return@bag
}
val bag = fun name() {
val bar = fun () {
<!RETURN_NOT_ALLOWED!>return@name<!>
}
}
}
@@ -0,0 +1,11 @@
fun foo() {
fun run(block: () -> Unit) = block()
class A
fun bar() {}
(fun <!FUNCTION_EXPRESSION_WITH_NAME!>bar<!>() {})
fun A.foo() {}
(fun A.<!FUNCTION_EXPRESSION_WITH_NAME!>foo<!>() {})
run(fun <!FUNCTION_EXPRESSION_WITH_NAME!>foo<!>() {})
}
@@ -0,0 +1,3 @@
package
internal fun foo(): kotlin.Unit
@@ -1,18 +1,18 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
val bar = fun name() {}
val bas = fun name() {}
val bar = fun() {}
val bas = fun() {}
fun gar(p: Any?) = fun name() {}
fun gas(p: Any?) = fun name() {}
fun gar(p: Any?) = fun() {}
fun gas(p: Any?) = fun() {}
fun outer() {
val bar = fun name() {}
val bas = fun name() {}
val bar = fun() {}
val bas = fun() {}
fun gar(p: Any?) = fun name() {}
fun gas(p: Any?) = fun name() {}
fun gar(p: Any?) = fun() {}
fun gas(p: Any?) = fun() {}
gar(fun name() {})
gar(fun name() {})
gar(fun() {})
gar(fun() {})
}
@@ -7,7 +7,3 @@ val label_fun = label@ fun () {
val parenthesized_label_fun = (label@ fun () {
return@label
})
val fun_with_name = fun name() {
return@name
}
@@ -1,5 +1,4 @@
package
internal val fun_with_name: () -> kotlin.Unit
internal val label_fun: () -> kotlin.Unit
internal val parenthesized_label_fun: () -> kotlin.Unit
@@ -11,8 +11,8 @@ fun fun_with_where() = fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> T.(t: T): T whe
fun outer() {
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!>() {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> T.name() {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> name(): T = null!!)
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> name(t: T) {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> name() where T:A {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> T.() {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> (): T = null!!)
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> (t: T) {})
devNull(fun <!TYPE_PARAMETERS_NOT_ALLOWED!><T><!> () where T:A {})
}
@@ -3,10 +3,10 @@
annotation class ann
val bas = <!NON_MEMBER_FUNCTION_NO_BODY!>fun ()<!>
fun bar(a: Any) = <!NON_MEMBER_FUNCTION_NO_BODY!>fun name()<!>
fun bar(a: Any) = <!NON_MEMBER_FUNCTION_NO_BODY!>fun ()<!>
fun outer() {
bar(<!NON_MEMBER_FUNCTION_NO_BODY!>fun ()<!>)
bar(<!NON_MEMBER_FUNCTION_NO_BODY!>fun name()<!>)
bar(<!NON_MEMBER_FUNCTION_NO_BODY!>@ann fun name()<!>)
bar(l@ <!NON_MEMBER_FUNCTION_NO_BODY!>fun ()<!>)
bar(<!NON_MEMBER_FUNCTION_NO_BODY!>@ann fun ()<!>)
}