Checking redundant/conflicting projection kind in alt signatures.

This commit is contained in:
Evgeny Gerashchenko
2013-02-01 13:55:01 +04:00
parent a47ff5cdb5
commit 4be1e7d8d8
15 changed files with 111 additions and 20 deletions
@@ -0,0 +1,15 @@
package test;
import java.lang.Number;
import java.util.*;
import jet.runtime.typeinfo.KotlinSignature;
import org.jetbrains.jet.jvm.compiler.annotation.ExpectLoadError;
public class ConflictingProjectionKind {
@ExpectLoadError("Projection kind 'in' is conflicting with variance of jet.List")
@KotlinSignature("fun foo(list: List<in Number>)")
public void foo(List<Number> list) {
throw new UnsupportedOperationException();
}
}
@@ -0,0 +1,7 @@
package test
public open class ConflictingProjectionKind : Object() {
public open fun foo(p0: List<Number>?) {
throw UnsupportedOperationException()
}
}
@@ -0,0 +1,6 @@
package test
public open class ConflictingProjectionKind : java.lang.Object {
public constructor ConflictingProjectionKind()
public open fun foo(/*0*/ p0 : jet.List<jet.Number>?) : Unit
}
@@ -0,0 +1,14 @@
package test;
import java.lang.Number;
import java.util.*;
import jet.runtime.typeinfo.KotlinSignature;
import org.jetbrains.jet.jvm.compiler.annotation.ExpectLoadError;
public class RedundantProjectionKind {
@KotlinSignature("fun foo(list: List<out Number>)")
public void foo(List<Number> list) {
throw new UnsupportedOperationException();
}
}
@@ -0,0 +1,7 @@
package test
public open class RedundantProjectionKind : Object() {
public open fun foo(p0: List<Number>) {
throw UnsupportedOperationException()
}
}
@@ -0,0 +1,6 @@
package test
public open class RedundantProjectionKind : java.lang.Object {
public constructor RedundantProjectionKind()
public open fun foo(/*0*/ p0 : jet.List<jet.Number>) : Unit
}