[FIR] Implement properties types mismatch on inheritence

PROPERTY_TYPE_MISMATCH_ON_INHERITANCE,
VAR_TYPE_MISMATCH_ON_INHERITANCE,
PROPERTY_TYPE_MISMATCH_BY_DELEGATION
This commit is contained in:
Andrey Zinovyev
2021-06-11 13:07:17 +03:00
committed by teamcityserver
parent 8c7ee0b714
commit c98cd3b190
21 changed files with 179 additions and 142 deletions
@@ -1,13 +0,0 @@
interface IFooAny {
val foo: Any
}
interface IFooStr : IFooAny {
override val foo: String
}
abstract class BaseAny(override val foo: Any): IFooAny
abstract class BaseStr : BaseAny(42), IFooStr
class C : BaseStr()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface IFooAny {
val foo: Any
}
@@ -1,29 +0,0 @@
open class A {
open val foo: Boolean = true
}
interface IA {
val foo: String
}
interface IAA {
val foo: Int
}
interface IGA<T> {
val foo: T
}
class B1: A(), IA
class B2: A(), IA, IAA
abstract class B3: IA, IAA
class BS1: A(), IGA<Boolean>
class BS2: A(), IGA<Any>
class BS3: A(), IGA<String>
class BG1<T>: A(), IGA<T>
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
open class A {
open val foo: Boolean = true
}
@@ -1,29 +0,0 @@
open class A {
open var foo: Boolean = true
}
interface IA {
var foo: String
}
interface IAA {
var foo: Int
}
interface IGA<T> {
var foo: T
}
class B1: A(), IA
class B2: A(), IA, IAA
abstract class B3: IA, IAA
class BS1: A(), IGA<Boolean>
class BS2: A(), IGA<Any>
class BS3: A(), IGA<String>
class BG1<T>: A(), IGA<T>
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
open class A {
open var foo: Boolean = true
}