KT-1934 & KT-10197:

Naive approximation for fake overriding signature:
use upper bound for flexible types.
Check delegation errors.
This commit is contained in:
Dmitry Petrov
2015-12-04 17:18:00 +03:00
parent 6e2d42daf9
commit ef72c594c4
24 changed files with 1055 additions and 209 deletions
@@ -24,7 +24,7 @@ fun foo(k: KotlinClass) {
k.setSomething4("")
k.something4 += ""
k.setSomething4(<!NULL_FOR_NONNULL_TYPE!>null<!>)
k.something4 = null
k.something4 = <!NULL_FOR_NONNULL_TYPE!>null<!>
useString(k.getSomething5())
useString(k.something5)
@@ -30,7 +30,7 @@ public abstract class KotlinClass : JavaClass, KotlinInterface, JavaInterface {
public open override /*2*/ fun getSomething1(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun getSomething2(): kotlin.Int
public open override /*1*/ fun getSomething3(): kotlin.String
public abstract override /*2*/ /*fake_override*/ fun getSomething4(): kotlin.String!
public abstract override /*2*/ /*fake_override*/ fun getSomething4(): kotlin.String
public open override /*1*/ fun getSomething5(): kotlin.String
public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun setSomething4(/*0*/ value: kotlin.String): kotlin.Unit