[Commonizer] AbstractCommonizationFromSourcesTest remove assertions on commonized leaf/platform libraries

Those assertions are not necessary anymore, since the commonizer is not
expected to produce any new "actuals" per given expect.
The IDE is supposed to analyze leaf source sets against the original
platform libraries.
This commit is contained in:
sebastian.sellmair
2021-06-14 14:11:52 +02:00
committed by Space
parent 42f60d981f
commit 21cef41ba5
67 changed files with 93 additions and 3679 deletions

View File

@@ -32,7 +32,7 @@ internal abstract class AbstractCInteropCommonizerTask : DefaultTask() {
val fileProvider = project.filesProvider {
val parameters = getCommonizationParameters(compilation) ?: return@filesProvider emptySet<File>()
CommonizerOutputFileLayout
.getCommonizedDirectory(outputDirectory(parameters), compilationCommonizerTarget)
.resolveCommonizedDirectory(outputDirectory(parameters), compilationCommonizerTarget)
.listFiles().orEmpty().toSet()
}

View File

@@ -39,7 +39,7 @@ private fun Project.getOriginalPlatformLibrariesFor(target: LeafCommonizerTarget
}
private fun HierarchicalNativeDistributionCommonizerTask.getCommonizedPlatformLibrariesFor(target: SharedCommonizerTarget): FileCollection {
val targetOutputDirectory = CommonizerOutputFileLayout.getCommonizedDirectory(getRootOutputDirectory(), target)
val targetOutputDirectory = CommonizerOutputFileLayout.resolveCommonizedDirectory(getRootOutputDirectory(), target)
return project.filesProvider { targetOutputDirectory.listFiles().orEmpty().toList() }.builtBy(this)
}

View File

@@ -90,8 +90,7 @@ internal open class HierarchicalNativeDistributionCommonizerTask : DefaultTask()
@TaskAction
protected fun run() {
getRootOutputDirectory().deleteRecursively() // TODO NOW CACHING!
GradleCliCommonizer(project).commonizeNativeDistribution(
NativeDistributionCommonizationCache(project, GradleCliCommonizer(project)).commonizeNativeDistribution(
konanHome = konanHome,
outputDirectory = getRootOutputDirectory(),
outputTargets = project.getAllCommonizerTargets(),
@@ -106,7 +105,7 @@ internal open class HierarchicalNativeDistributionCommonizerTask : DefaultTask()
private fun Project.getAllCommonizerTargets(): Set<SharedCommonizerTarget> {
return allprojects.flatMapTo(mutableSetOf<SharedCommonizerTarget>()) { project ->
val kotlin = project.extensions.findByName("kotlin") // TODO COMMONIZER FAILS HARD WHEN NOTHING IS DEFINED
val kotlin = project.extensions.findByName("kotlin")
?.let { it as KotlinProjectExtension }
?.let { it as? KotlinMultiplatformExtension }
?: return@flatMapTo emptySet()

View File

@@ -3,61 +3,80 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@file:Suppress("SameParameterValue")
package org.jetbrains.kotlin.gradle.targets.native.internal
import org.gradle.api.Project
import org.jetbrains.kotlin.compilerRunner.KotlinToolRunner
import org.jetbrains.kotlin.commonizer.*
import org.jetbrains.kotlin.commonizer.CommonizerOutputFileLayout.resolveCommonizedDirectory
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import java.io.File
// TODO NOW: Support!
internal val Project.isNativeDistributionCommonizationCacheEnabled: Boolean
get() = PropertiesProvider(this).enableNativeDistributionCommonizationCache
internal class NativeDistributionCommonizationCache(
private val runner: KotlinToolRunner,
private val outputDirectory: File
) {
private val successMarker = outputDirectory.resolve(".commonized")
private val project: Project,
private val commonizer: NativeDistributionCommonizer
) : NativeDistributionCommonizer {
fun runIfNecessary(args: List<String>) {
if (!isCached(args)) {
run(args)
}
}
private fun isCached(args: List<String>): Boolean {
if (!runner.project.isNativeDistributionCommonizationCacheEnabled) {
override fun commonizeNativeDistribution(
konanHome: File,
outputDirectory: File,
outputTargets: Set<SharedCommonizerTarget>,
logLevel: CommonizerLogLevel
) {
if (!project.isNativeDistributionCommonizationCacheEnabled) {
logInfo("Cache disabled")
return false
return commonizer.commonizeNativeDistribution(konanHome, outputDirectory, outputTargets, logLevel)
}
if (successMarker.exists() && successMarker.isFile) {
if (successMarker.readText() == successMarkerText(args)) {
logInfo("Cache hit for ${outputDirectory.path}")
return true
} else {
logQuiet("Cache miss. Different arguments for ${outputDirectory.path}")
successMarker.delete()
}
val cachedOutputTargets = outputTargets
.filter { outputTarget -> isCached(resolveCommonizedDirectory(outputDirectory, outputTarget)) }
.onEach { outputTarget -> logInfo("Cache hit: $outputTarget already commonized") }
.toSet()
val missingOutputTargets = outputTargets - cachedOutputTargets
if (canReturnFast(konanHome, missingOutputTargets)) {
logInfo("All available targets are commonized already - Nothing to do")
return
}
return false
missingOutputTargets
.map { outputTarget -> resolveCommonizedDirectory(outputDirectory, outputTarget) }
.forEach { commonizedDirectory -> if (commonizedDirectory.exists()) commonizedDirectory.deleteRecursively() }
commonizer.commonizeNativeDistribution(
konanHome, outputDirectory, missingOutputTargets, logLevel
)
missingOutputTargets
.map { outputTarget -> resolveCommonizedDirectory(outputDirectory, outputTarget) }
.filter { commonizedDirectory -> commonizedDirectory.isDirectory }
.forEach { commonizedDirectory -> commonizedDirectory.resolve(".success").isFile }
}
private fun run(args: List<String>) {
outputDirectory.deleteRecursively()
runner.run(args)
successMarker.writeText(successMarkerText(args))
private fun isCached(directory: File): Boolean {
val successMarkerFile = directory.resolve(".success")
return successMarkerFile.isFile
}
private fun successMarkerText(args: List<String>): String {
return args.joinToString("\n")
private fun canReturnFast(
konanHome: File, missingOutputTargets: Set<CommonizerTarget>
): Boolean {
if (missingOutputTargets.isEmpty()) return true
// If all platform lib dirs are missing, we can also return fast from the cache without invoking
// the commonizer
return missingOutputTargets.allLeaves()
.map { target -> target.konanTarget }
.map { konanTarget -> KonanDistribution(konanHome).platformLibsDir.resolve(konanTarget.name) }
.none { platformLibsDir -> platformLibsDir.exists() }
}
private fun logInfo(message: String) = runner.project.logger.info("${Logging.prefix}: $message")
private fun logQuiet(message: String) = runner.project.logger.quiet("${Logging.prefix}: $message")
private fun logInfo(message: String) = project.logger.info("${Logging.prefix}: $message")
private object Logging {
const val prefix = "Native Distribution Commonization"

View File

@@ -16,8 +16,7 @@ public fun CliCommonizer(classLoader: ClassLoader): CliCommonizer {
return CliCommonizer(CommonizerClassLoaderExecutor(classLoader))
}
public class CliCommonizer(private val executor: Executor) : Commonizer {
public class CliCommonizer(private val executor: Executor) : NativeDistributionCommonizer, CInteropCommonizer {
public fun interface Executor {
public operator fun invoke(arguments: List<String>)
}

View File

@@ -8,8 +8,7 @@ package org.jetbrains.kotlin.commonizer
import java.io.File
import java.io.Serializable
public interface Commonizer : Serializable {
public interface CInteropCommonizer : Serializable {
@Throws(Throwable::class)
public fun commonizeLibraries(
konanHome: File,
@@ -19,7 +18,9 @@ public interface Commonizer : Serializable {
outputDirectory: File,
logLevel: CommonizerLogLevel = CommonizerLogLevel.Quiet
)
}
public interface NativeDistributionCommonizer : Serializable {
@Throws(Throwable::class)
public fun commonizeNativeDistribution(
konanHome: File,
@@ -27,4 +28,4 @@ public interface Commonizer : Serializable {
outputTargets: Set<SharedCommonizerTarget>,
logLevel: CommonizerLogLevel = CommonizerLogLevel.Quiet
)
}
}

View File

@@ -12,7 +12,7 @@ import java.util.*
public object CommonizerOutputFileLayout {
internal const val maxFileNameLength = 150
public fun getCommonizedDirectory(root: File, target: CommonizerTarget): File {
public fun resolveCommonizedDirectory(root: File, target: CommonizerTarget): File {
return root.resolve(target.fileName)
}

View File

@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.commonizer
import org.jetbrains.kotlin.commonizer.CommonizerOutputFileLayout.getCommonizedDirectory
import org.jetbrains.kotlin.commonizer.CommonizerOutputFileLayout.resolveCommonizedDirectory
import org.jetbrains.kotlin.commonizer.utils.konanHome
import org.jetbrains.kotlin.konan.target.KonanTarget.*
import org.junit.Rule
@@ -20,7 +20,7 @@ class CommonizeNativeDistributionTest {
val temporaryOutputDirectory = TemporaryFolder()
@Test
fun commonizeLinuxPlatforms() {
fun `commonize - linux platforms`() {
val linuxTarget1 = CommonizerTarget(LINUX_X64, LINUX_ARM64)
val linuxTarget2 = CommonizerTarget(LINUX_X64, LINUX_ARM64, LINUX_ARM32_HFP)
@@ -32,13 +32,23 @@ class CommonizeNativeDistributionTest {
)
assertTrue(
getCommonizedDirectory(temporaryOutputDirectory.root, linuxTarget1).isDirectory,
resolveCommonizedDirectory(temporaryOutputDirectory.root, linuxTarget1).isDirectory,
"Expected directory for $linuxTarget1"
)
assertTrue(
getCommonizedDirectory(temporaryOutputDirectory.root, linuxTarget2).isDirectory,
resolveCommonizedDirectory(temporaryOutputDirectory.root, linuxTarget2).isDirectory,
"Expected directory for $linuxTarget2"
)
}
@Test
fun `commonize - no outputTargets specified`() {
CliCommonizer(this::class.java.classLoader).commonizeNativeDistribution(
konanHome = konanHome,
outputTargets = emptySet(),
outputDirectory = temporaryOutputDirectory.root,
logLevel = CommonizerLogLevel.Info
)
}
}

View File

@@ -10,14 +10,19 @@ import org.jetbrains.kotlin.commonizer.parseCommonizerTarget
internal object OutputCommonizerTargetsOptionType : OptionType<Set<SharedCommonizerTarget>>(
alias = "output-targets",
description = "Shared commonizer target representing the commonized output hierarchy", // TODO NOW
description = "All output targets separated with ';'",
mandatory = true
) {
override fun parse(rawValue: String, onError: (reason: String) -> Nothing): Option<Set<SharedCommonizerTarget>> {
return try {
Option(this, rawValue.split(";").map(::parseCommonizerTarget).map { it as SharedCommonizerTarget }.toSet())
Option(
this, rawValue.split(";")
.map { it.trim() }.filter { it.isNotEmpty() }
.map(::parseCommonizerTarget)
.map { it as SharedCommonizerTarget }.toSet()
)
} catch (t: Throwable) {
onError("Failed parsing output-target ($rawValue): ${t.message}")
onError("Failed parsing output-targets ($rawValue): ${t.message}")
}
}
}

View File

@@ -13,7 +13,7 @@ internal object OutputOptionType : OptionType<File>("output-path", "Destination
try {
val valid = when {
file.isDirectory -> file.listFiles()?.isEmpty() != false
file.isDirectory -> true
file.exists() -> false
else -> {
if (!file.mkdirs()) onError("Destination can't be created: $rawValue")

View File

@@ -90,11 +90,11 @@ internal class LibraryCommonizer internal constructor(
}
private fun checkPreconditions() {
/* TODO
when (outputTarget.allLeaves().size) {
0 -> progressLogger.fatal("No targets specified")
1 -> progressLogger.fatal("Too few targets specified: $outputTarget")
outputTargets.forEach { outputTarget ->
when (outputTarget.allLeaves().size) {
0 -> logger.fatal("No targets specified")
1 -> logger.fatal("Too few targets specified: $outputTarget")
}
}
*/
}
}

View File

@@ -20,7 +20,7 @@ internal class ModuleSerializer(
private val destination: File,
) : ResultsConsumer {
override fun consume(parameters: CommonizerParameters, target: CommonizerTarget, moduleResult: ResultsConsumer.ModuleResult) {
val librariesDestination = CommonizerOutputFileLayout.getCommonizedDirectory(destination, target)
val librariesDestination = CommonizerOutputFileLayout.resolveCommonizedDirectory(destination, target)
when (moduleResult) {
is ResultsConsumer.ModuleResult.Commonized -> {
val libraryDestination = librariesDestination.resolve(moduleResult.fileSystemCompatibleLibraryName)

View File

@@ -1,36 +0,0 @@
actual class Planet actual constructor(actual val name: String, actual val diameter: Double)
actual val intProperty get() = 42
actual val Int.intProperty get() = this
actual val Short.intProperty get() = toInt()
actual val Long.intProperty get() = toInt()
actual val String.intProperty get() = length
actual val Planet.intProperty get() = diameter.toInt()
actual fun intFunction() = 42
actual fun Int.intFunction() = this
actual fun Short.intFunction() = toInt()
actual fun Long.intFunction() = toInt()
actual fun String.intFunction() = length
actual fun Planet.intFunction() = diameter.toInt()
val String.mismatchedProperty1 get() = 42
val mismatchedProperty2 get() = 42
fun String.mismatchedFunction1() = 42
fun mismatchedFunction2() = 42
actual val <T> T.propertyWithTypeParameter1 get() = 42
actual val <T> T.propertyWithTypeParameter2 get() = 42
val <T> T.propertyWithTypeParameter3 get() = 42
actual val <T : CharSequence> T.propertyWithTypeParameter4 get() = length
val <T : CharSequence> T.propertyWithTypeParameter5: Int get() = length
val <T : CharSequence> T.propertyWithTypeParameter6: Int get() = length
val <T : CharSequence> T.propertyWithTypeParameter7: Int get() = length
val <T> T.propertyWithTypeParameter8 get() = 42
val <T> T.propertyWithTypeParameter9 get() = 42
actual fun <T> T.functionWithTypeParameter1() {}
fun <T> T.functionWithTypeParameter2() {}
fun <T> T.functionWithTypeParameter3() {}
fun <T> T.functionWithTypeParameter4() {}

View File

@@ -1,36 +0,0 @@
actual class Planet actual constructor(actual val name: String, actual val diameter: Double)
actual val intProperty get() = 42
actual val Int.intProperty get() = this
actual val Short.intProperty get() = toInt()
actual val Long.intProperty get() = toInt()
actual val String.intProperty get() = length
actual val Planet.intProperty get() = diameter.toInt()
actual fun intFunction() = 42
actual fun Int.intFunction() = this
actual fun Short.intFunction() = toInt()
actual fun Long.intFunction() = toInt()
actual fun String.intFunction() = length
actual fun Planet.intFunction() = diameter.toInt()
val mismatchedProperty1 get() = 42
val Double.mismatchedProperty2 get() = 42
fun mismatchedFunction1() = 42
fun Double.mismatchedFunction2() = 42
actual val <T> T.propertyWithTypeParameter1 get() = 42
actual val <T : Any?> T.propertyWithTypeParameter2 get() = 42
val <T : Any> T.propertyWithTypeParameter3 get() = 42
actual val <T : CharSequence> T.propertyWithTypeParameter4 get() = length
val <T : Appendable> T.propertyWithTypeParameter5: Int get() = length
val <T : String> T.propertyWithTypeParameter6: Int get() = length
val String.propertyWithTypeParameter7: Int get() = length
val <Q> Q.propertyWithTypeParameter8 get() = 42
val <T, Q> T.propertyWithTypeParameter9 get() = 42
actual fun <T> T.functionWithTypeParameter1() {}
fun <Q> Q.functionWithTypeParameter2() {}
fun <T, Q> T.functionWithTypeParameter3() {}
fun <T, Q> Q.functionWithTypeParameter4() {}

View File

@@ -1,5 +0,0 @@
actual interface Interface {
actual fun openFun() = Unit
fun openFunWithOtherParams(param: Int) = Unit
fun openInJs_abstractInJvm() = Unit
}

View File

@@ -1,5 +0,0 @@
actual interface Interface {
actual fun openFun() = Unit
fun openFunWithOtherParams(param: Double) = Unit
fun openInJs_abstractInJvm()
}

View File

@@ -1,80 +0,0 @@
actual class Planet actual constructor(actual val name: String, actual val diameter: Double)
actual val propertyWithInferredType1 = 1
actual val propertyWithInferredType2 = "hello"
actual val propertyWithInferredType3 = 42.toString()
actual val propertyWithInferredType4 = null
actual val propertyWithInferredType5 = Planet("Earth", 12742)
typealias A = Planet
actual val property1 = 1
actual val property2 = "hello"
actual val property3 = Planet("Earth", 12742)
val property4 = A("Earth", 12742)
val property5 = A("Earth", 12742)
actual val property6 = Planet("Earth", 12742)
actual val property7 = C("Earth", 12742)
actual fun function1() = 1
actual fun function2() = "hello"
actual fun function3() = Planet("Earth", 12742)
fun function4() = A("Earth", 12742)
fun function5() = A("Earth", 12742)
actual fun function6() = Planet("Earth", 12742)
actual fun function7() = C("Earth", 12742)
val propertyWithMismatchedType1: Int = 1
val propertyWithMismatchedType2: Int = 1
val propertyWithMismatchedType3: Int = 1
val propertyWithMismatchedType4: Int = 1
val propertyWithMismatchedType5: Int = 1
fun functionWithMismatchedType1(): Int = 1
fun functionWithMismatchedType2(): Int = 1
fun functionWithMismatchedType3(): Int = 1
fun functionWithMismatchedType4(): Int = 1
fun functionWithMismatchedType5(): Int = 1
actual class Box<T> actual constructor(actual val value: T)
actual class Fox actual constructor()
actual fun functionWithTypeParametersInReturnType1() = arrayOf(1)
fun functionWithTypeParametersInReturnType2() = arrayOf(1)
actual fun functionWithTypeParametersInReturnType3() = arrayOf("hello")
actual fun functionWithTypeParametersInReturnType4(): List<Int> = listOf(1)
fun functionWithTypeParametersInReturnType5(): List<Int> = listOf(1)
actual fun functionWithTypeParametersInReturnType6(): List<String> = listOf("hello")
actual fun functionWithTypeParametersInReturnType7() = Box(1)
fun functionWithTypeParametersInReturnType8() = Box(1)
actual fun functionWithTypeParametersInReturnType9() = Box("hello")
actual fun functionWithTypeParametersInReturnType10() = Box(Planet("Earth", 12742))
fun functionWithTypeParametersInReturnType11() = Box(Planet("Earth", 12742))
actual fun functionWithTypeParametersInReturnType12() = Box(Fox())
actual fun <T> functionWithUnsubstitutedTypeParametersInReturnType1(): T = TODO()
actual fun <T> functionWithUnsubstitutedTypeParametersInReturnType2(): T = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType3(): T = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType4(): T = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType5(): T = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType6(): T = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType7(): T = TODO()
actual fun <T> functionWithUnsubstitutedTypeParametersInReturnType8(): Box<T> = TODO()
fun <T> functionWithUnsubstitutedTypeParametersInReturnType9(): Box<T> = TODO()
actual class Outer<A> actual constructor() {
actual class Nested<B> actual constructor() {
actual class Nested<C> actual constructor()
actual inner class Inner<D> actual constructor()
}
actual inner class Inner<E> actual constructor() {
actual inner class Inner<F> actual constructor()
}
}
actual fun <T> returnOuter(): Outer<T> = TODO()
actual fun <T> returnOuterNested(): Outer.Nested<T> = TODO()
actual fun <T> returnOuterNestedNested(): Outer.Nested.Nested<T> = TODO()
actual fun <T, R> returnOuterInner(): Outer<T>.Inner<R> = TODO()
actual fun <T, R, S> returnOuterInnerInner(): Outer<T>.Inner<R>.Inner<S> = TODO()

View File

@@ -1,80 +0,0 @@
actual class Planet actual constructor(actual val name: String, actual val diameter: Double)
actual val propertyWithInferredType1 get() = 1
actual val propertyWithInferredType2 get() = "hello"
actual val propertyWithInferredType3 get() = 42.toString()
actual val propertyWithInferredType4 get() = null
actual val propertyWithInferredType5 get() = Planet("Earth", 12742)
typealias B = Planet
actual val property1 = 1
actual val property2 = "hello"
actual val property3 = Planet("Earth", 12742)
val property4: B = Planet("Earth", 12742)
val property5: Planet = A("Earth", 12742)
actual val property6: Planet = A("Earth", 12742)
actual val property7: C = Planet("Earth", 12742)
actual fun function1(): Int = 1
actual fun function2(): String = "hello"
actual fun function3(): Planet = Planet("Earth", 12742)
fun function4(): B = A("Earth", 12742)
fun function5(): Planet = A("Earth", 12742)
actual fun function6(): Planet = Planet("Earth", 12742)
actual fun function7(): C = C("Earth", 12742)
val propertyWithMismatchedType1: Long = 1
val propertyWithMismatchedType2: Short = 1
val propertyWithMismatchedType3: Number = 1
val propertyWithMismatchedType4: Comparable<Int> = 1
val propertyWithMismatchedType5: String = 1.toString()
fun functionWithMismatchedType1(): Long = 1
fun functionWithMismatchedType2(): Short = 1
fun functionWithMismatchedType3(): Number = 1
fun functionWithMismatchedType4(): Comparable<Int> = 1
fun functionWithMismatchedType5(): String = 1.toString()
actual class Box<T> actual constructor(actual val value: T)
actual class Fox actual constructor()
actual fun functionWithTypeParametersInReturnType1() = arrayOf(1)
fun functionWithTypeParametersInReturnType2() = arrayOf("hello")
actual fun functionWithTypeParametersInReturnType3() = arrayOf("hello")
actual fun functionWithTypeParametersInReturnType4(): List<Int> = listOf(1)
fun functionWithTypeParametersInReturnType5(): List<String> = listOf("hello")
actual fun functionWithTypeParametersInReturnType6(): List<String> = listOf("hello")
actual fun functionWithTypeParametersInReturnType7() = Box(1)
fun functionWithTypeParametersInReturnType8() = Box("hello")
actual fun functionWithTypeParametersInReturnType9() = Box("hello")
actual fun functionWithTypeParametersInReturnType10() = Box(Planet("Earth", 12742))
fun functionWithTypeParametersInReturnType11() = Box(Fox())
actual fun functionWithTypeParametersInReturnType12() = Box(Fox())
actual fun <T> functionWithUnsubstitutedTypeParametersInReturnType1(): T = TODO()
actual fun <T : Any?> functionWithUnsubstitutedTypeParametersInReturnType2(): T = TODO()
fun <T : Any> functionWithUnsubstitutedTypeParametersInReturnType3(): T = TODO()
fun <Q> functionWithUnsubstitutedTypeParametersInReturnType4(): Q = TODO()
fun <T, Q> functionWithUnsubstitutedTypeParametersInReturnType5(): T = TODO()
fun <T, Q> functionWithUnsubstitutedTypeParametersInReturnType6(): Q = TODO()
fun functionWithUnsubstitutedTypeParametersInReturnType7(): String = TODO()
actual fun <T> functionWithUnsubstitutedTypeParametersInReturnType8(): Box<T> = TODO()
fun functionWithUnsubstitutedTypeParametersInReturnType9(): Box<String> = TODO()
actual class Outer<A> actual constructor() {
actual class Nested<B> actual constructor() {
actual class Nested<C> actual constructor()
actual inner class Inner<D> actual constructor()
}
actual inner class Inner<E> actual constructor() {
actual inner class Inner<F> actual constructor()
}
}
actual fun <T> returnOuter(): Outer<T> = TODO()
actual fun <T> returnOuterNested(): Outer.Nested<T> = TODO()
actual fun <T> returnOuterNestedNested(): Outer.Nested.Nested<T> = TODO()
actual fun <T, R> returnOuterInner(): Outer<T>.Inner<R> = TODO()
actual fun <T, R, S> returnOuterInnerInner(): Outer<T>.Inner<R>.Inner<S> = TODO()

View File

@@ -1,67 +0,0 @@
actual public val publicProperty = 1
actual public val publicOrInternalProperty = 1
actual internal val internalProperty = 1
internal val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual public fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
internal fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Outer1 actual constructor() {
actual public val publicProperty = 1
actual public val publicOrInternalProperty = 1
actual internal val internalProperty = 1
internal val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual public fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
internal fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Inner1 actual constructor() {
actual public val publicProperty = 1
actual public val publicOrInternalProperty = 1
actual internal val internalProperty = 1
internal val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual public fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
internal fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
}
}
actual open class Outer2 actual constructor() {
actual public open val publicProperty = 1
public open val publicOrInternalProperty = 1
actual internal open val internalProperty = 1
internal open val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public open fun publicFunction() = 1
public open fun publicOrInternalFunction() = 1
actual internal open fun internalFunction() = 1
internal open fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Inner2 actual constructor() {
actual public open val publicProperty = 1
public open val publicOrInternalProperty = 1
actual internal open val internalProperty = 1
internal open val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public open fun publicFunction() = 1
public open fun publicOrInternalFunction() = 1
actual internal open fun internalFunction() = 1
internal open fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
}
}

View File

@@ -1,67 +0,0 @@
actual public val publicProperty = 1
actual internal val publicOrInternalProperty = 1
actual internal val internalProperty = 1
private val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual internal fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
private fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Outer1 actual constructor() {
actual public val publicProperty = 1
actual internal val publicOrInternalProperty = 1
actual internal val internalProperty = 1
private val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual internal fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
private fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Inner1 actual constructor() {
actual public val publicProperty = 1
actual internal val publicOrInternalProperty = 1
actual internal val internalProperty = 1
private val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public fun publicFunction() = 1
actual internal fun publicOrInternalFunction() = 1
actual internal fun internalFunction() = 1
private fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
}
}
actual open class Outer2 actual constructor() {
actual public open val publicProperty = 1
internal open val publicOrInternalProperty = 1
actual internal open val internalProperty = 1
private val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public open fun publicFunction() = 1
internal open fun publicOrInternalFunction() = 1
actual internal open fun internalFunction() = 1
private fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
actual open class Inner2 actual constructor() {
actual public open val publicProperty = 1
internal open val publicOrInternalProperty = 1
actual internal open val internalProperty = 1
private val internalOrPrivateProperty = 1
private val privateProperty = 1
actual public open fun publicFunction() = 1
internal open fun publicOrInternalFunction() = 1
actual internal open fun internalFunction() = 1
private fun internalOrPrivateFunction() = 1
private fun privateFunction() = 1
}
}

View File

@@ -1,147 +0,0 @@
actual class A1 actual constructor()
class A2
class A3
class A4
class A5
actual interface B1
interface B2
interface B3
interface B4
actual annotation class C1 actual constructor()
annotation class C2
annotation class C3
actual object D1
object D2
actual enum class E1 { FOO, BAR, BAZ }
actual class F actual constructor() {
actual inner class G1 actual constructor()
inner class G2
inner class G3
inner class G4
inner class G5
inner class G6
actual class H1 actual constructor()
class H2
class H3
class H4
actual interface I1
interface I2
interface I3
actual object J1
object J2
actual enum class K1 { FOO, BAR, BAZ }
}
actual interface L {
actual class M1 actual constructor()
class M2
class M3
class M4
class M5
actual interface N1
interface N2
interface N3
actual object O1
object O2
actual enum class P1 { FOO, BAR, BAZ }
}
actual object R {
actual class S1 actual constructor()
class S2
class S3
class S4
actual interface T1
interface T2
interface T3
actual object U1
object U2
actual enum class V1 { FOO, BAR, BAZ }
}
actual class W actual constructor() {
actual object X {
actual interface Y {
actual class Z actual constructor() {
actual enum class AA { FOO, BAR, BAZ }
}
}
}
}
actual class BB1 actual constructor() {
actual companion object
}
actual class BB2 actual constructor() {
companion object
}
actual class CC1 actual constructor() {
actual companion object DD1
}
actual class CC2 actual constructor() {
companion object DD2
}
actual class CC3 actual constructor() {
companion object DD3
}
actual inline class EE1 actual constructor(actual val value: String)
inline class EE2(val value: String)
actual external class FF1 actual constructor(actual val property1: String) {
actual val property2 = property1
actual val property3 get() = property1
actual val property4: String
actual fun function1() = property1
actual fun function2(): String
}
actual external class FF2 actual constructor()
actual sealed class GG1
actual sealed class GG2 {
actual class HH1 actual constructor() : GG2()
actual object HH2 : GG2()
class HH3 : GG2()
}
actual class HH5 actual constructor() : GG2()
actual object HH6 : GG2()
class HH7 : GG2()
actual enum class II1
actual enum class II2 { FOO, BAR }
actual interface JJ {
actual val property: String
actual fun function(): String
}
actual class KK1 actual constructor(actual override val property: String) : JJ {
actual override fun function() = property
}
actual class KK2 actual constructor(private val wrapped: JJ) : JJ by wrapped
actual data class LL1 actual constructor(actual val value: String)
actual data class LL2 actual constructor(actual val value: String)

View File

@@ -1,147 +0,0 @@
actual class A1 actual constructor()
interface A2
annotation class A3
object A4
enum class A5 { FOO, BAR, BAZ }
actual interface B1
annotation class B2
object B3
enum class B4 { FOO, BAR, BAZ }
actual annotation class C1 actual constructor()
object C2
enum class C3 { FOO, BAR, BAZ }
actual object D1
enum class D2 { FOO, BAR, BAZ }
actual enum class E1 { FOO, BAR, BAZ }
actual class F actual constructor() {
actual inner class G1 actual constructor()
class G2
interface G3
object G4
enum class G5 { FOO, BAR, BAZ }
companion object G6
actual class H1 actual constructor()
interface H2
object H3
enum class H4 { FOO, BAR, BAZ }
actual interface I1
object I2
enum class I3 { FOO, BAR, BAZ }
actual object J1
enum class J2 { FOO, BAR, BAZ }
actual enum class K1 { FOO, BAR, BAZ }
}
actual interface L {
actual class M1 actual constructor()
interface M2
object M3
enum class M4 { FOO, BAR, BAZ }
companion object M5
actual interface N1
object N2
enum class N3 { FOO, BAR, BAZ }
actual object O1
enum class O2 { FOO, BAR, BAZ }
actual enum class P1 { FOO, BAR, BAZ }
}
actual object R {
actual class S1 actual constructor()
interface S2
object S3
enum class S4 { FOO, BAR, BAZ }
actual interface T1
object T2
enum class T3 { FOO, BAR, BAZ }
actual object U1
enum class U2 { FOO, BAR, BAZ }
actual enum class V1 { FOO, BAR, BAZ }
}
actual class W actual constructor() {
actual object X {
actual interface Y {
actual class Z actual constructor() {
actual enum class AA { FOO, BAR, BAZ }
}
}
}
}
actual class BB1 actual constructor() {
actual companion object
}
actual class BB2 actual constructor()
actual class CC1 actual constructor() {
actual companion object DD1
}
actual class CC2 actual constructor() {
companion object CompanionWithAnotherName
}
actual class CC3 actual constructor() {
companion object
}
actual inline class EE1 actual constructor(actual val value: String)
class EE2(val value: String)
actual class FF1 actual constructor(actual val property1: String) {
actual val property2 = property1
actual val property3 get() = property1
actual val property4 = property1
actual fun function1() = property1
actual fun function2() = function1()
}
actual external class FF2 actual constructor()
actual sealed class GG1
actual sealed class GG2 {
actual class HH1 actual constructor() : GG2()
actual object HH2 : GG2()
class HH4 : GG2()
}
actual class HH5 actual constructor() : GG2()
actual object HH6 : GG2()
class HH8 : GG2()
actual enum class II1
actual enum class II2 { FOO, BAZ }
actual interface JJ {
actual val property: String
val property2: String
actual fun function(): String
}
actual class KK1 actual constructor(actual override val property: String) : JJ {
val property2 = property
actual override fun function() = property
}
actual class KK2 actual constructor(wrapped: JJ) : JJ by wrapped
actual data class LL1 actual constructor(actual val value: String)
actual class LL2 actual constructor(actual val value: String)

View File

@@ -1,59 +0,0 @@
actual class A1 actual constructor(text: String) {
actual constructor(number: Int) : this(number.toString())
}
actual class A2 actual constructor(text: String) {
actual constructor(number: Int) : this(number.toString())
}
actual class A3(text: String) {
constructor(number: Int) : this(number.toString())
}
actual class A4(text: String) {
constructor(number: Int) : this(number.toString())
}
actual class A5(text: String) {
constructor(number: Int) : this(number.toString())
}
actual class B1 protected actual constructor(text: String) {
protected actual constructor(number: Int) : this(number.toString())
}
actual class B2 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
actual class B3 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
actual class C1 internal actual constructor(text: String) {
internal actual constructor(number: Int) : this(number.toString())
}
actual class C2 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
actual class D1 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
actual class E {
constructor(a: Int)
actual constructor(a: Any)
constructor(a: Int, b: String)
constructor(a: Int, b: Any)
actual constructor(a: Any, b: String)
actual constructor(a: Any, b: Int)
}
actual enum class F(actual val alias: String) {
FOO("foo"),
BAR("bar"),
BAZ("baz")
}

View File

@@ -1,59 +0,0 @@
actual class A1 actual constructor(text: String) {
actual constructor(number: Int) : this(number.toString())
}
actual class A2 actual constructor(text: String) {
actual constructor(number: Int) : this(number.toString())
}
actual class A3 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
actual class A4 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
actual class A5 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
actual class B1 protected actual constructor(text: String) {
protected actual constructor(number: Int) : this(number.toString())
}
actual class B2 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
actual class B3 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
actual class C1 internal actual constructor(text: String) {
internal actual constructor(number: Int) : this(number.toString())
}
actual class C2 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
actual class D1 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
actual class E {
constructor(a: String)
actual constructor(a: Any)
constructor(a: String, b: Int)
constructor(a: String, b: Any)
actual constructor(a: Any, b: String)
actual constructor(a: Any, b: Int)
}
actual enum class F(actual val alias: String) {
FOO("foo"),
BAR("bar"),
BAZ("baz")
}

View File

@@ -1,3 +0,0 @@
typealias my_linux_long_t = common.stuff.MyLong
actual val property: MyTypeAlias = TODO()

View File

@@ -1,3 +0,0 @@
typealias my_macos_long_t = common.stuff.MyLong
actual val property: MyTypeAlias = TODO()

View File

@@ -1,33 +0,0 @@
actual final class A1 actual constructor()
actual final class A2 actual constructor()
final class A3
final class A4
actual open class B1 actual constructor()
open class B2
open class B3
actual abstract class C1 actual constructor()
abstract class C2
actual sealed class D1
actual abstract class E actual constructor() {
actual final val p1: Int = 1
actual final val p2: Int = 1
final val p3: Int = 1
actual open val p4: Int = 1
open val p5: Int = 1
actual abstract val p6: Int
actual final fun f1(): Int = 1
actual final fun f2(): Int = 1
final fun f3(): Int = 1
actual open fun f4(): Int = 1
open fun f5(): Int = 1
actual abstract fun f6(): Int
}

View File

@@ -1,33 +0,0 @@
actual final class A1 actual constructor()
actual open class A2 actual constructor()
abstract class A3
sealed class A4
actual open class B1 actual constructor()
abstract class B2
sealed class B3
actual abstract class C1 actual constructor()
sealed class C2
actual sealed class D1
actual abstract class E actual constructor() {
actual final val p1: Int = 1
actual open val p2: Int = 1
abstract val p3: Int
actual open val p4: Int = 1
abstract val p5: Int
actual abstract val p6: Int
actual final fun f1(): Int = 1
actual open fun f2(): Int = 1
abstract fun f3(): Int
actual open fun f4(): Int = 1
abstract fun f5(): Int
actual abstract fun f6(): Int
}

View File

@@ -1,79 +0,0 @@
actual interface A1 {
actual val property1: Int
actual fun function1(): Int
}
actual abstract class A2 actual constructor() : A1 {
actual abstract val property2: Int
actual abstract fun function2(): Int
}
actual class A3 actual constructor() : A2() {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}
actual interface B1 {
actual val property1: Int
actual fun function1(): Int
}
interface B2 {
val property2: Int
fun function2(): Int
}
actual class B3 actual constructor() : B1, B2 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}
actual interface C1 {
actual val property1: Int
actual fun function1(): Int
}
interface C2 {
val property2: Int
fun function2(): Int
}
actual class C3 actual constructor() : C1, C2 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}
interface D1 {
val property1: Int
fun function1(): Int
}
actual interface D2 {
actual val property2: Int
actual fun function2(): Int
}
actual class D3 actual constructor() : D1, D2 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}

View File

@@ -1,72 +0,0 @@
actual interface A1 {
actual val property1: Int
actual fun function1(): Int
}
actual abstract class A2 actual constructor() : A1 {
actual abstract val property2: Int
actual abstract fun function2(): Int
}
actual class A3 actual constructor() : A2(), A1 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}
actual interface B1 {
actual val property1: Int
val property2: Int
actual fun function1(): Int
fun function2(): Int
}
actual class B3 actual constructor() : B1 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}
actual interface C1 {
actual val property1: Int
actual fun function1(): Int
}
actual class C3 actual constructor() : C1 {
actual override val property1 = 1
actual val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual fun function2() = 1
actual fun function3() = 1
}
abstract class D1 {
abstract val property1: Int
abstract fun function1(): Int
}
actual interface D2 {
actual val property2: Int
actual fun function2(): Int
}
actual class D3 actual constructor() : D1(), D2 {
actual override val property1 = 1
actual override val property2 = 1
actual val property3 = 1
actual override fun function1() = 1
actual override fun function2() = 1
actual fun function3() = 1
}

View File

@@ -1,25 +0,0 @@
actual class A actual constructor()
// Lifted up type aliases:
typealias G = List<Int> // different parameterized types at the RHS
typealias I<T> = List<T> // TAs with own parameters with different names
typealias K<T> = Function<T> // function types with different type parameter names
typealias L<T> = () -> T // different kinds of function types
typealias N = () -> Any // different return types
typealias P = (Int) -> Int // different argument types
// Type aliases converted to expect classes:
actual typealias T = Int
// Nullability:
actual typealias V = A? // different nullability of the RHS class
typealias X = U? // different nullability of the RHS TA
// Supertypes:
actual typealias FILE = _IO_FILE
final class _IO_FILE : kotlinx.cinterop.CStructVar {}
actual val uuid: uuid_t get() = TODO()

View File

@@ -1,113 +0,0 @@
actual class A actual constructor()
// Lifted up type aliases:
typealias G = List<String> // different parameterized types at the RHS
typealias I<R> = List<R> // TAs with own parameters with different names
typealias K<R> = Function<R> // function types with different type parameter names
typealias L<T> = Function<T> // different kinds of function types
typealias N = () -> Unit // different return types
typealias P = (String) -> Int // different argument types
// Type aliases converted to expect classes:
actual typealias T = String
// Nullability:
actual typealias V = A // different nullability of the RHS class
typealias X = U // different nullability of the RHS TA
// Supertypes:
actual typealias FILE = __sFILE
final class __sFILE : kotlinx.cinterop.CStructVar {}
actual val uuid: uuid_t get() = TODO()
// Type alias chain that is present in one target only:
class AA
typealias BB = AA
typealias CC = BB
typealias DD = CC
typealias EE = List<String>
typealias FF = EE
typealias GG = FF
typealias HH<T> = List<T>
typealias II<R> = HH<R>
typealias JJ<S> = II<S>
typealias KK = HH<String>
typealias LL = II<String>
typealias MM = JJ<String>
typealias NN = (String) -> Int
typealias OO = NN
typealias PP = OO
typealias QQ<T1, T2> = (T1) -> T2
typealias RR<R1, R2> = QQ<R1, R2>
typealias SS<S1, S2> = RR<S1, S2>
typealias TT = QQ<String, Int>
typealias UU = RR<String, Int>
typealias VV = SS<String, Int>
typealias WW = TT
typealias XX = UU
typealias YY = VV
typealias ZZ<T> = QQ<T, Int>
typealias AAA = ZZ<String>
typealias BBB = AAA
typealias CCC<T> = QQ<String, T>
typealias DDD = CCC<Int>
typealias EEE = DDD
typealias FFF<R> = RR<R, Int>
typealias GGG = FFF<String>
typealias HHH = GGG
typealias III<R> = RR<String, R>
typealias JJJ = III<Int>
typealias KKK = JJJ
typealias LLL<S> = SS<S, Int>
typealias MMM = LLL<String>
typealias NNN = MMM
typealias OOO<S> = SS<String, S>
typealias PPP = OOO<Int>
typealias QQQ = PPP
fun getBB(): BB = TODO()
fun getCC(): CC = TODO()
fun getDD(): DD = TODO()
fun getEE(): EE = TODO()
fun getFF(): FF = TODO()
fun getGG(): GG = TODO()
fun <U> getHH(): HH<U> = TODO()
fun <V> getII(): II<V> = TODO()
fun <W> getJJ(): JJ<W> = TODO()
fun getKK(): KK = TODO()
fun getLL(): LL = TODO()
fun getMM(): MM = TODO()
fun getNN(): NN = TODO()
fun getOO(): OO = TODO()
fun getPP(): PP = TODO()
fun <U1, U2> getQQ(): QQ<U1, U2> = TODO()
fun <V1, V2> getRR(): RR<V1, V2> = TODO()
fun <W1, W2> getSS(): SS<W1, W2> = TODO()
fun getTT(): TT = TODO()
fun getUU(): UU = TODO()
fun getVV(): VV = TODO()
fun getWW(): WW = TODO()
fun getXX(): XX = TODO()
fun getYY(): YY = TODO()
fun <U> getZZ(): ZZ<U> = TODO()
fun getAAA(): AAA = TODO()
fun getBBB(): BBB = TODO()
fun <U> getCCC(): CCC<U> = TODO()
fun getDDD(): DDD = TODO()
fun getEEE(): EEE = TODO()
fun <V> getFFF(): FFF<V> = TODO()
fun getGGG(): GGG = TODO()
fun getHHH(): HHH = TODO()
fun <V> getIII(): III<V> = TODO()
fun getJJJ(): JJJ = TODO()
fun getKKK(): KKK = TODO()
fun <W> getLLL(): LLL<W> = TODO()
fun getMMM(): MMM = TODO()
fun getNNN(): NNN = TODO()
fun <W> getOOO(): OOO<W> = TODO()
fun getPPP(): PPP = TODO()
fun getQQQ(): QQQ = TODO()

View File

@@ -1,697 +0,0 @@
class A1<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class A2<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class A3<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A4<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A5<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A6<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A7<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B1<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B2<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B3<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class B4<T : Any> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : Any> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class B5<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B6<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B7<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C1<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C2<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C3<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C4<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class C5<T : CharSequence> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : CharSequence> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class C6<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C7<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D1<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D2<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D3<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D4<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D5<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class D6<T : String> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : String> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class D7<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class E1<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E2<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E3<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E4<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E5<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E6<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
actual class E7<String> actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
actual class Nested<String> actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
}
actual inner class Inner actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
}
}
actual class F1<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class F2<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class F3<T> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class G1<T, R> actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
actual class Nested<T, R> actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
}
actual inner class Inner actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
}
}
class G2<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
class Nested<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
inner class Inner {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
}
class G3<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
class Nested<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
inner class Inner {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
}
class G4<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
class Nested<T, R> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
inner class Inner {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
}
actual class H1<T> actual constructor() {
actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value
actual val T.dependentExtensionProperty: T get() = this
actual fun T.dependentExtensionFunction(): T = this
actual fun <T> independentFunction(): T = TODO()
actual val <T> T.independentExtensionProperty: T get() = this
actual fun <T> T.independentExtensionFunction(): T = this
}
actual class H2<T> actual constructor() {
actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value
actual val T.dependentExtensionProperty: T get() = this
actual fun T.dependentExtensionFunction(): T = this
fun <T> independentFunction(): T = TODO()
val <T> T.independentExtensionProperty: T get() = this
fun <T> T.independentExtensionFunction(): T = this
}
actual class I<T : I<T>> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual interface J1<A> {
actual fun a(): A
}
actual interface J2<A, B> {
actual fun a(b: B): A
actual fun b(a: A): B
}
actual interface J3<A, B, C> {
actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B
actual fun c(a: A, b: B): C
}
actual class K<A, B : A, C : J1<B>, D : J2<C, A>> actual constructor() : J3<D, C, B> {
actual override fun a(b: C, c: B): D = TODO()
actual override fun b(a: D, c: B): C = TODO()
actual override fun c(a: D, b: C): B = TODO()
actual inner class Inner<C, D : C, E : J2<C, D>> actual constructor() {
actual fun dependentFunction(value: A): E = TODO()
actual fun <A : CharSequence, E : Number> independentFunction(value: A): E = TODO()
}
}

View File

@@ -1,697 +0,0 @@
class A1 {
val property: Any get() = TODO()
fun function(value: Any): Any = value
class Nested {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
inner class Inner {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
}
actual class A2<T : Any?> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : Any?> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class A3<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
class Nested<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property: R get() = TODO()
fun function(value: R): R = value
}
}
class A4<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A5<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A6<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class A7<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class B1 {
val property: Any get() = TODO()
fun function(value: Any): Any = value
class Nested {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
inner class Inner {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
}
class B2<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B3<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
class Nested<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property: R get() = TODO()
fun function(value: R): R = value
}
}
actual class B4<T : Any> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : Any> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class B5<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B6<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class B7<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class C1 {
val property: Any get() = TODO()
fun function(value: Any): Any = value
class Nested {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
inner class Inner {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
}
class C2<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C3<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
class Nested<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property: R get() = TODO()
fun function(value: R): R = value
}
}
class C4<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class C5<T : CharSequence> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : CharSequence> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class C6<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class C7<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class D1 {
val property: Any get() = TODO()
fun function(value: Any): Any = value
class Nested {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
inner class Inner {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
}
class D2<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D3<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
class Nested<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property: R get() = TODO()
fun function(value: R): R = value
}
}
class D4<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class D5<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class D6<T : String> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T : String> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class D7<String> {
val property: String get() = TODO()
fun function(value: String): String = value
class Nested<String> {
val property: String get() = TODO()
fun function(value: String): String = value
}
inner class Inner {
val property: String get() = TODO()
fun function(value: String): String = value
}
}
class E1 {
val property: Any get() = TODO()
fun function(value: Any): Any = value
class Nested {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
inner class Inner {
val property: Any get() = TODO()
fun function(value: Any): Any = value
}
}
class E2<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any?> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class E3<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
class Nested<R : Any?> {
val property: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property: R get() = TODO()
fun function(value: R): R = value
}
}
class E4<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : Any> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class E5<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : CharSequence> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
class E6<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
class Nested<T : String> {
val property: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property: T get() = TODO()
fun function(value: T): T = value
}
}
actual class E7<String> actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
actual class Nested<String> actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
}
actual inner class Inner actual constructor() {
actual val property: String get() = TODO()
actual fun function(value: String): String = value
}
}
actual class F1<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
actual class Nested<T> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual inner class Inner actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
}
class F2<in T> {
val property: String get() = TODO()
fun function(value: T): Any = TODO()
class Nested<in T> {
val property: String get() = TODO()
fun function(value: T): Any = TODO()
}
inner class Inner {
val property: String get() = TODO()
fun function(value: T): Any = TODO()
}
}
class F3<out T> {
val property: T get() = TODO()
fun function(value: Any): T = TODO()
class Nested<out T> {
val property: T get() = TODO()
fun function(value: Any): T = TODO()
}
inner class Inner {
val property: T get() = TODO()
fun function(value: Any): T = TODO()
}
}
actual class G1<T, R> actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
actual class Nested<T, R> actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
}
actual inner class Inner actual constructor() {
actual val property1: T get() = TODO()
actual val property2: R get() = TODO()
actual fun function(value: T): R = TODO()
}
}
class G2<T> {
val property1: T get() = TODO()
val property2: T get() = TODO()
fun function(value: T): T = value
class Nested<T> {
val property1: T get() = TODO()
val property2: T get() = TODO()
fun function(value: T): T = value
}
inner class Inner {
val property1: T get() = TODO()
val property2: T get() = TODO()
fun function(value: T): T = value
}
}
class G3<R> {
val property1: R get() = TODO()
val property2: R get() = TODO()
fun function(value: R): R = value
class Nested<R> {
val property1: R get() = TODO()
val property2: R get() = TODO()
fun function(value: R): R = value
}
inner class Inner {
val property1: R get() = TODO()
val property2: R get() = TODO()
fun function(value: R): R = value
}
}
class G4<R, T> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
class Nested<R, T> {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
inner class Inner {
val property1: T get() = TODO()
val property2: R get() = TODO()
fun function(value: T): R = TODO()
}
}
actual class H1<T> actual constructor() {
actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value
actual val T.dependentExtensionProperty: T get() = this
actual fun T.dependentExtensionFunction(): T = this
actual fun <T> independentFunction(): T = TODO()
actual val <T> T.independentExtensionProperty: T get() = this
actual fun <T> T.independentExtensionFunction(): T = this
}
actual class H2<T> actual constructor() {
actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value
actual val T.dependentExtensionProperty: T get() = this
actual fun T.dependentExtensionFunction(): T = this
fun independentFunction(): T = TODO()
val T.independentExtensionProperty: T get() = this
fun T.independentExtensionFunction(): T = this
}
actual class I<T : I<T>> actual constructor() {
actual val property: T get() = TODO()
actual fun function(value: T): T = value
}
actual interface J1<A> {
actual fun a(): A
}
actual interface J2<A, B> {
actual fun a(b: B): A
actual fun b(a: A): B
}
actual interface J3<A, B, C> {
actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B
actual fun c(a: A, b: B): C
}
actual class K<A, B : A, C : J1<B>, D : J2<C, A>> actual constructor() : J3<D, C, B> {
actual override fun a(b: C, c: B): D = TODO()
actual override fun b(a: D, c: B): C = TODO()
actual override fun c(a: D, b: C): B = TODO()
actual inner class Inner<C, D : C, E : J2<C, D>> actual constructor() {
actual fun dependentFunction(value: A): E = TODO()
actual fun <A : CharSequence, E : Number> independentFunction(value: A): E = TODO()
}
}

View File

@@ -1,24 +0,0 @@
public actual class A1 actual constructor()
public class A2
public class A3
public class A4
protected actual class B1 actual constructor()
protected class B2
protected class B3
internal actual class C1 actual constructor()
internal class C2
private class D1
public actual typealias E4 = A1
protected actual typealias F2 = A1
protected actual typealias F3 = A1
internal actual typealias G2 = A1
private actual typealias H1 = A1
typealias I4 = D1

View File

@@ -1,24 +0,0 @@
public actual class A1 actual constructor()
protected class A2
internal class A3
private class A4
protected actual class B1 actual constructor()
internal class B2
private class B3
internal actual class C1 actual constructor()
private class C2
private class D1
private actual typealias E4 = A1
internal actual typealias F2 = A1
private actual typealias F3 = A1
private actual typealias G2 = A1
private actual typealias H1 = A1
typealias I4 = D1

View File

@@ -1,88 +0,0 @@
actual class Holder actual constructor() {
@Deprecated("This function is deprecated")
actual fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated")
fun deprecatedFunction2() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()"))
actual fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.bar")))
actual fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.bar")))
actual fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation19() {
}
actual fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction2() {}
}

View File

@@ -1,88 +0,0 @@
actual class Holder actual constructor() {
@Deprecated("This function is deprecated")
actual fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated")
fun deprecatedFunction3() {
}
@Deprecated("This function is deprecated as well")
actual fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.ERROR)
actual fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation19() {
}
actual fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction3() {}
}

View File

@@ -1,45 +0,0 @@
actual interface I1
actual interface I2
actual interface I3<T>
actual fun <T : I1> functionWithValueParameter(value: T) = Unit
actual fun <T : I2> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Any?>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<*>> functionWithValueParameter(value: T) = Unit
actual fun <T : Any> functionWithValueParameter(value: T) = Unit
actual fun <T> functionWithValueParameter(value: T) = Unit
actual fun functionWithValueParameter(value: I1) = Unit
actual fun functionWithValueParameter(value: I2) = Unit
actual fun functionWithValueParameter(value: Any) = Unit
actual fun functionWithValueParameter(value: Any?) = Unit
actual fun functionWithValueParameter() = Unit
actual fun <T : I1> T.functionWithReceiver() = Unit
actual fun <T : I2> T.functionWithReceiver() = Unit
actual fun <T : I3<String>> T.functionWithReceiver() = Unit
actual fun <T : I3<in String>> T.functionWithReceiver() = Unit
actual fun <T : I3<out String>> T.functionWithReceiver() = Unit
actual fun <T : I3<Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<in Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<out Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<in Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<out Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<Any?>> T.functionWithReceiver() = Unit
actual fun <T : I3<*>> T.functionWithReceiver() = Unit
actual fun <T : Any> T.functionWithReceiver() = Unit
actual fun <T> T.functionWithReceiver() = Unit
actual fun I1.functionWithReceiver() = Unit
actual fun I2.functionWithReceiver() = Unit
actual fun Any.functionWithReceiver() = Unit
actual fun Any?.functionWithReceiver() = Unit
actual fun functionWithReceiver() = Unit

View File

@@ -1,45 +0,0 @@
actual interface I1
actual interface I2
actual interface I3<T>
actual fun <T : I1> functionWithValueParameter(value: T) = Unit
actual fun <T : I2> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out String>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out Int>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<in Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<out Any>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<Any?>> functionWithValueParameter(value: T) = Unit
actual fun <T : I3<*>> functionWithValueParameter(value: T) = Unit
actual fun <T : Any> functionWithValueParameter(value: T) = Unit
actual fun <T> functionWithValueParameter(value: T) = Unit
actual fun functionWithValueParameter(value: I1) = Unit
actual fun functionWithValueParameter(value: I2) = Unit
actual fun functionWithValueParameter(value: Any) = Unit
actual fun functionWithValueParameter(value: Any?) = Unit
actual fun functionWithValueParameter() = Unit
actual fun <T : I1> T.functionWithReceiver() = Unit
actual fun <T : I2> T.functionWithReceiver() = Unit
actual fun <T : I3<String>> T.functionWithReceiver() = Unit
actual fun <T : I3<in String>> T.functionWithReceiver() = Unit
actual fun <T : I3<out String>> T.functionWithReceiver() = Unit
actual fun <T : I3<Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<in Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<out Int>> T.functionWithReceiver() = Unit
actual fun <T : I3<Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<in Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<out Any>> T.functionWithReceiver() = Unit
actual fun <T : I3<Any?>> T.functionWithReceiver() = Unit
actual fun <T : I3<*>> T.functionWithReceiver() = Unit
actual fun <T : Any> T.functionWithReceiver() = Unit
actual fun <T> T.functionWithReceiver() = Unit
actual fun I1.functionWithReceiver() = Unit
actual fun I2.functionWithReceiver() = Unit
actual fun Any.functionWithReceiver() = Unit
actual fun Any?.functionWithReceiver() = Unit
actual fun functionWithReceiver() = Unit

View File

@@ -1,3 +0,0 @@
actual class Foo actual constructor()
actual fun bar(x: TypeAlias?) {}

View File

@@ -1,3 +0,0 @@
actual class Foo actual constructor()
actual fun bar(x: TypeAlias?) {}

View File

@@ -1,19 +0,0 @@
actual suspend fun suspendFunction1() = 1
suspend fun suspendFunction2() = 1
actual class Qux actual constructor()
actual operator fun Qux.get(index: Int) = "$index"
actual operator fun Qux.set(index: Int, value: String) = Unit
actual infix fun Qux.infixFunction1(another: Qux) {}
actual infix fun Qux.infixFunction2(another: Qux) {}
actual tailrec fun tailrecFunction1() {}
actual tailrec fun tailrecFunction2() {}
actual external fun externalFunction1()
actual external fun externalFunction2()
actual inline fun inlineFunction1() {}
actual inline fun inlineFunction2() {}

View File

@@ -1,19 +0,0 @@
actual suspend fun suspendFunction1() = 1
fun suspendFunction2() = 1
actual class Qux actual constructor()
actual operator fun Qux.get(index: Int) = "$index"
actual fun Qux.set(index: Int, value: String) = Unit
actual infix fun Qux.infixFunction1(another: Qux) {}
actual fun Qux.infixFunction2(another: Qux) {}
actual tailrec fun tailrecFunction1() {}
actual fun tailrecFunction2() {}
actual external fun externalFunction1()
actual fun externalFunction2() {}
actual inline fun inlineFunction1() {}
actual fun inlineFunction2() {}

View File

@@ -1,169 +0,0 @@
actual fun functionNoParameters() {}
actual fun functionSingleParameter(i: Int) {}
actual fun functionTwoParameters(i: Int, s: String) {}
actual fun functionThreeParameters(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames1(arg0: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames16(i: Int) {}
actual fun functionMismatchedParameterNames17(i: Int, s: String) {}
actual fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>) {}
actual fun functionMismatchedParameterNames19(vararg v: Int) {}
actual fun functionMismatchedParameterNames20(i: Int, vararg v: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames21(i: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames22(i: Int, s: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames24(vararg v: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames25(i: Int, vararg v: Int) {}
actual fun functionMismatchedParameterNames26(arg0: Int) {}
actual fun functionMismatchedParameterNames27(arg0: Int, arg1: String) {}
actual fun functionMismatchedParameterNames28(arg0: Int, arg1: String, arg2: List<Double>) {}
actual fun functionMismatchedParameterNames29(vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames31(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames32(i: Int, s: String) {
}
fun functionMismatchedParameterNames33(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames34(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames36(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames38(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames39(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames40(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(xi: Int, xs: String) {
}
fun functionMismatchedParameterCount1(i: Int, s: String) {}
fun functionMismatchedParameterCount2(i: Int, s: String, l: List<Double>) {}
fun functionMismatchedParameterTypes1(i: Int, s: String) {}
fun functionMismatchedParameterTypes2(i: Int, s: String) {}
fun functionDefaultValues1(i: Int = 1, s: String) {}
fun functionDefaultValues2(i: Int, s: String = "hello") {}
actual inline fun inlineFunction1(lazyMessage: () -> String) {}
actual inline fun inlineFunction2(lazyMessage: () -> String) {}
actual inline fun inlineFunction3(crossinline lazyMessage: () -> String) {}
actual inline fun inlineFunction4(lazyMessage: () -> String) {}
actual inline fun inlineFunction5(noinline lazyMessage: () -> String) {}
actual fun functionWithVararg1(vararg numbers: Int) {}
fun functionWithVararg2(vararg numbers: Int) {}
fun functionWithVararg3(vararg numbers: Int) {}
fun functionWithVararg4(numbers: Array<Int>) {}
actual fun functionWithVararg5(numbers: Array<out Int>) {}
actual fun functionWithVararg6(vararg names: String) {}
fun functionWithVararg7(vararg names: String) {}
fun functionWithVararg8(vararg names: String) {}
fun functionWithVararg9(names: Array<String>) {}
actual fun functionWithVararg10(names: Array<out String>) {}
actual fun <T> functionWithTypeParameters1(p1: T, p2: String) {}
fun <T> functionWithTypeParameters2(p1: T, p2: String) {}
fun <T> functionWithTypeParameters3(p1: T, p2: String) {}
actual fun <Q, R> functionWithTypeParameters4(p1: Q, p2: R) {}
fun <Q, R> functionWithTypeParameters5(p1: Q, p2: R) {}
fun <Q, R> functionWithTypeParameters6(p1: Q, p2: R) {}

View File

@@ -1,168 +0,0 @@
actual fun functionNoParameters() {}
actual fun functionSingleParameter(i: Int) {}
actual fun functionTwoParameters(i: Int, s: String) {}
actual fun functionThreeParameters(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames1(arg0: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames16(i: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames17(i: Int, s: String) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames19(vararg v: Int) {}
// hasStableParameterNames=false
actual fun functionMismatchedParameterNames20(i: Int, vararg v: Int) {}
actual fun functionMismatchedParameterNames21(i: Int) {}
actual fun functionMismatchedParameterNames22(i: Int, s: String) {}
actual fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>) {}
actual fun functionMismatchedParameterNames24(vararg v: Int) {}
actual fun functionMismatchedParameterNames25(i: Int, vararg v: Int) {}
actual fun functionMismatchedParameterNames26(arg0: Int) {}
actual fun functionMismatchedParameterNames27(arg0: Int, arg1: String) {}
actual fun functionMismatchedParameterNames28(arg0: Int, arg1: String, arg2: List<Double>) {}
actual fun functionMismatchedParameterNames29(vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames31(i: Int, s: String) {}
fun functionMismatchedParameterNames32(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames33(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames34(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames36(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames38(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames39(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames40(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(xi: Int, xs: String) {
}
fun functionMismatchedParameterCount1(i: Int, s: String, l: List<Double>) {}
fun functionMismatchedParameterCount2(i: Int, s: String) {}
fun functionMismatchedParameterTypes1(i: Short, s: String) {}
fun functionMismatchedParameterTypes2(i: Int, s: CharSequence) {}
fun functionDefaultValues1(i: Int = 1, s: String) {}
fun functionDefaultValues2(i: Int, s: String = "hello") {}
actual inline fun inlineFunction1(lazyMessage: () -> String) {}
actual inline fun inlineFunction2(crossinline lazyMessage: () -> String) {}
actual inline fun inlineFunction3(crossinline lazyMessage: () -> String) {}
actual inline fun inlineFunction4(noinline lazyMessage: () -> String) {}
actual inline fun inlineFunction5(noinline lazyMessage: () -> String) {}
actual fun functionWithVararg1(vararg numbers: Int) {}
fun functionWithVararg2(numbers: Array<Int>) {}
fun functionWithVararg3(numbers: Array<out Int>) {}
fun functionWithVararg4(numbers: Array<out Int>) {}
actual fun functionWithVararg5(numbers: Array<out Int>) {}
actual fun functionWithVararg6(vararg names: String) {}
fun functionWithVararg7(names: Array<String>) {}
fun functionWithVararg8(names: Array<out String>) {}
fun functionWithVararg9(names: Array<out String>) {}
actual fun functionWithVararg10(names: Array<out String>) {}
actual fun <T> functionWithTypeParameters1(p1: T, p2: String) {}
fun <T> functionWithTypeParameters2(p1: String, p2: String) {}
fun <T> functionWithTypeParameters2(p1: String, p2: T) {}
actual fun <Q, R> functionWithTypeParameters4(p1: Q, p2: R) {}
fun <R, Q> functionWithTypeParameters5(p1: Q, p2: R) {}
fun <Q, R> functionWithTypeParameters6(p1: R, p2: Q) {}

View File

@@ -1,66 +0,0 @@
import kotlin.annotation.AnnotationTarget.*
@Target(ANNOTATION_CLASS)
actual annotation class CommonAnnotationForAnnotationClassesOnly actual constructor(actual val text: String)
@Target(PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER, FIELD, VALUE_PARAMETER, TYPE_PARAMETER, FUNCTION, CLASS, CONSTRUCTOR, TYPEALIAS, TYPE)
@JsAnnotationForAnnotationClassesOnly("annotation-class")
@CommonAnnotationForAnnotationClassesOnly("annotation-class")
actual annotation class CommonAnnotation actual constructor(actual val text: String)
@Target(ANNOTATION_CLASS)
annotation class JsAnnotationForAnnotationClassesOnly(val text: String)
@Target(PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER, FIELD, VALUE_PARAMETER, TYPE_PARAMETER, FUNCTION, CLASS, CONSTRUCTOR, TYPEALIAS, TYPE)
@JsAnnotationForAnnotationClassesOnly("annotation-class")
@CommonAnnotationForAnnotationClassesOnly("annotation-class")
annotation class JsAnnotation(val text: String)
@JsAnnotation("property")
@CommonAnnotation("property")
actual var propertyWithoutBackingField
@JsAnnotation("getter") @CommonAnnotation("getter") get() = 3.14
@JsAnnotation("setter") @CommonAnnotation("setter") set(@JsAnnotation("parameter") @CommonAnnotation("parameter") value) = Unit
@field:JsAnnotation("field")
@field:CommonAnnotation("field")
actual val propertyWithBackingField = 3.14
@delegate:JsAnnotation("field")
@delegate:CommonAnnotation("field")
actual val propertyWithDelegateField: Int by lazy { 42 }
actual val <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length
@JsAnnotation("function")
@CommonAnnotation("function")
actual fun function1(@JsAnnotation("parameter") @CommonAnnotation("parameter") text: String) = text
@JsAnnotation("function")
@CommonAnnotation("function")
actual fun <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : Number>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): Q = this
@JsAnnotation("class")
@CommonAnnotation("class")
actual class AnnotatedClass @JsAnnotation("constructor") @CommonAnnotation("constructor") actual constructor(actual val value: String)
@JsAnnotation("js-only-class")
@CommonAnnotation("js-only-class")
class JsOnlyAnnotatedClass @JsAnnotation("js-only-constructor") @CommonAnnotation("js-only-constructor") constructor(val value: String)
@JsAnnotation("non-lifted-up-type-alias")
@CommonAnnotation("non-lifted-up-type-alias")
actual typealias AnnotatedNonLiftedUpTypeAlias = JsOnlyAnnotatedClass

View File

@@ -1,66 +0,0 @@
import kotlin.annotation.AnnotationTarget.*
@Target(ANNOTATION_CLASS)
actual annotation class CommonAnnotationForAnnotationClassesOnly actual constructor(actual val text: String)
@Target(PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER, FIELD, VALUE_PARAMETER, TYPE_PARAMETER, FUNCTION, CLASS, CONSTRUCTOR, TYPEALIAS, TYPE)
@JvmAnnotationForAnnotationClassesOnly("annotation-class")
@CommonAnnotationForAnnotationClassesOnly("annotation-class")
actual annotation class CommonAnnotation actual constructor(actual val text: String)
@Target(ANNOTATION_CLASS)
annotation class JvmAnnotationForAnnotationClassesOnly(val text: String)
@Target(PROPERTY, PROPERTY_GETTER, PROPERTY_SETTER, FIELD, VALUE_PARAMETER, TYPE_PARAMETER, FUNCTION, CLASS, CONSTRUCTOR, TYPEALIAS, TYPE)
@JvmAnnotationForAnnotationClassesOnly("annotation-class")
@CommonAnnotationForAnnotationClassesOnly("annotation-class")
annotation class JvmAnnotation(val text: String)
@JvmAnnotation("property")
@CommonAnnotation("property")
actual var propertyWithoutBackingField
@JvmAnnotation("getter") @CommonAnnotation("getter") get() = 3.14
@JvmAnnotation("setter") @CommonAnnotation("setter") set(@JvmAnnotation("parameter") @CommonAnnotation("parameter") value) = Unit
@field:JvmAnnotation("field")
@field:CommonAnnotation("field")
actual val propertyWithBackingField = 3.14
@delegate:JvmAnnotation("field")
@delegate:CommonAnnotation("field")
actual val propertyWithDelegateField: Int by lazy { 42 }
actual val <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length
@JvmAnnotation("function")
@CommonAnnotation("function")
actual fun function1(@JvmAnnotation("parameter") @CommonAnnotation("parameter") text: String) = text
@JvmAnnotation("function")
@CommonAnnotation("function")
actual fun <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : Number>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): Q = this
@JvmAnnotation("class")
@CommonAnnotation("class")
actual class AnnotatedClass @JvmAnnotation("constructor") @CommonAnnotation("constructor") actual constructor(actual val value: String)
@JvmAnnotation("jvm-only-class")
@CommonAnnotation("jvm-only-class")
class JvmOnlyAnnotatedClass @JvmAnnotation("jvm-only-constructor") @CommonAnnotation("jvm-only-constructor") constructor(val value: String)
@JvmAnnotation("non-lifted-up-type-alias")
@CommonAnnotation("non-lifted-up-type-alias")
actual typealias AnnotatedNonLiftedUpTypeAlias = JvmOnlyAnnotatedClass

View File

@@ -1,3 +0,0 @@
package org.sample
val bar = 1

View File

@@ -1,3 +0,0 @@
package org.sample.one
val baz = 1

View File

@@ -1,3 +0,0 @@
package org.sample.two
actual val qux = 1

View File

@@ -1,5 +0,0 @@
actual val foo = 1
val jsSpecificProperty = 42
val jsAndJvmSpecificProperty = 42 * 2
val jsAndNativeSpecificProperty = 42 * 3

View File

@@ -1,3 +0,0 @@
package org.sample
val bar = 1

View File

@@ -1,3 +0,0 @@
package org.sample.two
actual val qux = 1

View File

@@ -1,5 +0,0 @@
actual val foo = 1
val jvmSpecificProperty = 42
val jsAndJvmSpecificProperty = 42 * 2
val jvmAndNativeSpecificProperty = 42 * 4

View File

@@ -1,3 +0,0 @@
package org.sample.one
val baz = 1

View File

@@ -1,3 +0,0 @@
package org.sample.two
actual val qux = 1

View File

@@ -1,5 +0,0 @@
actual val foo = 1
val nativeSpecificProperty = 42
val jsAndNativeSpecificProperty = 42 * 3
val jvmAndNativeSpecificProperty = 42 * 4

View File

@@ -1,22 +0,0 @@
const val property2 = 42
val property3 = 42 // intentionally left as non-const
actual val property4 = 42
actual val property6: Byte = 42
actual val property8: Short = 42
actual val property10: Long = 42
actual val property12: Double = 4.2
actual val property14: Float = 4.2f
actual val property16 = true
actual val property18 = "42"
actual val property20: Char = 42.toChar()
const val property21: Byte = 42
const val property22: Short = 42
const val property23: Int = 42
const val property24: Long = 42
const val property25: Double = 4.2
const val property26: Float = 4.2f
const val property27 = true
const val property28 = "42"
const val property29: Char = 42.toChar()

View File

@@ -1,22 +0,0 @@
val property2 = 42 // intentionally left as non-const
const val property3 = 42
actual val property4 = 42
actual val property6: Byte = 142
actual val property8: Short = 142
actual val property10: Long = 142
actual val property12: Double = 14.2
actual val property14: Float = 14.2f
actual val property16 = false
actual val property18 = "142"
actual val property20: Char = 142.toChar()
const val property21: Char = 42.toChar()
const val property22: Byte = 42
const val property23: Short = 42
const val property24: Int = 42
const val property25: Long = 42
const val property26: Double = 4.2
const val property27: Float = 4.2f
const val property28 = true
const val property29 = "42"

View File

@@ -1,26 +0,0 @@
actual interface I1
actual interface I2
actual interface I3<T>
actual object Holder {
actual val <T : I1> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I2> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Any?>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<*>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : Any> T.propertyWithReceiver: Unit get() = Unit
actual val <T> T.propertyWithReceiver: Unit get() = Unit
actual val I1.propertyWithReceiver: Unit get() = Unit
actual val I2.propertyWithReceiver: Unit get() = Unit
actual val Any.propertyWithReceiver: Unit get() = Unit
actual val Any?.propertyWithReceiver: Unit get() = Unit
actual val propertyWithReceiver: Unit get() = Unit
}

View File

@@ -1,26 +0,0 @@
actual interface I1
actual interface I2
actual interface I3<T>
actual object Holder {
actual val <T : I1> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I2> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out String>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out Int>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<in Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<out Any>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<Any?>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : I3<*>> T.propertyWithReceiver: Unit get() = Unit
actual val <T : Any> T.propertyWithReceiver: Unit get() = Unit
actual val <T> T.propertyWithReceiver: Unit get() = Unit
actual val I1.propertyWithReceiver: Unit get() = Unit
actual val I2.propertyWithReceiver: Unit get() = Unit
actual val Any.propertyWithReceiver: Unit get() = Unit
actual val Any?.propertyWithReceiver: Unit get() = Unit
actual val propertyWithReceiver: Unit get() = Unit
}

View File

@@ -1,30 +0,0 @@
actual var defaultSetter1 = 42
actual var defaultSetter2 = 42
set
actual var defaultSetter3 = 42
set
actual var setterWithoutBackingField1
get() = 42
set(value) = Unit
actual var setterWithoutBackingField2
get() = 42
set(value) = Unit
actual var setterWithDelegation1: Int by mutableMapOf("setterWithDelegation1" to 42)
actual var setterWithDelegation2: Int by mutableMapOf("setterWithDelegation2" to 42)
actual var defaultSetteCustomVisibility1 = 42
public set
var defaultSetteCustomVisibility2 = 42
internal set
actual var defaultSetteCustomVisibility3 = 42
internal set
var defaultSetteCustomVisibility4 = 42
private set
var defaultSetteCustomVisibility5 = 42
private set
actual val propertyWithoutSetter = 42
var propertyMaybeSetter = 42
actual var propertyWithSetter = 42

View File

@@ -1,27 +0,0 @@
actual var defaultSetter1 = 42
actual var defaultSetter2 = 42
actual var defaultSetter3 = 42
set
actual var setterWithoutBackingField1
get() = 42
set(value) = Unit
actual var setterWithoutBackingField2 = 42
actual var setterWithDelegation1: Int by mutableMapOf("setterWithDelegation1" to 42)
actual var setterWithDelegation2 = 42
actual var defaultSetteCustomVisibility1 = 42
public set
var defaultSetteCustomVisibility2 = 42
public set
actual var defaultSetteCustomVisibility3 = 42
internal set
var defaultSetteCustomVisibility4 = 42
internal set
var defaultSetteCustomVisibility5 = 42
private set
actual val propertyWithoutSetter = 42
val propertyMaybeSetter = 42
actual var propertyWithSetter = 42

View File

@@ -1,30 +0,0 @@
actual val delegatedProperty1: Int by lazy { 42 }
actual val delegatedProperty2: Int by lazy { 42 }
actual val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42)
actual val delegatedProperty4: Int by mapOf("delegatedProperty4" to 42)
lateinit var lateinitProperty1: String
lateinit var lateinitProperty2: String
actual inline val inlineProperty1 get() = 42
actual inline val inlineProperty2 get() = 42
actual inline val inlineProperty3 get() = 42
actual inline var inlineProperty4
get() = 42
set(value) = Unit
actual inline var inlineProperty5
get() = 42
set(value) = Unit
actual inline var inlineProperty6
get() = 42
set(value) = Unit
actual inline var inlineProperty7
get() = 42
set(value) = Unit
actual inline var inlineProperty8
get() = 42
set(value) = Unit
actual external val externalProperty1: Int
actual external val externalProperty2: Int

View File

@@ -1,30 +0,0 @@
actual val delegatedProperty1: Int by lazy { 42 }
actual val delegatedProperty2 = 42 // intentionally left as non-delegated
actual val delegatedProperty3: Int by mapOf("delegatedProperty3" to 42)
actual val delegatedProperty4 = 42 // intentionally left as non-delegated
lateinit var lateinitProperty1: String
var lateinitProperty2 = "hello" // intentionally left as non-lateinit
actual val inlineProperty1 inline get() = 42
actual inline val inlineProperty2 get() = 42
actual val inlineProperty3 = 42 // intentionally left as non-inline
actual var inlineProperty4
inline get() = 42
inline set(value) = Unit
inline actual var inlineProperty5
get() = 42
set(value) = Unit
actual var inlineProperty6
inline get() = 42
set(value) = Unit
actual var inlineProperty7
get() = 42
inline set(value) = Unit
actual var inlineProperty8
get() = 42
set(value) = Unit
actual external val externalProperty1: Int
actual val externalProperty2: Int = 1

View File

@@ -124,7 +124,7 @@ private class SourceModuleRoots(
check(sharedTarget.targets == leafTargets)
val allTargets = leafTargets + sharedTarget
check(commonizedRoots.keys == allTargets)
check(commonizedRoots.keys.single() == sharedTarget)
check(allTargets.containsAll(dependencyRoots.keys))
}
@@ -189,7 +189,7 @@ private class AnalyzedModules(
sharedTarget = SharedCommonizerTarget(leafTargets)
val allTargets = leafTargets + sharedTarget
check(commonizedModules.keys == allTargets)
check(commonizedModules.keys.single() == sharedTarget)
check(allTargets.containsAll(dependencyModules.keys))
}