Added test for propagation of projection kind.

#KT-2776 in progress
This commit is contained in:
Evgeny Gerashchenko
2012-11-22 15:08:16 +04:00
parent 795b3bfbe0
commit 4df311366d
5 changed files with 50 additions and 0 deletions
@@ -0,0 +1,18 @@
package test;
import org.jetbrains.annotations.NotNull;
import jet.runtime.typeinfo.KotlinSignature;
import org.jetbrains.jet.jvm.compiler.annotation.ExpectLoadError;
import java.util.*;
public interface InheritProjectionKind {
public interface Super {
@KotlinSignature("fun foo(p: MutableList<in String>)")
void foo(List<String> p);
}
public interface Sub extends Super {
void foo(List<String> p);
}
}
@@ -0,0 +1,12 @@
package test
public trait InheritProjectionKind: Object {
public trait Super: Object {
public fun foo(p0: MutableList<in String>)
}
public trait Sub: Super {
override fun foo(p0: MutableList<in String>)
}
}
@@ -0,0 +1,10 @@
namespace test
public abstract trait test.InheritProjectionKind : java.lang.Object {
public abstract trait test.InheritProjectionKind.Sub : test.InheritProjectionKind.Super {
public abstract override /*1*/ fun foo(/*0*/ p0: jet.MutableList<in jet.String>): jet.Tuple0
}
public abstract trait test.InheritProjectionKind.Super : java.lang.Object {
public abstract fun foo(/*0*/ p0: jet.MutableList<in jet.String>): jet.Tuple0
}
}