Merge branch 'master' of git+ssh://git.labs.intellij.net/jet

This commit is contained in:
Nikolay Krasko
2011-11-30 19:54:35 +04:00
227 changed files with 1131 additions and 576 deletions
+1 -1
View File
@@ -160,7 +160,7 @@ abstract class B3(i: Int) {
this(): this(1)
}
fun foo(a: B3) {
fun foo(<warning>a</warning>: B3) {
val <warning>a</warning> = <error>B3()</error>
val <warning>b</warning> = <error>B1(2, "s")</error>
}
@@ -1,13 +1,13 @@
class A() {
fun equals(a : Any?) : Boolean = false
fun equals(<warning>a</warning> : Any?) : Boolean = false
}
class B() {
fun equals(a : Any?) : Boolean? = false
fun equals(<warning>a</warning> : Any?) : Boolean? = false
}
class C() {
fun equals(a : Any?) : Int = 0
fun equals(<warning>a</warning> : Any?) : Int = 0
}
fun f(): Unit {
+1 -1
View File
@@ -1,6 +1,6 @@
class C {
fun f (a : Boolean, b : Boolean) {
fun f (<warning>a</warning> : Boolean, <warning>b</warning> : Boolean) {
@b (while (true)
@a {
<error>break@f</error>
+8 -8
View File
@@ -1,7 +1,7 @@
fun Int?.optint() : Unit {}
val Int?.optval : Unit = ()
fun <T, E> T.foo(x : E, y : A) : T {
fun <T, E> T.foo(<warning>x</warning> : E, y : A) : T {
y.plus(1)
y plus 1
y + 1.0
@@ -13,7 +13,7 @@ fun <T, E> T.foo(x : E, y : A) : T {
class A
fun A.plus(a : Any) {
fun A.plus(<warning>a</warning> : Any) {
1.foo()
true.<error>foo</error>()
@@ -21,11 +21,11 @@ fun A.plus(a : Any) {
1
}
fun A.plus(a : Int) {
fun A.plus(<warning>a</warning> : Int) {
1
}
fun <T> T.minus(t : T) : Int = 1
fun <T> T.minus(<warning>t</warning> : T) : Int = 1
fun test() {
val <warning>y</warning> = 1.abs
@@ -39,15 +39,15 @@ fun Int.foo() = this
namespace null_safety {
fun parse(cmd: String): Command? { return null }
fun parse(<warning>cmd</warning>: String): Command? { return null }
class Command() {
// fun equals(other : Any?) : Boolean
val foo : Int = 0
}
fun Any.equals(other : Any?) : Boolean = true
fun Any?.equals1(other : Any?) : Boolean = true
fun Any.equals2(other : Any?) : Boolean = true
fun Any.equals(<warning>other</warning> : Any?) : Boolean = true
fun Any?.equals1(<warning>other</warning> : Any?) : Boolean = true
fun Any.equals2(<warning>other</warning> : Any?) : Boolean = true
fun main(args: Array<String>) {
+1 -1
View File
@@ -7,7 +7,7 @@ import java.lang.Comparable as Com
val l : List<in Int> = ArrayList<Int>()
fun test(l : java.util.List<Int>) {
fun test(<warning>l</warning> : java.util.List<Int>) {
val <warning>x</warning> : java.<error>List</error>
val <warning>y</warning> : java.util.List<Int>
val <warning>b</warning> : java.lang.Object
+2 -2
View File
@@ -45,7 +45,7 @@ fun t3() : Any {
<error>1</error>
}
fun t4(a : Boolean) : Int {
fun t4(<warning>a</warning> : Boolean) : Int {
do {
return 1
}
@@ -53,7 +53,7 @@ fun t4(a : Boolean) : Int {
<error>1</error>
}
fun t4break(a : Boolean) : Int {
fun t4break(<warning>a</warning> : Boolean) : Int {
do {
break
}
+1 -1
View File
@@ -28,4 +28,4 @@ fun testUnresolved() {
}
}
fun foo1(i: Int) {}
fun foo1(<warning>i</warning>: Int) {}
+6 -6
View File
@@ -19,17 +19,17 @@ fun foo(c: Consumer<Int>, p: Producer<Int>, u: Usual<Int>) {
//Arrays copy example
class Array<T>(val length : Int, val t : T) {
fun get(index : Int) : T { return t }
fun set(index : Int, value : T) { /* ... */ }
fun get(<warning>index</warning> : Int) : T { return t }
fun set(<warning>index</warning> : Int, <warning>value</warning> : T) { /* ... */ }
}
fun copy1(from : Array<Any>, to : Array<Any>) {}
fun copy1(<warning>from</warning> : Array<Any>, <warning>to</warning> : Array<Any>) {}
fun copy2(from : Array<out Any>, to : Array<in Any>) {}
fun copy2(<warning>from</warning> : Array<out Any>, <warning>to</warning> : Array<in Any>) {}
fun <T> copy3(from : Array<out T>, to : Array<in T>) {}
fun <T> copy3(<warning>from</warning> : Array<out T>, <warning>to</warning> : Array<in T>) {}
fun copy4(from : Array<out Number>, to : Array<in Int>) {}
fun copy4(<warning>from</warning> : Array<out Number>, <warning>to</warning> : Array<in Int>) {}
fun f(ints: Array<Int>, any: Array<Any>, numbers: Array<Number>) {
copy1(<error>ints</error>, any)
+1 -1
View File
@@ -216,7 +216,7 @@ fun declarationInsidePattern(x: (Any, Any)): String = when(x) { is (val a is Str
fun mergeAutocasts(a: Any?) {
if (a is String || a is Int) {
a.<error descr="Unresolved reference: compareTo">compareTo</error>("")
a.toString()
<info descr="Automatically cast to Any">a</info>.toString()
}
if (a is Int || a is String) {
a.<error descr="Unresolved reference: compareTo">compareTo</error>("")
@@ -7,6 +7,6 @@ val b : Foo = Foo()
val a1 = b.compareTo(2)
class Foo() {
fun compareTo(other : Byte) : Int = 0
fun compareTo(other : Char) : Int = 0
fun compareTo(<warning>other</warning> : Byte) : Int = 0
fun compareTo(<warning>other</warning> : Char) : Int = 0
}
@@ -1,4 +1,4 @@
fun foo(u : Unit) : Int = 1
fun foo(<warning>u</warning> : Unit) : Int = 1
fun test() : Int {
foo(<error>1</error>)
+2 -2
View File
@@ -1,8 +1,8 @@
fun foo1() : fun (Int) : Int = { (x: Int) => x }
fun foo() {
val <warning>h</warning> : fun (Int) : Int = foo1();
val h : fun (Int) : Int = foo1();
h(1)
val <warning>m</warning> : fun (Int) : Int = {(a : Int) => 1}//foo1()
val m : fun (Int) : Int = {(a : Int) => 1}//foo1()
m(1)
}
+1 -1
View File
@@ -1,4 +1,4 @@
fun set(key : String, value : String) {
fun set(<warning>key</warning> : String, <warning>value</warning> : String) {
val a : String? = ""
when (a) {
"" => a<error>.</error>get(0)
+1 -1
View File
@@ -1,6 +1,6 @@
class Command() {}
fun parse(cmd: String): Command? { return null }
fun parse(<warning>cmd</warning>: String): Command? { return null }
fun Any.equals(other : Any?) : Boolean = this === other
@@ -8,7 +8,7 @@
}
this(var bar : Int) : this(1, 1, 1) {
bar = 1
bar = <warning>1</warning>
this.bar
1 : Int
val <warning>a</warning> : Int =1
@@ -1,4 +1,4 @@
fun Any.equals(other : Any?) : Boolean = true
fun Any.equals(<warning>other</warning> : Any?) : Boolean = true
fun main(args: Array<String>) {
@@ -1,8 +1,8 @@
open class Foo {}
open class Bar {}
fun <T : Bar, T1> foo(x : Int) {}
fun <T1, T : Foo> foo(x : Long) {}
fun <T : Bar, T1> foo(<warning>x</warning> : Int) {}
fun <T1, T : Foo> foo(<warning>x</warning> : Long) {}
fun f(): Unit {
foo<<error>Int</error>, Int>(1)