Temporary added DEPRECATED_LAMBDA_SYNTAX to tests.

It will be fixed soon.
This commit is contained in:
Stanislav Erokhin
2015-03-17 23:26:06 +03:00
parent 47e8b1e77c
commit 371908a280
17 changed files with 59 additions and 59 deletions
@@ -3,7 +3,7 @@ fun foo(<!UNRESOLVED_REFERENCE!>varargs<!> <!UNUSED_PARAMETER!>f<!> : Int) {}
var bar : Int = 1
set(<!UNRESOLVED_REFERENCE!>varargs<!> v) {}
val x : (Int) -> Int = {([<!UNRESOLVED_REFERENCE!>varargs<!>] x : Int) -> x}
val x : (Int) -> Int = {[<!UNRESOLVED_REFERENCE!>varargs<!>] <!TYPE_MISMATCH!>x<!> : Int <!SYNTAX!>-> x<!>}
class Hello(<!UNRESOLVED_REFERENCE!>varargs<!> <!UNUSED_PARAMETER!>args<!>: Any) {
}
@@ -5,7 +5,7 @@ fun foo(test <!UNUSED_PARAMETER!>f<!> : Int) {}
var bar : Int = 1
set(test v) {}
val x : (Int) -> Int = {([test] x : Int) -> x}
val x : (Int) -> Int = {[test] <!TYPE_MISMATCH!>x<!> : Int <!SYNTAX!>-> x<!>} // todo fix parser annotation on lambda parameter
class Hello(test <!UNUSED_PARAMETER!>args<!>: Any) {
}
@@ -6,4 +6,4 @@ fun test([ann] <!UNUSED_PARAMETER!>p<!>: Int) {
val bar = fun test([ann] <!UNUSED_PARAMETER!>g<!>: Int) {}
val bas = { ([ann] t: Int) -> }
val bas = { <!DEPRECATED_LAMBDA_SYNTAX!>([ann] t: Int)<!> -> }
@@ -34,7 +34,7 @@ fun test4() {
// should be an error on receiver, shouldn't be thrown away
fun test5() {
<!TYPE_MISMATCH!>1<!>.{ String.(): String -> this}()
<!TYPE_MISMATCH!>1<!>.{ <!DEPRECATED_LAMBDA_SYNTAX!>String.(): String<!> -> this}()
}
fun <R: Any> R?.sure() : R = this!!
@@ -8,12 +8,12 @@ fun foo(f: (Trait) -> Trait) = f
fun test(s: Sub) {
foo {
(t: Super): Sub -> s
<!DEPRECATED_LAMBDA_SYNTAX!>(t: Super): Sub<!> -> s
}
foo {
(t: Trait): Trait -> s
<!DEPRECATED_LAMBDA_SYNTAX!>(t: Trait): Trait<!> -> s
}
foo {
(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>t: Sub<!>): <!EXPECTED_RETURN_TYPE_MISMATCH!>Super<!> -> s
<!DEPRECATED_LAMBDA_SYNTAX!>(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>t: Sub<!>): <!EXPECTED_RETURN_TYPE_MISMATCH!>Super<!><!> -> s
}
}
@@ -9,26 +9,26 @@ fun test1() {
""
}
foo0 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>(s: String)<!> -> ""
<!DEPRECATED_LAMBDA_SYNTAX, EXPECTED_PARAMETERS_NUMBER_MISMATCH!>(s: String)<!> -> ""
}
foo0 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!><!CANNOT_INFER_PARAMETER_TYPE!>x<!>, <!CANNOT_INFER_PARAMETER_TYPE!>y<!><!> -> ""
}
foo0 {
(): <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!> -> 42
<!DEPRECATED_LAMBDA_SYNTAX!>(): <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!><!> -> 42
}
foo1 {
""
}
foo1 {
(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>s: String<!>) -> ""
<!DEPRECATED_LAMBDA_SYNTAX!>(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>s: String<!>)<!> -> ""
}
foo1 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>x, <!CANNOT_INFER_PARAMETER_TYPE!>y<!><!> -> ""
}
foo1 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!>: <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!> -> 42
<!DEPRECATED_LAMBDA_SYNTAX!><!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!>: <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!><!> -> 42
}
@@ -36,12 +36,12 @@ fun test1() {
""
}
foo2 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>s: String<!>)<!> -> ""
<!DEPRECATED_LAMBDA_SYNTAX, EXPECTED_PARAMETERS_NUMBER_MISMATCH!>(<!EXPECTED_PARAMETER_TYPE_MISMATCH!>s: String<!>)<!> -> ""
}
foo2 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>x<!> -> ""
}
foo2 {
<!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!>: <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!> -> 42
<!DEPRECATED_LAMBDA_SYNTAX!><!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!>: <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!><!> -> 42
}
}
@@ -1,11 +1,11 @@
fun test(a: Int) {
run @f{ (): Int ->
run @f{ <!DEPRECATED_LAMBDA_SYNTAX!>(): Int<!> ->
if (a > 0) return@f <!TYPE_MISMATCH!>""<!>
return@f 1
}
run { (): Int -> <!TYPE_MISMATCH!>""<!> }
run { (): Int -> 1 }
run { <!DEPRECATED_LAMBDA_SYNTAX!>(): Int<!> -> <!TYPE_MISMATCH!>""<!> }
run { <!DEPRECATED_LAMBDA_SYNTAX!>(): Int<!> -> 1 }
}
fun run<T>(f: () -> T): T { return f() }
@@ -8,15 +8,15 @@ fun <T> Array<T>.forEach(operation: (T) -> Unit) : Unit { for (element in this)
fun bar(operation: (String) -> Unit) = operation("")
fun main(args: Array<String>) {
args.forEach { (a : String) : Unit -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { (a) : Unit -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { (a : String) -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { <!DEPRECATED_LAMBDA_SYNTAX!>(a : String) : Unit<!> -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { <!DEPRECATED_LAMBDA_SYNTAX!>(a) : Unit<!> -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { <!DEPRECATED_LAMBDA_SYNTAX!>(a : String)<!> -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { a -> a.length() } // Type mismatch: (String) -> Unit required, (String) -> Int found
args.forEach { it.length() } // This works!
bar { (a: String) : Unit -> a.length() }
bar { (a) : Unit -> a.length() }
bar { (a: String) -> a.length() }
bar { <!DEPRECATED_LAMBDA_SYNTAX!>(a: String) : Unit<!> -> a.length() }
bar { <!DEPRECATED_LAMBDA_SYNTAX!>(a) : Unit<!> -> a.length() }
bar { <!DEPRECATED_LAMBDA_SYNTAX!>(a: String)<!> -> a.length() }
bar { a -> a.length() }
bar { it.length() }
}
@@ -177,8 +177,8 @@ fun returnFunctionLiteralBlock(a: Any?): Function0<Int> {
else return { 1 }
}
fun returnFunctionLiteral(a: Any?): Function0<Int> =
if (a is Int) { (): Int -> <!DEBUG_INFO_SMARTCAST!>a<!> }
else { () -> 1 }
if (a is Int) { <!DEPRECATED_LAMBDA_SYNTAX!>(): Int<!> -> <!DEBUG_INFO_SMARTCAST!>a<!> }
else { <!DEPRECATED_LAMBDA_SYNTAX!>()<!> -> 1 }
fun mergeSmartCasts(a: Any?) {
if (a is String || a is Int) {
@@ -6,8 +6,8 @@ inline fun inlineFunWithInvoke(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
}
inline fun inlineFunWithInvokeClosure(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
subInline({(p: Int) -> s(p)}, {Int.(p:Int) -> this.ext(p)})
subNoInline({(p: Int) -> s(p)}, {Int.(p:Int) -> this.ext(p)})
subInline({p: Int -> s(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
subNoInline({p: Int -> s(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
}
//No inline
@@ -17,8 +17,8 @@ inline fun inlineFunWithInvokeNonInline(noinline s: (p: Int) -> Unit, noinline e
}
inline fun inlineFunWithInvokeClosureNoinline(noinline s: (p: Int) -> Unit, noinline ext: Int.(p: Int) -> Unit) {
subInline({(p: Int) -> s(p)}, {Int.(p:Int) -> this.ext(p)})
subNoInline({(p: Int) -> s(p)}, {Int.(p:Int) -> this.ext(p)})
subInline({p: Int -> s(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
subNoInline({p: Int -> s(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
}
//ext function
@@ -28,8 +28,8 @@ inline fun Function1<Int, Unit>.inlineExt(ext: Int.(p: Int) -> Unit) {
}
inline fun Function1<Int, Unit>.inlineExtWithClosure(ext: Int.(p: Int) -> Unit) {
subInline({(p: Int) -> this(p)}, {Int.(p:Int) -> this.ext(p)})
subNoInline({(p: Int) -> this(p)}, {Int.(p:Int) -> this.ext(p)})
subInline({p: Int -> this(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
subNoInline({p: Int -> this(p)}, {<!DEPRECATED_LAMBDA_SYNTAX!>Int.(p:Int)<!> -> this.ext(p)})
}
inline fun subInline(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {}
@@ -15,7 +15,7 @@ fun B.b() {
}
fun test() {
@b <!UNUSED_FUNCTION_LITERAL!>{ B.() ->
@b <!UNUSED_FUNCTION_LITERAL!>{ <!DEPRECATED_LAMBDA_SYNTAX!>B.()<!> ->
object : A {
override fun foo() {
this@b.bar()
@@ -1,14 +1,14 @@
// KT-306 Ambiguity when different this's have same-looking functions
fun test() {
<!UNUSED_FUNCTION_LITERAL!>{Foo.() ->
<!UNUSED_FUNCTION_LITERAL!>{<!DEPRECATED_LAMBDA_SYNTAX!>Foo.()<!> ->
bar();
{Barr.() ->
{<!DEPRECATED_LAMBDA_SYNTAX!>Barr.()<!> ->
this.bar()
bar()
}
}<!>
<!UNUSED_FUNCTION_LITERAL!>{Barr.() ->
<!UNUSED_FUNCTION_LITERAL!>{<!DEPRECATED_LAMBDA_SYNTAX!>Barr.()<!> ->
bar()
}<!>
}
@@ -2,18 +2,18 @@
package kt352
val f : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit -> } //type mismatch
val f : (Any) -> Unit = { <!DEPRECATED_LAMBDA_SYNTAX!><!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit<!> -> } //type mismatch
fun foo() {
val <!UNUSED_VARIABLE!>f<!> : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit -> } //!!! no error
val <!UNUSED_VARIABLE!>f<!> : (Any) -> Unit = { <!DEPRECATED_LAMBDA_SYNTAX!><!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit<!> -> } //!!! no error
}
class A() {
val f : (Any) -> Unit = { <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit -> } //type mismatch
val f : (Any) -> Unit = { <!DEPRECATED_LAMBDA_SYNTAX!><!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>()<!> : Unit<!> -> } //type mismatch
}
//more tests
val g : () -> Unit = { (): <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!> -> 42 }
val g : () -> Unit = { <!DEPRECATED_LAMBDA_SYNTAX!>(): <!EXPECTED_RETURN_TYPE_MISMATCH!>Int<!><!> -> 42 }
val h : () -> Unit = { doSmth() }
@@ -16,11 +16,11 @@ object A {
fun foo(i: Int, f: (Int)->Int) = f(i)
fun test() {
foo(1) { (x1: Int):Int ->
foo(2) { (x2: Int): Int ->
foo(3) { (x3: Int): Int ->
foo(4) { (x4: Int): Int ->
foo(5) { (x5: Int): Int ->
foo(1) { <!DEPRECATED_LAMBDA_SYNTAX!>(x1: Int):Int<!> ->
foo(2) { <!DEPRECATED_LAMBDA_SYNTAX!>(x2: Int): Int<!> ->
foo(3) { <!DEPRECATED_LAMBDA_SYNTAX!>(x3: Int): Int<!> ->
foo(4) { <!DEPRECATED_LAMBDA_SYNTAX!>(x4: Int): Int<!> ->
foo(5) { <!DEPRECATED_LAMBDA_SYNTAX!>(x5: Int): Int<!> ->
x1 + x2 + x3 + x4 + x5 + A.iii
}
}
@@ -17,11 +17,11 @@ fun foo(a: Any, f: (Any)->Int) = f(a)
fun foo(i: Int, f: (Int)->Int) = f(i)
fun test() {
foo(1) { (x1: Int):Int ->
foo(2) { (x2: Int): Int ->
foo(3) { (x3: Int): Int ->
foo(4) { (x4: Int): Int ->
foo(5) { (x5: Int): Int ->
foo(1) { <!DEPRECATED_LAMBDA_SYNTAX!>(x1: Int):Int<!> ->
foo(2) { <!DEPRECATED_LAMBDA_SYNTAX!>(x2: Int): Int<!> ->
foo(3) { <!DEPRECATED_LAMBDA_SYNTAX!>(x3: Int): Int<!> ->
foo(4) { <!DEPRECATED_LAMBDA_SYNTAX!>(x4: Int): Int<!> ->
foo(5) { <!DEPRECATED_LAMBDA_SYNTAX!>(x5: Int): Int<!> ->
x1 + x2 + x3 + x4 + x5 + A.iii
}
}
@@ -21,11 +21,11 @@ fun foo(i: Int, f: (Int)->Int) = f(i)
fun id<T>(t: T) = t
fun test() {
foo(1, id { (x1: Int):Int ->
foo(2, id { (x2: Int): Int ->
foo(3, id { (x3: Int): Int ->
foo(4, id { (x4: Int): Int ->
foo(5, id { (x5: Int): Int ->
foo(1, id { <!DEPRECATED_LAMBDA_SYNTAX!>(x1: Int):Int<!> ->
foo(2, id { <!DEPRECATED_LAMBDA_SYNTAX!>(x2: Int): Int<!> ->
foo(3, id { <!DEPRECATED_LAMBDA_SYNTAX!>(x3: Int): Int<!> ->
foo(4, id { <!DEPRECATED_LAMBDA_SYNTAX!>(x4: Int): Int<!> ->
foo(5, id { <!DEPRECATED_LAMBDA_SYNTAX!>(x5: Int): Int<!> ->
x1 + x2 + x3 + x4 + x5 + A.iii
})
})
@@ -5,17 +5,17 @@ fun test(d: dynamic) {
d.foo { x -> }
d.foo { (x: Int) -> "" }
d.foo { <!DEPRECATED_LAMBDA_SYNTAX!>(x: Int)<!> -> "" }
d.foo { x, y -> "" }
d.foo { (x: String, y: Int) -> "" }
d.foo { <!DEPRECATED_LAMBDA_SYNTAX!>(x: String, y: Int)<!> -> "" }
d.foo { (x, y: Int) -> "" }
d.foo { <!DEPRECATED_LAMBDA_SYNTAX!>(x, y: Int)<!> -> "" }
d.foo { (x: String, y: Int): Int -> <!TYPE_MISMATCH!>""<!> }
d.foo { <!DEPRECATED_LAMBDA_SYNTAX!>(x: String, y: Int): Int<!> -> <!TYPE_MISMATCH!>""<!> }
d.foo { String.(x: String, y: Int): Int -> length() }
d.foo { <!DEPRECATED_LAMBDA_SYNTAX!>String.(x: String, y: Int): Int<!> -> length() }
d.foo({})
@@ -27,7 +27,7 @@ fun test(d: dynamic) {
d.foo(@label ({ x, y -> }))
d.foo((@label ({ (x, y: Int) -> })))
d.foo((@label ({ <!DEPRECATED_LAMBDA_SYNTAX!>(x, y: Int)<!> -> })))
d.foo(({ x -> }))