[Minor] Re-format :kotlin-klib-commonizer and :kotlin-klib-commonizer-api

This commit is contained in:
sebastian.sellmair
2021-04-14 14:33:50 +02:00
committed by Space
parent f893709e5b
commit 05a6d89151
91 changed files with 1144 additions and 351 deletions
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.commonizer
import java.io.File import java.io.File
import java.io.Serializable import java.io.Serializable
import kotlin.jvm.Throws
public interface Commonizer : Serializable { public interface Commonizer : Serializable {
@Throws(Throwable::class) @Throws(Throwable::class)
+19 -6
View File
@@ -1,8 +1,13 @@
# KLIB Commonizer # KLIB Commonizer
You can use platform-dependent libraries, such as `Foundation`, `UIKit`, `posix`, in source sets shared among several native targets. For each project that has native source sets that depend on a shared _native_ source set, the special tool KLIB Commonizer automatically produces: You can use platform-dependent libraries, such as `Foundation`, `UIKit`, `posix`, in source sets shared among several native targets. For
* One library in the KLIB format (`*.klib`) with the common API of the library that includes declarations that are identical among all platforms and `expect` declarations for the APIs that differ from platform to platform. each project that has native source sets that depend on a shared _native_ source set, the special tool KLIB Commonizer automatically
* One KLIB for each platform-specific source set that contains the `actual` declarations and the declarations that are available only on this particular platform. produces:
* One library in the KLIB format (`*.klib`) with the common API of the library that includes declarations that are identical among all
platforms and `expect` declarations for the APIs that differ from platform to platform.
* One KLIB for each platform-specific source set that contains the `actual` declarations and the declarations that are available only on
this particular platform.
``` ```
commonMain commonMain
@@ -25,8 +30,12 @@ Foundation (ios_arm64) Foundation (ios_x64)
The resulting KLIBs are automatically added to the dependencies of the corresponding shared native and platform-specific source sets. The resulting KLIBs are automatically added to the dependencies of the corresponding shared native and platform-specific source sets.
There are few limitations in the current version of KLIB Commonizer: There are few limitations in the current version of KLIB Commonizer:
* It supports only interop libraries shipped with Kotlin/Native. It doesn't support KLIBs that are produced from C-interop or Kotlin code. * It supports only interop libraries shipped with Kotlin/Native. It doesn't support KLIBs that are produced from C-interop or Kotlin code.
* It works only for a native source set that is shared among platform-specific source sets and these source sets themselves. It doesn't work for native source sets shared at higher levels of the source set hierarchy. For example, if you have `nativeDarwinMain` that includes `iosMain` with `iosArm64Main` and `iosX64Main`, and `watchosDeviceMain` with `watchosArm64Main` and `watchosArm32Main`, the KLIB Commonizer will work separately for `iosMain` and `watchosDeviceMain` and won't work for `nativeDarwinMain`. * It works only for a native source set that is shared among platform-specific source sets and these source sets themselves. It doesn't work
for native source sets shared at higher levels of the source set hierarchy. For example, if you have `nativeDarwinMain` that
includes `iosMain` with `iosArm64Main` and `iosX64Main`, and `watchosDeviceMain` with `watchosArm64Main` and `watchosArm32Main`, the KLIB
Commonizer will work separately for `iosMain` and `watchosDeviceMain` and won't work for `nativeDarwinMain`.
``` ```
commonMain commonMain
| |
@@ -40,12 +49,16 @@ There are few limitations in the current version of KLIB Commonizer:
iosArm64Main iosX64Main iosArm64Main iosX64Main
``` ```
* It does not process targets that are not available at the current host machine. For example, if you have a project with `nativeMain` source set that includes `macosX64Main`, `linuxX64Main` and `mingwX64Main`, and you run the KLIB Commonizer for this project on MacOS machine, then `mingwX64Main` source set will not be processed as far as `mingw_x64` target is absent in Kotlin/Native distribution for MacOS. The KLIB Commonizer will print the appropriate warning message and will work only for `macosX64Main` and `linuxX64Main` source sets. You can find the list of targets supported on various hosts here: https://kotlinlang.org/docs/reference/mpp-supported-platforms.html * It does not process targets that are not available at the current host machine. For example, if you have a project with `nativeMain`
source set that includes `macosX64Main`, `linuxX64Main` and `mingwX64Main`, and you run the KLIB Commonizer for this project on MacOS
machine, then `mingwX64Main` source set will not be processed as far as `mingw_x64` target is absent in Kotlin/Native distribution for
MacOS. The KLIB Commonizer will print the appropriate warning message and will work only for `macosX64Main` and `linuxX64Main` source
sets. You can find the list of targets supported on various hosts here: https://kotlinlang.org/docs/reference/mpp-supported-platforms.html
``` ```
Kotlin KLIB commonizer: Please wait while preparing libraries. Kotlin KLIB commonizer: Please wait while preparing libraries.
[Step 1 of 1] Preparing commonized Kotlin/Native libraries for targets [macos_x64, linux_x64, mingw_x64] (137 items) [Step 1 of 1] Preparing commonized Kotlin/Native libraries for targets [macos_x64, linux_x64, mingw_x64] (137 items)
Warning: No platform libraries found for target [mingw_x64]. This target will be excluded from commonization. Warning: No platform libraries found for target [mingw_x64]. This target will be excluded from commonization.
... ...
``` ```
In the degenerate case when all but one targets are not available at the host machine, the KLIB Commonizer is not launched. In the degenerate case when all but one targets are not available at the host machine, the KLIB Commonizer is not launched.
@@ -5,10 +5,12 @@
package org.jetbrains.kotlin.commonizer.cir package org.jetbrains.kotlin.commonizer.cir
import org.jetbrains.kotlin.commonizer.cir.CirEntityId.Companion.create
import org.jetbrains.kotlin.commonizer.cir.CirName.Companion.create import org.jetbrains.kotlin.commonizer.cir.CirName.Companion.create
import org.jetbrains.kotlin.commonizer.utils.hashCode import org.jetbrains.kotlin.commonizer.cir.CirPackageName.Companion.create
import org.jetbrains.kotlin.commonizer.utils.Interner import org.jetbrains.kotlin.commonizer.utils.Interner
import org.jetbrains.kotlin.commonizer.utils.appendHashCode import org.jetbrains.kotlin.commonizer.utils.appendHashCode
import org.jetbrains.kotlin.commonizer.utils.hashCode
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.commonizer.cir package org.jetbrains.kotlin.commonizer.cir
import org.jetbrains.kotlin.commonizer.utils.Interner
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.utils.Interner
interface CirPropertySetter : CirDeclaration, CirPropertyAccessor, CirHasVisibility { interface CirPropertySetter : CirDeclaration, CirPropertyAccessor, CirHasVisibility {
val parameterAnnotations: List<CirAnnotation> val parameterAnnotations: List<CirAnnotation>
@@ -5,8 +5,8 @@
package org.jetbrains.kotlin.commonizer.cir package org.jetbrains.kotlin.commonizer.cir
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.commonizer.utils.ANY_CLASS_ID import org.jetbrains.kotlin.commonizer.utils.ANY_CLASS_ID
import org.jetbrains.kotlin.descriptors.Visibilities
object CirStandardTypes { object CirStandardTypes {
val ANY: CirClassType = CirClassType.createInterned( val ANY: CirClassType = CirClassType.createInterned(
@@ -6,10 +6,10 @@
package org.jetbrains.kotlin.commonizer.cir package org.jetbrains.kotlin.commonizer.cir
import kotlinx.metadata.KmType import kotlinx.metadata.KmType
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.utils.Interner import org.jetbrains.kotlin.commonizer.utils.Interner
import org.jetbrains.kotlin.commonizer.utils.appendHashCode import org.jetbrains.kotlin.commonizer.utils.appendHashCode
import org.jetbrains.kotlin.commonizer.utils.hashCode import org.jetbrains.kotlin.commonizer.utils.hashCode
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
typealias CirTypeSignature = String typealias CirTypeSignature = String
@@ -9,7 +9,8 @@ import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.target.KonanTarget.Companion.predefinedTargets import org.jetbrains.kotlin.konan.target.KonanTarget.Companion.predefinedTargets
internal object NativeTargetsOptionType : OptionType<List<KonanTarget>>( internal object NativeTargetsOptionType : OptionType<List<KonanTarget>>(
"targets", "Comma-separated list of hardware targets", mandatory = false) { "targets", "Comma-separated list of hardware targets", mandatory = false
) {
override fun parse(rawValue: String, onError: (reason: String) -> Nothing): Option<List<KonanTarget>> { override fun parse(rawValue: String, onError: (reason: String) -> Nothing): Option<List<KonanTarget>> {
val targetNames = rawValue.split(',') val targetNames = rawValue.split(',')
if (targetNames.isEmpty()) onError("No hardware targets specified: $rawValue") if (targetNames.isEmpty()) onError("No hardware targets specified: $rawValue")
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.DELEGATION
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZED
import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.commonizer.cir.CirName import org.jetbrains.kotlin.commonizer.cir.CirName
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.DELEGATION
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind.SYNTHESIZED
abstract class AbstractFunctionOrPropertyCommonizer<T : CirFunctionOrProperty>( abstract class AbstractFunctionOrPropertyCommonizer<T : CirFunctionOrProperty>(
classifiers: CirKnownClassifiers classifiers: CirKnownClassifiers
@@ -5,10 +5,10 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.commonizer.cir.CirClass import org.jetbrains.kotlin.commonizer.cir.CirClass
import org.jetbrains.kotlin.commonizer.cir.CirName import org.jetbrains.kotlin.commonizer.cir.CirName
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.descriptors.ClassKind
class ClassCommonizer(classifiers: CirKnownClassifiers) : AbstractStandardCommonizer<CirClass, CirClass>() { class ClassCommonizer(classifiers: CirKnownClassifiers) : AbstractStandardCommonizer<CirClass, CirClass>() {
private lateinit var name: CirName private lateinit var name: CirName
@@ -5,11 +5,11 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.commonizer.cir.CirClassConstructor import org.jetbrains.kotlin.commonizer.cir.CirClassConstructor
import org.jetbrains.kotlin.commonizer.cir.CirContainingClass import org.jetbrains.kotlin.commonizer.cir.CirContainingClass
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
class ClassConstructorCommonizer( class ClassConstructorCommonizer(
classifiers: CirKnownClassifiers classifiers: CirKnownClassifiers
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirClass import org.jetbrains.kotlin.commonizer.cir.CirClass
import org.jetbrains.kotlin.commonizer.cir.CirType import org.jetbrains.kotlin.commonizer.cir.CirType
import org.jetbrains.kotlin.commonizer.mergedtree.* import org.jetbrains.kotlin.commonizer.mergedtree.*
import org.jetbrains.kotlin.commonizer.utils.* import org.jetbrains.kotlin.commonizer.utils.CommonizedGroup
import org.jetbrains.kotlin.commonizer.utils.compactMapNotNull import org.jetbrains.kotlin.commonizer.utils.compactMapNotNull
internal class CommonizationVisitor( internal class CommonizationVisitor(
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.commonizer.cir.CirPropertySetter import org.jetbrains.kotlin.commonizer.cir.CirPropertySetter
import org.jetbrains.kotlin.descriptors.Visibility
class PropertySetterCommonizer : AbstractNullableCommonizer<CirPropertySetter, CirPropertySetter, CirHasVisibility, Visibility>( class PropertySetterCommonizer : AbstractNullableCommonizer<CirPropertySetter, CirPropertySetter, CirHasVisibility, Visibility>(
wrappedCommonizerFactory = { VisibilityCommonizer.equalizing() }, wrappedCommonizerFactory = { VisibilityCommonizer.equalizing() },
@@ -5,10 +5,10 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
/** /**
* Primary (optimistic) branch: * Primary (optimistic) branch:
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirRegularTypeProjection
import org.jetbrains.kotlin.commonizer.cir.CirStarTypeProjection import org.jetbrains.kotlin.commonizer.cir.CirStarTypeProjection
import org.jetbrains.kotlin.commonizer.cir.CirTypeProjection import org.jetbrains.kotlin.commonizer.cir.CirTypeProjection
import org.jetbrains.kotlin.commonizer.cir.CirRegularTypeProjection
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
@@ -5,12 +5,12 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.commonizer.core.CommonizedTypeAliasAnswer.Companion.FAILURE_MISSING_IN_SOME_TARGET import org.jetbrains.kotlin.commonizer.core.CommonizedTypeAliasAnswer.Companion.FAILURE_MISSING_IN_SOME_TARGET
import org.jetbrains.kotlin.commonizer.core.CommonizedTypeAliasAnswer.Companion.SUCCESS_FROM_DEPENDENCY_LIBRARY import org.jetbrains.kotlin.commonizer.core.CommonizedTypeAliasAnswer.Companion.SUCCESS_FROM_DEPENDENCY_LIBRARY
import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers import org.jetbrains.kotlin.commonizer.mergedtree.CirKnownClassifiers
import org.jetbrains.kotlin.commonizer.utils.isUnderKotlinNativeSyntheticPackages import org.jetbrains.kotlin.commonizer.utils.isUnderKotlinNativeSyntheticPackages
import org.jetbrains.kotlin.descriptors.Visibility
class TypeCommonizer(private val classifiers: CirKnownClassifiers) : AbstractStandardCommonizer<CirType, CirType>() { class TypeCommonizer(private val classifiers: CirKnownClassifiers) : AbstractStandardCommonizer<CirType, CirType>() {
private lateinit var wrapped: Commonizer<*, CirType> private lateinit var wrapped: Commonizer<*, CirType>
@@ -141,7 +141,11 @@ private class TypeAliasTypeCommonizer(private val classifiers: CirKnownClassifie
// type alias don't needs to be commonized because it is from the standard library // type alias don't needs to be commonized because it is from the standard library
fun forKnownUnderlyingType(underlyingType: CirClassOrTypeAliasType) = object : CommonizedTypeAliasTypeBuilder { fun forKnownUnderlyingType(underlyingType: CirClassOrTypeAliasType) = object : CommonizedTypeAliasTypeBuilder {
override fun build(typeAliasId: CirEntityId, arguments: List<CirTypeProjection>, isMarkedNullable: Boolean): CirTypeAliasType { override fun build(
typeAliasId: CirEntityId,
arguments: List<CirTypeProjection>,
isMarkedNullable: Boolean
): CirTypeAliasType {
val underlyingTypeWithProperNullability = underlyingType.makeNullableIfNecessary(isMarkedNullable) val underlyingTypeWithProperNullability = underlyingType.makeNullableIfNecessary(isMarkedNullable)
return CirTypeAliasType.createInterned( return CirTypeAliasType.createInterned(
typeAliasId = typeAliasId, typeAliasId = typeAliasId,
@@ -5,10 +5,10 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility
abstract class VisibilityCommonizer : Commonizer<CirHasVisibility, Visibility> { abstract class VisibilityCommonizer : Commonizer<CirHasVisibility, Visibility> {
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.commonizer.konan
import org.jetbrains.kotlin.commonizer.ModulesProvider import org.jetbrains.kotlin.commonizer.ModulesProvider
import org.jetbrains.kotlin.commonizer.ModulesProvider.ModuleInfo import org.jetbrains.kotlin.commonizer.ModulesProvider.ModuleInfo
import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME
import org.jetbrains.kotlin.library.SerializedMetadata import org.jetbrains.kotlin.library.SerializedMetadata
import org.jetbrains.kotlin.library.metadata.parseModuleHeader import org.jetbrains.kotlin.library.metadata.parseModuleHeader
import java.io.File import java.io.File
@@ -6,10 +6,10 @@
package org.jetbrains.kotlin.commonizer.mergedtree package org.jetbrains.kotlin.commonizer.mergedtree
import gnu.trove.THashMap import gnu.trove.THashMap
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.commonizer.cir.CirEntityId import org.jetbrains.kotlin.commonizer.cir.CirEntityId
import org.jetbrains.kotlin.commonizer.cir.CirName import org.jetbrains.kotlin.commonizer.cir.CirName
import org.jetbrains.kotlin.commonizer.cir.CirPackageName import org.jetbrains.kotlin.commonizer.cir.CirPackageName
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
object CirFictitiousFunctionClassifiers : CirProvidedClassifiers { object CirFictitiousFunctionClassifiers : CirProvidedClassifiers {
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.commonizer.mergedtree
import com.intellij.util.containers.FactoryMap import com.intellij.util.containers.FactoryMap
import gnu.trove.THashMap import gnu.trove.THashMap
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.commonizer.ModulesProvider import org.jetbrains.kotlin.commonizer.ModulesProvider
import org.jetbrains.kotlin.commonizer.ModulesProvider.CInteropModuleAttributes import org.jetbrains.kotlin.commonizer.ModulesProvider.CInteropModuleAttributes
import org.jetbrains.kotlin.commonizer.cir.CirEntityId import org.jetbrains.kotlin.commonizer.cir.CirEntityId
@@ -17,6 +16,7 @@ import org.jetbrains.kotlin.commonizer.utils.NON_EXISTING_CLASSIFIER_ID
import org.jetbrains.kotlin.commonizer.utils.compactMap import org.jetbrains.kotlin.commonizer.utils.compactMap
import org.jetbrains.kotlin.commonizer.utils.compactMapIndexed import org.jetbrains.kotlin.commonizer.utils.compactMapIndexed
import org.jetbrains.kotlin.commonizer.utils.isUnderKotlinNativeSyntheticPackages import org.jetbrains.kotlin.commonizer.utils.isUnderKotlinNativeSyntheticPackages
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.library.SerializedMetadata import org.jetbrains.kotlin.library.SerializedMetadata
import org.jetbrains.kotlin.library.metadata.parsePackageFragment import org.jetbrains.kotlin.library.metadata.parsePackageFragment
import org.jetbrains.kotlin.metadata.ProtoBuf import org.jetbrains.kotlin.metadata.ProtoBuf
@@ -6,10 +6,8 @@
package org.jetbrains.kotlin.commonizer.mergedtree package org.jetbrains.kotlin.commonizer.mergedtree
import gnu.trove.THashMap import gnu.trove.THashMap
import org.jetbrains.kotlin.commonizer.CommonizerTarget
import org.jetbrains.kotlin.commonizer.cir.CirName import org.jetbrains.kotlin.commonizer.cir.CirName
import org.jetbrains.kotlin.commonizer.cir.CirRoot import org.jetbrains.kotlin.commonizer.cir.CirRoot
import org.jetbrains.kotlin.commonizer.mergedtree.CirNode.Companion.indexOfCommon
import org.jetbrains.kotlin.commonizer.utils.CommonizedGroup import org.jetbrains.kotlin.commonizer.utils.CommonizedGroup
import org.jetbrains.kotlin.storage.NullableLazyValue import org.jetbrains.kotlin.storage.NullableLazyValue
@@ -5,10 +5,10 @@
package org.jetbrains.kotlin.commonizer.mergedtree package org.jetbrains.kotlin.commonizer.mergedtree
import org.jetbrains.kotlin.commonizer.cir.CirDeclaration
import org.jetbrains.kotlin.commonizer.cir.CirEntityId
import org.jetbrains.kotlin.commonizer.cir.CirClassRecursionMarker import org.jetbrains.kotlin.commonizer.cir.CirClassRecursionMarker
import org.jetbrains.kotlin.commonizer.cir.CirClassifierRecursionMarker import org.jetbrains.kotlin.commonizer.cir.CirClassifierRecursionMarker
import org.jetbrains.kotlin.commonizer.cir.CirDeclaration
import org.jetbrains.kotlin.commonizer.cir.CirEntityId
import org.jetbrains.kotlin.commonizer.core.* import org.jetbrains.kotlin.commonizer.core.*
import org.jetbrains.kotlin.commonizer.utils.CommonizedGroup import org.jetbrains.kotlin.commonizer.utils.CommonizedGroup
import org.jetbrains.kotlin.storage.NullableLazyValue import org.jetbrains.kotlin.storage.NullableLazyValue
@@ -9,7 +9,6 @@ import kotlinx.metadata.*
import kotlinx.metadata.klib.* import kotlinx.metadata.klib.*
import org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer import org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer
import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.commonizer.mergedtree.*
import org.jetbrains.kotlin.commonizer.metadata.TypeAliasExpansion.* import org.jetbrains.kotlin.commonizer.metadata.TypeAliasExpansion.*
import org.jetbrains.kotlin.commonizer.utils.DEFAULT_SETTER_VALUE_NAME import org.jetbrains.kotlin.commonizer.utils.DEFAULT_SETTER_VALUE_NAME
import org.jetbrains.kotlin.commonizer.utils.SPECIAL_CLASS_WITHOUT_SUPERTYPES_CLASS_NAMES import org.jetbrains.kotlin.commonizer.utils.SPECIAL_CLASS_WITHOUT_SUPERTYPES_CLASS_NAMES
@@ -7,17 +7,16 @@ package org.jetbrains.kotlin.commonizer.metadata
import kotlinx.metadata.* import kotlinx.metadata.*
import kotlinx.metadata.klib.KlibModuleMetadata import kotlinx.metadata.klib.KlibModuleMetadata
import org.jetbrains.kotlin.commonizer.CommonizerTarget
import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.commonizer.mergedtree.* import org.jetbrains.kotlin.commonizer.mergedtree.*
import org.jetbrains.kotlin.commonizer.mergedtree.CirNode.Companion.indexOfCommon import org.jetbrains.kotlin.commonizer.mergedtree.CirNode.Companion.indexOfCommon
import org.jetbrains.kotlin.commonizer.metadata.CirTreeSerializationContext.Path
import org.jetbrains.kotlin.commonizer.stats.DeclarationType import org.jetbrains.kotlin.commonizer.stats.DeclarationType
import org.jetbrains.kotlin.commonizer.stats.StatsCollector import org.jetbrains.kotlin.commonizer.stats.StatsCollector
import org.jetbrains.kotlin.commonizer.stats.StatsCollector.StatsKey import org.jetbrains.kotlin.commonizer.stats.StatsCollector.StatsKey
import org.jetbrains.kotlin.commonizer.utils.DEFAULT_CONSTRUCTOR_NAME import org.jetbrains.kotlin.commonizer.utils.DEFAULT_CONSTRUCTOR_NAME
import org.jetbrains.kotlin.utils.addToStdlib.cast
import org.jetbrains.kotlin.commonizer.utils.firstNonNull import org.jetbrains.kotlin.commonizer.utils.firstNonNull
import org.jetbrains.kotlin.commonizer.metadata.CirTreeSerializationContext.Path import org.jetbrains.kotlin.utils.addToStdlib.cast
object CirTreeSerializer { object CirTreeSerializer {
fun serializeSingleTarget( fun serializeSingleTarget(
@@ -176,7 +175,14 @@ private class CirTreeSerializationVisitor(
property property
} }
return cirClass.serializeClass(classContext, fullClassName, directNestedClasses, nestedConstructors, nestedFunctions, nestedProperties) return cirClass.serializeClass(
classContext,
fullClassName,
directNestedClasses,
nestedConstructors,
nestedFunctions,
nestedProperties
)
} }
override fun visitClassConstructorNode( override fun visitClassConstructorNode(
@@ -8,11 +8,11 @@ package org.jetbrains.kotlin.commonizer.metadata
import kotlinx.metadata.Flag import kotlinx.metadata.Flag
import kotlinx.metadata.Flags import kotlinx.metadata.Flags
import kotlinx.metadata.flagsOf import kotlinx.metadata.flagsOf
import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.commonizer.cir.*
internal const val NO_FLAGS: Flags = 0 internal const val NO_FLAGS: Flags = 0
@@ -8,11 +8,23 @@ package org.jetbrains.kotlin.commonizer.metadata.utils
import com.intellij.util.containers.FactoryMap import com.intellij.util.containers.FactoryMap
import kotlinx.metadata.* import kotlinx.metadata.*
import kotlinx.metadata.klib.* import kotlinx.metadata.klib.*
import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.EntityKind.AnnotationKind import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.EntityKind.*
import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.EntityKind.TypeKind import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.Mismatch
import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.EntityKind.FlagKind import org.jetbrains.kotlin.commonizer.metadata.utils.MetadataDeclarationsComparator.Result
import org.jetbrains.kotlin.commonizer.utils.KNI_BRIDGE_FUNCTION_PREFIX import org.jetbrains.kotlin.commonizer.utils.KNI_BRIDGE_FUNCTION_PREFIX
import java.util.* import java.util.*
import kotlin.Any
import kotlin.Array
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.apply
import kotlin.arrayOf
import kotlin.check
import kotlin.error
import kotlin.let
import kotlin.reflect.KProperty import kotlin.reflect.KProperty
import kotlin.reflect.KProperty0 import kotlin.reflect.KProperty0
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.commonizer.repository package org.jetbrains.kotlin.commonizer.repository
import org.jetbrains.kotlin.commonizer.* import org.jetbrains.kotlin.commonizer.*
import org.jetbrains.kotlin.commonizer.NativeLibraryLoader
import org.jetbrains.kotlin.commonizer.konan.NativeLibrary import org.jetbrains.kotlin.commonizer.konan.NativeLibrary
internal class CommonizerDependencyRepository( internal class CommonizerDependencyRepository(
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.commonizer.repository package org.jetbrains.kotlin.commonizer.repository
import org.jetbrains.kotlin.commonizer.* import org.jetbrains.kotlin.commonizer.*
import org.jetbrains.kotlin.commonizer.NativeLibraryLoader
import org.jetbrains.kotlin.commonizer.konan.NativeLibrary import org.jetbrains.kotlin.commonizer.konan.NativeLibrary
import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.konan.target.KonanTarget
@@ -6,14 +6,12 @@
package org.jetbrains.kotlin.commonizer.stats package org.jetbrains.kotlin.commonizer.stats
import com.intellij.util.containers.FactoryMap import com.intellij.util.containers.FactoryMap
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.commonizer.CommonizerTarget import org.jetbrains.kotlin.commonizer.CommonizerTarget
import org.jetbrains.kotlin.commonizer.identityString import org.jetbrains.kotlin.commonizer.identityString
import org.jetbrains.kotlin.commonizer.stats.StatsCollector.StatsKey import org.jetbrains.kotlin.commonizer.stats.StatsCollector.StatsKey
import org.jetbrains.kotlin.commonizer.stats.StatsOutput.StatsHeader import org.jetbrains.kotlin.commonizer.stats.StatsOutput.StatsHeader
import org.jetbrains.kotlin.commonizer.stats.StatsOutput.StatsRow import org.jetbrains.kotlin.commonizer.stats.StatsOutput.StatsRow
import java.util.* import java.util.*
import kotlin.collections.ArrayList
/** /**
* Allows printing commonization statistics to the file system. * Allows printing commonization statistics to the file system.
@@ -71,7 +71,8 @@ internal fun CirNodeWithMembers<*, *>.buildFunction(
} }
internal fun CirNodeWithMembers<*, *>.buildProperty( internal fun CirNodeWithMembers<*, *>.buildProperty(
context: TargetBuildingContext, treeProperty: CirTreeProperty, parent: CirNode<*, *>? = null) { context: TargetBuildingContext, treeProperty: CirTreeProperty, parent: CirNode<*, *>? = null
) {
val propertyNode = properties.getOrPut(treeProperty.approximationKey) { val propertyNode = properties.getOrPut(treeProperty.approximationKey) {
buildPropertyNode(context.storageManager, context.targets, context.classifiers, parent?.commonDeclaration) buildPropertyNode(context.storageManager, context.targets, context.classifiers, parent?.commonDeclaration)
} }
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
import java.util.* import java.util.*
import java.util.Collections.singletonList import java.util.Collections.singletonList
import java.util.Collections.singletonMap import java.util.Collections.singletonMap
import kotlin.collections.ArrayList
internal inline fun <K : Any, V, R> Map<K, V>.compactMapValues(transform: (Map.Entry<K, V>) -> R): Map<K, R> = internal inline fun <K : Any, V, R> Map<K, V>.compactMapValues(transform: (Map.Entry<K, V>) -> R): Map<K, R> =
when (size) { when (size) {
@@ -26,6 +26,7 @@ expect fun function7(): C
expect class Box<T>(value: T) { expect class Box<T>(value: T) {
val value: T val value: T
} }
expect class Fox() expect class Fox()
expect fun functionWithTypeParametersInReturnType1(): Array<Int> expect fun functionWithTypeParametersInReturnType1(): Array<Int>
@@ -46,6 +47,7 @@ expect class Outer<A>() {
class Nested<C>() class Nested<C>()
inner class Inner<D>() inner class Inner<D>()
} }
inner class Inner<E>() { inner class Inner<E>() {
inner class Inner<F>() inner class Inner<F>()
} }
@@ -67,6 +67,7 @@ actual class Outer<A> actual constructor() {
actual class Nested<C> actual constructor() actual class Nested<C> actual constructor()
actual inner class Inner<D> actual constructor() actual inner class Inner<D> actual constructor()
} }
actual inner class Inner<E> actual constructor() { actual inner class Inner<E> actual constructor() {
actual inner class Inner<F> actual constructor() actual inner class Inner<F> actual constructor()
} }
@@ -67,6 +67,7 @@ actual class Outer<A> actual constructor() {
actual class Nested<C> actual constructor() actual class Nested<C> actual constructor()
actual inner class Inner<D> actual constructor() actual inner class Inner<D> actual constructor()
} }
actual inner class Inner<E> actual constructor() { actual inner class Inner<E> actual constructor() {
actual inner class Inner<F> actual constructor() actual inner class Inner<F> actual constructor()
} }
@@ -70,6 +70,7 @@ class Outer<A> {
class Nested<C> class Nested<C>
inner class Inner<D> inner class Inner<D>
} }
inner class Inner<E> { inner class Inner<E> {
inner class Inner<F> inner class Inner<F>
} }
@@ -70,6 +70,7 @@ class Outer<A> {
class Nested<C> class Nested<C>
inner class Inner<D> inner class Inner<D>
} }
inner class Inner<E> { inner class Inner<E> {
inner class Inner<F> inner class Inner<F>
} }
@@ -36,10 +36,16 @@ expect class W() {
} }
} }
expect class BB1() { companion object } expect class BB1() {
companion object
}
expect class BB2() expect class BB2()
expect class CC1() { companion object DD1 } expect class CC1() {
companion object DD1
}
expect class CC2() expect class CC2()
expect class CC3() expect class CC3()
@@ -54,15 +60,16 @@ expect class FF1(property1: String) {
fun function1(): String fun function1(): String
fun function2(): String fun function2(): String
} }
expect class FF2() expect class FF2()
expect sealed class GG1 expect sealed class GG1
expect sealed class GG2 { expect sealed class GG2 {
class HH1(): GG2 class HH1() : GG2
object HH2 : GG2 object HH2 : GG2
} }
expect class HH5(): GG2 expect class HH5() : GG2
expect object HH6 : GG2 expect object HH6 : GG2
expect enum class II1 expect enum class II1
@@ -80,5 +87,10 @@ expect class KK1(property: String) : JJ {
expect class KK2(wrapped: JJ) : JJ expect class KK2(wrapped: JJ) : JJ
expect class LL1(value: String) { val value: String } expect class LL1(value: String) {
expect class LL2(value: String) { val value: String } val value: String
}
expect class LL2(value: String) {
val value: String
}
@@ -84,12 +84,25 @@ actual class W actual constructor() {
} }
} }
actual class BB1 actual constructor() { actual companion object } actual class BB1 actual constructor() {
actual class BB2 actual constructor() { companion object } actual companion object
}
actual class CC1 actual constructor() { actual companion object DD1 } actual class BB2 actual constructor() {
actual class CC2 actual constructor() { companion object DD2 } companion object
actual class CC3 actual constructor() { companion object DD3 } }
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) actual inline class EE1 actual constructor(actual val value: String)
inline class EE2(val value: String) inline class EE2(val value: String)
@@ -102,16 +115,17 @@ actual external class FF1 actual constructor(actual val property1: String) {
actual fun function1() = property1 actual fun function1() = property1
actual fun function2(): String actual fun function2(): String
} }
actual external class FF2 actual constructor() actual external class FF2 actual constructor()
actual sealed class GG1 actual sealed class GG1
actual sealed class GG2 { actual sealed class GG2 {
actual class HH1 actual constructor(): GG2() actual class HH1 actual constructor() : GG2()
actual object HH2 : GG2() actual object HH2 : GG2()
class HH3 : GG2() class HH3 : GG2()
} }
actual class HH5 actual constructor(): GG2() actual class HH5 actual constructor() : GG2()
actual object HH6 : GG2() actual object HH6 : GG2()
class HH7 : GG2() class HH7 : GG2()
@@ -124,7 +138,7 @@ actual interface JJ {
} }
actual class KK1 actual constructor(actual override val property: String) : JJ { actual class KK1 actual constructor(actual override val property: String) : JJ {
actual override fun function() = property actual override fun function() = property
} }
actual class KK2 actual constructor(private val wrapped: JJ) : JJ by wrapped actual class KK2 actual constructor(private val wrapped: JJ) : JJ by wrapped
@@ -84,12 +84,23 @@ actual class W actual constructor() {
} }
} }
actual class BB1 actual constructor() { actual companion object } actual class BB1 actual constructor() {
actual companion object
}
actual class BB2 actual constructor() actual class BB2 actual constructor()
actual class CC1 actual constructor() { actual companion object DD1 } actual class CC1 actual constructor() {
actual class CC2 actual constructor() { companion object CompanionWithAnotherName } actual companion object DD1
actual class CC3 actual constructor() { companion object } }
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) actual inline class EE1 actual constructor(actual val value: String)
class EE2(val value: String) class EE2(val value: String)
@@ -102,16 +113,17 @@ actual class FF1 actual constructor(actual val property1: String) {
actual fun function1() = property1 actual fun function1() = property1
actual fun function2() = function1() actual fun function2() = function1()
} }
actual external class FF2 actual constructor() actual external class FF2 actual constructor()
actual sealed class GG1 actual sealed class GG1
actual sealed class GG2 { actual sealed class GG2 {
actual class HH1 actual constructor(): GG2() actual class HH1 actual constructor() : GG2()
actual object HH2 : GG2() actual object HH2 : GG2()
class HH4 : GG2() class HH4 : GG2()
} }
actual class HH5 actual constructor(): GG2() actual class HH5 actual constructor() : GG2()
actual object HH6 : GG2() actual object HH6 : GG2()
class HH8 : GG2() class HH8 : GG2()
@@ -126,7 +138,7 @@ actual interface JJ {
actual class KK1 actual constructor(actual override val property: String) : JJ { actual class KK1 actual constructor(actual override val property: String) : JJ {
val property2 = property val property2 = property
actual override fun function() = property actual override fun function() = property
} }
actual class KK2 actual constructor(wrapped: JJ) : JJ by wrapped actual class KK2 actual constructor(wrapped: JJ) : JJ by wrapped
@@ -84,12 +84,25 @@ class W {
} }
} }
class BB1 { companion object } class BB1 {
class BB2 { companion object } companion object
}
class CC1 { companion object DD1 } class BB2 {
class CC2 { companion object DD2 } companion object
class CC3 { companion object DD3 } }
class CC1 {
companion object DD1
}
class CC2 {
companion object DD2
}
class CC3 {
companion object DD3
}
inline class EE1(val value: String) inline class EE1(val value: String)
inline class EE2(val value: String) inline class EE2(val value: String)
@@ -102,6 +115,7 @@ external class FF1(val property1: String) {
fun function1() = property1 fun function1() = property1
fun function2(): String fun function2(): String
} }
external class FF2() external class FF2()
sealed class GG1 sealed class GG1
@@ -84,12 +84,23 @@ class W {
} }
} }
class BB1 { companion object } class BB1 {
companion object
}
class BB2 class BB2
class CC1 { companion object DD1 } class CC1 {
class CC2 { companion object CompanionWithAnotherName } companion object DD1
class CC3 { companion object } }
class CC2 {
companion object CompanionWithAnotherName
}
class CC3 {
companion object
}
inline class EE1(val value: String) inline class EE1(val value: String)
class EE2(val value: String) class EE2(val value: String)
@@ -102,6 +113,7 @@ class FF1(val property1: String) {
fun function1() = property1 fun function1() = property1
fun function2() = function1() fun function2() = function1()
} }
external class FF2() external class FF2()
sealed class GG1 sealed class GG1
@@ -1,14 +1,26 @@
expect class A1(text: String) { constructor(number: Int) } expect class A1(text: String) {
expect class A2(text: String) { constructor(number: Int) } constructor(number: Int)
}
expect class A2(text: String) {
constructor(number: Int)
}
expect class A3 expect class A3
expect class A4 expect class A4
expect class A5 expect class A5
expect class B1 protected constructor(text: String) { protected constructor(number: Int) } expect class B1 protected constructor(text: String) {
protected constructor(number: Int)
}
expect class B2 expect class B2
expect class B3 expect class B3
expect class C1 internal constructor(text: String) { internal constructor(number: Int) } expect class C1 internal constructor(text: String) {
internal constructor(number: Int)
}
expect class C2 expect class C2
expect class D1 expect class D1
@@ -1,17 +1,46 @@
actual class A1 actual constructor(text: String) { actual constructor(number: Int) : this(number.toString()) } actual class A1 actual constructor(text: String) {
actual class A2 actual constructor(text: String) { actual constructor(number: Int) : this(number.toString()) } 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 A2 actual constructor(text: String) {
actual class B2 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } actual 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 A3(text: String) {
actual class C2 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
}
actual class D1 private constructor(text: String) { private 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 { actual class E {
constructor(a: Int) constructor(a: Int)
@@ -1,17 +1,46 @@
actual class A1 actual constructor(text: String) { actual constructor(number: Int) : this(number.toString()) } actual class A1 actual constructor(text: String) {
actual class A2 actual constructor(text: String) { actual constructor(number: Int) : this(number.toString()) } 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 A2 actual constructor(text: String) {
actual class B2 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } actual 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 A3 protected constructor(text: String) {
actual class C2 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) } protected constructor(number: Int) : this(number.toString())
}
actual class D1 private constructor(text: String) { private 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 { actual class E {
constructor(a: String) constructor(a: String)
@@ -1,17 +1,46 @@
class A1(text: String) { constructor(number: Int) : this(number.toString()) } class A1(text: String) {
class A2(text: String) { constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
class A3(text: String) { constructor(number: Int) : this(number.toString()) } }
class A4(text: String) { constructor(number: Int) : this(number.toString()) }
class A5(text: String) { constructor(number: Int) : this(number.toString()) }
class B1 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } class A2(text: String) {
class B2 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
class B3 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } }
class C1 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } class A3(text: String) {
class C2 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
}
class D1 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) } class A4(text: String) {
constructor(number: Int) : this(number.toString())
}
class A5(text: String) {
constructor(number: Int) : this(number.toString())
}
class B1 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
class B2 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
class B3 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
class C1 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
class C2 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
class D1 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
class E { class E {
constructor(a: Int) constructor(a: Int)
@@ -1,17 +1,46 @@
class A1(text: String) { constructor(number: Int) : this(number.toString()) } class A1(text: String) {
class A2 constructor(text: String) { constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
class A3 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } }
class A4 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) }
class A5 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) }
class B1 protected constructor(text: String) { protected constructor(number: Int) : this(number.toString()) } class A2 constructor(text: String) {
class B2 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } constructor(number: Int) : this(number.toString())
class B3 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) } }
class C1 internal constructor(text: String) { internal constructor(number: Int) : this(number.toString()) } class A3 protected constructor(text: String) {
class C2 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) } protected constructor(number: Int) : this(number.toString())
}
class D1 private constructor(text: String) { private constructor(number: Int) : this(number.toString()) } class A4 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
class A5 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
class B1 protected constructor(text: String) {
protected constructor(number: Int) : this(number.toString())
}
class B2 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
class B3 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
class C1 internal constructor(text: String) {
internal constructor(number: Int) : this(number.toString())
}
class C2 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
class D1 private constructor(text: String) {
private constructor(number: Int) : this(number.toString())
}
class E { class E {
constructor(a: String) constructor(a: String)
@@ -1,3 +1,4 @@
typealias my_long_t = common.stuff.MyLong typealias my_long_t = common.stuff.MyLong
typealias MyTypeAlias = common.stuff.Wrapper<my_long_t> typealias MyTypeAlias = common.stuff.Wrapper<my_long_t>
expect val property: MyTypeAlias expect val property: MyTypeAlias
@@ -1,2 +1,3 @@
typealias my_linux_long_t = common.stuff.MyLong typealias my_linux_long_t = common.stuff.MyLong
actual val property: MyTypeAlias = TODO() actual val property: MyTypeAlias = TODO()
@@ -1,2 +1,3 @@
typealias my_macos_long_t = common.stuff.MyLong typealias my_macos_long_t = common.stuff.MyLong
actual val property: MyTypeAlias = TODO() actual val property: MyTypeAlias = TODO()
@@ -1,4 +1,5 @@
typealias my_long_t = my_linux_long_t typealias my_long_t = my_linux_long_t
typealias my_linux_long_t = common.stuff.MyLong typealias my_linux_long_t = common.stuff.MyLong
typealias MyTypeAlias = common.stuff.Wrapper<my_long_t> typealias MyTypeAlias = common.stuff.Wrapper<my_long_t>
val property: MyTypeAlias = TODO() val property: MyTypeAlias = TODO()
@@ -1,4 +1,5 @@
typealias my_long_t = my_macos_long_t typealias my_long_t = my_macos_long_t
typealias my_macos_long_t = common.stuff.MyLong typealias my_macos_long_t = common.stuff.MyLong
typealias MyTypeAlias = common.stuff.Wrapper<my_long_t> typealias MyTypeAlias = common.stuff.Wrapper<my_long_t>
val property: MyTypeAlias = TODO() val property: MyTypeAlias = TODO()
@@ -3,12 +3,12 @@ expect interface A1 {
fun function1(): Int fun function1(): Int
} }
expect abstract class A2(): A1 { expect abstract class A2() : A1 {
abstract val property2: Int abstract val property2: Int
abstract fun function2(): Int abstract fun function2(): Int
} }
expect class A3 (): A2 { expect class A3() : A2 {
override val property1: Int override val property1: Int
override val property2: Int override val property2: Int
val property3: Int val property3: Int
@@ -23,7 +23,7 @@ expect interface B1 {
fun function1(): Int fun function1(): Int
} }
expect class B3(): B1 { expect class B3() : B1 {
override val property1: Int override val property1: Int
open val property2: Int open val property2: Int
val property3: Int val property3: Int
@@ -38,7 +38,7 @@ expect interface C1 {
fun function1(): Int fun function1(): Int
} }
expect class C3 (): C1 { expect class C3() : C1 {
override val property1: Int override val property1: Int
val property2: Int val property2: Int
val property3: Int val property3: Int
@@ -53,7 +53,7 @@ expect interface D2 {
fun function2(): Int fun function2(): Int
} }
expect class D3(): D2 { expect class D3() : D2 {
open val property1: Int open val property1: Int
override val property2: Int override val property2: Int
val property3: Int val property3: Int
@@ -3,12 +3,12 @@ actual interface A1 {
actual fun function1(): Int actual fun function1(): Int
} }
actual abstract class A2 actual constructor(): A1 { actual abstract class A2 actual constructor() : A1 {
actual abstract val property2: Int actual abstract val property2: Int
actual abstract fun function2(): Int actual abstract fun function2(): Int
} }
actual class A3 actual constructor(): A2() { actual class A3 actual constructor() : A2() {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -28,7 +28,7 @@ interface B2 {
fun function2(): Int fun function2(): Int
} }
actual class B3 actual constructor(): B1, B2 { actual class B3 actual constructor() : B1, B2 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -48,7 +48,7 @@ interface C2 {
fun function2(): Int fun function2(): Int
} }
actual class C3 actual constructor(): C1, C2 { actual class C3 actual constructor() : C1, C2 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -68,7 +68,7 @@ actual interface D2 {
actual fun function2(): Int actual fun function2(): Int
} }
actual class D3 actual constructor(): D1, D2 { actual class D3 actual constructor() : D1, D2 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -3,12 +3,12 @@ actual interface A1 {
actual fun function1(): Int actual fun function1(): Int
} }
actual abstract class A2 actual constructor(): A1 { actual abstract class A2 actual constructor() : A1 {
actual abstract val property2: Int actual abstract val property2: Int
actual abstract fun function2(): Int actual abstract fun function2(): Int
} }
actual class A3 actual constructor(): A2(), A1 { actual class A3 actual constructor() : A2(), A1 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -26,7 +26,7 @@ actual interface B1 {
fun function2(): Int fun function2(): Int
} }
actual class B3 actual constructor(): B1 { actual class B3 actual constructor() : B1 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -41,7 +41,7 @@ actual interface C1 {
actual fun function1(): Int actual fun function1(): Int
} }
actual class C3 actual constructor(): C1 { actual class C3 actual constructor() : C1 {
actual override val property1 = 1 actual override val property1 = 1
actual val property2 = 1 actual val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -61,7 +61,7 @@ actual interface D2 {
actual fun function2(): Int actual fun function2(): Int
} }
actual class D3 actual constructor(): D1(), D2 { actual class D3 actual constructor() : D1(), D2 {
actual override val property1 = 1 actual override val property1 = 1
actual override val property2 = 1 actual override val property2 = 1
actual val property3 = 1 actual val property3 = 1
@@ -32,10 +32,12 @@ typealias R = Function<C> // something complex
// Type aliases converted to expect classes: // Type aliases converted to expect classes:
typealias S = String typealias S = String
expect class T expect class T
// Nullability: // Nullability:
typealias U = A // same nullability of the RHS class typealias U = A // same nullability of the RHS class
expect class V // different nullability of the RHS class expect class V // different nullability of the RHS class
typealias W = A // same nullability of the RHS TA typealias W = A // same nullability of the RHS TA
typealias Y = V // TA at the RHS with the different nullability of own RHS typealias Y = V // TA at the RHS with the different nullability of own RHS
@@ -19,6 +19,7 @@ typealias X = U? // different nullability of the RHS TA
// Supertypes: // Supertypes:
actual typealias FILE = _IO_FILE actual typealias FILE = _IO_FILE
final class _IO_FILE : kotlinx.cinterop.CStructVar {} final class _IO_FILE : kotlinx.cinterop.CStructVar {}
actual val uuid: uuid_t get() = TODO() actual val uuid: uuid_t get() = TODO()
@@ -19,6 +19,7 @@ typealias X = U // different nullability of the RHS TA
// Supertypes: // Supertypes:
actual typealias FILE = __sFILE actual typealias FILE = __sFILE
final class __sFILE : kotlinx.cinterop.CStructVar {} final class __sFILE : kotlinx.cinterop.CStructVar {}
actual val uuid: uuid_t get() = TODO() actual val uuid: uuid_t get() = TODO()
@@ -4,7 +4,9 @@ package kotlinx.cinterop
// fake classes with the default constructor and no member scope // fake classes with the default constructor and no member scope
abstract class CStructVar abstract class CStructVar
class CPointer<T> class CPointer<T>
@Suppress("FINAL_UPPER_BOUND") class UByteVarOf<T : UByte>
@Suppress("FINAL_UPPER_BOUND")
class UByteVarOf<T : UByte>
class UByte class UByte
// fake typealiases // fake typealiases
@@ -50,6 +50,7 @@ typealias Y = V // TA at the RHS with the different nullability of own RHS
// Supertypes: // Supertypes:
typealias FILE = _IO_FILE typealias FILE = _IO_FILE
final class _IO_FILE : kotlinx.cinterop.CStructVar {} final class _IO_FILE : kotlinx.cinterop.CStructVar {}
typealias uuid_t = __darwin_uuid_t typealias uuid_t = __darwin_uuid_t
@@ -50,6 +50,7 @@ typealias Y = V // TA at the RHS with the different nullability of own RHS
// Supertypes: // Supertypes:
typealias FILE = __sFILE typealias FILE = __sFILE
final class __sFILE : kotlinx.cinterop.CStructVar {} final class __sFILE : kotlinx.cinterop.CStructVar {}
typealias uuid_t = __darwin_uuid_t typealias uuid_t = __darwin_uuid_t
@@ -12,6 +12,7 @@ expect class A2<T : Any?>() {
fun function(value: T): T fun function(value: T): T
} }
} }
expect class B4<T : Any>() { expect class B4<T : Any>() {
val property: T val property: T
fun function(value: T): T fun function(value: T): T
@@ -26,6 +27,7 @@ expect class B4<T : Any>() {
fun function(value: T): T fun function(value: T): T
} }
} }
expect class C5<T : CharSequence>() { expect class C5<T : CharSequence>() {
val property: T val property: T
fun function(value: T): T fun function(value: T): T
@@ -40,6 +42,7 @@ expect class C5<T : CharSequence>() {
fun function(value: T): T fun function(value: T): T
} }
} }
expect class D6<T : String>() { expect class D6<T : String>() {
val property: T val property: T
fun function(value: T): T fun function(value: T): T
@@ -54,6 +57,7 @@ expect class D6<T : String>() {
fun function(value: T): T fun function(value: T): T
} }
} }
expect class E7<String>() { expect class E7<String>() {
val property: String val property: String
fun function(value: String): String fun function(value: String): String
@@ -68,6 +72,7 @@ expect class E7<String>() {
fun function(value: String): String fun function(value: String): String
} }
} }
expect class F1<T>() { expect class F1<T>() {
val property: T val property: T
fun function(value: T): T fun function(value: T): T
@@ -82,6 +87,7 @@ expect class F1<T>() {
fun function(value: T): T fun function(value: T): T
} }
} }
expect class G1<T, R>() { expect class G1<T, R>() {
val property1: T val property1: T
val property2: R val property2: R
@@ -112,6 +118,7 @@ expect class H1<T>() {
val <T> T.independentExtensionProperty: T val <T> T.independentExtensionProperty: T
fun <T> T.independentExtensionFunction(): T fun <T> T.independentExtensionFunction(): T
} }
expect class H2<T>() { expect class H2<T>() {
val dependentProperty: T val dependentProperty: T
fun dependentFunction(value: T): T fun dependentFunction(value: T): T
@@ -128,10 +135,12 @@ expect class I<T : I<T>>() {
expect interface J1<A> { expect interface J1<A> {
fun a(): A fun a(): A
} }
expect interface J2<A, B> { expect interface J2<A, B> {
fun a(b: B): A fun a(b: B): A
fun b(a: A): B fun b(a: A): B
} }
expect interface J3<A, B, C> { expect interface J3<A, B, C> {
fun a(b: B, c: C): A fun a(b: B, c: C): A
fun b(a: A, c: C): B fun b(a: A, c: C): B
@@ -12,6 +12,7 @@ class A1<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class A2<T> actual constructor() { actual class A2<T> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -26,6 +27,7 @@ actual class A2<T> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class A3<T> { class A3<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -40,6 +42,7 @@ class A3<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A4<T> { class A4<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -54,6 +57,7 @@ class A4<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A5<T> { class A5<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -68,6 +72,7 @@ class A5<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A6<T> { class A6<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -82,6 +87,7 @@ class A6<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A7<T> { class A7<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -111,6 +117,7 @@ class B1<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B2<T : Any> { class B2<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -125,6 +132,7 @@ class B2<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B3<T : Any> { class B3<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -139,6 +147,7 @@ class B3<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class B4<T : Any> actual constructor() { actual class B4<T : Any> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -153,6 +162,7 @@ actual class B4<T : Any> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class B5<T : Any> { class B5<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -167,6 +177,7 @@ class B5<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B6<T : Any> { class B6<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -181,6 +192,7 @@ class B6<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B7<T : Any> { class B7<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -210,6 +222,7 @@ class C1<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C2<T : CharSequence> { class C2<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -224,6 +237,7 @@ class C2<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C3<T : CharSequence> { class C3<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -238,6 +252,7 @@ class C3<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C4<T : CharSequence> { class C4<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -252,6 +267,7 @@ class C4<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class C5<T : CharSequence> actual constructor() { actual class C5<T : CharSequence> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -266,6 +282,7 @@ actual class C5<T : CharSequence> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class C6<T : CharSequence> { class C6<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -280,6 +297,7 @@ class C6<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C7<T : CharSequence> { class C7<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -309,6 +327,7 @@ class D1<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D2<T : String> { class D2<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -323,6 +342,7 @@ class D2<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D3<T : String> { class D3<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -337,6 +357,7 @@ class D3<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D4<T : String> { class D4<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -351,6 +372,7 @@ class D4<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D5<T : String> { class D5<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -365,6 +387,7 @@ class D5<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class D6<T : String> actual constructor() { actual class D6<T : String> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -379,6 +402,7 @@ actual class D6<T : String> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class D7<T : String> { class D7<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -408,6 +432,7 @@ class E1<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E2<String> { class E2<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -422,6 +447,7 @@ class E2<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E3<String> { class E3<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -436,6 +462,7 @@ class E3<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E4<String> { class E4<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -450,6 +477,7 @@ class E4<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E5<String> { class E5<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -464,6 +492,7 @@ class E5<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E6<String> { class E6<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -478,6 +507,7 @@ class E6<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
actual class E7<String> actual constructor() { actual class E7<String> actual constructor() {
actual val property: String get() = TODO() actual val property: String get() = TODO()
actual fun function(value: String): String = value actual fun function(value: String): String = value
@@ -507,6 +537,7 @@ actual class F1<T> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class F2<T> { class F2<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -521,6 +552,7 @@ class F2<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class F3<T> { class F3<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -553,6 +585,7 @@ actual class G1<T, R> actual constructor() {
actual fun function(value: T): R = TODO() actual fun function(value: T): R = TODO()
} }
} }
class G2<T, R> { class G2<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -570,6 +603,7 @@ class G2<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G3<T, R> { class G3<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -587,6 +621,7 @@ class G3<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G4<T, R> { class G4<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -617,6 +652,7 @@ actual class H1<T> actual constructor() {
actual val <T> T.independentExtensionProperty: T get() = this actual val <T> T.independentExtensionProperty: T get() = this
actual fun <T> T.independentExtensionFunction(): T = this actual fun <T> T.independentExtensionFunction(): T = this
} }
actual class H2<T> actual constructor() { actual class H2<T> actual constructor() {
actual val dependentProperty: T get() = TODO() actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value actual fun dependentFunction(value: T): T = value
@@ -638,10 +674,12 @@ actual class I<T : I<T>> actual constructor() {
actual interface J1<A> { actual interface J1<A> {
actual fun a(): A actual fun a(): A
} }
actual interface J2<A, B> { actual interface J2<A, B> {
actual fun a(b: B): A actual fun a(b: B): A
actual fun b(a: A): B actual fun b(a: A): B
} }
actual interface J3<A, B, C> { actual interface J3<A, B, C> {
actual fun a(b: B, c: C): A actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B actual fun b(a: A, c: C): B
@@ -12,6 +12,7 @@ class A1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
actual class A2<T : Any?> actual constructor() { actual class A2<T : Any?> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -26,6 +27,7 @@ actual class A2<T : Any?> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class A3<R : Any?> { class A3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -40,6 +42,7 @@ class A3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class A4<T : Any> { class A4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -54,6 +57,7 @@ class A4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A5<T : CharSequence> { class A5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -68,6 +72,7 @@ class A5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A6<T : String> { class A6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -82,6 +87,7 @@ class A6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A7<String> { class A7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -111,6 +117,7 @@ class B1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class B2<T : Any?> { class B2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -125,6 +132,7 @@ class B2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B3<R : Any?> { class B3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -139,6 +147,7 @@ class B3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
actual class B4<T : Any> actual constructor() { actual class B4<T : Any> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -153,6 +162,7 @@ actual class B4<T : Any> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class B5<T : CharSequence> { class B5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -167,6 +177,7 @@ class B5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B6<T : String> { class B6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -181,6 +192,7 @@ class B6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B7<String> { class B7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -210,11 +222,12 @@ class C1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class C2<T : Any?> { class C2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
class Nested<T : Any?>{ class Nested<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
} }
@@ -224,6 +237,7 @@ class C2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C3<R : Any?> { class C3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -238,6 +252,7 @@ class C3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class C4<T : Any> { class C4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -252,6 +267,7 @@ class C4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class C5<T : CharSequence> actual constructor() { actual class C5<T : CharSequence> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -266,6 +282,7 @@ actual class C5<T : CharSequence> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class C6<T : String> { class C6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -280,6 +297,7 @@ class C6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C7<String> { class C7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -309,6 +327,7 @@ class D1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class D2<T : Any?> { class D2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -323,6 +342,7 @@ class D2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D3<R : Any?> { class D3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -337,6 +357,7 @@ class D3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class D4<T : Any> { class D4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -351,6 +372,7 @@ class D4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D5<T : CharSequence> { class D5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -365,6 +387,7 @@ class D5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class D6<T : String> actual constructor() { actual class D6<T : String> actual constructor() {
actual val property: T get() = TODO() actual val property: T get() = TODO()
actual fun function(value: T): T = value actual fun function(value: T): T = value
@@ -379,6 +402,7 @@ actual class D6<T : String> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class D7<String> { class D7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -408,6 +432,7 @@ class E1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class E2<T : Any?> { class E2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -422,6 +447,7 @@ class E2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E3<R : Any?> { class E3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -436,6 +462,7 @@ class E3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class E4<T : Any> { class E4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -450,6 +477,7 @@ class E4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E5<T : CharSequence> { class E5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -464,6 +492,7 @@ class E5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E6<T : String> { class E6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -478,6 +507,7 @@ class E6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
actual class E7<String> actual constructor() { actual class E7<String> actual constructor() {
actual val property: String get() = TODO() actual val property: String get() = TODO()
actual fun function(value: String): String = value actual fun function(value: String): String = value
@@ -507,6 +537,7 @@ actual class F1<T> actual constructor() {
actual fun function(value: T): T = value actual fun function(value: T): T = value
} }
} }
class F2<in T> { class F2<in T> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: T): Any = TODO() fun function(value: T): Any = TODO()
@@ -521,6 +552,7 @@ class F2<in T> {
fun function(value: T): Any = TODO() fun function(value: T): Any = TODO()
} }
} }
class F3<out T> { class F3<out T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: Any): T = TODO() fun function(value: Any): T = TODO()
@@ -553,6 +585,7 @@ actual class G1<T, R> actual constructor() {
actual fun function(value: T): R = TODO() actual fun function(value: T): R = TODO()
} }
} }
class G2<T> { class G2<T> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: T get() = TODO() val property2: T get() = TODO()
@@ -570,6 +603,7 @@ class G2<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class G3<R> { class G3<R> {
val property1: R get() = TODO() val property1: R get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -587,6 +621,7 @@ class G3<R> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class G4<R, T> { class G4<R, T> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -617,6 +652,7 @@ actual class H1<T> actual constructor() {
actual val <T> T.independentExtensionProperty: T get() = this actual val <T> T.independentExtensionProperty: T get() = this
actual fun <T> T.independentExtensionFunction(): T = this actual fun <T> T.independentExtensionFunction(): T = this
} }
actual class H2<T> actual constructor() { actual class H2<T> actual constructor() {
actual val dependentProperty: T get() = TODO() actual val dependentProperty: T get() = TODO()
actual fun dependentFunction(value: T): T = value actual fun dependentFunction(value: T): T = value
@@ -638,10 +674,12 @@ actual class I<T : I<T>> actual constructor() {
actual interface J1<A> { actual interface J1<A> {
actual fun a(): A actual fun a(): A
} }
actual interface J2<A, B> { actual interface J2<A, B> {
actual fun a(b: B): A actual fun a(b: B): A
actual fun b(a: A): B actual fun b(a: A): B
} }
actual interface J3<A, B, C> { actual interface J3<A, B, C> {
actual fun a(b: B, c: C): A actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B actual fun b(a: A, c: C): B
@@ -12,6 +12,7 @@ class A1<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A2<T> { class A2<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -26,6 +27,7 @@ class A2<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A3<T> { class A3<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -40,6 +42,7 @@ class A3<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A4<T> { class A4<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -54,6 +57,7 @@ class A4<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A5<T> { class A5<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -68,6 +72,7 @@ class A5<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A6<T> { class A6<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -82,6 +87,7 @@ class A6<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A7<T> { class A7<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -111,6 +117,7 @@ class B1<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B2<T : Any> { class B2<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -125,6 +132,7 @@ class B2<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B3<T : Any> { class B3<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -139,6 +147,7 @@ class B3<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B4<T : Any> { class B4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -153,6 +162,7 @@ class B4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B5<T : Any> { class B5<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -167,6 +177,7 @@ class B5<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B6<T : Any> { class B6<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -181,6 +192,7 @@ class B6<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B7<T : Any> { class B7<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -210,6 +222,7 @@ class C1<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C2<T : CharSequence> { class C2<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -224,6 +237,7 @@ class C2<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C3<T : CharSequence> { class C3<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -238,6 +252,7 @@ class C3<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C4<T : CharSequence> { class C4<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -252,6 +267,7 @@ class C4<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C5<T : CharSequence> { class C5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -266,6 +282,7 @@ class C5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C6<T : CharSequence> { class C6<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -280,6 +297,7 @@ class C6<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C7<T : CharSequence> { class C7<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -309,6 +327,7 @@ class D1<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D2<T : String> { class D2<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -323,6 +342,7 @@ class D2<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D3<T : String> { class D3<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -337,6 +357,7 @@ class D3<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D4<T : String> { class D4<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -351,6 +372,7 @@ class D4<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D5<T : String> { class D5<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -365,6 +387,7 @@ class D5<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D6<T : String> { class D6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -379,6 +402,7 @@ class D6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D7<T : String> { class D7<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -408,6 +432,7 @@ class E1<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E2<String> { class E2<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -422,6 +447,7 @@ class E2<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E3<String> { class E3<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -436,6 +462,7 @@ class E3<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E4<String> { class E4<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -450,6 +477,7 @@ class E4<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E5<String> { class E5<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -464,6 +492,7 @@ class E5<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E6<String> { class E6<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -478,6 +507,7 @@ class E6<String> {
fun function(value: String): String = value fun function(value: String): String = value
} }
} }
class E7<String> { class E7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -507,6 +537,7 @@ class F1<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class F2<T> { class F2<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -521,6 +552,7 @@ class F2<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class F3<T> { class F3<T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -553,6 +585,7 @@ class G1<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G2<T, R> { class G2<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -570,6 +603,7 @@ class G2<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G3<T, R> { class G3<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -587,6 +621,7 @@ class G3<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G4<T, R> { class G4<T, R> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -617,6 +652,7 @@ class H1<T> {
val <T> T.independentExtensionProperty: T get() = this val <T> T.independentExtensionProperty: T get() = this
fun <T> T.independentExtensionFunction(): T = this fun <T> T.independentExtensionFunction(): T = this
} }
class H2<T> { class H2<T> {
val dependentProperty: T get() = TODO() val dependentProperty: T get() = TODO()
fun dependentFunction(value: T): T = value fun dependentFunction(value: T): T = value
@@ -638,10 +674,12 @@ class I<T : I<T>> {
interface J1<A> { interface J1<A> {
actual fun a(): A actual fun a(): A
} }
interface J2<A, B> { interface J2<A, B> {
actual fun a(b: B): A actual fun a(b: B): A
actual fun b(a: A): B actual fun b(a: A): B
} }
interface J3<A, B, C> { interface J3<A, B, C> {
actual fun a(b: B, c: C): A actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B actual fun b(a: A, c: C): B
@@ -12,6 +12,7 @@ class A1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class A2<T : Any?> { class A2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -26,6 +27,7 @@ class A2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A3<R : Any?> { class A3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -40,6 +42,7 @@ class A3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class A4<T : Any> { class A4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -54,6 +57,7 @@ class A4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A5<T : CharSequence> { class A5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -68,6 +72,7 @@ class A5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A6<T : String> { class A6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -82,6 +87,7 @@ class A6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class A7<String> { class A7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -111,6 +117,7 @@ class B1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class B2<T : Any?> { class B2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -125,6 +132,7 @@ class B2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B3<R : Any?> { class B3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -139,6 +147,7 @@ class B3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class B4<T : Any> { class B4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -153,6 +162,7 @@ class B4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B5<T : CharSequence> { class B5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -167,6 +177,7 @@ class B5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B6<T : String> { class B6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -181,6 +192,7 @@ class B6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class B7<String> { class B7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -210,11 +222,12 @@ class C1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class C2<T : Any?> { class C2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
class Nested<T : Any?>{ class Nested<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
} }
@@ -224,6 +237,7 @@ class C2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C3<R : Any?> { class C3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -238,6 +252,7 @@ class C3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class C4<T : Any> { class C4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -252,6 +267,7 @@ class C4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C5<T : CharSequence> { class C5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -266,6 +282,7 @@ class C5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C6<T : String> { class C6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -280,6 +297,7 @@ class C6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class C7<String> { class C7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -309,6 +327,7 @@ class D1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class D2<T : Any?> { class D2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -323,6 +342,7 @@ class D2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D3<R : Any?> { class D3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -337,6 +357,7 @@ class D3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class D4<T : Any> { class D4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -351,6 +372,7 @@ class D4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D5<T : CharSequence> { class D5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -365,6 +387,7 @@ class D5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D6<T : String> { class D6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -379,6 +402,7 @@ class D6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class D7<String> { class D7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -408,6 +432,7 @@ class E1 {
fun function(value: Any): Any = value fun function(value: Any): Any = value
} }
} }
class E2<T : Any?> { class E2<T : Any?> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -422,6 +447,7 @@ class E2<T : Any?> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E3<R : Any?> { class E3<R : Any?> {
val property: R get() = TODO() val property: R get() = TODO()
fun function(value: R): R = value fun function(value: R): R = value
@@ -436,6 +462,7 @@ class E3<R : Any?> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class E4<T : Any> { class E4<T : Any> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -450,6 +477,7 @@ class E4<T : Any> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E5<T : CharSequence> { class E5<T : CharSequence> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -464,6 +492,7 @@ class E5<T : CharSequence> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E6<T : String> { class E6<T : String> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: T): T = value fun function(value: T): T = value
@@ -478,6 +507,7 @@ class E6<T : String> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class E7<String> { class E7<String> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: String): String = value fun function(value: String): String = value
@@ -507,6 +537,7 @@ class F1<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class F2<in T> { class F2<in T> {
val property: String get() = TODO() val property: String get() = TODO()
fun function(value: T): Any = TODO() fun function(value: T): Any = TODO()
@@ -521,6 +552,7 @@ class F2<in T> {
fun function(value: T): Any = TODO() fun function(value: T): Any = TODO()
} }
} }
class F3<out T> { class F3<out T> {
val property: T get() = TODO() val property: T get() = TODO()
fun function(value: Any): T = TODO() fun function(value: Any): T = TODO()
@@ -553,6 +585,7 @@ class G1<T, R> {
fun function(value: T): R = TODO() fun function(value: T): R = TODO()
} }
} }
class G2<T> { class G2<T> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: T get() = TODO() val property2: T get() = TODO()
@@ -570,6 +603,7 @@ class G2<T> {
fun function(value: T): T = value fun function(value: T): T = value
} }
} }
class G3<R> { class G3<R> {
val property1: R get() = TODO() val property1: R get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -587,6 +621,7 @@ class G3<R> {
fun function(value: R): R = value fun function(value: R): R = value
} }
} }
class G4<R, T> { class G4<R, T> {
val property1: T get() = TODO() val property1: T get() = TODO()
val property2: R get() = TODO() val property2: R get() = TODO()
@@ -617,6 +652,7 @@ class H1<T> {
val <T> T.independentExtensionProperty: T get() = this val <T> T.independentExtensionProperty: T get() = this
fun <T> T.independentExtensionFunction(): T = this fun <T> T.independentExtensionFunction(): T = this
} }
class H2<T> { class H2<T> {
val dependentProperty: T get() = TODO() val dependentProperty: T get() = TODO()
fun dependentFunction(value: T): T = value fun dependentFunction(value: T): T = value
@@ -638,10 +674,12 @@ class I<T : I<T>> {
interface J1<A> { interface J1<A> {
actual fun a(): A actual fun a(): A
} }
interface J2<A, B> { interface J2<A, B> {
actual fun a(b: B): A actual fun a(b: B): A
actual fun b(a: A): B actual fun b(a: A): B
} }
interface J3<A, B, C> { interface J3<A, B, C> {
actual fun a(b: B, c: C): A actual fun a(b: B, c: C): A
actual fun b(a: A, c: C): B actual fun b(a: A, c: C): B
@@ -5,13 +5,16 @@ internal expect class C1()
public typealias E1 = A1 public typealias E1 = A1
protected typealias E2 = A1 protected typealias E2 = A1
internal typealias E3 = A1 internal typealias E3 = A1
public expect class E4 public expect class E4
protected typealias F1 = A1 protected typealias F1 = A1
public expect class F2 public expect class F2
public expect class F3 public expect class F3
internal typealias G1 = A1 internal typealias G1 = A1
public expect class G2 public expect class G2
public expect class H1 public expect class H1
@@ -4,42 +4,63 @@ expect class Holder() {
@Deprecated("See concrete deprecation messages in actual declarations") @Deprecated("See concrete deprecation messages in actual declarations")
expect fun deprecatedFunctionWithCustomizedAnnotation1() expect fun deprecatedFunctionWithCustomizedAnnotation1()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation2() expect fun deprecatedFunctionWithCustomizedAnnotation2()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation3() expect fun deprecatedFunctionWithCustomizedAnnotation3()
@Deprecated("This function is deprecated", level = DeprecationLevel.ERROR) @Deprecated("This function is deprecated", level = DeprecationLevel.ERROR)
expect fun deprecatedFunctionWithCustomizedAnnotation4() expect fun deprecatedFunctionWithCustomizedAnnotation4()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation5() expect fun deprecatedFunctionWithCustomizedAnnotation5()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation6() expect fun deprecatedFunctionWithCustomizedAnnotation6()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation7() expect fun deprecatedFunctionWithCustomizedAnnotation7()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation8() expect fun deprecatedFunctionWithCustomizedAnnotation8()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation9() expect fun deprecatedFunctionWithCustomizedAnnotation9()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation10() expect fun deprecatedFunctionWithCustomizedAnnotation10()
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
expect fun deprecatedFunctionWithCustomizedAnnotation11() expect fun deprecatedFunctionWithCustomizedAnnotation11()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation12() expect fun deprecatedFunctionWithCustomizedAnnotation12()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation13() expect fun deprecatedFunctionWithCustomizedAnnotation13()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation14() expect fun deprecatedFunctionWithCustomizedAnnotation14()
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
expect fun deprecatedFunctionWithCustomizedAnnotation15() expect fun deprecatedFunctionWithCustomizedAnnotation15()
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
expect fun deprecatedFunctionWithCustomizedAnnotation16() expect fun deprecatedFunctionWithCustomizedAnnotation16()
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation17() {} fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation18() {} fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation19() {} fun deprecatedFunctionWithCustomizedAnnotation19() {
}
expect fun nonDeprecatedFunction1() expect fun nonDeprecatedFunction1()
} }
@@ -1,47 +1,87 @@
actual class Holder actual constructor() { actual class Holder actual constructor() {
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunction1() {} actual fun deprecatedFunction1() {
@Deprecated("This function is deprecated") }
fun deprecatedFunction2() {}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation1() {} fun deprecatedFunction2() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation2() {} actual fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation3() {} actual fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation4() {} actual fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation5() {} actual fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation6() {} actual fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation7() {} actual fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation8() {} actual fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation9() {} actual fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation10() {} actual fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation11() {} actual fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()"))
actual fun deprecatedFunctionWithCustomizedAnnotation12() {} actual fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunctionWithCustomizedAnnotation13() {} actual fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation14() {} actual fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation15() {} actual fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.bar"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.bar")))
actual fun deprecatedFunctionWithCustomizedAnnotation16() {} actual fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation17() {} actual fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.bar"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.bar")))
actual fun deprecatedFunctionWithCustomizedAnnotation18() {} actual fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation19() {} actual fun deprecatedFunctionWithCustomizedAnnotation19() {
}
actual fun nonDeprecatedFunction1() {} actual fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction2() {} fun nonDeprecatedFunction2() {}
@@ -1,47 +1,87 @@
actual class Holder actual constructor() { actual class Holder actual constructor() {
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
actual fun deprecatedFunction1() {} actual fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction3() {} fun deprecatedFunction3() {
}
@Deprecated("This function is deprecated as well") @Deprecated("This function is deprecated as well")
actual fun deprecatedFunctionWithCustomizedAnnotation1() {} actual fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation2() {} actual fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
actual fun deprecatedFunctionWithCustomizedAnnotation3() {} actual fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.ERROR) @Deprecated("This function is deprecated", level = DeprecationLevel.ERROR)
actual fun deprecatedFunctionWithCustomizedAnnotation4() {} actual fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation5() {} actual fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
actual fun deprecatedFunctionWithCustomizedAnnotation6() {} actual fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation7() {} actual fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation8() {} actual fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
actual fun deprecatedFunctionWithCustomizedAnnotation9() {} actual fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation10() {} actual fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation11() {} actual fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
actual fun deprecatedFunctionWithCustomizedAnnotation12() {} actual fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation13() {} actual fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation14() {} actual fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation15() {} actual fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation16() {} actual fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation17() {} actual fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation18() {} actual fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
actual fun deprecatedFunctionWithCustomizedAnnotation19() {} actual fun deprecatedFunctionWithCustomizedAnnotation19() {
}
actual fun nonDeprecatedFunction1() {} actual fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction3() {} fun nonDeprecatedFunction3() {}
@@ -1,52 +1,95 @@
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction1() {} fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction2() {} fun deprecatedFunction2() {
}
class Holder { class Holder {
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction1() {} fun deprecatedFunction1() {
@Deprecated("This function is deprecated") }
fun deprecatedFunction2() {}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation1() {} fun deprecatedFunction2() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation2() {} fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
fun deprecatedFunctionWithCustomizedAnnotation3() {} fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation4() {} fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation5() {} fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
fun deprecatedFunctionWithCustomizedAnnotation6() {} fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation7() {} fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
fun deprecatedFunctionWithCustomizedAnnotation8() {} fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
fun deprecatedFunctionWithCustomizedAnnotation9() {} fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation10() {} fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
fun deprecatedFunctionWithCustomizedAnnotation11() {} fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()"))
fun deprecatedFunctionWithCustomizedAnnotation12() {} fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunctionWithCustomizedAnnotation13() {} fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
fun deprecatedFunctionWithCustomizedAnnotation14() {} fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation15() {} fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.bar"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.bar")))
fun deprecatedFunctionWithCustomizedAnnotation16() {} fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation17() {} fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.bar"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.bar")))
fun deprecatedFunctionWithCustomizedAnnotation18() {} fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("bar()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation19() {} fun deprecatedFunctionWithCustomizedAnnotation19() {
}
fun nonDeprecatedFunction1() {} fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction2() {} fun nonDeprecatedFunction2() {}
@@ -1,52 +1,95 @@
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction1() {} fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction3() {} fun deprecatedFunction3() {
}
class Holder { class Holder {
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction1() {} fun deprecatedFunction1() {
}
@Deprecated("This function is deprecated") @Deprecated("This function is deprecated")
fun deprecatedFunction3() {} fun deprecatedFunction3() {
}
@Deprecated("This function is deprecated as well") @Deprecated("This function is deprecated as well")
fun deprecatedFunctionWithCustomizedAnnotation1() {} fun deprecatedFunctionWithCustomizedAnnotation1() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
fun deprecatedFunctionWithCustomizedAnnotation2() {} fun deprecatedFunctionWithCustomizedAnnotation2() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.WARNING) @Deprecated("This function is deprecated", level = DeprecationLevel.WARNING)
fun deprecatedFunctionWithCustomizedAnnotation3() {} fun deprecatedFunctionWithCustomizedAnnotation3() {
}
@Deprecated("This function is deprecated", level = DeprecationLevel.ERROR) @Deprecated("This function is deprecated", level = DeprecationLevel.ERROR)
fun deprecatedFunctionWithCustomizedAnnotation4() {} fun deprecatedFunctionWithCustomizedAnnotation4() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
fun deprecatedFunctionWithCustomizedAnnotation5() {} fun deprecatedFunctionWithCustomizedAnnotation5() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith(""))
fun deprecatedFunctionWithCustomizedAnnotation6() {} fun deprecatedFunctionWithCustomizedAnnotation6() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
fun deprecatedFunctionWithCustomizedAnnotation7() {} fun deprecatedFunctionWithCustomizedAnnotation7() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
fun deprecatedFunctionWithCustomizedAnnotation8() {} fun deprecatedFunctionWithCustomizedAnnotation8() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray())) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = emptyArray()))
fun deprecatedFunctionWithCustomizedAnnotation9() {} fun deprecatedFunctionWithCustomizedAnnotation9() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
fun deprecatedFunctionWithCustomizedAnnotation10() {} fun deprecatedFunctionWithCustomizedAnnotation10() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
fun deprecatedFunctionWithCustomizedAnnotation11() {} fun deprecatedFunctionWithCustomizedAnnotation11() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()")) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()"))
fun deprecatedFunctionWithCustomizedAnnotation12() {} fun deprecatedFunctionWithCustomizedAnnotation12() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation13() {} fun deprecatedFunctionWithCustomizedAnnotation13() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation14() {} fun deprecatedFunctionWithCustomizedAnnotation14() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation15() {} fun deprecatedFunctionWithCustomizedAnnotation15() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation16() {} fun deprecatedFunctionWithCustomizedAnnotation16() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation17() {} fun deprecatedFunctionWithCustomizedAnnotation17() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation18() {} fun deprecatedFunctionWithCustomizedAnnotation18() {
}
@Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo"))) @Deprecated("This function is deprecated", replaceWith = ReplaceWith("foo()", imports = arrayOf("org.sample.foo")))
fun deprecatedFunctionWithCustomizedAnnotation19() {} fun deprecatedFunctionWithCustomizedAnnotation19() {
}
fun nonDeprecatedFunction1() {} fun nonDeprecatedFunction1() {}
fun nonDeprecatedFunction3() {} fun nonDeprecatedFunction3() {}
@@ -1,3 +1,3 @@
actual class Foo actual constructor() actual class Foo actual constructor()
actual fun bar(x: TypeAlias?) { } actual fun bar(x: TypeAlias?) {}
@@ -1,3 +1,3 @@
actual class Foo actual constructor() actual class Foo actual constructor()
actual fun bar(x: TypeAlias?) { } actual fun bar(x: TypeAlias?) {}
@@ -2,4 +2,4 @@ class Foo
typealias TypeAlias = Foo typealias TypeAlias = Foo
fun bar(x: TypeAlias?) { } fun bar(x: TypeAlias?) {}
@@ -2,4 +2,4 @@ class Foo
typealias TypeAlias = Foo typealias TypeAlias = Foo
fun bar(x: TypeAlias?) { } fun bar(x: TypeAlias?) {}
@@ -8,54 +8,73 @@ expect fun functionMismatchedParameterNames1(arg0: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames2(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames2(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames3(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames3(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames4(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames4(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) expect fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames12(vararg variadicArguments: Int) expect fun functionMismatchedParameterNames12(vararg variadicArguments: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) expect fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) expect fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) expect fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames16(i: Int) expect fun functionMismatchedParameterNames16(i: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames17(i: Int, s: String) expect fun functionMismatchedParameterNames17(i: Int, s: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>) expect fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames19(vararg v: Int) expect fun functionMismatchedParameterNames19(vararg v: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames20(i: Int, vararg v: Int) expect fun functionMismatchedParameterNames20(i: Int, vararg v: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames21(i: Int) expect fun functionMismatchedParameterNames21(i: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames22(i: Int, s: String) expect fun functionMismatchedParameterNames22(i: Int, s: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>) expect fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames24(vararg v: Int) expect fun functionMismatchedParameterNames24(vararg v: Int)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames25(i: Int, vararg v: Int) expect fun functionMismatchedParameterNames25(i: Int, vararg v: Int)
@@ -72,15 +91,19 @@ expect fun functionMismatchedParameterNames37(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames38(i: Int, s: String) expect fun functionMismatchedParameterNames38(i: Int, s: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames39(i: Int, s: String) expect fun functionMismatchedParameterNames39(i: Int, s: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames40(i: Int, s: String) expect fun functionMismatchedParameterNames40(i: Int, s: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames41(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames41(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames42(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames42(arg0: Int, arg1: String)
// hasStableParameterNames=false // hasStableParameterNames=false
expect fun functionMismatchedParameterNames43(arg0: Int, arg1: String) expect fun functionMismatchedParameterNames43(arg0: Int, arg1: String)
@@ -8,32 +8,43 @@ actual fun functionMismatchedParameterNames1(arg0: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {}
@@ -45,12 +56,16 @@ actual fun functionMismatchedParameterNames20(i: Int, vararg v: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames21(i: Int) {} actual fun functionMismatchedParameterNames21(i: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames22(i: Int, s: String) {} actual fun functionMismatchedParameterNames22(i: Int, s: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>) {} actual fun functionMismatchedParameterNames23(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames24(vararg v: Int) {} actual fun functionMismatchedParameterNames24(vararg v: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames25(i: Int, vararg v: Int) {} actual fun functionMismatchedParameterNames25(i: Int, vararg v: Int) {}
@@ -61,41 +76,64 @@ actual fun functionMismatchedParameterNames29(vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {}
actual fun functionMismatchedParameterNames31(i: Int, s: String) {} actual fun functionMismatchedParameterNames31(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames32(i: Int, s: String) {} fun functionMismatchedParameterNames32(i: Int, s: String) {
}
fun functionMismatchedParameterNames33(i: Int, s: String) {} fun functionMismatchedParameterNames33(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames34(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(i: Int, s: String) {} actual fun functionMismatchedParameterNames34(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames36(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames35(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames36(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames38(i: Int, s: String) {} actual fun functionMismatchedParameterNames38(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames39(i: Int, s: String) {} actual fun functionMismatchedParameterNames39(i: Int, s: String) {
// hasStableParameterNames=false }
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames40(i: Int, s: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames40(i: Int, s: String) {
@kotlinx.cinterop.ObjCMethod }
actual fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(i: Int, s: String) {} actual fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(xi: Int, xs: String) {} 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 functionMismatchedParameterCount1(i: Int, s: String) {}
fun functionMismatchedParameterCount2(i: Int, s: String, l: List<Double>) {} fun functionMismatchedParameterCount2(i: Int, s: String, l: List<Double>) {}
@@ -8,43 +8,58 @@ actual fun functionMismatchedParameterNames1(arg0: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames2(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames3(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {} actual fun functionMismatchedParameterNames4(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames5(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames6(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames7(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames8(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames9(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames10(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {} actual fun functionMismatchedParameterNames11(arg0: Int, arg1: String, arg2: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames12(vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames13(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames14(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {} actual fun functionMismatchedParameterNames15(arg0: Int, vararg variadicArguments: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames16(i: Int) {} actual fun functionMismatchedParameterNames16(i: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames17(i: Int, s: String) {} actual fun functionMismatchedParameterNames17(i: Int, s: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>) {} actual fun functionMismatchedParameterNames18(i: Int, s: String, l: List<Double>) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames19(vararg v: Int) {} actual fun functionMismatchedParameterNames19(vararg v: Int) {}
// hasStableParameterNames=false // hasStableParameterNames=false
actual fun functionMismatchedParameterNames20(i: Int, vararg v: Int) {} actual fun functionMismatchedParameterNames20(i: Int, vararg v: Int) {}
@@ -62,40 +77,62 @@ actual fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArgument
actual fun functionMismatchedParameterNames31(i: Int, s: String) {} actual fun functionMismatchedParameterNames31(i: Int, s: String) {}
fun functionMismatchedParameterNames32(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 @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames33(i: Int, s: String) {
@kotlinx.cinterop.ObjCMethod }
fun functionMismatchedParameterNames36(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames38(i: Int, s: String) {} actual fun functionMismatchedParameterNames34(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 @kotlinx.cinterop.ObjCMethod
actual fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames35(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 @kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(i: Int, s: String) {} fun functionMismatchedParameterNames36(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
actual fun overloadedFunctionByParameterNames(xi: Int, xs: String) {} 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 functionMismatchedParameterCount1(i: Int, s: String, l: List<Double>) {}
fun functionMismatchedParameterCount2(i: Int, s: String) {} fun functionMismatchedParameterCount2(i: Int, s: String) {}
@@ -41,41 +41,64 @@ fun functionMismatchedParameterNames29(vararg variadicArguments: Int) {}
fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {} fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int) {}
fun functionMismatchedParameterNames31(i: Int, s: String) {} fun functionMismatchedParameterNames31(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames32(i: Int, s: String) {} fun functionMismatchedParameterNames32(i: Int, s: String) {
}
fun functionMismatchedParameterNames33(i: Int, s: String) {} fun functionMismatchedParameterNames33(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames34(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(i: Int, s: String) {} fun functionMismatchedParameterNames34(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames36(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames35(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames36(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames38(i: Int, s: String) {} fun functionMismatchedParameterNames38(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames39(i: Int, s: String) {} fun functionMismatchedParameterNames39(i: Int, s: String) {
// hasStableParameterNames=false }
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames40(i: Int, s: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames40(i: Int, s: String) {
@kotlinx.cinterop.ObjCMethod }
fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {}
// hasStableParameterNames=false // hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(i: Int, s: String) {} fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(xi: Int, xs: String) {} fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(xi: Int, xs: String) {
}
fun functionMismatchedParameterCount1(i: Int, s: String) {} fun functionMismatchedParameterCount1(i: Int, s: String) {}
fun functionMismatchedParameterCount2(i: Int, s: String, l: List<Double>) {} fun functionMismatchedParameterCount2(i: Int, s: String, l: List<Double>) {}
@@ -42,40 +42,62 @@ fun functionMismatchedParameterNames30(arg0: Int, vararg variadicArguments: Int)
fun functionMismatchedParameterNames31(i: Int, s: String) {} fun functionMismatchedParameterNames31(i: Int, s: String) {}
fun functionMismatchedParameterNames32(i: Int, s: String) {} fun functionMismatchedParameterNames32(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames33(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames34(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames35(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames33(i: Int, s: String) {
@kotlinx.cinterop.ObjCMethod }
fun functionMismatchedParameterNames36(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames38(i: Int, s: String) {} fun functionMismatchedParameterNames34(i: Int, s: String) {
// hasStableParameterNames=false }
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames39(i: Int, s: String) {}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames40(i: Int, s: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {} fun functionMismatchedParameterNames35(arg0: Int, arg1: String) {
// hasStableParameterNames=false }
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(i: Int, s: String) {} fun functionMismatchedParameterNames36(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod @kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(xi: Int, xs: String) {} fun functionMismatchedParameterNames37(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames38(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames39(i: Int, s: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames40(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames41(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames42(arg0: Int, arg1: String) {
}
// hasStableParameterNames=false
@kotlinx.cinterop.ObjCMethod
fun functionMismatchedParameterNames43(arg0: Int, arg1: String) {
}
@kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(i: Int, s: String) {
}
@kotlinx.cinterop.ObjCMethod
fun overloadedFunctionByParameterNames(xi: Int, xs: String) {
}
fun functionMismatchedParameterCount1(i: Int, s: String, l: List<Double>) {} fun functionMismatchedParameterCount1(i: Int, s: String, l: List<Double>) {}
fun functionMismatchedParameterCount2(i: Int, s: String) {} fun functionMismatchedParameterCount2(i: Int, s: String) {}
@@ -1,5 +1,10 @@
expect annotation class CommonAnnotationForAnnotationClassesOnly(text: String) { val text: String } expect annotation class CommonAnnotationForAnnotationClassesOnly(text: String) {
expect annotation class CommonAnnotation(text: String) { val text: String } val text: String
}
expect annotation class CommonAnnotation(text: String) {
val text: String
}
expect var propertyWithoutBackingField: Double expect var propertyWithoutBackingField: Double
expect val propertyWithBackingField: Double expect val propertyWithBackingField: Double
@@ -9,6 +14,9 @@ expect val <T : CharSequence> T.propertyWithExtensionReceiver: Int
expect fun function1(text: String): String expect fun function1(text: String): String
expect fun <Q : Number> Q.function2(): Q expect fun <Q : Number> Q.function2(): Q
expect class AnnotatedClass(value: String) { val value: String } expect class AnnotatedClass(value: String) {
val value: String
}
typealias AnnotatedLiftedUpTypeAlias = AnnotatedClass typealias AnnotatedLiftedUpTypeAlias = AnnotatedClass
expect class AnnotatedNonLiftedUpTypeAlias expect class AnnotatedNonLiftedUpTypeAlias
@@ -30,7 +30,13 @@ actual val propertyWithBackingField = 3.14
@delegate:CommonAnnotation("field") @delegate:CommonAnnotation("field")
actual val propertyWithDelegateField: Int by lazy { 42 } 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 actual val <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length get() = length
@JsAnnotation("function") @JsAnnotation("function")
@@ -39,7 +45,13 @@ actual fun function1(@JsAnnotation("parameter") @CommonAnnotation("parameter") t
@JsAnnotation("function") @JsAnnotation("function")
@CommonAnnotation("function") @CommonAnnotation("function")
actual fun <@JsAnnotation("type-parameter") @CommonAnnotation("type-parameter") Q : Number> @receiver:JsAnnotation("receiver") @receiver:CommonAnnotation("receiver") Q.function2(): Q = this actual fun <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : Number>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): Q = this
@JsAnnotation("class") @JsAnnotation("class")
@CommonAnnotation("class") @CommonAnnotation("class")
@@ -30,7 +30,13 @@ actual val propertyWithBackingField = 3.14
@delegate:CommonAnnotation("field") @delegate:CommonAnnotation("field")
actual val propertyWithDelegateField: Int by lazy { 42 } 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 actual val <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length get() = length
@JvmAnnotation("function") @JvmAnnotation("function")
@@ -39,7 +45,13 @@ actual fun function1(@JvmAnnotation("parameter") @CommonAnnotation("parameter")
@JvmAnnotation("function") @JvmAnnotation("function")
@CommonAnnotation("function") @CommonAnnotation("function")
actual fun <@JvmAnnotation("type-parameter") @CommonAnnotation("type-parameter") Q : Number> @receiver:JvmAnnotation("receiver") @receiver:CommonAnnotation("receiver") Q.function2(): Q = this actual fun <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : Number>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): Q = this
@JvmAnnotation("class") @JvmAnnotation("class")
@CommonAnnotation("class") @CommonAnnotation("class")
@@ -30,7 +30,13 @@ val propertyWithBackingField = 3.14
@delegate:CommonAnnotation("field") @delegate:CommonAnnotation("field")
val propertyWithDelegateField: Int by lazy { 42 } val propertyWithDelegateField: Int by lazy { 42 }
val <@JsAnnotation("type-parameter") @CommonAnnotation("type-parameter") T : CharSequence> @receiver:JsAnnotation("receiver") @receiver:CommonAnnotation("receiver") T.propertyWithExtensionReceiver: Int val <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length get() = length
@JsAnnotation("function") @JsAnnotation("function")
@@ -39,7 +45,14 @@ fun function1(@JsAnnotation("parameter") @CommonAnnotation("parameter") text: St
@JsAnnotation("function") @JsAnnotation("function")
@CommonAnnotation("function") @CommonAnnotation("function")
fun <@JsAnnotation("type-parameter") @CommonAnnotation("type-parameter") Q : @JsAnnotation("type1") @CommonAnnotation("type1") Number> @receiver:JsAnnotation("receiver") @receiver:CommonAnnotation("receiver") Q.function2(): @JsAnnotation("type2") @CommonAnnotation("type2") Q = this fun <
@JsAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : @JsAnnotation("type1")
@CommonAnnotation("type1") Number>
@receiver:JsAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): @JsAnnotation("type2") @CommonAnnotation("type2") Q = this
@JsAnnotation("class") @JsAnnotation("class")
@CommonAnnotation("class") @CommonAnnotation("class")
@@ -30,7 +30,13 @@ val propertyWithBackingField = 3.14
@delegate:CommonAnnotation("field") @delegate:CommonAnnotation("field")
val propertyWithDelegateField: Int by lazy { 42 } val propertyWithDelegateField: Int by lazy { 42 }
val <@JvmAnnotation("type-parameter") @CommonAnnotation("type-parameter") T : CharSequence> @receiver:JvmAnnotation("receiver") @receiver:CommonAnnotation("receiver") T.propertyWithExtensionReceiver: Int val <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
T : CharSequence>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
T.propertyWithExtensionReceiver: Int
get() = length get() = length
@JvmAnnotation("function") @JvmAnnotation("function")
@@ -39,7 +45,15 @@ fun function1(@JvmAnnotation("parameter") @CommonAnnotation("parameter") text: S
@JvmAnnotation("function") @JvmAnnotation("function")
@CommonAnnotation("function") @CommonAnnotation("function")
fun <@JvmAnnotation("type-parameter") @CommonAnnotation("type-parameter") Q : @JvmAnnotation("type1") @CommonAnnotation("type1") Number> @receiver:JvmAnnotation("receiver") @receiver:CommonAnnotation("receiver") Q.function2(): @JvmAnnotation("type2") @CommonAnnotation("type2") Q = this fun <
@JvmAnnotation("type-parameter")
@CommonAnnotation("type-parameter")
Q : @JvmAnnotation("type1")
@CommonAnnotation("type1")
Number>
@receiver:JvmAnnotation("receiver")
@receiver:CommonAnnotation("receiver")
Q.function2(): @JvmAnnotation("type2") @CommonAnnotation("type2") Q = this
@JvmAnnotation("class") @JvmAnnotation("class")
@CommonAnnotation("class") @CommonAnnotation("class")
@@ -1,5 +1,6 @@
var defaultSetter1 = 42 var defaultSetter1 = 42
var defaultSetter2 = 42 // intentionally commented setter declaration var defaultSetter2 = 42 // intentionally commented setter declaration
// set // set
var defaultSetter3 = 42 var defaultSetter3 = 42
set set
@@ -15,17 +16,18 @@ var setterWithDelegation2 = 42 // intentionally left without delegation
var defaultSetteCustomVisibility1 = 42 var defaultSetteCustomVisibility1 = 42
public set public set
var defaultSetteCustomVisibility2 = 42 var defaultSetteCustomVisibility2 = 42
// internal set // internal set
public set // intentionally used public visibility public set // intentionally used public visibility
var defaultSetteCustomVisibility3 = 42 var defaultSetteCustomVisibility3 = 42
internal set internal set
var defaultSetteCustomVisibility4 = 42 var defaultSetteCustomVisibility4 = 42
// private set // private set
internal set // intentionally used internal visibility internal set // intentionally used internal visibility
var defaultSetteCustomVisibility5 = 42 var defaultSetteCustomVisibility5 = 42
private set private set
val propertyWithoutSetter = 42 val propertyWithoutSetter = 42
//var propertyMaybeSetter = 42 //var propertyMaybeSetter = 42
val propertyMaybeSetter = 42 // fixed to be a property without setter val propertyMaybeSetter = 42 // fixed to be a property without setter
var propertyWithSetter = 42 var propertyWithSetter = 42
@@ -8,8 +8,8 @@ package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirName import org.jetbrains.kotlin.commonizer.cir.CirName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.junit.Test import org.junit.Test
import kotlin.test.assertSame
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertSame
class CirNameTest { class CirNameTest {
@Test @Test
@@ -5,13 +5,13 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.descriptors.Visibilities.Internal import org.jetbrains.kotlin.descriptors.Visibilities.Internal
import org.jetbrains.kotlin.descriptors.Visibilities.Local import org.jetbrains.kotlin.descriptors.Visibilities.Local
import org.jetbrains.kotlin.descriptors.Visibilities.Private import org.jetbrains.kotlin.descriptors.Visibilities.Private
import org.jetbrains.kotlin.descriptors.Visibilities.Protected import org.jetbrains.kotlin.descriptors.Visibilities.Protected
import org.jetbrains.kotlin.descriptors.Visibilities.Public import org.jetbrains.kotlin.descriptors.Visibilities.Public
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.junit.Test import org.junit.Test
class EqualizingVisibilityCommonizerTest : AbstractCommonizerTest<CirHasVisibility, Visibility>() { class EqualizingVisibilityCommonizerTest : AbstractCommonizerTest<CirHasVisibility, Visibility>() {
@@ -5,6 +5,10 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirContainingClass
import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.commonizer.cir.unsupported
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities.Internal import org.jetbrains.kotlin.descriptors.Visibilities.Internal
@@ -13,10 +17,6 @@ import org.jetbrains.kotlin.descriptors.Visibilities.Private
import org.jetbrains.kotlin.descriptors.Visibilities.Protected import org.jetbrains.kotlin.descriptors.Visibilities.Protected
import org.jetbrains.kotlin.descriptors.Visibilities.Public import org.jetbrains.kotlin.descriptors.Visibilities.Public
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.CirContainingClass
import org.jetbrains.kotlin.commonizer.cir.CirFunctionOrProperty
import org.jetbrains.kotlin.commonizer.cir.CirHasVisibility
import org.jetbrains.kotlin.commonizer.cir.unsupported
import org.junit.Test import org.junit.Test
abstract class LoweringVisibilityCommonizerTest( abstract class LoweringVisibilityCommonizerTest(
@@ -5,13 +5,13 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.commonizer.cir.CirPropertySetter
import org.jetbrains.kotlin.descriptors.Visibilities.Internal import org.jetbrains.kotlin.descriptors.Visibilities.Internal
import org.jetbrains.kotlin.descriptors.Visibilities.Local import org.jetbrains.kotlin.descriptors.Visibilities.Local
import org.jetbrains.kotlin.descriptors.Visibilities.Private import org.jetbrains.kotlin.descriptors.Visibilities.Private
import org.jetbrains.kotlin.descriptors.Visibilities.Protected import org.jetbrains.kotlin.descriptors.Visibilities.Protected
import org.jetbrains.kotlin.descriptors.Visibilities.Public import org.jetbrains.kotlin.descriptors.Visibilities.Public
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.commonizer.cir.CirPropertySetter
import org.junit.Test import org.junit.Test
class PropertySetterCommonizerTest : AbstractCommonizerTest<CirPropertySetter?, CirPropertySetter?>() { class PropertySetterCommonizerTest : AbstractCommonizerTest<CirPropertySetter?, CirPropertySetter?>() {
@@ -5,14 +5,14 @@
package org.jetbrains.kotlin.commonizer.core package org.jetbrains.kotlin.commonizer.core
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.commonizer.cir.* import org.jetbrains.kotlin.commonizer.cir.*
import org.jetbrains.kotlin.commonizer.mergedtree.* import org.jetbrains.kotlin.commonizer.mergedtree.*
import org.jetbrains.kotlin.commonizer.utils.isUnderStandardKotlinPackages import org.jetbrains.kotlin.commonizer.utils.isUnderStandardKotlinPackages
import org.jetbrains.kotlin.commonizer.utils.mockClassType import org.jetbrains.kotlin.commonizer.utils.mockClassType
import org.jetbrains.kotlin.commonizer.utils.mockTAType import org.jetbrains.kotlin.commonizer.utils.mockTAType
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.storage.LockBasedStorageManager import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.commonizer.hierarchical package org.jetbrains.kotlin.commonizer.hierarchical
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest
import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
import org.jetbrains.kotlin.commonizer.assertCommonized import org.jetbrains.kotlin.commonizer.assertCommonized
import org.jetbrains.kotlin.commonizer.parseCommonizerTarget
class HierarchicalPropertyCommonizationTest : AbstractInlineSourcesCommonizationTest() { class HierarchicalPropertyCommonizationTest : AbstractInlineSourcesCommonizationTest() {