Added linkage tests on synthetic fields
This commit is contained in:
@@ -876,6 +876,12 @@ task innerClass_secondaryConstructor(type: RunKonanTest) {
|
|||||||
source = "codegen/innerClass/secondaryConstructor.kt"
|
source = "codegen/innerClass/secondaryConstructor.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task innerClass_linkTest(type: LinkKonanTest) {
|
||||||
|
goldValue = ""
|
||||||
|
source = "codegen/innerClass/linkTest_main.kt"
|
||||||
|
lib = "codegen/innerClass/linkTest_lib.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task localClass_localHierarchy(type: RunKonanTest) {
|
task localClass_localHierarchy(type: RunKonanTest) {
|
||||||
goldValue = "OK\n"
|
goldValue = "OK\n"
|
||||||
source = "codegen/localClass/localHierarchy.kt"
|
source = "codegen/localClass/localHierarchy.kt"
|
||||||
@@ -1087,6 +1093,12 @@ task classDelegation_withBridge(type: RunKonanTest) {
|
|||||||
source = "codegen/classDelegation/withBridge.kt"
|
source = "codegen/classDelegation/withBridge.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task classDelegation_linkTest(type: LinkKonanTest) {
|
||||||
|
goldValue = "qxx\n123\n42\n117\nzzz\n"
|
||||||
|
source = "codegen/classDelegation/linkTest_main.kt"
|
||||||
|
lib = "codegen/classDelegation/linkTest_lib.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task delegatedProperty_simpleVal(type: RunKonanTest) {
|
task delegatedProperty_simpleVal(type: RunKonanTest) {
|
||||||
goldValue = "x\n42\n"
|
goldValue = "x\n42\n"
|
||||||
source = "codegen/delegatedProperty/simpleVal.kt"
|
source = "codegen/delegatedProperty/simpleVal.kt"
|
||||||
@@ -1113,6 +1125,12 @@ task delegatedProperty_delegatedOverride(type: LinkKonanTest) {
|
|||||||
lib = "codegen/delegatedProperty/delegatedOverride_lib.kt"
|
lib = "codegen/delegatedProperty/delegatedOverride_lib.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task delegatedProperty_correctFieldsOrder(type: LinkKonanTest) {
|
||||||
|
goldValue = "qxx\n117\nzzz\nqzz\n"
|
||||||
|
source = "codegen/delegatedProperty/correctFieldsOrder_main.kt"
|
||||||
|
lib = "codegen/delegatedProperty/correctFieldsOrder_lib.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task delegatedProperty_lazy(type: RunKonanTest) {
|
task delegatedProperty_lazy(type: RunKonanTest) {
|
||||||
goldValue = "computed!\nHello\nHello\n"
|
goldValue = "computed!\nHello\nHello\n"
|
||||||
source = "codegen/delegatedProperty/lazy.kt"
|
source = "codegen/delegatedProperty/lazy.kt"
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package zzz
|
||||||
|
|
||||||
|
interface I {
|
||||||
|
fun foo(): Int
|
||||||
|
}
|
||||||
|
|
||||||
|
open class A : I {
|
||||||
|
override fun foo() = 42
|
||||||
|
}
|
||||||
|
|
||||||
|
open class B : I by A() {
|
||||||
|
val x = 117
|
||||||
|
val y = "zzz"
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import zzz.*
|
||||||
|
|
||||||
|
class C : B() {
|
||||||
|
val a = "qxx"
|
||||||
|
val b = 123
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
val c = C()
|
||||||
|
println(c.a)
|
||||||
|
println(c.b)
|
||||||
|
println(c.foo())
|
||||||
|
println(c.x)
|
||||||
|
println(c.y)
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package zzz
|
||||||
|
|
||||||
|
open class B {
|
||||||
|
val z by lazy { "qzz" }
|
||||||
|
val x = 117
|
||||||
|
val zzz = "zzz"
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import zzz.*
|
||||||
|
|
||||||
|
class C : B() {
|
||||||
|
val a = "qxx"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
val c = C()
|
||||||
|
println(c.a)
|
||||||
|
println(c.x)
|
||||||
|
println(c.zzz)
|
||||||
|
println(c.z)
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
open class A {
|
||||||
|
open inner class Inner {
|
||||||
|
val x = 42
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
open class B : A() {
|
||||||
|
open inner class Inner : A.Inner()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
B().Inner()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user