KT-286 Check supertype lists (in progress)
Tests involving multiple inheritance fixed
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
class X(val x : Int) {}
|
||||
class Y(val y : Int) {}
|
||||
// Changed when traits were introduced. May not make sense any more
|
||||
|
||||
class Point(x : Int, y : Int) : X(x) , Y(y) {}
|
||||
open class X(val x : Int) {}
|
||||
trait class Y {
|
||||
abstract val y : Int
|
||||
}
|
||||
|
||||
class Abstract {}
|
||||
class YImpl(val y : Int) : Y {}
|
||||
|
||||
class Point(x : Int, yy : Int) : X(x) , Y {
|
||||
override val y : Int = yy
|
||||
}
|
||||
|
||||
trait class Abstract {}
|
||||
|
||||
class P1(x : Int, yy : Y) : Abstract, X(x), Y by yy {}
|
||||
class P2(x : Int, yy : Y) : X(x), Abstract, Y by yy {}
|
||||
@@ -12,12 +20,12 @@ class P4(x : Int, yy : Y) : Y by yy, Abstract, X(x) {}
|
||||
|
||||
fun box() : String {
|
||||
if (X(239).x != 239) return "FAIL #1"
|
||||
if (Y(239).y != 239) return "FAIL #2"
|
||||
if (YImpl(239).y != 239) return "FAIL #2"
|
||||
|
||||
val p = Point(240, -1)
|
||||
if (p.x + p.y != 239) return "FAIL #3"
|
||||
|
||||
val y = Y(-1)
|
||||
val y = YImpl(-1)
|
||||
val p1 = P1(240, y)
|
||||
if (p1.x + p1.y != 239) return "FAIL #4"
|
||||
val p2 = P2(240, y)
|
||||
|
||||
Reference in New Issue
Block a user