Disabled assertion when return types are incompatible (incomplete/invalid Java code).

EA-43482 - ISE: JavaFunctionResolver.checkFunctionsOverrideCorrectly
This commit is contained in:
Evgeny Gerashchenko
2013-02-18 22:00:23 +04:00
parent 50bc94bafc
commit 543a2821e4
7 changed files with 161 additions and 7 deletions
@@ -0,0 +1,22 @@
package test
public trait ReturnNotSubtype : java.lang.Object {
public trait Sub : test.ReturnNotSubtype.Super<jet.Boolean> {
public abstract override /*1*/ fun _void() : jet.Boolean
public abstract override /*1*/ fun array() : jet.Array<java.lang.Void>?
public abstract override /*1*/ fun klass() : java.lang.Class<out jet.Any?>?
public abstract override /*1*/ fun string1() : Unit
public abstract override /*1*/ fun string2() : jet.MutableList<jet.Boolean>?
public abstract override /*1*/ fun t() : java.lang.Void?
}
public trait Super</*0*/ T> : java.lang.Object {
public abstract fun _void() : Unit
public abstract fun array() : jet.Array<T>?
public abstract fun klass() : java.lang.Class<out jet.CharSequence?>?
public abstract fun string1() : jet.String?
public abstract fun string2() : jet.String?
public abstract fun t() : T?
}
}
@@ -0,0 +1,32 @@
package test;
import java.util.List;
import org.jetbrains.jet.jvm.compiler.annotation.ExpectLoadError;
public interface ReturnNotSubtype {
interface Super<T> {
T t();
void _void();
String string1();
String string2();
Class<? extends CharSequence> klass();
T[] array();
}
interface Sub extends Super<Boolean> {
Void t();
boolean _void();
void string1();
List<Boolean> string2();
Class<?> klass();
Void[] array();
}
}