diff --git a/idea/testData/checker/infos/Autocasts.jet b/idea/testData/checker/infos/Autocasts.jet index 7cf18aadd48..062b26b75a2 100644 --- a/idea/testData/checker/infos/Autocasts.jet +++ b/idea/testData/checker/infos/Autocasts.jet @@ -1,4 +1,4 @@ -open class A() { +open class A() { fun foo() {} } @@ -9,25 +9,25 @@ class B() : A() { fun f9() { val a : A? a?.foo() - a?.bar() + a?.bar() if (a is B) { a.bar() - a.foo() + a.foo() } a?.foo() - a?.bar() + a?.bar() if (!(a is B)) { - a?.bar() + a?.bar() a?.foo() } if (!(a is B) || a.bar() == ()) { - a?.bar() + a?.bar() } if (!(a is B)) { return; } a.bar() - a.foo() + a.foo() } fun f10() { @@ -47,19 +47,17 @@ class C() : A() { } fun f10(a : A?) { - if (a is B) { if (a is C) { a.bar(); } - } } fun f11(a : A?) { when (a) { is B => a.bar() - is A => a.foo() - is Any => a.foo() - is Any? => a.bar() + is A => a.foo() + is Any => a.foo() + is Any? => a.bar() else => a?.foo() } } @@ -67,21 +65,21 @@ fun f11(a : A?) { fun f12(a : A?) { when (a) { is B => a.bar() - is A => a.foo() - is Any => a.foo(); - is Any? => a.bar() - is val c : B => c.foo() + is A => a.foo() + is Any => a.foo(); + is Any? => a.bar() + is val c : B => c.foo() is val c is C => c.bar() is val c is C => a.bar() else => a?.foo() } if (a is val b) { - a?.bar() + a?.bar() b?.foo() } if (a is val b is B) { - b.foo() + b.foo() a.bar() b.bar() } @@ -89,41 +87,41 @@ fun f12(a : A?) { fun f13(a : A?) { if (a is val c is B) { - c.foo() + c.foo() c.bar() } else { a?.foo() - c.bar() + c.bar() } a?.foo() if (!(a is val c is B)) { a?.foo() - c.bar() + c.bar() } else { - a.foo() - c.bar() + a.foo() + c.bar() } a?.foo() - if (a is val c is B && a.foo() == () && c.bar() == ()) { - c.foo() + if (a is val c is B && a.foo() == () && c.bar() == ()) { + c.foo() c.bar() } else { a?.foo() - c.bar() + c.bar() } if (!(a is val c is B) || !(a is val x is C)) { - x - c + x + c } else { - x - c + x + c } if (!(a is val c is B) || !(a is val c is C)) { @@ -131,38 +129,38 @@ fun f13(a : A?) { if (!(a is val c is B)) return a.bar() - c.foo() - c.bar() + c.foo() + c.bar() } fun f14(a : A?) { while (!(a is val c is B)) { } a.bar() - c.bar() + c.bar() } fun f15(a : A?) { do { } while (!(a is val c is B)) a.bar() - c.bar() + c.bar() } fun getStringLength(obj : Any) : Char? { if (obj !is String) return null - return obj.get(0) // no cast to String is needed + return obj.get(0) // no cast to String is needed } fun toInt(i: Int?): Int = if (i != null) i else 0 fun illegalWhenBody(a: Any): Int = when(a) { is Int => a - is String => a + is String => a } fun illegalWhenBlock(a: Any): Int { when(a) { is Int => return a - is String => return a + is String => return a } } fun declarations(a: Any?) { @@ -188,17 +186,17 @@ fun vars(a: Any?) { } fun tuples(a: Any?) { if (a != null) { - val s: (Any, String) = (a, a) + val s: (Any, String) = (a, a) } if (a is String) { - val s: (Any, String) = (a, a) + val s: (Any, String) = (a, a) } - fun illegalTupleReturnType(): (Any, String) = (a, a) + fun illegalTupleReturnType(): (Any, String) = (a, a) if (a is String) { - fun legalTupleReturnType(): (Any, String) = (a, a) + fun legalTupleReturnType(): (Any, String) = (a, a) } - val illegalFunctionLiteral: Function0 = { a } - val illegalReturnValueInFunctionLiteral: Function0 = { (): Int => a } + val illegalFunctionLiteral: Function0 = { a } + val illegalReturnValueInFunctionLiteral: Function0 = { (): Int => a } if (a is Int) { val legalFunctionLiteral: Function0 = { a } @@ -213,43 +211,43 @@ fun returnFunctionLiteral(a: Any?): Function0 = if (a is Int) { (): Int => a } else { () => 1 } -fun illegalTupleReturnType(a: Any): (Any, String) = (a, a) +fun illegalTupleReturnType(a: Any): (Any, String) = (a, a) fun declarationInsidePattern(x: (Any, Any)): String = when(x) { is (val a is String, *) => a; else => "something" } fun mergeAutocasts(a: Any?) { if (a is String || a is Int) { - a.compareTo("") + a.compareTo("") a.toString() } if (a is Int || a is String) { - a.compareTo("") + a.compareTo("") } when (a) { - is String, is Any => a.compareTo("") + is String, is Any => a.compareTo("") } if (a is String && a is Any) { val i: Int = a.compareTo("") } if (a is String && a.compareTo("") == 0) {} - if (a is String || a.compareTo("") == 0) {} + if (a is String || a.compareTo("") == 0) {} } //mutability fun f(): String { var a: Any = 11 if (a is String) { - val i: String = a - a.compareTo("f") - val f: Function0 = { a } - return a + val i: String = a + a.compareTo("f") + val f: Function0 = { a } + return a } return "" } fun foo(var a: Any): Int { if (a is Int) { - return a + return a } return 1 } \ No newline at end of file diff --git a/idea/testData/checkerWithErrorTypes/full/When.jet b/idea/testData/checkerWithErrorTypes/full/When.jet index f8612546d1c..7f53fb38c9d 100644 --- a/idea/testData/checkerWithErrorTypes/full/When.jet +++ b/idea/testData/checkerWithErrorTypes/full/When.jet @@ -1,3 +1,5 @@ +fun Int.foo() : Boolean = true + fun foo() : Int { val s = "" val x = 1 @@ -17,7 +19,8 @@ fun foo() : Int { else => 1 } return when (x?:null) { - .equals(1) => 1 + .foo() => 1 + .equals(1) => 1 ?.equals(1).equals(2) => 1 } } diff --git a/idea/testData/checkerWithErrorTypes/full/infos/Autocasts.jet b/idea/testData/checkerWithErrorTypes/full/infos/Autocasts.jet index ff7066a34f5..a3cf2976f1f 100644 --- a/idea/testData/checkerWithErrorTypes/full/infos/Autocasts.jet +++ b/idea/testData/checkerWithErrorTypes/full/infos/Autocasts.jet @@ -47,11 +47,9 @@ class C() : A() { } fun f10(a : A?) { - if (a is B) { if (a is C) { a.bar(); } - } } fun f11(a : A?) {