[PL][tests] Keep PL test data under "testData/klib/" dir

This commit is contained in:
Dmitriy Dolovov
2023-08-15 14:38:02 +02:00
committed by Space Team
parent 9e3afe7a1f
commit 5c3e63e19a
186 changed files with 156 additions and 156 deletions
@@ -0,0 +1,34 @@
@file:Suppress("unused", "UNUSED_PARAMETER", "NOTHING_TO_INLINE")
open class OpenClass {
@Suppress("MemberVisibilityCanBePrivate")
var lastRecordedState: String = ""
open var openNonInlineToInlineProperty: String
get() = "OpenClass.openNonInlineToInlineProperty"
set(value) { lastRecordedState = "OpenClass.openNonInlineToInlineProperty=$value" }
open var openNonInlineToInlinePropertyWithDelegation: String
get() = "OpenClass.openNonInlineToInlinePropertyWithDelegation"
set(value) { lastRecordedState = "OpenClass.openNonInlineToInlinePropertyWithDelegation=$value" }
//inline var newInlineProperty1: String
// get() = "OpenClass.newInlineProperty1"
// set(value) { lastRecordedState = "OpenClass.newInlineProperty1=$value" }
//inline var newInlineProperty2: String
// get() = "OpenClass.newInlineProperty2"
// set(value) { lastRecordedState = "OpenClass.newInlineProperty2=$value" }
//var newNonInlineProperty: String
// get() = "OpenClass.newNonInlineProperty"
// set(value) { lastRecordedState = "OpenClass.newNonInlineProperty=$value" }
fun newInlineProperty1Reader(): String = TODO("Not implemented: OpenClass.newInlineProperty1Reader()")
fun newInlineProperty2Reader(): String = TODO("Not implemented: OpenClass.newInlineProperty2Reader()")
fun newNonInlinePropertyReader(): String = TODO("Not implemented: OpenClass.newNonInlinePropertyReader()")
fun newInlineProperty1Writer(value: String): Unit = TODO("Not implemented: OpenClass.newInlineProperty1Writer()")
fun newInlineProperty2Writer(value: String): Unit = TODO("Not implemented: OpenClass.newInlineProperty2Writer()")
fun newNonInlinePropertyWriter(value: String): Unit = TODO("Not implemented: OpenClass.newNonInlinePropertyWriter()")
}
@@ -0,0 +1,34 @@
@file:Suppress("unused", "UNUSED_PARAMETER", "NOTHING_TO_INLINE")
open class OpenClass {
@Suppress("MemberVisibilityCanBePrivate")
var lastRecordedState: String = ""
inline var openNonInlineToInlineProperty: String
get() = "OpenClassV2.openNonInlineToInlineProperty"
set(value) { lastRecordedState = "OpenClassV2.openNonInlineToInlineProperty=$value" }
inline var openNonInlineToInlinePropertyWithDelegation: String
get() = "OpenClassV2.openNonInlineToInlinePropertyWithDelegation"
set(value) { lastRecordedState = "OpenClassV2.openNonInlineToInlinePropertyWithDelegation=$value" }
inline var newInlineProperty1: String
get() = "OpenClassV2.newInlineProperty1"
set(value) { lastRecordedState = "OpenClassV2.newInlineProperty1=$value" }
inline var newInlineProperty2: String
get() = "OpenClassV2.newInlineProperty2"
set(value) { lastRecordedState = "OpenClassV2.newInlineProperty2=$value" }
var newNonInlineProperty: String
get() = "OpenClassV2.newNonInlineProperty"
set(value) { lastRecordedState = "OpenClassV2.newNonInlineProperty=$value" }
fun newInlineProperty1Reader(): String = newInlineProperty1
fun newInlineProperty2Reader(): String = newInlineProperty2
fun newNonInlinePropertyReader(): String = newNonInlineProperty
fun newInlineProperty1Writer(value: String) { newInlineProperty1 = value }
fun newInlineProperty2Writer(value: String) { newInlineProperty2 = value }
fun newNonInlinePropertyWriter(value: String) { newNonInlineProperty = value }
}
@@ -0,0 +1,6 @@
STEP 0:
dependencies: stdlib
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.1 -> l1.kt
@@ -0,0 +1,45 @@
class OpenClassImpl : OpenClass() {
override var openNonInlineToInlineProperty: String
get() = "OpenClassImpl.openNonInlineToInlineProperty"
set(value) { lastRecordedState = "OpenClassImpl.openNonInlineToInlineProperty=$value" }
override var openNonInlineToInlinePropertyWithDelegation: String
get() = super.openNonInlineToInlinePropertyWithDelegation + " called from OpenClassImpl.openNonInlineToInlinePropertyWithDelegation"
set(value) { super.openNonInlineToInlinePropertyWithDelegation = "$value called from OpenClassImpl.openNonInlineToInlinePropertyWithDelegation" }
var newInlineProperty1: String // overrides accidentally appeared inline property
get() = "OpenClassImpl.newInlineProperty1"
set(value) { lastRecordedState = "OpenClassImpl.newInlineProperty1=$value" }
inline var newInlineProperty2: String // overrides accidentally appeared inline property
get() = "OpenClassImpl.newInlineProperty2"
set(value) { lastRecordedState = "OpenClassImpl.newInlineProperty2=$value" }
inline var newNonInlineProperty: String // overrides accidentally appeared non-inline function
get() = "OpenClassImpl.newNonInlineProperty"
set(value) { lastRecordedState = "OpenClassImpl.newNonInlineProperty=$value" }
}
fun openNonInlineToInlinePropertyInOpenClass(oc: OpenClass): String = oc.openNonInlineToInlineProperty
fun openNonInlineToInlinePropertyWithDelegationInOpenClass(oc: OpenClass): String = oc.openNonInlineToInlinePropertyWithDelegation
fun newInlineProperty1InOpenClass(oc: OpenClass): String = oc.newInlineProperty1Reader()
fun newInlineProperty2InOpenClass(oc: OpenClass): String = oc.newInlineProperty2Reader()
fun newNonInlinePropertyInOpenClass(oc: OpenClass): String = oc.newNonInlinePropertyReader()
fun openNonInlineToInlinePropertyInOpenClassImpl(oci: OpenClassImpl): String = oci.openNonInlineToInlineProperty
fun openNonInlineToInlinePropertyWithDelegationInOpenClassImpl(oci: OpenClassImpl): String = oci.openNonInlineToInlinePropertyWithDelegation
fun newInlineProperty1InOpenClassImpl(oci: OpenClassImpl): String = oci.newInlineProperty1
fun newInlineProperty2InOpenClassImpl(oci: OpenClassImpl): String = oci.newInlineProperty2
fun newNonInlinePropertyInOpenClassImpl(oci: OpenClassImpl): String = oci.newNonInlineProperty
fun openNonInlineToInlinePropertyInOpenClass(oc: OpenClass, value: String): String { oc.openNonInlineToInlineProperty = value; return oc.lastRecordedState }
fun openNonInlineToInlinePropertyWithDelegationInOpenClass(oc: OpenClass, value: String): String { oc.openNonInlineToInlinePropertyWithDelegation = value; return oc.lastRecordedState }
fun newInlineProperty1InOpenClass(oc: OpenClass, value: String): String { oc.newInlineProperty1Writer(value); return oc.lastRecordedState }
fun newInlineProperty2InOpenClass(oc: OpenClass, value: String): String { oc.newInlineProperty2Writer(value); return oc.lastRecordedState }
fun newNonInlinePropertyInOpenClass(oc: OpenClass, value: String): String { oc.newNonInlinePropertyWriter(value); return oc.lastRecordedState }
fun openNonInlineToInlinePropertyInOpenClassImpl(oci: OpenClassImpl, value: String): String { oci.openNonInlineToInlineProperty = value; return oci.lastRecordedState }
fun openNonInlineToInlinePropertyWithDelegationInOpenClassImpl(oci: OpenClassImpl, value: String): String { oci.openNonInlineToInlinePropertyWithDelegation = value; return oci.lastRecordedState }
fun newInlineProperty1InOpenClassImpl(oci: OpenClassImpl, value: String): String { oci.newInlineProperty1 = value; return oci.lastRecordedState }
fun newInlineProperty2InOpenClassImpl(oci: OpenClassImpl, value: String): String { oci.newInlineProperty2 = value; return oci.lastRecordedState }
fun newNonInlinePropertyInOpenClassImpl(oci: OpenClassImpl, value: String): String { oci.newNonInlineProperty = value; return oci.lastRecordedState }
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1
@@ -0,0 +1,34 @@
import abitestutils.abiTest
fun box() = abiTest {
val oci: OpenClassImpl = OpenClassImpl()
val oc: OpenClass = oci
expectSuccess("OpenClassV2.openNonInlineToInlineProperty") { openNonInlineToInlinePropertyInOpenClass(oc) }
expectSuccess("OpenClassV2.openNonInlineToInlinePropertyWithDelegation") { openNonInlineToInlinePropertyWithDelegationInOpenClass(oc) }
expectSuccess("OpenClassV2.newInlineProperty1") { newInlineProperty1InOpenClass(oc) }
expectSuccess("OpenClassV2.newInlineProperty2") { newInlineProperty2InOpenClass(oc) }
expectSuccess( // TODO: this should be fixed in JS, KT-56762
if (testMode.isJs) "OpenClassImpl.newNonInlineProperty" else "OpenClassV2.newNonInlineProperty"
) { newNonInlinePropertyInOpenClass(oc) }
expectSuccess("OpenClassImpl.openNonInlineToInlineProperty") { openNonInlineToInlinePropertyInOpenClassImpl(oci) }
expectSuccess("OpenClassV2.openNonInlineToInlinePropertyWithDelegation called from OpenClassImpl.openNonInlineToInlinePropertyWithDelegation") { openNonInlineToInlinePropertyWithDelegationInOpenClassImpl(oci) }
expectSuccess("OpenClassImpl.newInlineProperty1") { newInlineProperty1InOpenClassImpl(oci) }
expectSuccess("OpenClassImpl.newInlineProperty2") { newInlineProperty2InOpenClassImpl(oci) }
expectSuccess("OpenClassImpl.newNonInlineProperty") { newNonInlinePropertyInOpenClassImpl(oci) }
expectSuccess("OpenClassV2.openNonInlineToInlineProperty=a") { openNonInlineToInlinePropertyInOpenClass(oc, "a") }
expectSuccess("OpenClassV2.openNonInlineToInlinePropertyWithDelegation=b") { openNonInlineToInlinePropertyWithDelegationInOpenClass(oc, "b") }
expectSuccess("OpenClassV2.newInlineProperty1=c") { newInlineProperty1InOpenClass(oc, "c") }
expectSuccess("OpenClassV2.newInlineProperty2=d") { newInlineProperty2InOpenClass(oc, "d") }
expectSuccess( // TODO: this should be fixed in JS, KT-56762
if (testMode.isJs) "OpenClassImpl.newNonInlineProperty=e" else "OpenClassV2.newNonInlineProperty=e"
) { newNonInlinePropertyInOpenClass(oc, "e") }
expectSuccess("OpenClassImpl.openNonInlineToInlineProperty=f") { openNonInlineToInlinePropertyInOpenClassImpl(oci, "f") }
expectSuccess("OpenClassV2.openNonInlineToInlinePropertyWithDelegation=h called from OpenClassImpl.openNonInlineToInlinePropertyWithDelegation") { openNonInlineToInlinePropertyWithDelegationInOpenClassImpl(oci, "h") }
expectSuccess("OpenClassImpl.newInlineProperty1=i") { newInlineProperty1InOpenClassImpl(oci, "i") }
expectSuccess("OpenClassImpl.newInlineProperty2=j") { newInlineProperty2InOpenClassImpl(oci, "j") }
expectSuccess("OpenClassImpl.newNonInlineProperty=k") { newNonInlinePropertyInOpenClassImpl(oci, "k") }
}
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1, lib2
@@ -0,0 +1,7 @@
MODULES: lib1, lib2, main
STEP 0:
libs: lib1, lib2, main
STEP 1:
libs: lib1