[PL][tests] Keep PL test data under "testData/klib/" dir
This commit is contained in:
committed by
Space Team
parent
9e3afe7a1f
commit
5c3e63e19a
@@ -0,0 +1,97 @@
|
||||
public val publicToInternalTopLevelProperty1 = "publicToInternalTopLevelProperty1.v1"
|
||||
public val publicToInternalTopLevelProperty2 get() = "publicToInternalTopLevelProperty2.v1"
|
||||
public val publicToInternalPATopLevelProperty1 = "publicToInternalPATopLevelProperty1.v1"
|
||||
public val publicToInternalPATopLevelProperty2 get() = "publicToInternalPATopLevelProperty2.v1"
|
||||
public val publicToPrivateTopLevelProperty1 = "publicToPrivateTopLevelProperty1.v1"
|
||||
public val publicToPrivateTopLevelProperty2 get() = "publicToPrivateTopLevelProperty2.v1"
|
||||
|
||||
open class Container {
|
||||
public val publicToProtectedProperty1 = "Container.publicToProtectedProperty1.v1"
|
||||
public val publicToProtectedProperty2 get() = "Container.publicToProtectedProperty2.v1"
|
||||
public val publicToInternalProperty1 = "Container.publicToInternalProperty1.v1"
|
||||
public val publicToInternalProperty2 get() = "Container.publicToInternalProperty2.v1"
|
||||
public val publicToInternalPAProperty1 = "Container.publicToInternalPAProperty1.v1"
|
||||
public val publicToInternalPAProperty2 get() = "Container.publicToInternalPAProperty2.v1"
|
||||
public val publicToPrivateProperty1 = "Container.publicToPrivateProperty1.v1"
|
||||
public val publicToPrivateProperty2 get() = "Container.publicToPrivateProperty2.v1"
|
||||
|
||||
protected val protectedToPublicProperty1 = "Container.protectedToPublicProperty1.v1"
|
||||
protected val protectedToPublicProperty2 get() = "Container.protectedToPublicProperty2.v1"
|
||||
protected val protectedToInternalProperty1 = "Container.protectedToInternalProperty1.v1"
|
||||
protected val protectedToInternalProperty2 get() = "Container.protectedToInternalProperty2.v1"
|
||||
protected val protectedToInternalPAProperty1 = "Container.protectedToInternalPAProperty1.v1"
|
||||
protected val protectedToInternalPAProperty2 get() = "Container.protectedToInternalPAProperty2.v1"
|
||||
protected val protectedToPrivateProperty1 = "Container.protectedToPrivateProperty1.v1"
|
||||
protected val protectedToPrivateProperty2 get() = "Container.protectedToPrivateProperty2.v1"
|
||||
|
||||
public open val publicToProtectedOverriddenProperty1 = "Container.publicToProtectedOverriddenProperty1.v1"
|
||||
public open val publicToProtectedOverriddenProperty2 get() = "Container.publicToProtectedOverriddenProperty2.v1"
|
||||
public open val publicToProtectedOverriddenProperty3 = "Container.publicToProtectedOverriddenProperty3.v1"
|
||||
public open val publicToProtectedOverriddenProperty4 get() = "Container.publicToProtectedOverriddenProperty4.v1"
|
||||
public open val publicToInternalOverriddenProperty1 = "Container.publicToInternalOverriddenProperty1.v1"
|
||||
public open val publicToInternalOverriddenProperty2 get() = "Container.publicToInternalOverriddenProperty2.v1"
|
||||
public open val publicToInternalOverriddenProperty3 = "Container.publicToInternalOverriddenProperty3.v1"
|
||||
public open val publicToInternalOverriddenProperty4 get() = "Container.publicToInternalOverriddenProperty4.v1"
|
||||
public open val publicToInternalPAOverriddenProperty1 = "Container.publicToInternalPAOverriddenProperty1.v1"
|
||||
public open val publicToInternalPAOverriddenProperty2 get() = "Container.publicToInternalPAOverriddenProperty2.v1"
|
||||
public open val publicToInternalPAOverriddenProperty3 = "Container.publicToInternalPAOverriddenProperty3.v1"
|
||||
public open val publicToInternalPAOverriddenProperty4 get() = "Container.publicToInternalPAOverriddenProperty4.v1"
|
||||
public open val publicToPrivateOverriddenProperty1 = "Container.publicToPrivateOverriddenProperty1.v1"
|
||||
public open val publicToPrivateOverriddenProperty2 get() = "Container.publicToPrivateOverriddenProperty2.v1"
|
||||
public open val publicToPrivateOverriddenProperty3 = "Container.publicToPrivateOverriddenProperty3.v1"
|
||||
public open val publicToPrivateOverriddenProperty4 get() = "Container.publicToPrivateOverriddenProperty4.v1"
|
||||
|
||||
protected open val protectedToPublicOverriddenProperty1 = "Container.protectedToPublicOverriddenProperty1.v1"
|
||||
protected open val protectedToPublicOverriddenProperty2 get() = "Container.protectedToPublicOverriddenProperty2.v1"
|
||||
protected open val protectedToPublicOverriddenProperty3 = "Container.protectedToPublicOverriddenProperty3.v1"
|
||||
protected open val protectedToPublicOverriddenProperty4 get() = "Container.protectedToPublicOverriddenProperty4.v1"
|
||||
protected open val protectedToInternalOverriddenProperty1 = "Container.protectedToInternalOverriddenProperty1.v1"
|
||||
protected open val protectedToInternalOverriddenProperty2 get() = "Container.protectedToInternalOverriddenProperty2.v1"
|
||||
protected open val protectedToInternalOverriddenProperty3 = "Container.protectedToInternalOverriddenProperty3.v1"
|
||||
protected open val protectedToInternalOverriddenProperty4 get() = "Container.protectedToInternalOverriddenProperty4.v1"
|
||||
protected open val protectedToInternalPAOverriddenProperty1 = "Container.protectedToInternalPAOverriddenProperty1.v1"
|
||||
protected open val protectedToInternalPAOverriddenProperty2 get() = "Container.protectedToInternalPAOverriddenProperty2.v1"
|
||||
protected open val protectedToInternalPAOverriddenProperty3 = "Container.protectedToInternalPAOverriddenProperty3.v1"
|
||||
protected open val protectedToInternalPAOverriddenProperty4 get() = "Container.protectedToInternalPAOverriddenProperty4.v1"
|
||||
protected open val protectedToPrivateOverriddenProperty1 = "Container.protectedToPrivateOverriddenProperty1.v1"
|
||||
protected open val protectedToPrivateOverriddenProperty2 get() = "Container.protectedToPrivateOverriddenProperty2.v1"
|
||||
protected open val protectedToPrivateOverriddenProperty3 = "Container.protectedToPrivateOverriddenProperty3.v1"
|
||||
protected open val protectedToPrivateOverriddenProperty4 get() = "Container.protectedToPrivateOverriddenProperty4.v1"
|
||||
|
||||
// public val newPublicProperty1 = "Container.newPublicProperty1.v1"
|
||||
// public val newPublicProperty2 get() = "Container.newPublicProperty2.v1"
|
||||
// public val newPublicProperty3 = "Container.newPublicProperty3.v1"
|
||||
// public val newPublicProperty4 get() = "Container.newPublicProperty4.v1"
|
||||
// public open val newOpenPublicProperty1 = "Container.newOpenPublicProperty1.v1"
|
||||
// public open val newOpenPublicProperty2 get() = "Container.newOpenPublicProperty2.v1"
|
||||
// public open val newOpenPublicProperty3 = "Container.newOpenPublicProperty3.v1"
|
||||
// public open val newOpenPublicProperty4 get() = "Container.newOpenPublicProperty4.v1"
|
||||
// protected val newProtectedProperty1 = "Container.newProtectedProperty1.v1"
|
||||
// protected val newProtectedProperty2 get() = "Container.newProtectedProperty2.v1"
|
||||
// protected val newProtectedProperty3 = "Container.newProtectedProperty3.v1"
|
||||
// protected val newProtectedProperty4 get() = "Container.newProtectedProperty4.v1"
|
||||
// protected open val newOpenProtectedProperty1 = "Container.newOpenProtectedProperty1.v1"
|
||||
// protected open val newOpenProtectedProperty2 get() = "Container.newOpenProtectedProperty2.v1"
|
||||
// protected open val newOpenProtectedProperty3 = "Container.newOpenProtectedProperty3.v1"
|
||||
// protected open val newOpenProtectedProperty4 get() = "Container.newOpenProtectedProperty4.v1"
|
||||
// internal val newInternalProperty1 = "Container.newInternalProperty1.v1"
|
||||
// internal val newInternalProperty2 get() = "Container.newInternalProperty2.v1"
|
||||
// internal val newInternalProperty3 = "Container.newInternalProperty3.v1"
|
||||
// internal val newInternalProperty4 get() = "Container.newInternalProperty4.v1"
|
||||
// internal open val newOpenInternalProperty1 = "Container.newOpenInternalProperty1.v1"
|
||||
// internal open val newOpenInternalProperty2 get() = "Container.newOpenInternalProperty2.v1"
|
||||
// internal open val newOpenInternalProperty3 = "Container.newOpenInternalProperty3.v1"
|
||||
// internal open val newOpenInternalProperty4 get() = "Container.newOpenInternalProperty4.v1"
|
||||
// internal val newInternalPAProperty1 = "Container.newInternalPAProperty1.v1"
|
||||
// internal val newInternalPAProperty2 get() = "Container.newInternalPAProperty2.v1"
|
||||
// internal val newInternalPAProperty3 = "Container.newInternalPAProperty3.v1"
|
||||
// internal val newInternalPAProperty4 get() = "Container.newInternalPAProperty4.v1"
|
||||
// internal open val newOpenInternalPAProperty1 = "Container.newOpenInternalPAProperty1.v1"
|
||||
// internal open val newOpenInternalPAProperty2 get() = "Container.newOpenInternalPAProperty2.v1"
|
||||
// internal open val newOpenInternalPAProperty3 = "Container.newOpenInternalPAProperty3.v1"
|
||||
// internal open val newOpenInternalPAProperty4 get() = "Container.newOpenInternalPAProperty4.v1"
|
||||
// private val newPrivateProperty1 = "Container.newPrivateProperty1.v1"
|
||||
// private val newPrivateProperty2 get() = "Container.newPrivateProperty2.v1"
|
||||
// private val newPrivateProperty3 = "Container.newPrivateProperty3.v1"
|
||||
// private val newPrivateProperty4 get() = "Container.newPrivateProperty4.v1"
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
internal val publicToInternalTopLevelProperty1 = "publicToInternalTopLevelProperty1.v2"
|
||||
internal val publicToInternalTopLevelProperty2 get() = "publicToInternalTopLevelProperty2.v2"
|
||||
@PublishedApi internal val publicToInternalPATopLevelProperty1 = "publicToInternalPATopLevelProperty1.v2"
|
||||
@PublishedApi internal val publicToInternalPATopLevelProperty2 get() = "publicToInternalPATopLevelProperty2.v2"
|
||||
private val publicToPrivateTopLevelProperty1 = "publicToPrivateTopLevelProperty1.v2"
|
||||
private val publicToPrivateTopLevelProperty2 get() = "publicToPrivateTopLevelProperty2.v2"
|
||||
|
||||
open class Container {
|
||||
protected val publicToProtectedProperty1 = "Container.publicToProtectedProperty1.v2"
|
||||
protected val publicToProtectedProperty2 get() = "Container.publicToProtectedProperty2.v2"
|
||||
internal val publicToInternalProperty1 = "Container.publicToInternalProperty1.v2"
|
||||
internal val publicToInternalProperty2 get() = "Container.publicToInternalProperty2.v2"
|
||||
@PublishedApi internal val publicToInternalPAProperty1 = "Container.publicToInternalPAProperty1.v2"
|
||||
@PublishedApi internal val publicToInternalPAProperty2 get() = "Container.publicToInternalPAProperty2.v2"
|
||||
private val publicToPrivateProperty1 = "Container.publicToPrivateProperty1.v2"
|
||||
private val publicToPrivateProperty2 get() = "Container.publicToPrivateProperty2.v2"
|
||||
|
||||
public val protectedToPublicProperty1 = "Container.protectedToPublicProperty1.v2"
|
||||
public val protectedToPublicProperty2 get() = "Container.protectedToPublicProperty2.v2"
|
||||
internal val protectedToInternalProperty1 = "Container.protectedToInternalProperty1.v2"
|
||||
internal val protectedToInternalProperty2 get() = "Container.protectedToInternalProperty2.v2"
|
||||
@PublishedApi internal val protectedToInternalPAProperty1 = "Container.protectedToInternalPAProperty1.v2"
|
||||
@PublishedApi internal val protectedToInternalPAProperty2 get() = "Container.protectedToInternalPAProperty2.v2"
|
||||
private val protectedToPrivateProperty1 = "Container.protectedToPrivateProperty1.v2"
|
||||
private val protectedToPrivateProperty2 get() = "Container.protectedToPrivateProperty2.v2"
|
||||
|
||||
protected open val publicToProtectedOverriddenProperty1 = "Container.publicToProtectedOverriddenProperty1.v2"
|
||||
protected open val publicToProtectedOverriddenProperty2 get() = "Container.publicToProtectedOverriddenProperty2.v2"
|
||||
protected open val publicToProtectedOverriddenProperty3 get() = "Container.publicToProtectedOverriddenProperty3.v2"
|
||||
protected open val publicToProtectedOverriddenProperty4 = "Container.publicToProtectedOverriddenProperty4.v2"
|
||||
internal open val publicToInternalOverriddenProperty1 = "Container.publicToInternalOverriddenProperty1.v2"
|
||||
internal open val publicToInternalOverriddenProperty2 get() = "Container.publicToInternalOverriddenProperty2.v2"
|
||||
internal open val publicToInternalOverriddenProperty3 get() = "Container.publicToInternalOverriddenProperty3.v2"
|
||||
internal open val publicToInternalOverriddenProperty4 = "Container.publicToInternalOverriddenProperty4.v2"
|
||||
@PublishedApi internal open val publicToInternalPAOverriddenProperty1 = "Container.publicToInternalPAOverriddenProperty1.v2"
|
||||
@PublishedApi internal open val publicToInternalPAOverriddenProperty2 get() = "Container.publicToInternalPAOverriddenProperty2.v2"
|
||||
@PublishedApi internal open val publicToInternalPAOverriddenProperty3 = "Container.publicToInternalPAOverriddenProperty3.v2"
|
||||
@PublishedApi internal open val publicToInternalPAOverriddenProperty4 get() = "Container.publicToInternalPAOverriddenProperty4.v2"
|
||||
private /*open*/ val publicToPrivateOverriddenProperty1 = "Container.publicToPrivateOverriddenProperty1.v2"
|
||||
private /*open*/ val publicToPrivateOverriddenProperty2 get() = "Container.publicToPrivateOverriddenProperty2.v2"
|
||||
private /*open*/ val publicToPrivateOverriddenProperty3 get() = "Container.publicToPrivateOverriddenProperty3.v2"
|
||||
private /*open*/ val publicToPrivateOverriddenProperty4 = "Container.publicToPrivateOverriddenProperty4.v2"
|
||||
|
||||
public open val protectedToPublicOverriddenProperty1 = "Container.protectedToPublicOverriddenProperty1.v2"
|
||||
public open val protectedToPublicOverriddenProperty2 get() = "Container.protectedToPublicOverriddenProperty2.v2"
|
||||
public open val protectedToPublicOverriddenProperty3 get() = "Container.protectedToPublicOverriddenProperty3.v2"
|
||||
public open val protectedToPublicOverriddenProperty4 = "Container.protectedToPublicOverriddenProperty4.v2"
|
||||
internal open val protectedToInternalOverriddenProperty1 = "Container.protectedToInternalOverriddenProperty1.v2"
|
||||
internal open val protectedToInternalOverriddenProperty2 get() = "Container.protectedToInternalOverriddenProperty2.v2"
|
||||
internal open val protectedToInternalOverriddenProperty3 get() = "Container.protectedToInternalOverriddenProperty3.v2"
|
||||
internal open val protectedToInternalOverriddenProperty4 = "Container.protectedToInternalOverriddenProperty4.v2"
|
||||
@PublishedApi internal open val protectedToInternalPAOverriddenProperty1 = "Container.protectedToInternalPAOverriddenProperty1.v2"
|
||||
@PublishedApi internal open val protectedToInternalPAOverriddenProperty2 get() = "Container.protectedToInternalPAOverriddenProperty2.v2"
|
||||
@PublishedApi internal open val protectedToInternalPAOverriddenProperty3 = "Container.protectedToInternalPAOverriddenProperty3.v2"
|
||||
@PublishedApi internal open val protectedToInternalPAOverriddenProperty4 get() = "Container.protectedToInternalPAOverriddenProperty4.v2"
|
||||
private /*open*/ val protectedToPrivateOverriddenProperty1 = "Container.protectedToPrivateOverriddenProperty1.v2"
|
||||
private /*open*/ val protectedToPrivateOverriddenProperty2 get() = "Container.protectedToPrivateOverriddenProperty2.v2"
|
||||
private /*open*/ val protectedToPrivateOverriddenProperty3 get() = "Container.protectedToPrivateOverriddenProperty3.v2"
|
||||
private /*open*/ val protectedToPrivateOverriddenProperty4 = "Container.protectedToPrivateOverriddenProperty4.v2"
|
||||
|
||||
public val newPublicProperty1 = "Container.newPublicProperty1.v2"
|
||||
public val newPublicProperty2 get() = "Container.newPublicProperty2.v2"
|
||||
public val newPublicProperty3 = "Container.newPublicProperty3.v2"
|
||||
public val newPublicProperty4 get() = "Container.newPublicProperty4.v2"
|
||||
public open val newOpenPublicProperty1 = "Container.newOpenPublicProperty1.v2"
|
||||
public open val newOpenPublicProperty2 get() = "Container.newOpenPublicProperty2.v2"
|
||||
public open val newOpenPublicProperty3 = "Container.newOpenPublicProperty3.v2"
|
||||
public open val newOpenPublicProperty4 get() = "Container.newOpenPublicProperty4.v2"
|
||||
protected val newProtectedProperty1 = "Container.newProtectedProperty1.v2"
|
||||
protected val newProtectedProperty2 get() = "Container.newProtectedProperty2.v2"
|
||||
protected val newProtectedProperty3 = "Container.newProtectedProperty3.v2"
|
||||
protected val newProtectedProperty4 get() = "Container.newProtectedProperty4.v2"
|
||||
protected open val newOpenProtectedProperty1 = "Container.newOpenProtectedProperty1.v2"
|
||||
protected open val newOpenProtectedProperty2 get() = "Container.newOpenProtectedProperty2.v2"
|
||||
protected open val newOpenProtectedProperty3 = "Container.newOpenProtectedProperty3.v2"
|
||||
protected open val newOpenProtectedProperty4 get() = "Container.newOpenProtectedProperty4.v2"
|
||||
internal val newInternalProperty1 = "Container.newInternalProperty1.v2"
|
||||
internal val newInternalProperty2 get() = "Container.newInternalProperty2.v2"
|
||||
internal val newInternalProperty3 = "Container.newInternalProperty3.v2"
|
||||
internal val newInternalProperty4 get() = "Container.newInternalProperty4.v2"
|
||||
internal open val newOpenInternalProperty1 = "Container.newOpenInternalProperty1.v2"
|
||||
internal open val newOpenInternalProperty2 get() = "Container.newOpenInternalProperty2.v2"
|
||||
internal open val newOpenInternalProperty3 = "Container.newOpenInternalProperty3.v2"
|
||||
internal open val newOpenInternalProperty4 get() = "Container.newOpenInternalProperty4.v2"
|
||||
@PublishedApi internal val newInternalPAProperty1 = "Container.newInternalPAProperty1.v2"
|
||||
@PublishedApi internal val newInternalPAProperty2 get() = "Container.newInternalPAProperty2.v2"
|
||||
@PublishedApi internal val newInternalPAProperty3 = "Container.newInternalPAProperty3.v2"
|
||||
@PublishedApi internal val newInternalPAProperty4 get() = "Container.newInternalPAProperty4.v2"
|
||||
@PublishedApi internal open val newOpenInternalPAProperty1 = "Container.newOpenInternalPAProperty1.v2"
|
||||
@PublishedApi internal open val newOpenInternalPAProperty2 get() = "Container.newOpenInternalPAProperty2.v2"
|
||||
@PublishedApi internal open val newOpenInternalPAProperty3 = "Container.newOpenInternalPAProperty3.v2"
|
||||
@PublishedApi internal open val newOpenInternalPAProperty4 get() = "Container.newOpenInternalPAProperty4.v2"
|
||||
private val newPrivateProperty1 = "Container.newPrivateProperty1.v2"
|
||||
private val newPrivateProperty2 get() = "Container.newPrivateProperty2.v2"
|
||||
private val newPrivateProperty3 = "Container.newPrivateProperty3.v2"
|
||||
private val newPrivateProperty4 get() = "Container.newPrivateProperty4.v2"
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib
|
||||
STEP 1:
|
||||
dependencies: stdlib
|
||||
modifications:
|
||||
U : l1.kt.1 -> l1.kt
|
||||
@@ -0,0 +1,143 @@
|
||||
class ContainerImpl : Container() {
|
||||
// Just to check that accessing from within the class hierarchy has the same effect as accessing from the outside:
|
||||
fun publicToProtectedProperty1Access() = publicToProtectedProperty1
|
||||
fun publicToProtectedProperty2Access() = publicToProtectedProperty2
|
||||
fun publicToInternalProperty1Access() = publicToInternalProperty1
|
||||
fun publicToInternalProperty2Access() = publicToInternalProperty2
|
||||
fun publicToInternalPAProperty1Access() = publicToInternalPAProperty1
|
||||
fun publicToInternalPAProperty2Access() = publicToInternalPAProperty2
|
||||
fun publicToPrivateProperty1Access() = publicToPrivateProperty1
|
||||
fun publicToPrivateProperty2Access() = publicToPrivateProperty2
|
||||
|
||||
// As far as protected members can't be accessed outside of the class hierarchy, we need special accessors.
|
||||
fun protectedToPublicProperty1Access() = protectedToPublicProperty1
|
||||
fun protectedToPublicProperty2Access() = protectedToPublicProperty2
|
||||
fun protectedToInternalProperty1Access() = protectedToInternalProperty1
|
||||
fun protectedToInternalProperty2Access() = protectedToInternalProperty2
|
||||
fun protectedToInternalPAProperty1Access() = protectedToInternalPAProperty1
|
||||
fun protectedToInternalPAProperty2Access() = protectedToInternalPAProperty2
|
||||
fun protectedToPrivateProperty1Access() = protectedToPrivateProperty1
|
||||
fun protectedToPrivateProperty2Access() = protectedToPrivateProperty2
|
||||
|
||||
// Overridden properties with changed visibility:
|
||||
override val publicToProtectedOverriddenProperty1 = "ContainerImpl.publicToProtectedOverriddenProperty1"
|
||||
override val publicToProtectedOverriddenProperty2 get() = "ContainerImpl.publicToProtectedOverriddenProperty2"
|
||||
override val publicToProtectedOverriddenProperty3 get() = "ContainerImpl.publicToProtectedOverriddenProperty3"
|
||||
override val publicToProtectedOverriddenProperty4 = "ContainerImpl.publicToProtectedOverriddenProperty4"
|
||||
override val publicToInternalOverriddenProperty1 = "ContainerImpl.publicToInternalOverriddenProperty1"
|
||||
override val publicToInternalOverriddenProperty2 get() = "ContainerImpl.publicToInternalOverriddenProperty2"
|
||||
override val publicToInternalOverriddenProperty3 get() = "ContainerImpl.publicToInternalOverriddenProperty3"
|
||||
override val publicToInternalOverriddenProperty4 = "ContainerImpl.publicToInternalOverriddenProperty4"
|
||||
override val publicToInternalPAOverriddenProperty1 = "ContainerImpl.publicToInternalPAOverriddenProperty1"
|
||||
override val publicToInternalPAOverriddenProperty2 get() = "ContainerImpl.publicToInternalPAOverriddenProperty2"
|
||||
override val publicToInternalPAOverriddenProperty3 get() = "ContainerImpl.publicToInternalPAOverriddenProperty3"
|
||||
override val publicToInternalPAOverriddenProperty4 = "ContainerImpl.publicToInternalPAOverriddenProperty4"
|
||||
override val publicToPrivateOverriddenProperty1 = "ContainerImpl.publicToPrivateOverriddenProperty1"
|
||||
override val publicToPrivateOverriddenProperty2 get() = "ContainerImpl.publicToPrivateOverriddenProperty2"
|
||||
override val publicToPrivateOverriddenProperty3 get() = "ContainerImpl.publicToPrivateOverriddenProperty3"
|
||||
override val publicToPrivateOverriddenProperty4 = "ContainerImpl.publicToPrivateOverriddenProperty4"
|
||||
|
||||
override val protectedToPublicOverriddenProperty1 = "ContainerImpl.protectedToPublicOverriddenProperty1"
|
||||
override val protectedToPublicOverriddenProperty2 get() = "ContainerImpl.protectedToPublicOverriddenProperty2"
|
||||
override val protectedToPublicOverriddenProperty3 get() = "ContainerImpl.protectedToPublicOverriddenProperty3"
|
||||
override val protectedToPublicOverriddenProperty4 = "ContainerImpl.protectedToPublicOverriddenProperty4"
|
||||
override val protectedToInternalOverriddenProperty1 = "ContainerImpl.protectedToInternalOverriddenProperty1"
|
||||
override val protectedToInternalOverriddenProperty2 get() = "ContainerImpl.protectedToInternalOverriddenProperty2"
|
||||
override val protectedToInternalOverriddenProperty3 get() = "ContainerImpl.protectedToInternalOverriddenProperty3"
|
||||
override val protectedToInternalOverriddenProperty4 = "ContainerImpl.protectedToInternalOverriddenProperty4"
|
||||
override val protectedToInternalPAOverriddenProperty1 = "ContainerImpl.protectedToInternalPAOverriddenProperty1"
|
||||
override val protectedToInternalPAOverriddenProperty2 get() = "ContainerImpl.protectedToInternalPAOverriddenProperty2"
|
||||
override val protectedToInternalPAOverriddenProperty3 get() = "ContainerImpl.protectedToInternalPAOverriddenProperty3"
|
||||
override val protectedToInternalPAOverriddenProperty4 = "ContainerImpl.protectedToInternalPAOverriddenProperty4"
|
||||
override val protectedToPrivateOverriddenProperty1 = "ContainerImpl.protectedToPrivateOverriddenProperty1"
|
||||
override val protectedToPrivateOverriddenProperty2 get() = "ContainerImpl.protectedToPrivateOverriddenProperty2"
|
||||
override val protectedToPrivateOverriddenProperty3 get() = "ContainerImpl.protectedToPrivateOverriddenProperty3"
|
||||
override val protectedToPrivateOverriddenProperty4 = "ContainerImpl.protectedToPrivateOverriddenProperty4"
|
||||
|
||||
// As far as protected members can't be accessed outside of the class hierarchy, we need special accessors.
|
||||
fun protectedToPublicOverriddenProperty1Access() = protectedToPublicOverriddenProperty1
|
||||
fun protectedToPublicOverriddenProperty2Access() = protectedToPublicOverriddenProperty2
|
||||
fun protectedToPublicOverriddenProperty3Access() = protectedToPublicOverriddenProperty3
|
||||
fun protectedToPublicOverriddenProperty4Access() = protectedToPublicOverriddenProperty4
|
||||
fun protectedToInternalOverriddenProperty1Access() = protectedToInternalOverriddenProperty1
|
||||
fun protectedToInternalOverriddenProperty2Access() = protectedToInternalOverriddenProperty2
|
||||
fun protectedToInternalOverriddenProperty3Access() = protectedToInternalOverriddenProperty3
|
||||
fun protectedToInternalOverriddenProperty4Access() = protectedToInternalOverriddenProperty4
|
||||
fun protectedToInternalPAOverriddenProperty1Access() = protectedToInternalPAOverriddenProperty1
|
||||
fun protectedToInternalPAOverriddenProperty2Access() = protectedToInternalPAOverriddenProperty2
|
||||
fun protectedToInternalPAOverriddenProperty3Access() = protectedToInternalPAOverriddenProperty3
|
||||
fun protectedToInternalPAOverriddenProperty4Access() = protectedToInternalPAOverriddenProperty4
|
||||
fun protectedToPrivateOverriddenProperty1Access() = protectedToPrivateOverriddenProperty1
|
||||
fun protectedToPrivateOverriddenProperty2Access() = protectedToPrivateOverriddenProperty2
|
||||
fun protectedToPrivateOverriddenProperty3Access() = protectedToPrivateOverriddenProperty3
|
||||
fun protectedToPrivateOverriddenProperty4Access() = protectedToPrivateOverriddenProperty4
|
||||
|
||||
// Properties that accedentally start to override/conflict with properties added to Container since version v2:
|
||||
public val newPublicProperty1 = "ContainerImpl.newPublicProperty1"
|
||||
public val newPublicProperty2 get() = "ContainerImpl.newPublicProperty2"
|
||||
public val newPublicProperty3 get() = "ContainerImpl.newPublicProperty3"
|
||||
public val newPublicProperty4 = "ContainerImpl.newPublicProperty4"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty1 = "ContainerImpl.newOpenPublicProperty1"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty2 get() = "ContainerImpl.newOpenPublicProperty2"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty3 get() = "ContainerImpl.newOpenPublicProperty3"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty4 = "ContainerImpl.newOpenPublicProperty4"
|
||||
protected val newProtectedProperty1 = "ContainerImpl.newProtectedProperty1"
|
||||
protected val newProtectedProperty2 get() = "ContainerImpl.newProtectedProperty2"
|
||||
protected val newProtectedProperty3 get() = "ContainerImpl.newProtectedProperty3"
|
||||
protected val newProtectedProperty4 = "ContainerImpl.newProtectedProperty4"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty1 = "ContainerImpl.newOpenProtectedProperty1"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty2 get() = "ContainerImpl.newOpenProtectedProperty2"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty3 get() = "ContainerImpl.newOpenProtectedProperty3"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty4 = "ContainerImpl.newOpenProtectedProperty4"
|
||||
internal val newInternalProperty1 = "ContainerImpl.newInternalProperty1"
|
||||
internal val newInternalProperty2 get() = "ContainerImpl.newInternalProperty2"
|
||||
internal val newInternalProperty3 get() = "ContainerImpl.newInternalProperty3"
|
||||
internal val newInternalProperty4 = "ContainerImpl.newInternalProperty4"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty1 = "ContainerImpl.newOpenInternalProperty1"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty2 get() = "ContainerImpl.newOpenInternalProperty2"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty3 get() = "ContainerImpl.newOpenInternalProperty3"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty4 = "ContainerImpl.newOpenInternalProperty4"
|
||||
internal val newInternalPAProperty1 = "ContainerImpl.newInternalPAProperty1"
|
||||
internal val newInternalPAProperty2 get() = "ContainerImpl.newInternalPAProperty2"
|
||||
internal val newInternalPAProperty3 get() = "ContainerImpl.newInternalPAProperty3"
|
||||
internal val newInternalPAProperty4 = "ContainerImpl.newInternalPAProperty4"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty1 = "ContainerImpl.newOpenInternalPAProperty1"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty2 get() = "ContainerImpl.newOpenInternalPAProperty2"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty3 get() = "ContainerImpl.newOpenInternalPAProperty3"
|
||||
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty4 = "ContainerImpl.newOpenInternalPAProperty4"
|
||||
private val newPrivateProperty1 = "ContainerImpl.newPrivateProperty1"
|
||||
private val newPrivateProperty2 get() = "ContainerImpl.newPrivateProperty2"
|
||||
private val newPrivateProperty3 get() = "ContainerImpl.newPrivateProperty3"
|
||||
private val newPrivateProperty4 = "ContainerImpl.newPrivateProperty4"
|
||||
|
||||
// As far as protected/private members can't be accessed outside of the class hierarchy, and internal can't be accessed
|
||||
// outside of module, we need special accessors.
|
||||
fun newProtectedProperty1Access() = newProtectedProperty1
|
||||
fun newProtectedProperty2Access() = newProtectedProperty2
|
||||
fun newProtectedProperty3Access() = newProtectedProperty3
|
||||
fun newProtectedProperty4Access() = newProtectedProperty4
|
||||
fun newOpenProtectedProperty1Access() = newOpenProtectedProperty1
|
||||
fun newOpenProtectedProperty2Access() = newOpenProtectedProperty2
|
||||
fun newOpenProtectedProperty3Access() = newOpenProtectedProperty3
|
||||
fun newOpenProtectedProperty4Access() = newOpenProtectedProperty4
|
||||
fun newInternalProperty1Access() = newInternalProperty1
|
||||
fun newInternalProperty2Access() = newInternalProperty2
|
||||
fun newInternalProperty3Access() = newInternalProperty3
|
||||
fun newInternalProperty4Access() = newInternalProperty4
|
||||
fun newOpenInternalProperty1Access() = newOpenInternalProperty1
|
||||
fun newOpenInternalProperty2Access() = newOpenInternalProperty2
|
||||
fun newOpenInternalProperty3Access() = newOpenInternalProperty3
|
||||
fun newOpenInternalProperty4Access() = newOpenInternalProperty4
|
||||
fun newInternalPAProperty1Access() = newInternalPAProperty1
|
||||
fun newInternalPAProperty2Access() = newInternalPAProperty2
|
||||
fun newInternalPAProperty3Access() = newInternalPAProperty3
|
||||
fun newInternalPAProperty4Access() = newInternalPAProperty4
|
||||
fun newOpenInternalPAProperty1Access() = newOpenInternalPAProperty1
|
||||
fun newOpenInternalPAProperty2Access() = newOpenInternalPAProperty2
|
||||
fun newOpenInternalPAProperty3Access() = newOpenInternalPAProperty3
|
||||
fun newOpenInternalPAProperty4Access() = newOpenInternalPAProperty4
|
||||
fun newPrivateProperty1Access() = newPrivateProperty1
|
||||
fun newPrivateProperty2Access() = newPrivateProperty2
|
||||
fun newPrivateProperty3Access() = newPrivateProperty3
|
||||
fun newPrivateProperty4Access() = newPrivateProperty4
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib, lib1
|
||||
@@ -0,0 +1,136 @@
|
||||
import abitestutils.abiTest
|
||||
import abitestutils.TestBuilder
|
||||
|
||||
fun box() = abiTest {
|
||||
val c = Container()
|
||||
val ci = ContainerImpl()
|
||||
|
||||
success("publicToInternalTopLevelProperty1.v2") { publicToInternalTopLevelProperty1 } // Signature remains the same.
|
||||
success("publicToInternalTopLevelProperty2.v2") { publicToInternalTopLevelProperty2 } // Signature remains the same.
|
||||
success("publicToInternalPATopLevelProperty1.v2") { publicToInternalPATopLevelProperty1 } // Signature remains the same.
|
||||
success("publicToInternalPATopLevelProperty2.v2") { publicToInternalPATopLevelProperty2 } // Signature remains the same.
|
||||
unlinkedTopLevelPrivateSymbol("/publicToPrivateTopLevelProperty1.<get-publicToPrivateTopLevelProperty1>") { publicToPrivateTopLevelProperty1 } // Signature changed.
|
||||
unlinkedTopLevelPrivateSymbol("/publicToPrivateTopLevelProperty2.<get-publicToPrivateTopLevelProperty2>") { publicToPrivateTopLevelProperty2 } // Signature changed.
|
||||
|
||||
success("Container.publicToProtectedProperty1.v2") { c.publicToProtectedProperty1 } // Signature remains the same.
|
||||
success("Container.publicToProtectedProperty1.v2") { ci.publicToProtectedProperty1 } // Signature remains the same.
|
||||
success("Container.publicToProtectedProperty2.v2") { c.publicToProtectedProperty2 } // Signature remains the same.
|
||||
success("Container.publicToProtectedProperty2.v2") { ci.publicToProtectedProperty2 } // Signature remains the same.
|
||||
success("Container.publicToInternalProperty1.v2") { c.publicToInternalProperty1 } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToInternalProperty1.<get-publicToInternalProperty1>") { ci.publicToInternalProperty1 } // FOs are not generated for internal members from other module.
|
||||
success("Container.publicToInternalProperty2.v2") { c.publicToInternalProperty2 } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToInternalProperty2.<get-publicToInternalProperty2>") { ci.publicToInternalProperty2 } // FOs are not generated for internal members from other module.
|
||||
success("Container.publicToInternalPAProperty1.v2") { c.publicToInternalPAProperty1 } // Signature remains the same.
|
||||
success("Container.publicToInternalPAProperty1.v2") { ci.publicToInternalPAProperty1 } // Signature remains the same.
|
||||
success("Container.publicToInternalPAProperty2.v2") { c.publicToInternalPAProperty2 } // Signature remains the same.
|
||||
success("Container.publicToInternalPAProperty2.v2") { ci.publicToInternalPAProperty2 } // Signature remains the same.
|
||||
inaccessible("publicToPrivateProperty1.<get-publicToPrivateProperty1>") { c.publicToPrivateProperty1 } // Inaccessible from other module though signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToPrivateProperty1.<get-publicToPrivateProperty1>") { ci.publicToPrivateProperty1 } // FOs are not generated for private members.
|
||||
inaccessible("publicToPrivateProperty2.<get-publicToPrivateProperty2>") { c.publicToPrivateProperty2 } // Inaccessible from other module though signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToPrivateProperty2.<get-publicToPrivateProperty2>") { ci.publicToPrivateProperty2 } // FOs are not generated for private members.
|
||||
|
||||
success("Container.publicToProtectedProperty1.v2") { ci.publicToProtectedProperty1Access() } // Signature remains the same.
|
||||
success("Container.publicToProtectedProperty2.v2") { ci.publicToProtectedProperty2Access() } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToInternalProperty1.<get-publicToInternalProperty1>") { ci.publicToInternalProperty1Access() } // FOs are not generated for internal members from other module.
|
||||
unlinkedSymbol("/ContainerImpl.publicToInternalProperty2.<get-publicToInternalProperty2>") { ci.publicToInternalProperty2Access() } // FOs are not generated for internal members from other module.
|
||||
success("Container.publicToInternalPAProperty1.v2") { ci.publicToInternalPAProperty1Access() } // Signature remains the same.
|
||||
success("Container.publicToInternalPAProperty2.v2") { ci.publicToInternalPAProperty2Access() } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.publicToPrivateProperty1.<get-publicToPrivateProperty1>") { ci.publicToPrivateProperty1Access() } // FOs are not generated for private members.
|
||||
unlinkedSymbol("/ContainerImpl.publicToPrivateProperty2.<get-publicToPrivateProperty2>") { ci.publicToPrivateProperty2Access() } // FOs are not generated for private members.
|
||||
success("Container.protectedToPublicProperty1.v2") { ci.protectedToPublicProperty1Access() } // Signature remains the same.
|
||||
success("Container.protectedToPublicProperty2.v2") { ci.protectedToPublicProperty2Access() } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.protectedToInternalProperty1.<get-protectedToInternalProperty1>") { ci.protectedToInternalProperty1Access() } // FOs are not generated for internal members from other module.
|
||||
unlinkedSymbol("/ContainerImpl.protectedToInternalProperty2.<get-protectedToInternalProperty2>") { ci.protectedToInternalProperty2Access() } // FOs are not generated for internal members from other module.
|
||||
success("Container.protectedToInternalPAProperty1.v2") { ci.protectedToInternalPAProperty1Access() } // Signature remains the same.
|
||||
success("Container.protectedToInternalPAProperty2.v2") { ci.protectedToInternalPAProperty2Access() } // Signature remains the same.
|
||||
unlinkedSymbol("/ContainerImpl.protectedToPrivateProperty1.<get-protectedToPrivateProperty1>") { ci.protectedToPrivateProperty1Access() } // FOs are not generated for private members.
|
||||
unlinkedSymbol("/ContainerImpl.protectedToPrivateProperty2.<get-protectedToPrivateProperty2>") { ci.protectedToPrivateProperty2Access() } // FOs are not generated for private members.
|
||||
|
||||
success("ContainerImpl.publicToProtectedOverriddenProperty1") { ci.publicToProtectedOverriddenProperty1 }
|
||||
success("ContainerImpl.publicToProtectedOverriddenProperty2") { ci.publicToProtectedOverriddenProperty2 }
|
||||
success("ContainerImpl.publicToProtectedOverriddenProperty3") { ci.publicToProtectedOverriddenProperty3 }
|
||||
success("ContainerImpl.publicToProtectedOverriddenProperty4") { ci.publicToProtectedOverriddenProperty4 }
|
||||
success("ContainerImpl.publicToInternalOverriddenProperty1") { ci.publicToInternalOverriddenProperty1 }
|
||||
success("ContainerImpl.publicToInternalOverriddenProperty2") { ci.publicToInternalOverriddenProperty2 }
|
||||
success("ContainerImpl.publicToInternalOverriddenProperty3") { ci.publicToInternalOverriddenProperty3 }
|
||||
success("ContainerImpl.publicToInternalOverriddenProperty4") { ci.publicToInternalOverriddenProperty4 }
|
||||
success("ContainerImpl.publicToInternalPAOverriddenProperty1") { ci.publicToInternalPAOverriddenProperty1 }
|
||||
success("ContainerImpl.publicToInternalPAOverriddenProperty2") { ci.publicToInternalPAOverriddenProperty2 }
|
||||
success("ContainerImpl.publicToInternalPAOverriddenProperty3") { ci.publicToInternalPAOverriddenProperty3 }
|
||||
success("ContainerImpl.publicToInternalPAOverriddenProperty4") { ci.publicToInternalPAOverriddenProperty4 }
|
||||
success("ContainerImpl.publicToPrivateOverriddenProperty1") { ci.publicToPrivateOverriddenProperty1 }
|
||||
success("ContainerImpl.publicToPrivateOverriddenProperty2") { ci.publicToPrivateOverriddenProperty2 }
|
||||
success("ContainerImpl.publicToPrivateOverriddenProperty3") { ci.publicToPrivateOverriddenProperty3 }
|
||||
success("ContainerImpl.publicToPrivateOverriddenProperty4") { ci.publicToPrivateOverriddenProperty4 }
|
||||
success("ContainerImpl.protectedToPublicOverriddenProperty1") { ci.protectedToPublicOverriddenProperty1Access() }
|
||||
success("ContainerImpl.protectedToPublicOverriddenProperty2") { ci.protectedToPublicOverriddenProperty2Access() }
|
||||
success("ContainerImpl.protectedToPublicOverriddenProperty3") { ci.protectedToPublicOverriddenProperty3Access() }
|
||||
success("ContainerImpl.protectedToPublicOverriddenProperty4") { ci.protectedToPublicOverriddenProperty4Access() }
|
||||
success("ContainerImpl.protectedToInternalOverriddenProperty1") { ci.protectedToInternalOverriddenProperty1Access() }
|
||||
success("ContainerImpl.protectedToInternalOverriddenProperty2") { ci.protectedToInternalOverriddenProperty2Access() }
|
||||
success("ContainerImpl.protectedToInternalOverriddenProperty3") { ci.protectedToInternalOverriddenProperty3Access() }
|
||||
success("ContainerImpl.protectedToInternalOverriddenProperty4") { ci.protectedToInternalOverriddenProperty4Access() }
|
||||
success("ContainerImpl.protectedToInternalPAOverriddenProperty1") { ci.protectedToInternalPAOverriddenProperty1Access() }
|
||||
success("ContainerImpl.protectedToInternalPAOverriddenProperty2") { ci.protectedToInternalPAOverriddenProperty2Access() }
|
||||
success("ContainerImpl.protectedToInternalPAOverriddenProperty3") { ci.protectedToInternalPAOverriddenProperty3Access() }
|
||||
success("ContainerImpl.protectedToInternalPAOverriddenProperty4") { ci.protectedToInternalPAOverriddenProperty4Access() }
|
||||
success("ContainerImpl.protectedToPrivateOverriddenProperty1") { ci.protectedToPrivateOverriddenProperty1Access() }
|
||||
success("ContainerImpl.protectedToPrivateOverriddenProperty2") { ci.protectedToPrivateOverriddenProperty2Access() }
|
||||
success("ContainerImpl.protectedToPrivateOverriddenProperty3") { ci.protectedToPrivateOverriddenProperty3Access() }
|
||||
success("ContainerImpl.protectedToPrivateOverriddenProperty4") { ci.protectedToPrivateOverriddenProperty4Access() }
|
||||
|
||||
success("ContainerImpl.newPublicProperty1") { ci.newPublicProperty1 }
|
||||
success("ContainerImpl.newPublicProperty2") { ci.newPublicProperty2 }
|
||||
success("ContainerImpl.newPublicProperty3") { ci.newPublicProperty3 }
|
||||
success("ContainerImpl.newPublicProperty4") { ci.newPublicProperty4 }
|
||||
success("ContainerImpl.newProtectedProperty1") { ci.newProtectedProperty1Access() }
|
||||
success("ContainerImpl.newProtectedProperty2") { ci.newProtectedProperty2Access() }
|
||||
success("ContainerImpl.newProtectedProperty3") { ci.newProtectedProperty3Access() }
|
||||
success("ContainerImpl.newProtectedProperty4") { ci.newProtectedProperty4Access() }
|
||||
success("ContainerImpl.newOpenProtectedProperty1") { ci.newOpenProtectedProperty1Access() }
|
||||
success("ContainerImpl.newOpenProtectedProperty2") { ci.newOpenProtectedProperty2Access() }
|
||||
success("ContainerImpl.newOpenProtectedProperty3") { ci.newOpenProtectedProperty3Access() }
|
||||
success("ContainerImpl.newOpenProtectedProperty4") { ci.newOpenProtectedProperty4Access() }
|
||||
success("ContainerImpl.newInternalProperty1") { ci.newInternalProperty1Access() }
|
||||
success("ContainerImpl.newInternalProperty2") { ci.newInternalProperty2Access() }
|
||||
success("ContainerImpl.newInternalProperty3") { ci.newInternalProperty3Access() }
|
||||
success("ContainerImpl.newInternalProperty4") { ci.newInternalProperty4Access() }
|
||||
success("ContainerImpl.newOpenInternalProperty1") { ci.newOpenInternalProperty1Access() }
|
||||
success("ContainerImpl.newOpenInternalProperty2") { ci.newOpenInternalProperty2Access() }
|
||||
success("ContainerImpl.newOpenInternalProperty3") { ci.newOpenInternalProperty3Access() }
|
||||
success("ContainerImpl.newOpenInternalProperty4") { ci.newOpenInternalProperty4Access() }
|
||||
success("ContainerImpl.newInternalPAProperty1") { ci.newInternalPAProperty1Access() }
|
||||
success("ContainerImpl.newInternalPAProperty2") { ci.newInternalPAProperty2Access() }
|
||||
success("ContainerImpl.newInternalPAProperty3") { ci.newInternalPAProperty3Access() }
|
||||
success("ContainerImpl.newInternalPAProperty4") { ci.newInternalPAProperty4Access() }
|
||||
success("ContainerImpl.newOpenInternalPAProperty1") { ci.newOpenInternalPAProperty1Access() }
|
||||
success("ContainerImpl.newOpenInternalPAProperty2") { ci.newOpenInternalPAProperty2Access() }
|
||||
success("ContainerImpl.newOpenInternalPAProperty3") { ci.newOpenInternalPAProperty3Access() }
|
||||
success("ContainerImpl.newOpenInternalPAProperty4") { ci.newOpenInternalPAProperty4Access() }
|
||||
success("ContainerImpl.newPrivateProperty1") { ci.newPrivateProperty1Access() }
|
||||
success("ContainerImpl.newPrivateProperty2") { ci.newPrivateProperty2Access() }
|
||||
success("ContainerImpl.newPrivateProperty3") { ci.newPrivateProperty3Access() }
|
||||
success("ContainerImpl.newPrivateProperty4") { ci.newPrivateProperty4Access() }
|
||||
}
|
||||
|
||||
// Shortcuts:
|
||||
private fun TestBuilder.success(expectedOutcome: String, block: () -> String) =
|
||||
expectSuccess(expectedOutcome, block)
|
||||
|
||||
private fun TestBuilder.unlinkedSymbol(signature: String, block: () -> Unit) {
|
||||
val accessorName = signature.removePrefix("/").split('.').takeLast(2).joinToString(".")
|
||||
expectFailure(linkage("Property accessor '$accessorName' can not be called: No property accessor found for symbol '$signature'"), block)
|
||||
}
|
||||
|
||||
private fun TestBuilder.unlinkedTopLevelPrivateSymbol(signature: String, block: () -> Unit) {
|
||||
if (testMode.lazyIr.usedEverywhere) {
|
||||
val accessorName = signature.removePrefix("/").split('.').takeLast(2).joinToString(".")
|
||||
expectFailure(linkage("Property accessor '$accessorName' can not be called: Private property accessor declared in module <lib1> can not be accessed in module <main>"), block)
|
||||
} else
|
||||
unlinkedSymbol(signature, block)
|
||||
}
|
||||
|
||||
private fun TestBuilder.inaccessible(accessorName: String, block: () -> Unit) = expectFailure(
|
||||
linkage("Property accessor '$accessorName' can not be called: Private property accessor declared in module <lib1> can not be accessed in module <main>"),
|
||||
block
|
||||
)
|
||||
+2
@@ -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
|
||||
Reference in New Issue
Block a user