Minor. Added regression tests for: KT-3927, KT-9522, KT-10036, KT-7440, KT-9682, KT-9808, KT-9517, KT-9810, KT-9345.

This commit is contained in:
Stanislav Erokhin
2016-01-24 15:39:51 +03:00
parent 298a075381
commit 210c9ab3db
21 changed files with 311 additions and 0 deletions
@@ -0,0 +1,16 @@
//KT-9517 Wrong resolve for invoke convention after smart cast
open class A {
open val foo: () -> Number = null!!
}
class B: A() {
override val foo: () -> Int
get() = null!!
}
fun test(a: A) {
if (a is B) {
val <!UNUSED_VARIABLE!>foo<!>: Int = <!DEBUG_INFO_SMARTCAST!>a<!>.foo() // B::foo + invoke()
}
}
@@ -0,0 +1,19 @@
package
public fun test(/*0*/ a: A): kotlin.Unit
public open class A {
public constructor A()
public open val foo: () -> kotlin.Number
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class B : A {
public constructor B()
public open override /*1*/ val foo: () -> kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}