diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index 8ad8c861..f7601276 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/KMPNativeCoroutinesAsync/AsyncFunction.swift b/KMPNativeCoroutinesAsync/AsyncFunction.swift index 511f0e58..840b24cf 100644 --- a/KMPNativeCoroutinesAsync/AsyncFunction.swift +++ b/KMPNativeCoroutinesAsync/AsyncFunction.swift @@ -18,6 +18,14 @@ public func asyncFunction( try await AsyncFunctionTask(nativeSuspend: nativeSuspend).awaitResult() } +/// This function provides source compatibility during the migration to Swift export. +/// +/// This is a no-op function and it can be safely removed once you have fully migrated to Swift export. +@available(*, deprecated, message: "Kotlin Coroutines are supported by Swift export") +public func asyncFunction(for result: Result) async -> Result { + return result +} + /// Wraps the `NativeSuspend` in an async function. /// - Parameter nativeSuspend: The native suspend function to await. /// - Throws: Errors thrown by the `nativeSuspend`. diff --git a/KMPNativeCoroutinesAsync/AsyncResult.swift b/KMPNativeCoroutinesAsync/AsyncResult.swift index 247ef565..384bba1d 100644 --- a/KMPNativeCoroutinesAsync/AsyncResult.swift +++ b/KMPNativeCoroutinesAsync/AsyncResult.swift @@ -20,6 +20,20 @@ public func asyncResult( } } +/// This function provides source compatibility during the migration to Swift export. +/// +/// Once you have fully migrated to Swift export you can replace this function with a do-catch. +@available(*, deprecated, message: "Kotlin Coroutines are supported by Swift export") +public func asyncResult( + for output: @autoclosure () async throws -> Output +) async -> Result { + do { + return .success(try await output()) + } catch { + return .failure(error) + } +} + /// Awaits the `NativeSuspend` and returns the result. /// - Parameter nativeSuspend: The native suspend function to await. /// - Returns: The `Result` from the `nativeSuspend`. diff --git a/KMPNativeCoroutinesCombine/Future.swift b/KMPNativeCoroutinesCombine/Future.swift index 6fc144ab..ce53e2b5 100644 --- a/KMPNativeCoroutinesCombine/Future.swift +++ b/KMPNativeCoroutinesCombine/Future.swift @@ -18,6 +18,17 @@ public func createFuture( .eraseToAnyPublisher() } +/// This function provides source compatibility during the migration to Swift export. +/// +/// You should migrate away from this function once you have fully migrated to Swift export. +@available(*, deprecated, message: "Kotlin Coroutines are supported by Swift export") +public func createFuture( + for operation: @escaping () async throws -> Result +) -> AnyPublisher { + return TaskFuture(operation: operation) + .eraseToAnyPublisher() +} + /// Creates an `AnyPublisher` for the provided `NativeSuspend`. /// - Parameter nativeSuspend: The native suspend function to await. /// - Returns: A publisher that either finishes with a single value or fails with an error. @@ -78,3 +89,51 @@ internal class NativeSuspendSubscription: nativeCancellable = nil } } + +internal struct TaskFuture: Publisher { + + typealias Output = Result + typealias Failure = Error + + let operation: () async throws -> Result + + func receive(subscriber: S) where S : Subscriber, any Failure == S.Failure, Result == S.Input { + let subscription = TaskSubscription(operation: operation, subscriber: subscriber) + subscriber.receive(subscription: subscription) + } +} + +internal class TaskSubscription: Subscription where S.Input == Result, S.Failure == Error { + + private var operation: (() async throws -> Result)? + private var task: Task? = nil + private var subscriber: S? + + init(operation: @escaping () async throws -> Result, subscriber: S) { + self.operation = operation + self.subscriber = subscriber + } + + func request(_ demand: Subscribers.Demand) { + guard let operation = operation, demand >= 1 else { return } + self.operation = nil + task = Task { + do { + let result = try await operation() + if let subscriber = self.subscriber { + _ = subscriber.receive(result) + subscriber.receive(completion: .finished) + } + } catch { + self.subscriber?.receive(completion: .failure(error)) + } + } + } + + func cancel() { + subscriber = nil + operation = nil + task?.cancel() + task = nil + } +} diff --git a/KMPNativeCoroutinesRxSwift/Single.swift b/KMPNativeCoroutinesRxSwift/Single.swift index dfe6cfda..5e3be15b 100644 --- a/KMPNativeCoroutinesRxSwift/Single.swift +++ b/KMPNativeCoroutinesRxSwift/Single.swift @@ -17,6 +17,29 @@ public func createSingle( return createSingleImpl(for: nativeSuspend) } +/// This function provides source compatibility during the migration to Swift export. +/// +/// You should migrate away from this function once you have fully migrated to Swift export. +@available(*, deprecated, message: "Kotlin Coroutines are supported by Swift export") +@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) +public func createSingle( + for operation: @escaping () async throws -> Result +) -> Single { + return Single.deferred { + return Single.create { observer in + let task = Task { + do { + let result = try await operation() + observer(.success(result)) + } catch { + observer(.failure(error)) + } + } + return Disposables.create { task.cancel() } + } + } +} + /// Creates a `Single` for the provided `NativeSuspend`. /// - Parameter nativeSuspend: The native suspend function to await. /// - Returns: A single that either finishes with a single value or fails with an error. diff --git a/SWIFT_EXPORT.md b/SWIFT_EXPORT.md index d3bd22d1..5d02ca3b 100644 --- a/SWIFT_EXPORT.md +++ b/SWIFT_EXPORT.md @@ -31,6 +31,13 @@ For now the plugin just clones your original functions and properties to prevent **Temporary workaround:** You should disable any relevant code in Swift if you would like to try Swift export. +## 🚨 `@Throws` suspend functions are unsupported + +Throwing suspend functions aren't supported yet. + +KMP-NativeCoroutines behaves as if a `@Throws(Exception::class)` annotation was added to all suspend functions. +Since throwing suspend functions aren't supported yet, any exception will currently cause a fatal crash. + ## ⚠️ `@ObjCName` is ignored The `@ObjCName` annotation is (currently) ignored by Swift export. diff --git a/build.gradle.kts b/build.gradle.kts index 1dbd95e0..c75b6db9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ buildscript { allprojects { group = "com.rickclephas.kmp" - version = "1.0.0-ALPHA-48" + version = "1.0.0-ALPHA-48-kotlin-2.3.0-Beta2" } apiValidation { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5128e01d..714d49b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin = "2.2.21" +kotlin = "2.3.0-Beta2" kotlin-idea = "2.2.0-ij251-78" kotlinx-coroutines = "1.10.1" kotlinx-binary-compatibility-validator = "0.16.3" diff --git a/kmp-nativecoroutines-compiler-embeddable/api/kmp-nativecoroutines-compiler-embeddable.api b/kmp-nativecoroutines-compiler-embeddable/api/kmp-nativecoroutines-compiler-embeddable.api index 96f69365..76dad1b8 100644 --- a/kmp-nativecoroutines-compiler-embeddable/api/kmp-nativecoroutines-compiler-embeddable.api +++ b/kmp-nativecoroutines-compiler-embeddable/api/kmp-nativecoroutines-compiler-embeddable.api @@ -7,6 +7,7 @@ public final class com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCorout public final class com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar : org/jetbrains/kotlin/compiler/plugin/CompilerPluginRegistrar { public fun ()V + public fun getPluginId ()Ljava/lang/String; public fun getSupportsK2 ()Z public fun registerExtensions (Lorg/jetbrains/kotlin/compiler/plugin/CompilerPluginRegistrar$ExtensionStorage;Lorg/jetbrains/kotlin/config/CompilerConfiguration;)V } @@ -104,6 +105,7 @@ public final class com/rickclephas/kmp/nativecoroutines/compiler/config/Suffixes public final class com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport : java/lang/Enum { public static final field NO_FUNC_RETURN_TYPES Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; + public static final field NO_THROWS_SUSPEND_FUNC Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; public static fun getEntries ()Lkotlin/enums/EnumEntries; public static fun valueOf (Ljava/lang/String;)Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; public static fun values ()[Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; diff --git a/kmp-nativecoroutines-compiler/api/kmp-nativecoroutines-compiler.api b/kmp-nativecoroutines-compiler/api/kmp-nativecoroutines-compiler.api index 96f69365..76dad1b8 100644 --- a/kmp-nativecoroutines-compiler/api/kmp-nativecoroutines-compiler.api +++ b/kmp-nativecoroutines-compiler/api/kmp-nativecoroutines-compiler.api @@ -7,6 +7,7 @@ public final class com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCorout public final class com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar : org/jetbrains/kotlin/compiler/plugin/CompilerPluginRegistrar { public fun ()V + public fun getPluginId ()Ljava/lang/String; public fun getSupportsK2 ()Z public fun registerExtensions (Lorg/jetbrains/kotlin/compiler/plugin/CompilerPluginRegistrar$ExtensionStorage;Lorg/jetbrains/kotlin/config/CompilerConfiguration;)V } @@ -104,6 +105,7 @@ public final class com/rickclephas/kmp/nativecoroutines/compiler/config/Suffixes public final class com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport : java/lang/Enum { public static final field NO_FUNC_RETURN_TYPES Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; + public static final field NO_THROWS_SUSPEND_FUNC Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; public static fun getEntries ()Lkotlin/enums/EnumEntries; public static fun valueOf (Ljava/lang/String;)Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; public static fun values ()[Lcom/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport; diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt index 2cce4051..d3058499 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter @OptIn(ExperimentalCompilerApi::class) public class KmpNativeCoroutinesCompilerPluginRegistrar: CompilerPluginRegistrar() { + override val pluginId: String = "com.rickclephas.kmp.nativecoroutines" override val supportsK2: Boolean = true override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport.kt index 2c997aa5..dafd1d3c 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/config/SwiftExport.kt @@ -4,6 +4,7 @@ import org.jetbrains.kotlin.utils.filterToSetOrEmpty public enum class SwiftExport { NO_FUNC_RETURN_TYPES, + NO_THROWS_SUSPEND_FUNC, } public val SWIFT_EXPORT: ConfigOptionWithDefault> = diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/codegen/NativeFunction.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/codegen/NativeFunction.kt index 730eabb2..3882048b 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/codegen/NativeFunction.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/codegen/NativeFunction.kt @@ -84,7 +84,10 @@ internal fun FirExtension.buildNativeFunction( if (annotation.shouldRefineInSwift) { annotations.add(buildAnnotation(ClassIds.shouldRefineInSwift)) } - if (SwiftExport.NO_FUNC_RETURN_TYPES in swiftExport && callableSignature.isSuspend) { + if (SwiftExport.NO_FUNC_RETURN_TYPES in swiftExport && + SwiftExport.NO_THROWS_SUSPEND_FUNC !in swiftExport && + callableSignature.isSuspend + ) { annotations.add(buildThrowsAnnotation(ClassIds.exception)) } diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/extensions/KmpNativeCoroutinesDeclarationGenerationExtension.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/extensions/KmpNativeCoroutinesDeclarationGenerationExtension.kt index 9fbb18fb..a981ddb6 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/extensions/KmpNativeCoroutinesDeclarationGenerationExtension.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/fir/extensions/KmpNativeCoroutinesDeclarationGenerationExtension.kt @@ -5,6 +5,7 @@ import com.rickclephas.kmp.nativecoroutines.compiler.fir.codegen.buildNativeFunc import com.rickclephas.kmp.nativecoroutines.compiler.fir.codegen.buildNativeProperty import com.rickclephas.kmp.nativecoroutines.compiler.fir.codegen.buildSharedFlowReplayCacheProperty import com.rickclephas.kmp.nativecoroutines.compiler.fir.codegen.buildStateFlowValueProperty +import com.rickclephas.kmp.nativecoroutines.compiler.utils.FqNames import com.rickclephas.kmp.nativecoroutines.compiler.utils.NativeCoroutinesAnnotation import com.rickclephas.kmp.nativecoroutines.compiler.utils.NativeCoroutinesAnnotation.NativeCoroutines import com.rickclephas.kmp.nativecoroutines.compiler.utils.NativeCoroutinesAnnotation.NativeCoroutinesIgnore @@ -19,6 +20,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.DirectDeclarationsAccess import org.jetbrains.kotlin.fir.declarations.utils.isExpect import org.jetbrains.kotlin.fir.extensions.* +import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate import org.jetbrains.kotlin.fir.extensions.predicate.LookupPredicate import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider import org.jetbrains.kotlin.fir.scopes.getFunctions @@ -41,9 +43,13 @@ internal class KmpNativeCoroutinesDeclarationGenerationExtension( private val lookupPredicate = LookupPredicate.AnnotatedWith( NativeCoroutinesAnnotation.entries.map { it.fqName }.toSet() ) + private val objcExportPredicate = DeclarationPredicate.AnnotatedWith( + setOf(FqNames.nativeCoroutinesObjCExport) + ) override fun FirDeclarationPredicateRegistrar.registerPredicates() { register(lookupPredicate) + register(objcExportPredicate) } override fun getCallableNamesForClass( @@ -102,6 +108,7 @@ internal class KmpNativeCoroutinesDeclarationGenerationExtension( private fun getAnnotationForSymbol(symbol: FirCallableSymbol<*>): NativeCoroutinesAnnotation? { if (symbol.rawStatus.isOverride || symbol.isExpect) return null + if (swiftExport.isNotEmpty() && session.predicateBasedProvider.matches(objcExportPredicate, symbol)) return null return predicates.entries.singleOrNull { (_, predicate) -> session.predicateBasedProvider.matches(predicate, symbol) }?.key diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/utils/FqNames.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/utils/FqNames.kt index de95db53..77bcbc3a 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/utils/FqNames.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/utils/FqNames.kt @@ -26,4 +26,6 @@ internal object FqNames { val observableViewModel = FqName("com.rickclephas.kmp.observableviewmodel.ViewModel") val androidxViewModel = FqName("androidx.lifecycle.ViewModel") + + val nativeCoroutinesObjCExport = FqName("com.rickclephas.kmp.nativecoroutines.sample.NativeCoroutinesObjCExport") } diff --git a/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirLightTreeCodegenTestGenerated.java b/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirLightTreeCodegenTestGenerated.java index 7a966a88..981ac517 100644 --- a/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirLightTreeCodegenTestGenerated.java +++ b/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirLightTreeCodegenTestGenerated.java @@ -4,7 +4,6 @@ import com.intellij.testFramework.TestDataPath; import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TargetBackend; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -19,7 +18,7 @@ public class FirLightTreeCodegenTestGenerated extends AbstractFirLightTreeCodegenTest { @Test public void testAllFilesPresentInCodegen() { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), TargetBackend.JVM_IR, true); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); } @Test @@ -58,7 +57,7 @@ public void testViewmodelscope() { public class Swift1 { @Test public void testAllFilesPresentInSwift1() { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift1"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), TargetBackend.JVM_IR, true); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift1"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); } @Test @@ -91,4 +90,44 @@ public void testViewmodelscope() { runTest("src/testData/codegen/swift1/viewmodelscope.kt"); } } + + @Nested + @TestMetadata("src/testData/codegen/swift3") + @TestDataPath("$PROJECT_ROOT") + public class Swift3 { + @Test + public void testAllFilesPresentInSwift3() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift3"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); + } + + @Test + @TestMetadata("annotations.kt") + public void testAnnotations() { + runTest("src/testData/codegen/swift3/annotations.kt"); + } + + @Test + @TestMetadata("coroutinescope.kt") + public void testCoroutinescope() { + runTest("src/testData/codegen/swift3/coroutinescope.kt"); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("src/testData/codegen/swift3/functions.kt"); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("src/testData/codegen/swift3/properties.kt"); + } + + @Test + @TestMetadata("viewmodelscope.kt") + public void testViewmodelscope() { + runTest("src/testData/codegen/swift3/viewmodelscope.kt"); + } + } } diff --git a/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirPsiCodegenTestGenerated.java b/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirPsiCodegenTestGenerated.java index b5f8019e..b507b3db 100644 --- a/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirPsiCodegenTestGenerated.java +++ b/kmp-nativecoroutines-compiler/src/test/generated/com/rickclephas/kmp/nativecoroutines/compiler/runners/FirPsiCodegenTestGenerated.java @@ -4,7 +4,6 @@ import com.intellij.testFramework.TestDataPath; import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TargetBackend; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -19,7 +18,7 @@ public class FirPsiCodegenTestGenerated extends AbstractFirPsiCodegenTest { @Test public void testAllFilesPresentInCodegen() { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), TargetBackend.JVM_IR, true); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); } @Test @@ -58,7 +57,7 @@ public void testViewmodelscope() { public class Swift1 { @Test public void testAllFilesPresentInSwift1() { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift1"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), TargetBackend.JVM_IR, true); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift1"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); } @Test @@ -91,4 +90,44 @@ public void testViewmodelscope() { runTest("src/testData/codegen/swift1/viewmodelscope.kt"); } } + + @Nested + @TestMetadata("src/testData/codegen/swift3") + @TestDataPath("$PROJECT_ROOT") + public class Swift3 { + @Test + public void testAllFilesPresentInSwift3() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("src/testData/codegen/swift3"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kt$"), true); + } + + @Test + @TestMetadata("annotations.kt") + public void testAnnotations() { + runTest("src/testData/codegen/swift3/annotations.kt"); + } + + @Test + @TestMetadata("coroutinescope.kt") + public void testCoroutinescope() { + runTest("src/testData/codegen/swift3/coroutinescope.kt"); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("src/testData/codegen/swift3/functions.kt"); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("src/testData/codegen/swift3/properties.kt"); + } + + @Test + @TestMetadata("viewmodelscope.kt") + public void testViewmodelscope() { + runTest("src/testData/codegen/swift3/viewmodelscope.kt"); + } + } } diff --git a/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/GenerateTests.kt b/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/GenerateTests.kt index 90b75af5..a326d52b 100644 --- a/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/GenerateTests.kt +++ b/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/GenerateTests.kt @@ -1,7 +1,7 @@ package com.rickclephas.kmp.nativecoroutines.compiler import com.rickclephas.kmp.nativecoroutines.compiler.runners.* -import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5 +import org.jetbrains.kotlin.generators.dsl.junit5.generateTestGroupSuiteWithJUnit5 fun main() { generateTestGroupSuiteWithJUnit5 { diff --git a/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/runners/AbstractFirBaseCodegenTest.kt b/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/runners/AbstractFirBaseCodegenTest.kt index 72dbcd53..eef1ce14 100644 --- a/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/runners/AbstractFirBaseCodegenTest.kt +++ b/kmp-nativecoroutines-compiler/src/test/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/runners/AbstractFirBaseCodegenTest.kt @@ -81,7 +81,8 @@ abstract class AbstractFirBaseCodegenTest( KmpNativeCoroutinesDirectives.STATE_FLOW_SUFFIX with "Flow" } listOf( - 0b1, // Kotlin 2.2.21 + 0b01, // Kotlin 2.2.21 + 0b11, // Kotlin 2.3.0-Beta2 ).forEach { version -> forTestsMatching("swift$version/*") { defaultDirectives { diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.ir.txt index b4eeb1b4..3ba6e92b 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.ir.txt @@ -1,241 +1,4 @@ -FILE fqName: fileName:/annotations.kt - annotations: - Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"] type=kotlin.Array varargElementType=kotlin.String) - PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 4", replaceWith = , level = ) - FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK4" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) - FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK5" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) - FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK6" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK7" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - annotations: - Deprecated(message = "This is deprecated 7", replaceWith = , level = ) - correspondingProperty: PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) - FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK11" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesState - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) - FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK12" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - FUN name:box visibility:public modality:FINAL returnType:kotlin.String - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' - CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null - ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest - BLOCK_BODY - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun deprecatedFunction1Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun deprecatedFunction2Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun objCNameFunction1Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun objCNameFunction2Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun objCNameFunction3Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' - CALL 'public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - ARG value: CONST String type=kotlin.String value="OK13" - FUN name:deprecatedFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 1", replaceWith = , level = ) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK1" - FUN name:deprecatedFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK2" - FUN name:deprecatedFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK3" - FUN name:objCNameFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun objCNameFunction1 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK8" - FUN name:objCNameFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - ObjCName(name = , swiftName = "objCNameFunction2Swift", exact = ) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun objCNameFunction2 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK9" - FUN name:objCNameFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun objCNameFunction3 (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK10" - FUN name:objCNameFunctionParameter visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String - annotations: - ObjCName(name = "valueObjC", swiftName = , exact = ) - annotations: - NativeCoroutines - OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' - GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameter' type=kotlin.String origin=null -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4Value type:kotlin.String visibility:private [static] FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String @@ -487,3 +250,240 @@ FILE fqName: fileName:__GENERATED DECLARATIONS__.kt RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null ARG : GET_VAR 'val tmp_21: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null +FILE fqName: fileName:/annotations.kt + annotations: + Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"] type=kotlin.Array varargElementType=kotlin.String) + PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 4", replaceWith = , level = ) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK5" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK6" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK7" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK11" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesState + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK12" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun deprecatedFunction1Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun deprecatedFunction2Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun objCNameFunction1Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun objCNameFunction2Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun objCNameFunction3Native (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun await (nativeSuspend: kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeSuspend: FUN_EXPR type=kotlin.Function0, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .box.' + CALL 'public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + ARG value: CONST String type=kotlin.String value="OK13" + FUN name:deprecatedFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 1", replaceWith = , level = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK1" + FUN name:deprecatedFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK2" + FUN name:deprecatedFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK3" + FUN name:objCNameFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction1 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK8" + FUN name:objCNameFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = , swiftName = "objCNameFunction2Swift", exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction2 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK9" + FUN name:objCNameFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction3 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK10" + FUN name:objCNameFunctionParameter visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "valueObjC", swiftName = , exact = ) + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' + GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameter' type=kotlin.String origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.kt.txt index 8daa9b9c..67a247cd 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.kt.txt @@ -1,128 +1,4 @@ -// FILE: annotations.kt -@file:Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"]) - -@NativeCoroutines -@Deprecated(message = "This is deprecated 4") -val deprecatedProperty1: Flow - field = flowOf(value = "OK4") - get - -@NativeCoroutines -@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) -val deprecatedProperty2: Flow - field = flowOf(value = "OK5") - get - -@NativeCoroutines -@Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = []), level = DeprecationLevel.ERROR) -val deprecatedProperty3: Flow - field = flowOf(value = "OK6") - get - -@NativeCoroutines -val deprecatedProperty4: MutableStateFlow - field = MutableStateFlow(value = "OK7") - @Deprecated(message = "This is deprecated 7") - get - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameProperty1ObjC") -val objCNameProperty1: StateFlow - field = MutableStateFlow(value = "OK11") - get - -@NativeCoroutinesState -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameProperty2ObjC") -val objCNameProperty2: StateFlow - field = MutableStateFlow(value = "OK12") - get - -fun box(): String { - return runBoxTest(action = local suspend fun BoxTest.() { - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return deprecatedFunction1Native() - } -) - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return deprecatedFunction2Native() - } -) - $this$runBoxTest.collect(nativeFlow = ()) - $this$runBoxTest.collect(nativeFlow = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return objCNameFunction1Native() - } -) - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return objCNameFunction2Native() - } -) - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return objCNameFunction3Native() - } -) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - return objCNameFunctionParameterNative(value = "OK13") - } -) - } -) -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 1") -suspend fun deprecatedFunction1(): String { - return "OK1" -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) -suspend fun deprecatedFunction2(): String { - return "OK2" -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = []), level = DeprecationLevel.ERROR) -suspend fun deprecatedFunction3(): String { - return "OK3" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameFunction1ObjC") -suspend fun objCNameFunction1(): String { - return "OK8" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(swiftName = "objCNameFunction2Swift") -suspend fun objCNameFunction2(): String { - return "OK9" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") -suspend fun objCNameFunction3(): String { - return "OK10" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -suspend fun objCNameFunctionParameter(@ObjCName(name = "valueObjC") value: String): String { - return value -} - -// FILE: __GENERATED DECLARATIONS__.kt +// FILE: __GENERATED__CALLABLES__.kt var deprecatedProperty4Value: String @Deprecated(message = "This is deprecated 7") @@ -266,3 +142,127 @@ val objCNameProperty2Value: String val tmp_21: StateFlow = () return tmp_21.() } + +// FILE: annotations.kt +@file:Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"]) + +@NativeCoroutines +@Deprecated(message = "This is deprecated 4") +val deprecatedProperty1: Flow + field = flowOf(value = "OK4") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) +val deprecatedProperty2: Flow + field = flowOf(value = "OK5") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = []), level = DeprecationLevel.ERROR) +val deprecatedProperty3: Flow + field = flowOf(value = "OK6") + get + +@NativeCoroutines +val deprecatedProperty4: MutableStateFlow + field = MutableStateFlow(value = "OK7") + @Deprecated(message = "This is deprecated 7") + get + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty1ObjC") +val objCNameProperty1: StateFlow + field = MutableStateFlow(value = "OK11") + get + +@NativeCoroutinesState +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty2ObjC") +val objCNameProperty2: StateFlow + field = MutableStateFlow(value = "OK12") + get + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return deprecatedFunction1Native() + } +) + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return deprecatedFunction2Native() + } +) + $this$runBoxTest.collect(nativeFlow = ()) + $this$runBoxTest.collect(nativeFlow = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return objCNameFunction1Native() + } +) + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return objCNameFunction2Native() + } +) + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return objCNameFunction3Native() + } +) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(nativeSuspend = local fun (): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + return objCNameFunctionParameterNative(value = "OK13") + } +) + } +) +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 1") +suspend fun deprecatedFunction1(): String { + return "OK1" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) +suspend fun deprecatedFunction2(): String { + return "OK2" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = []), level = DeprecationLevel.ERROR) +suspend fun deprecatedFunction3(): String { + return "OK3" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction1ObjC") +suspend fun objCNameFunction1(): String { + return "OK8" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(swiftName = "objCNameFunction2Swift") +suspend fun objCNameFunction2(): String { + return "OK9" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") +suspend fun objCNameFunction3(): String { + return "OK10" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +suspend fun objCNameFunctionParameter(@ObjCName(name = "valueObjC") value: String): String { + return value +} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.txt index 7671e9ff..59fb9665 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/annotations.fir.txt @@ -70,7 +70,7 @@ FILE: annotations.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/Deprecated|(message = String(This is deprecated 1)) @R|kotlin/native/ObjCName|(name = String(deprecatedFunction1)) public final fun deprecatedFunction1Native(): R|com/rickclephas/kmp/nativecoroutines/NativeSuspend| { ::R|/deprecatedFunction1| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.ir.txt index 029712c2..f3b51102 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.ir.txt @@ -1,3 +1,86 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 + annotations: + ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in .returnExtSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnExtSuspendValueNative' + CALL 'public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass6 declared in .returnExtSuspendValueNative' type=.MyClass6 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValueNative' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty1", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_3: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty2", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_4: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null FILE fqName: fileName:/coroutinescope1.kt PROPERTY name:coroutineScope1 visibility:internal modality:FINAL [val] annotations: @@ -597,86 +680,3 @@ FILE fqName: fileName:/coroutinescope2.kt CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null TYPE_ARG T: kotlin.String ARG value: CONST String type=kotlin.String value="OK8" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 - annotations: - ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in .returnExtSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnExtSuspendValueNative' - CALL 'public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyClass6 declared in .returnExtSuspendValueNative' type=.MyClass6 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - annotations: - ObjCName(name = "returnSuspendValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValueNative' - CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowExtProperty1", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_3: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowExtProperty2", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_4: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope declared in .' type=kotlinx.coroutines.CoroutineScope origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.kt.txt index 828e16cc..401ad37f 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.kt.txt @@ -1,3 +1,47 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnExtSuspendValue") +fun MyClass6.returnExtSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_0: CoroutineScope? = null + return nativeSuspend(scope = tmp_0, block = local suspend fun (): String { + return returnExtSuspendValue(/* = */) + } +) +} + +@ObjCName(name = "returnSuspendValue") +fun returnSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_1: CoroutineScope = () + return nativeSuspend(scope = tmp_1, block = local suspend fun (): String { + return returnSuspendValue() + } +) +} + +@ObjCName(name = "flowExtProperty1") +val MyClass3.flowExtProperty1Native: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_2: CoroutineScope = () + val tmp_3: Flow = (/* = */) + return asNativeFlow(/* = tmp_3, */ scope = tmp_2) + } + +@ObjCName(name = "flowExtProperty2") +val MyClass3.flowExtProperty2Native: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_4: CoroutineScope = .() + val tmp_5: Flow = (/* = */) + return asNativeFlow(/* = tmp_5, */ scope = tmp_4) + } + +@ObjCName(name = "flowProperty") +val flowPropertyNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_6: CoroutineScope = () + val tmp_7: Flow = () + return asNativeFlow(/* = tmp_7, */ scope = tmp_6) + } + // FILE: coroutinescope1.kt @NativeCoroutineScope @@ -256,47 +300,3 @@ val MyClass3.flowExtProperty2: Flow get(): Flow { return flowOf(value = "OK8") } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnExtSuspendValue") -fun MyClass6.returnExtSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_0: CoroutineScope? = null - return nativeSuspend(scope = tmp_0, block = local suspend fun (): String { - return returnExtSuspendValue(/* = */) - } -) -} - -@ObjCName(name = "returnSuspendValue") -fun returnSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_1: CoroutineScope = () - return nativeSuspend(scope = tmp_1, block = local suspend fun (): String { - return returnSuspendValue() - } -) -} - -@ObjCName(name = "flowExtProperty1") -val MyClass3.flowExtProperty1Native: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_2: CoroutineScope = () - val tmp_3: Flow = (/* = */) - return asNativeFlow(/* = tmp_3, */ scope = tmp_2) - } - -@ObjCName(name = "flowExtProperty2") -val MyClass3.flowExtProperty2Native: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_4: CoroutineScope = .() - val tmp_5: Flow = (/* = */) - return asNativeFlow(/* = tmp_5, */ scope = tmp_4) - } - -@ObjCName(name = "flowProperty") -val flowPropertyNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_6: CoroutineScope = () - val tmp_7: Flow = () - return asNativeFlow(/* = tmp_7, */ scope = tmp_6) - } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.txt index ee86bf42..8f059307 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/coroutinescope.fir.txt @@ -179,7 +179,7 @@ FILE: coroutinescope2.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final fun returnSuspendValueNative(): R|com/rickclephas/kmp/nativecoroutines/NativeSuspend| { ::R|/returnSuspendValue| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.ir.txt index 0107c50a..2171baad 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.ir.txt @@ -1,3 +1,314 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnCustomFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:.MyFlow23 [val] + CALL 'public final fun returnCustomFlowValue (): .MyFlow23 declared in ' type=.MyFlow23 origin=null + RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_1: .MyFlow23 declared in .returnCustomFlowValueNative' type=.MyFlow23 origin=null + ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in .returnCustomFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + annotations: + ObjCName(name = "returnExtensionValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in .returnExtensionValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnExtensionValueNative' + CALL 'public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': kotlin.String declared in .returnExtensionValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_4: kotlinx.coroutines.flow.Flow declared in .returnFlowValueNative' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in .returnFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnGenericSuspendValueNative + annotations: + ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of .returnGenericSuspendValue + ARG scope: GET_VAR 'val tmp_5: kotlinx.coroutines.CoroutineScope? declared in .returnGenericSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0.returnGenericSuspendValue> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:T of .returnGenericSuspendValue [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): T of .returnGenericSuspendValue declared in .returnGenericSuspendValueNative' + CALL 'public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' type=T of .returnGenericSuspendValue origin=null + TYPE_ARG T: T of .returnGenericSuspendValueNative + ARG value: GET_VAR 'value: T of .returnGenericSuspendValueNative declared in .returnGenericSuspendValueNative' type=T of .returnGenericSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [inline] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnInlineSuspendValueNative + annotations: + ObjCName(name = "returnInlineSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of .returnInlineSuspendValue + ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .returnInlineSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0.returnInlineSuspendValue> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:T of .returnInlineSuspendValue [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): T of .returnInlineSuspendValue declared in .returnInlineSuspendValueNative' + CALL 'public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' type=T of .returnInlineSuspendValue origin=null + TYPE_ARG T: T of .returnInlineSuspendValueNative + ARG value: GET_VAR 'value: T of .returnInlineSuspendValueNative declared in .returnInlineSuspendValueNative' type=T of .returnInlineSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + annotations: + ObjCName(name = "returnNullableFlowAndValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.Flow? [val] + CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow? origin=null + ARG scope: GET_VAR 'val tmp_7: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + annotations: + ObjCName(name = "returnNullableFlow", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.Flow? [val] + CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow? origin=null + ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnNullableFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_12: kotlinx.coroutines.flow.Flow declared in .returnNullableFlowValueNative' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_11: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnNullableSuspendFlow", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? [suspend] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.Flow? [val] + CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in .returnNullableSuspendFlowNative' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow? declared in .returnNullableSuspendFlowNative.' type=kotlinx.coroutines.flow.Flow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow? declared in .returnNullableSuspendFlowNative.' type=kotlinx.coroutines.flow.Flow? origin=null + ARG scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnNullableSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG scope: GET_VAR 'val tmp_15: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String? [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String? declared in .returnNullableSuspendValueNative' + CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in ' type=kotlin.String? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnRefinedSuspendValue", swiftName = , exact = ) + ShouldRefineInSwift + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_16: kotlinx.coroutines.CoroutineScope? declared in .returnRefinedSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnRefinedSuspendValueNative' + CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnStateFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_18: kotlinx.coroutines.flow.StateFlow declared in .returnStateFlowValueNative' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_17: kotlinx.coroutines.CoroutineScope? declared in .returnStateFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnSuspendFlowValue", swiftName = , exact = ) + ShouldRefineInSwift + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + ARG scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [suspend] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .returnSuspendFlowValueNative' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_20: kotlinx.coroutines.flow.Flow declared in .returnSuspendFlowValueNative.' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.Int + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.Int + ARG scope: GET_VAR 'val tmp_21: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Int [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .returnSuspendParameterValueNative' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + ARG value: GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValueNative' type=kotlin.Int origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_22: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendParameterValueNative' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_23: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValueNative' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + annotations: + ObjCName(name = "returnSuspendVarargValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_24: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendVarargValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendVarargValueNative' + CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG values: GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValueNative' type=kotlin.Array origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + annotations: + ObjCName(name = "returnThrowsSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_25: kotlinx.coroutines.CoroutineScope? declared in .returnThrowsSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnThrowsSuspendValueNative' + CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null FILE fqName: fileName:/functions.kt CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any] thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass14.MyClass14> @@ -593,415 +904,104 @@ FILE fqName: fileName:/functions.kt TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false VALUE_PARAMETER kind:Regular name:value index:0 type:T of .returnGenericSuspendValue annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' - GET_VAR 'value: T of .returnGenericSuspendValue declared in .returnGenericSuspendValue' type=T of .returnGenericSuspendValue origin=null - FUN name:returnInlineSuspendValue visibility:public modality:FINAL returnType:T of .returnInlineSuspendValue [inline,suspend] - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true - VALUE_PARAMETER kind:Regular name:value index:0 type:T of .returnInlineSuspendValue - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' - GET_VAR 'value: T of .returnInlineSuspendValue declared in .returnInlineSuspendValue' type=T of .returnInlineSuspendValue origin=null - FUN name:returnNullableFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - FUN name:returnNullableFlowAndValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - FUN name:returnNullableFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String? - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN name:returnNullableSuspendFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - FUN name:returnNullableSuspendValue visibility:public modality:FINAL returnType:kotlin.String? [suspend] - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValue (): kotlin.String? declared in ' - CONST Null type=kotlin.Nothing? value=null - FUN name:returnRefinedSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutinesRefined - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValue (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK13" - FUN name:returnStateFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK7" - FUN name:returnSuspendFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] - annotations: - NativeCoroutinesRefined - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK14" - FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.Int [suspend] - VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.Int - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' - GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValue' type=kotlin.Int origin=null - FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' - GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValue' type=kotlin.String origin=null - FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK1" - FUN name:returnSuspendVarargValue visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' - CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT - ARG : GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValue' type=kotlin.Array origin=null - ARG index: CONST Int type=kotlin.Int value=0 - FUN name:returnThrowsSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - NativeCoroutines - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValue (): kotlin.String declared in ' - CONST String type=kotlin.String value="OK10" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - annotations: - ObjCName(name = "returnCustomFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:.MyFlow23 [val] - CALL 'public final fun returnCustomFlowValue (): .MyFlow23 declared in ' type=.MyFlow23 origin=null - RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_1: .MyFlow23 declared in .returnCustomFlowValueNative' type=.MyFlow23 origin=null - ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in .returnCustomFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - annotations: - ObjCName(name = "returnExtensionValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in .returnExtensionValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnExtensionValueNative' - CALL 'public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': kotlin.String declared in .returnExtensionValueNative' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - annotations: - ObjCName(name = "returnFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_4: kotlinx.coroutines.flow.Flow declared in .returnFlowValueNative' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in .returnFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnGenericSuspendValueNative - annotations: - ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnGenericSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of .returnGenericSuspendValue - ARG scope: GET_VAR 'val tmp_5: kotlinx.coroutines.CoroutineScope? declared in .returnGenericSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0.returnGenericSuspendValue> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:T of .returnGenericSuspendValue [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): T of .returnGenericSuspendValue declared in .returnGenericSuspendValueNative' - CALL 'public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' type=T of .returnGenericSuspendValue origin=null - TYPE_ARG T: T of .returnGenericSuspendValueNative - ARG value: GET_VAR 'value: T of .returnGenericSuspendValueNative declared in .returnGenericSuspendValueNative' type=T of .returnGenericSuspendValueNative origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [inline] - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnInlineSuspendValueNative - annotations: - ObjCName(name = "returnInlineSuspendValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2.returnInlineSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of .returnInlineSuspendValue - ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .returnInlineSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0.returnInlineSuspendValue> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:T of .returnInlineSuspendValue [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): T of .returnInlineSuspendValue declared in .returnInlineSuspendValueNative' - CALL 'public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' type=T of .returnInlineSuspendValue origin=null - TYPE_ARG T: T of .returnInlineSuspendValueNative - ARG value: GET_VAR 'value: T of .returnInlineSuspendValueNative declared in .returnInlineSuspendValueNative' type=T of .returnInlineSuspendValueNative origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - annotations: - ObjCName(name = "returnNullableFlowAndValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.Flow? [val] - CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow? origin=null - ARG scope: GET_VAR 'val tmp_7: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowAndValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' + GET_VAR 'value: T of .returnGenericSuspendValue declared in .returnGenericSuspendValue' type=T of .returnGenericSuspendValue origin=null + FUN name:returnInlineSuspendValue visibility:public modality:FINAL returnType:T of .returnInlineSuspendValue [inline,suspend] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .returnInlineSuspendValue annotations: - ObjCName(name = "returnNullableFlow", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.Flow? [val] - CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow? declared in .returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow? origin=null - ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' + GET_VAR 'value: T of .returnInlineSuspendValue declared in .returnInlineSuspendValue' type=T of .returnInlineSuspendValue origin=null + FUN name:returnNullableFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? annotations: - ObjCName(name = "returnNullableFlowValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_12: kotlinx.coroutines.flow.Flow declared in .returnNullableFlowValueNative' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_11: kotlinx.coroutines.CoroutineScope? declared in .returnNullableFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableFlowAndValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? annotations: - ObjCName(name = "returnNullableSuspendFlow", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>?> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? [suspend] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.Flow? [val] - CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in .returnNullableSuspendFlowNative' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow? declared in .returnNullableSuspendFlowNative.' type=kotlinx.coroutines.flow.Flow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow? declared in .returnNullableSuspendFlowNative.' type=kotlinx.coroutines.flow.Flow? origin=null - ARG scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow annotations: - ObjCName(name = "returnNullableSuspendValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null TYPE_ARG T: kotlin.String? - ARG scope: GET_VAR 'val tmp_15: kotlinx.coroutines.CoroutineScope? declared in .returnNullableSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String? [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String? declared in .returnNullableSuspendValueNative' - CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in ' type=kotlin.String? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableSuspendFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] annotations: - ObjCName(name = "returnRefinedSuspendValue", swiftName = , exact = ) - ShouldRefineInSwift + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_16: kotlinx.coroutines.CoroutineScope? declared in .returnRefinedSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnRefinedSuspendValueNative' - CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableSuspendValue visibility:public modality:FINAL returnType:kotlin.String? [suspend] annotations: - ObjCName(name = "returnStateFlowValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_18: kotlinx.coroutines.flow.StateFlow declared in .returnStateFlowValueNative' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_17: kotlinx.coroutines.CoroutineScope? declared in .returnStateFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValue (): kotlin.String? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnRefinedSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] annotations: - ObjCName(name = "returnSuspendFlowValue", swiftName = , exact = ) - ShouldRefineInSwift + NativeCoroutinesRefined BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - ARG scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [suspend] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .returnSuspendFlowValueNative' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_20: kotlinx.coroutines.flow.Flow declared in .returnSuspendFlowValueNative.' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.Int + RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK13" + FUN name:returnStateFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow annotations: - ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.Int - ARG scope: GET_VAR 'val tmp_21: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Int [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .returnSuspendParameterValueNative' - CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null - ARG value: GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValueNative' type=kotlin.Int origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + RETURN type=kotlin.Nothing from='public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK7" + FUN name:returnSuspendFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] annotations: - ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + NativeCoroutinesRefined BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_22: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendParameterValueNative' - CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG value: GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValueNative' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + ARG value: CONST String type=kotlin.String value="OK14" + FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.Int [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.Int annotations: - ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_23: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValueNative' - CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' + GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValue' type=kotlin.Int origin=null + FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String annotations: - ObjCName(name = "returnSuspendVarargValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_24: kotlinx.coroutines.CoroutineScope? declared in .returnSuspendVarargValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendVarargValueNative' - CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG values: GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValueNative' type=kotlin.Array origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' + GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValue' type=kotlin.String origin=null + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] annotations: - ObjCName(name = "returnThrowsSuspendValue", swiftName = , exact = ) + NativeCoroutines BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_25: kotlinx.coroutines.CoroutineScope? declared in .returnThrowsSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnThrowsSuspendValueNative' - CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK1" + FUN name:returnSuspendVarargValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' + CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT + ARG : GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValue' type=kotlin.Array origin=null + ARG index: CONST Int type=kotlin.Int value=0 + FUN name:returnThrowsSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK10" diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.kt.txt index 6a7b5a24..40368fad 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.kt.txt @@ -1,3 +1,168 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnCustomFlowValue") +fun returnCustomFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_0: CoroutineScope? = null + val tmp_1: MyFlow23 = returnCustomFlowValue() + return asNativeFlow(/* = tmp_1, */ scope = tmp_0) +} + +@ObjCName(name = "returnExtensionValue") +fun String.returnExtensionValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_2: CoroutineScope? = null + return nativeSuspend(scope = tmp_2, block = local suspend fun (): String { + return returnExtensionValue(/* = */) + } +) +} + +@ObjCName(name = "returnFlowValue") +fun returnFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_3: CoroutineScope? = null + val tmp_4: Flow = returnFlowValue() + return asNativeFlow(/* = tmp_4, */ scope = tmp_3) +} + +@ObjCName(name = "returnGenericSuspendValue") +fun returnGenericSuspendValueNative(value: T): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_5: CoroutineScope? = null + return nativeSuspend(scope = tmp_5, block = local suspend fun (): T { + return returnGenericSuspendValue(value = value) + } +) +} + +@ObjCName(name = "returnInlineSuspendValue") +inline fun returnInlineSuspendValueNative(value: T): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_6: CoroutineScope? = null + return nativeSuspend(scope = tmp_6, block = local suspend fun (): T { + return returnInlineSuspendValue(value = value) + } +) +} + +@ObjCName(name = "returnNullableFlowAndValue") +fun returnNullableFlowAndValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_7: CoroutineScope? = null + val tmp_8: Flow? = returnNullableFlowAndValue() + return when { + EQEQ(arg0 = tmp_8, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_8, */ scope = tmp_7) + } +} + +@ObjCName(name = "returnNullableFlow") +fun returnNullableFlowNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_9: CoroutineScope? = null + val tmp_10: Flow? = returnNullableFlow() + return when { + EQEQ(arg0 = tmp_10, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_10, */ scope = tmp_9) + } +} + +@ObjCName(name = "returnNullableFlowValue") +fun returnNullableFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_11: CoroutineScope? = null + val tmp_12: Flow = returnNullableFlowValue() + return asNativeFlow(/* = tmp_12, */ scope = tmp_11) +} + +@ObjCName(name = "returnNullableSuspendFlow") +fun returnNullableSuspendFlowNative(): Function3<@ParameterName(name = "onResult") Function2, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?, Unit, Unit>, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_13: CoroutineScope? = null + return nativeSuspend, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(scope = tmp_13, block = local suspend fun (): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_14: Flow? = returnNullableSuspendFlow() + return when { + EQEQ(arg0 = tmp_14, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_14, */ scope = tmp_13) + } + } +) +} + +@ObjCName(name = "returnNullableSuspendValue") +fun returnNullableSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_15: CoroutineScope? = null + return nativeSuspend(scope = tmp_15, block = local suspend fun (): String? { + return returnNullableSuspendValue() + } +) +} + +@ObjCName(name = "returnRefinedSuspendValue") +@ShouldRefineInSwift +fun returnRefinedSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_16: CoroutineScope? = null + return nativeSuspend(scope = tmp_16, block = local suspend fun (): String { + return returnRefinedSuspendValue() + } +) +} + +@ObjCName(name = "returnStateFlowValue") +fun returnStateFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_17: CoroutineScope? = null + val tmp_18: StateFlow = returnStateFlowValue() + return asNativeFlow(/* = tmp_18, */ scope = tmp_17) +} + +@ObjCName(name = "returnSuspendFlowValue") +@ShouldRefineInSwift +fun returnSuspendFlowValueNative(): Function3<@ParameterName(name = "onResult") Function2, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>, Unit, Unit>, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_19: CoroutineScope? = null + return nativeSuspend, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>>(scope = tmp_19, block = local suspend fun (): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_20: Flow = returnSuspendFlowValue() + return asNativeFlow(/* = tmp_20, */ scope = tmp_19) + } +) +} + +@ObjCName(name = "returnSuspendParameterValue") +fun returnSuspendParameterValueNative(value: Int): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_21: CoroutineScope? = null + return nativeSuspend(scope = tmp_21, block = local suspend fun (): Int { + return returnSuspendParameterValue(value = value) + } +) +} + +@ObjCName(name = "returnSuspendParameterValue") +fun returnSuspendParameterValueNative(value: String): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_22: CoroutineScope? = null + return nativeSuspend(scope = tmp_22, block = local suspend fun (): String { + return returnSuspendParameterValue(value = value) + } +) +} + +@ObjCName(name = "returnSuspendValue") +fun returnSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_23: CoroutineScope? = null + return nativeSuspend(scope = tmp_23, block = local suspend fun (): String { + return returnSuspendValue() + } +) +} + +@ObjCName(name = "returnSuspendVarargValue") +fun returnSuspendVarargValueNative(vararg values: String): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_24: CoroutineScope? = null + return nativeSuspend(scope = tmp_24, block = local suspend fun (): String { + return returnSuspendVarargValue(values = values) + } +) +} + +@ObjCName(name = "returnThrowsSuspendValue") +fun returnThrowsSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_25: CoroutineScope? = null + return nativeSuspend(scope = tmp_25, block = local suspend fun (): String { + return returnThrowsSuspendValue() + } +) +} + // FILE: functions.kt class MyClass14 { @@ -338,168 +503,3 @@ suspend fun returnSuspendVarargValue(vararg values: String): String { suspend fun returnThrowsSuspendValue(): String { return "OK10" } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnCustomFlowValue") -fun returnCustomFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_0: CoroutineScope? = null - val tmp_1: MyFlow23 = returnCustomFlowValue() - return asNativeFlow(/* = tmp_1, */ scope = tmp_0) -} - -@ObjCName(name = "returnExtensionValue") -fun String.returnExtensionValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_2: CoroutineScope? = null - return nativeSuspend(scope = tmp_2, block = local suspend fun (): String { - return returnExtensionValue(/* = */) - } -) -} - -@ObjCName(name = "returnFlowValue") -fun returnFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_3: CoroutineScope? = null - val tmp_4: Flow = returnFlowValue() - return asNativeFlow(/* = tmp_4, */ scope = tmp_3) -} - -@ObjCName(name = "returnGenericSuspendValue") -fun returnGenericSuspendValueNative(value: T): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_5: CoroutineScope? = null - return nativeSuspend(scope = tmp_5, block = local suspend fun (): T { - return returnGenericSuspendValue(value = value) - } -) -} - -@ObjCName(name = "returnInlineSuspendValue") -inline fun returnInlineSuspendValueNative(value: T): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_6: CoroutineScope? = null - return nativeSuspend(scope = tmp_6, block = local suspend fun (): T { - return returnInlineSuspendValue(value = value) - } -) -} - -@ObjCName(name = "returnNullableFlowAndValue") -fun returnNullableFlowAndValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_7: CoroutineScope? = null - val tmp_8: Flow? = returnNullableFlowAndValue() - return when { - EQEQ(arg0 = tmp_8, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_8, */ scope = tmp_7) - } -} - -@ObjCName(name = "returnNullableFlow") -fun returnNullableFlowNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_9: CoroutineScope? = null - val tmp_10: Flow? = returnNullableFlow() - return when { - EQEQ(arg0 = tmp_10, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_10, */ scope = tmp_9) - } -} - -@ObjCName(name = "returnNullableFlowValue") -fun returnNullableFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_11: CoroutineScope? = null - val tmp_12: Flow = returnNullableFlowValue() - return asNativeFlow(/* = tmp_12, */ scope = tmp_11) -} - -@ObjCName(name = "returnNullableSuspendFlow") -fun returnNullableSuspendFlowNative(): Function3<@ParameterName(name = "onResult") Function2, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?, Unit, Unit>, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_13: CoroutineScope? = null - return nativeSuspend, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(scope = tmp_13, block = local suspend fun (): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_14: Flow? = returnNullableSuspendFlow() - return when { - EQEQ(arg0 = tmp_14, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_14, */ scope = tmp_13) - } - } -) -} - -@ObjCName(name = "returnNullableSuspendValue") -fun returnNullableSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_15: CoroutineScope? = null - return nativeSuspend(scope = tmp_15, block = local suspend fun (): String? { - return returnNullableSuspendValue() - } -) -} - -@ObjCName(name = "returnRefinedSuspendValue") -@ShouldRefineInSwift -fun returnRefinedSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_16: CoroutineScope? = null - return nativeSuspend(scope = tmp_16, block = local suspend fun (): String { - return returnRefinedSuspendValue() - } -) -} - -@ObjCName(name = "returnStateFlowValue") -fun returnStateFlowValueNative(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_17: CoroutineScope? = null - val tmp_18: StateFlow = returnStateFlowValue() - return asNativeFlow(/* = tmp_18, */ scope = tmp_17) -} - -@ObjCName(name = "returnSuspendFlowValue") -@ShouldRefineInSwift -fun returnSuspendFlowValueNative(): Function3<@ParameterName(name = "onResult") Function2, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>, Unit, Unit>, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_19: CoroutineScope? = null - return nativeSuspend, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>>(scope = tmp_19, block = local suspend fun (): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_20: Flow = returnSuspendFlowValue() - return asNativeFlow(/* = tmp_20, */ scope = tmp_19) - } -) -} - -@ObjCName(name = "returnSuspendParameterValue") -fun returnSuspendParameterValueNative(value: Int): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_21: CoroutineScope? = null - return nativeSuspend(scope = tmp_21, block = local suspend fun (): Int { - return returnSuspendParameterValue(value = value) - } -) -} - -@ObjCName(name = "returnSuspendParameterValue") -fun returnSuspendParameterValueNative(value: String): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_22: CoroutineScope? = null - return nativeSuspend(scope = tmp_22, block = local suspend fun (): String { - return returnSuspendParameterValue(value = value) - } -) -} - -@ObjCName(name = "returnSuspendValue") -fun returnSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_23: CoroutineScope? = null - return nativeSuspend(scope = tmp_23, block = local suspend fun (): String { - return returnSuspendValue() - } -) -} - -@ObjCName(name = "returnSuspendVarargValue") -fun returnSuspendVarargValueNative(vararg values: String): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_24: CoroutineScope? = null - return nativeSuspend(scope = tmp_24, block = local suspend fun (): String { - return returnSuspendVarargValue(values = values) - } -) -} - -@ObjCName(name = "returnThrowsSuspendValue") -fun returnThrowsSuspendValueNative(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_25: CoroutineScope? = null - return nativeSuspend(scope = tmp_25, block = local suspend fun (): String { - return returnThrowsSuspendValue() - } -) -} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.txt index 256dc6d1..b4292b4e 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/functions.fir.txt @@ -244,7 +244,7 @@ FILE: functions.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final fun returnSuspendValueNative(): R|com/rickclephas/kmp/nativecoroutines/NativeSuspend| { ::R|/returnSuspendValue| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.ir.txt index dea6ee17..b10cf6dd 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.ir.txt @@ -1,1651 +1,1651 @@ -FILE fqName: fileName:/properties.kt - PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK1" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlowValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlin.String - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .topLevelSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: CONST String type=kotlin.String value="OK2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK3" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + ObjCName(name = "mutableStateProperty", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:mutableStatePropertyValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK4" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_1: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String? - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + ObjCName(name = "customFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:.MyFlow29 [val] + CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null TYPE_ARG T: kotlin.String? - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .nullableSharedFlowValue.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_3: .MyFlow29 declared in .' type=.MyFlow29 origin=null + ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String? - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + ObjCName(name = "extensionFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:stateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_4: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK23" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:stateProperty visibility:public modality:FINAL [val] + ObjCName(name = "extensionSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK24" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY name:refinedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutinesRefined - FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK25" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:refinedFlow visibility:public modality:FINAL [val] + ObjCName(name = "extensionStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:refinedState visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesRefinedState - FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK26" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:refinedState visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK27" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? - correspondingProperty: PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_11: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass28 - PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] - annotations: - NativeCoroutines - overridden: - public abstract interfaceFlowValue: kotlinx.coroutines.flow.Flow declared in .MyInterface28 - FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK28" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass28 - correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] - overridden: - public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 - BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null - receiver: GET_VAR ': .MyClass28 declared in .MyClass28.' type=.MyClass28 origin=null - CONSTRUCTOR visibility:public returnType:.MyClass28 [primary] + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.flow.Flow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR 'val tmp_13: kotlinx.coroutines.flow.Flow.> declared in .' type=kotlinx.coroutines.flow.Flow.> origin=null + ARG scope: GET_VAR 'val tmp_12: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28]' type=kotlin.Unit - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface28 - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in .MyInterface28 - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in .MyInterface28 - PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] - annotations: - ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) - overridden: - public open interfaceFlowValueNative: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28 - FUN FAKE_OVERRIDE name: visibility:public modality:OPEN returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] - overridden: - public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28 - CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow29.MyFlow29, T2 of .MyFlow29> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false - FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null - TYPE_ARG T: T2 of .MyFlow29? - ARG value: CONST Null type=kotlin.Nothing? value=null - CONSTRUCTOR visibility:public returnType:.MyFlow29.MyFlow29, T2 of .MyFlow29> [primary] - VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow29 - VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow29 + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.flow.SharedFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR 'val tmp_15: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + ARG scope: GET_VAR 'val tmp_14: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>]' type=kotlin.Unit - FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow29.MyFlow29, T2 of .MyFlow29> - VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow29?> - overridden: - public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.flow.SharedFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_16: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null - ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] declared in .MyFlow29' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null - receiver: GET_VAR ': .MyFlow29.MyFlow29, T2 of .MyFlow29> declared in .MyFlow29.collect' type=.MyFlow29.MyFlow29, T2 of .MyFlow29> origin=null - ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow29?> declared in .MyFlow29.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow29?> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow - CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass1.MyGenericClass1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - PROPERTY name:value visibility:public modality:FINAL [val] - FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final] - EXPRESSION_BODY - GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.' type=T of .MyGenericClass1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:T of .MyGenericClass1 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.' type=.MyGenericClass1.MyGenericClass1> origin=null - CONSTRUCTOR visibility:public returnType:.MyGenericClass1.MyGenericClass1> [primary] - VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass1 + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.flow.StateFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR 'val tmp_18: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null + ARG scope: GET_VAR 'val tmp_17: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of . + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' type=kotlin.Unit - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL returnType:T of .MyGenericClass1 [operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.flow.StateFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): T of . declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_19: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun component1 (): T of .MyGenericClass1 declared in .MyGenericClass1' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.component1' type=.MyGenericClass1.MyGenericClass1> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL returnType:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:Regular name:value index:1 type:T of .MyGenericClass1 - EXPRESSION_BODY - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.copy' type=.MyGenericClass1.MyGenericClass1> origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.flow.MutableStateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_21: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_21: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + ARG scope: GET_VAR 'val tmp_20: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "mutableNullableStateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun copy (value: T of .MyGenericClass1): .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1' - CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1.MyGenericClass1> origin=null - TYPE_ARG (of class) T: T of .MyGenericClass1 - ARG value: GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.copy' type=T of .MyGenericClass1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.flow.MutableStateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_22: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_22: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - WHEN type=kotlin.Unit origin=null - BRANCH - if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ - ARG arg0: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - ARG arg1: GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=true - WHEN type=kotlin.Unit origin=null - BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.MyGenericClass1.MyGenericClass1> - GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.MyGenericClass1.MyGenericClass1> [val] - TYPE_OP type=.MyGenericClass1.MyGenericClass1> origin=IMPLICIT_CAST typeOperand=.MyGenericClass1.MyGenericClass1> - GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - WHEN type=kotlin.Unit origin=null - BRANCH - if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ - ARG : CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ - ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - ARG arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR 'val tmp_0: .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=true - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN returnType:kotlin.Int - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any + VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_24: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG scope: GET_VAR 'val tmp_23: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .MyGenericClass1' - WHEN type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlinx.coroutines.flow.Flow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg0: GET_VAR 'val tmp_26: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Int type=kotlin.Int value=0 + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null - ARG : GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN returnType:kotlin.String - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_26: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null + ARG scope: GET_VAR 'val tmp_25: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .MyGenericClass1' - STRING_CONCATENATION type=kotlin.String - CONST String type=kotlin.String value="MyGenericClass1(" - CONST String type=kotlin.String value="value=" - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.toString' type=.MyGenericClass1.MyGenericClass1> origin=null - CONST String type=kotlin.String value=")" - CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass2.MyGenericClass2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - PROPERTY name:value visibility:private modality:FINAL [val] - FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final] - EXPRESSION_BODY - GET_VAR 'value: T of .MyGenericClass2 declared in .MyGenericClass2.' type=T of .MyGenericClass2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyGenericClass2 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final]' type=T of .MyGenericClass2 origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.MyGenericClass2>, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> declared in .MyGenericClass2.genericSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=IMPLICIT_ARGUMENT - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - CONSTRUCTOR visibility:public returnType:.MyGenericClass2.MyGenericClass2> [primary] - VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass2 + VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlinx.coroutines.flow.Flow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_28: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_28: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null + ARG scope: GET_VAR 'val tmp_27: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.flow.Flow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG : GET_VAR 'val tmp_2: kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG : GET_VAR 'val tmp_4: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of .MyGenericClass2 origin=null - ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of .MyGenericClass2 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of .MyGenericClass2 origin=null - ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - CLASS INTERFACE name:MyInterface28 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface28 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] - annotations: - ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:OPEN returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyInterface28 declared in .MyInterface28.' type=.MyInterface28 origin=null - RETURN type=kotlin.Nothing from='public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow declared in .MyInterface28.' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .MyInterface28.' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] - annotations: - NativeCoroutines - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] - FUN name:box visibility:public modality:FINAL returnType:kotlin.String - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' - CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null - ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest - BLOCK_BODY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.collections.List? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.collections.List? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK14" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK15" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' type=kotlin.collections.List origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK15" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK16" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (: .MyGenericClass1.>): T of . declared in ' type=kotlin.String origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK16" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK17" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK18" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' type=kotlin.collections.List origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK18" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK19" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=kotlin.String origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK19" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK20" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK21" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (: kotlin.String): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK21" - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK22" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK22" - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=EXCLEXCL - TYPE_ARG T0: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - ARG arg0: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyClass28' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass28' type=.MyClass28 origin=null - CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY - PROPERTY name:customFlowValue visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:.MyFlow29 - correspondingProperty: PROPERTY name:customFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' - CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow29, value2: T2 of .MyFlow29) declared in .MyFlow29' type=.MyFlow29 origin=null - TYPE_ARG (of class) T1: kotlin.Int - TYPE_ARG (of class) T2: kotlin.String - ARG value1: CONST Int type=kotlin.Int value=29 - ARG value2: CONST String type=kotlin.String value="OK29" - PROPERTY name:extensionFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_30: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_29: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlin.String - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_32: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_32: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG scope: GET_VAR 'val tmp_31: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:genericFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_33: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_33: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.> origin=null - TYPE_ARG T: T of . - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_35: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_35: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG scope: GET_VAR 'val tmp_34: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.> - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null - TYPE_ARG T: T of . - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.>, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.> - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.> declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_36: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_36: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.> origin=null - TYPE_ARG T: T of . - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:nullableFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY name:nullableFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_38: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG scope: GET_VAR 'val tmp_37: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_39: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG scope: GET_VAR 'val tmp_40: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_42: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_42: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_43 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_44 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' + WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_44: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_44: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG scope: GET_VAR 'val tmp_43: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_45 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_45: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_45: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_46 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_47 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR 'val tmp_47: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_46: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_48 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_48: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "refinedFlow", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_49 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_50 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_50: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_49: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] - FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlowValue type:kotlin.String visibility:private [static] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + VAR IR_TEMPORARY_VARIABLE name:tmp_51 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_52 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_52: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_51: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "refinedState", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_53 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + ARG : GET_VAR 'val tmp_53: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' - CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null - ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + VAR IR_TEMPORARY_VARIABLE name:tmp_54 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_55 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_55: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_54: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "mutableStateProperty", swiftName = , exact = ) - FIELD PROPERTY_BACKING_FIELD name:mutableStatePropertyValue type:kotlin.String visibility:private [static] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_1: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + ObjCName(name = "stateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' - CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null - ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_56 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_56: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "customFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_57 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:.MyFlow29 [val] - CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_3: .MyFlow29 declared in .' type=.MyFlow29 origin=null - ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_58 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_58: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_57: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelMutableStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_59 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_60 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_4: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_60: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG scope: GET_VAR 'val tmp_59: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_61 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_62 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_62: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG scope: GET_VAR 'val tmp_61: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.collections.List declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_63 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_63: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_64 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_65 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_65: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG scope: GET_VAR 'val tmp_64: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.String declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_66 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_11: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_66: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null +FILE fqName: fileName:/properties.kt + PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.flow.Flow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR 'val tmp_13: kotlinx.coroutines.flow.Flow.> declared in .' type=kotlinx.coroutines.flow.Flow.> origin=null - ARG scope: GET_VAR 'val tmp_12: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.flow.SharedFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR 'val tmp_15: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - ARG scope: GET_VAR 'val tmp_14: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .topLevelSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST String type=kotlin.String value="OK2" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.flow.SharedFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of . origin=null - ARG : GET_VAR 'val tmp_16: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.flow.StateFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR 'val tmp_18: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null - ARG scope: GET_VAR 'val tmp_17: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of . - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK3" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.flow.StateFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): T of . declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of . origin=null - ARG : GET_VAR 'val tmp_19: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.flow.MutableStateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_21: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_21: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - ARG scope: GET_VAR 'val tmp_20: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "mutableNullableStateProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.flow.MutableStateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_22: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_22: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String? + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .nullableSharedFlowValue.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_24: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG scope: GET_VAR 'val tmp_23: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlinx.coroutines.flow.Flow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_26: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_26: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null - ARG scope: GET_VAR 'val tmp_25: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:stateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK23" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:stateProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlinx.coroutines.flow.Flow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_28: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_28: kotlinx.coroutines.flow.Flow? declared in .' type=kotlinx.coroutines.flow.Flow? origin=null - ARG scope: GET_VAR 'val tmp_27: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK24" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_30: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_29: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:refinedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableSharedFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] + NativeCoroutinesRefined + FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK25" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:refinedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_32: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_32: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG scope: GET_VAR 'val tmp_31: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:refinedState visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesRefinedState + FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK26" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:refinedState visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' - WHEN type=kotlin.collections.List? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_33: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.collections.List? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_33: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK27" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? + correspondingProperty: PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass28 + PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + annotations: + NativeCoroutines + overridden: + public abstract interfaceFlowValue: kotlinx.coroutines.flow.Flow declared in .MyInterface28 + FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK28" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null + receiver: GET_VAR ': .MyClass28 declared in .MyClass28.' type=.MyClass28 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass28 [primary] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_35: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_35: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG scope: GET_VAR 'val tmp_34: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface28 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyInterface28 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyInterface28 + PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + overridden: + public open interfaceFlowValueNative: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28 + CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + TYPE_ARG T: T2 of .MyFlow29? + ARG value: CONST Null type=kotlin.Nothing? value=null + CONSTRUCTOR visibility:public returnType:.MyFlow29.MyFlow29, T2 of .MyFlow29> [primary] + VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow29 + VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow29 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' - WHEN type=kotlin.collections.List? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_36: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.collections.List? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_36: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "nullableSharedFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>]' type=kotlin.Unit + FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow29?> + overridden: + public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_38: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG scope: GET_VAR 'val tmp_37: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null + ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] declared in .MyFlow29' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + receiver: GET_VAR ': .MyFlow29.MyFlow29, T2 of .MyFlow29> declared in .MyFlow29.collect' type=.MyFlow29.MyFlow29, T2 of .MyFlow29> origin=null + ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow29?> declared in .MyFlow29.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow29?> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow + CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass1.MyGenericClass1> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.' type=T of .MyGenericClass1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:T of .MyGenericClass1 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.' type=.MyGenericClass1.MyGenericClass1> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass1.MyGenericClass1> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass1 BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_39: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "nullableStateFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' type=kotlin.Unit + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL returnType:T of .MyGenericClass1 [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG scope: GET_VAR 'val tmp_40: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.component1' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL returnType:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:value index:1 type:T of .MyGenericClass1 + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.copy' type=.MyGenericClass1.MyGenericClass1> origin=null BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_42 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_42: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_42: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "nullableStateFlowProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun copy (value: T of .MyGenericClass1): .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1' + CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1.MyGenericClass1> origin=null + TYPE_ARG (of class) T: T of .MyGenericClass1 + ARG value: GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.copy' type=T of .MyGenericClass1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_43 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_44 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' - WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_44: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_44: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG scope: GET_VAR 'val tmp_43: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + ARG arg0: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.MyGenericClass1.MyGenericClass1> [val] + TYPE_OP type=.MyGenericClass1.MyGenericClass1> origin=IMPLICIT_CAST typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + ARG : CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR 'val tmp_0: .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN returnType:kotlin.Int + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_45 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .MyGenericClass1' + WHEN type=kotlin.Int origin=null BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_45: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null + then: CONST Int type=kotlin.Int value=0 BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_45: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + ARG : GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN returnType:kotlin.String + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .MyGenericClass1' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="MyGenericClass1(" + CONST String type=kotlin.String value="value=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.toString' type=.MyGenericClass1.MyGenericClass1> origin=null + CONST String type=kotlin.String value=")" + CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass2.MyGenericClass2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass2 declared in .MyGenericClass2.' type=T of .MyGenericClass2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final]' type=T of .MyGenericClass2 origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.MyGenericClass2>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> declared in .MyGenericClass2.genericSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass2.MyGenericClass2> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass2 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.flow.Flow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG : GET_VAR 'val tmp_2: kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG : GET_VAR 'val tmp_4: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in .MyGenericClass2.' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_8: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + CLASS INTERFACE name:MyInterface28 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface28 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:OPEN returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.Flow [val] + CALL 'public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyInterface28 declared in .MyInterface28.' type=.MyInterface28 origin=null + RETURN type=kotlin.Nothing from='public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyInterface28' + CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow declared in .MyInterface28.' type=kotlinx.coroutines.flow.Flow origin=null + ARG scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in .MyInterface28.' type=kotlinx.coroutines.CoroutineScope? origin=null + PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + annotations: + NativeCoroutines + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK14" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' type=kotlin.collections.List origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: .MyGenericClass1.>): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3., kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: .MyGenericClass1.>): T of . declared in ' type=kotlin.String origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK17" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3.MyGenericClass2, kotlin.Function0, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyGenericClass2' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=kotlin.String origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK20" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: kotlin.String): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (: kotlin.String): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=EXCLEXCL + TYPE_ARG T0: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + ARG arg0: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>? origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public open fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in .MyClass28' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass28' type=.MyClass28 origin=null + CALL 'public final fun collect (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG nativeFlow: CALL 'public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=GET_PROPERTY + PROPERTY name:customFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableStateFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_46 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_47 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR 'val tmp_47: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_46: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:.MyFlow29 + correspondingProperty: PROPERTY name:customFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_48 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_48: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' + CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow29, value2: T2 of .MyFlow29) declared in .MyFlow29' type=.MyFlow29 origin=null + TYPE_ARG (of class) T1: kotlin.Int + TYPE_ARG (of class) T2: kotlin.String + ARG value1: CONST Int type=kotlin.Int value=29 + ARG value2: CONST String type=kotlin.String value="OK29" + PROPERTY name:extensionFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "refinedFlow", swiftName = , exact = ) - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_49 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_50 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_50: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_49: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] annotations: - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_51 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_52 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_52: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_51: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "refinedState", swiftName = , exact = ) - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_53 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_53: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_54 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_55 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_55: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_54: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: T of . + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.> declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "stateProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_56 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_56: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:nullableFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_57 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_58 type:kotlinx.coroutines.flow.Flow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_58: kotlinx.coroutines.flow.Flow declared in .' type=kotlinx.coroutines.flow.Flow origin=null - ARG scope: GET_VAR 'val tmp_57: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelMutableStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_59 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_60 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_60: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG scope: GET_VAR 'val tmp_59: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_61 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_62 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_62: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG scope: GET_VAR 'val tmp_61: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_63 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_63: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_64 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - VAR IR_TEMPORARY_VARIABLE name:tmp_65 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun asNativeFlow (: kotlinx.coroutines.flow.Flow, scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR 'val tmp_65: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG scope: GET_VAR 'val tmp_64: kotlinx.coroutines.CoroutineScope? declared in .' type=kotlinx.coroutines.CoroutineScope? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_66 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_66: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.kt.txt index 9090285f..b9f7a9bf 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.kt.txt @@ -1,710 +1,710 @@ -// FILE: properties.kt - -@NativeCoroutines -val topLevelFlow: Flow - field = flowOf(value = "OK1") - get +// FILE: __GENERATED__CALLABLES__.kt -@NativeCoroutines -val topLevelSharedFlow: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = "OK2") /*~> Unit */ +var topLevelMutableStateFlowValue: String + get(): String { + val tmp_0: MutableStateFlow = () + return tmp_0.() } -) - get - -@NativeCoroutines -val topLevelStateFlow: StateFlow - field = MutableStateFlow(value = "OK3") - get - -@NativeCoroutines -val topLevelMutableStateFlow: MutableStateFlow - field = MutableStateFlow(value = "OK4") - get - -@NativeCoroutines -val nullableFlowValue: Flow - field = flowOf(value = null) - get - -@NativeCoroutines -val nullableSharedFlowValue: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = null) /*~> Unit */ + set(value: String) { + return ().( = value) } -) - get -@NativeCoroutines -val nullableStateFlowValue: StateFlow - field = MutableStateFlow(value = null) - get - -@NativeCoroutinesState -val stateProperty: StateFlow - field = MutableStateFlow(value = "OK23") - get +@ObjCName(name = "mutableStateProperty") +var mutableStatePropertyValue: String + get(): String { + val tmp_1: MutableStateFlow = () + return tmp_1.() + } + set(value: String) { + return ().( = value) + } -@NativeCoroutinesState -val mutableStateProperty: MutableStateFlow - field = MutableStateFlow(value = "OK24") - get +@ObjCName(name = "customFlowValue") +val customFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_2: CoroutineScope? = null + val tmp_3: MyFlow29 = () + return asNativeFlow(/* = tmp_3, */ scope = tmp_2) + } -@NativeCoroutinesRefined -val refinedFlow: Flow - field = flowOf(value = "OK25") - get +@ObjCName(name = "extensionFlow") +val String.extensionFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_4: CoroutineScope? = null + val tmp_5: Flow = (/* = */) + return asNativeFlow(/* = tmp_5, */ scope = tmp_4) + } -@NativeCoroutinesRefinedState -val refinedState: StateFlow - field = MutableStateFlow(value = "OK26") - get +@ObjCName(name = "extensionSharedFlow") +val String.extensionSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_6: CoroutineScope? = null + val tmp_7: SharedFlow = (/* = */) + return asNativeFlow(/* = tmp_7, */ scope = tmp_6) + } -@NativeCoroutinesState -val mutableNullableStateProperty: MutableStateFlow? - field = MutableStateFlow(value = "OK27") - get +val String.extensionSharedFlowReplayCache: List + get(): List { + val tmp_8: SharedFlow = (/* = */) + return tmp_8.() + } -class MyClass28 : MyInterface28 { - @NativeCoroutines - override val interfaceFlowValue: Flow - field = flowOf(value = "OK28") - override get +@ObjCName(name = "extensionStateFlow") +val String.extensionStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_9: CoroutineScope? = null + val tmp_10: StateFlow = (/* = */) + return asNativeFlow(/* = tmp_10, */ scope = tmp_9) + } - constructor() /* primary */ { - super/*Any*/() - /* () */ +val String.extensionStateFlowValue: String + get(): String { + val tmp_11: StateFlow = (/* = */) + return tmp_11.() + } +@ObjCName(name = "genericFlow") +val MyGenericClass1.genericFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_12: CoroutineScope? = null + val tmp_13: Flow = (/* = */) + return asNativeFlow(/* = tmp_13, */ scope = tmp_12) } -} +@ObjCName(name = "genericSharedFlow") +val MyGenericClass1.genericSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_14: CoroutineScope? = null + val tmp_15: SharedFlow = (/* = */) + return asNativeFlow(/* = tmp_15, */ scope = tmp_14) + } -class MyFlow29 : Flow { - private /* final field */ val $$delegate_0: Flow = flowOf(value = null) - constructor(value1: T1, value2: T2) /* primary */ { - super/*Any*/() - /* () */ +val MyGenericClass1.genericSharedFlowReplayCache: List + get(): List { + val tmp_16: SharedFlow = (/* = */) + return tmp_16.() + } +@ObjCName(name = "genericStateFlow") +val MyGenericClass1.genericStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_17: CoroutineScope? = null + val tmp_18: StateFlow = (/* = */) + return asNativeFlow(/* = tmp_18, */ scope = tmp_17) } - override suspend fun collect(collector: FlowCollector) { - .#$$delegate_0.collect(collector = collector) +val MyGenericClass1.genericStateFlowValue: T + get(): T { + val tmp_19: StateFlow = (/* = */) + return tmp_19.() } -} +val mutableNullableStatePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_20: CoroutineScope? = null + val tmp_21: MutableStateFlow? = () + return when { + EQEQ(arg0 = tmp_21, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_21, */ scope = tmp_20) + } + } -data class MyGenericClass1 { - val value: T - field = value - get +@ObjCName(name = "mutableNullableStateProperty") +val mutableNullableStatePropertyValue: String? + get(): String? { + val tmp_22: MutableStateFlow? = () + return when { + EQEQ(arg0 = tmp_22, arg1 = null) -> null + else -> tmp_22.() + } + } - constructor(value: T) /* primary */ { - super/*Any*/() - /* () */ +val mutableStatePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_23: CoroutineScope? = null + val tmp_24: MutableStateFlow = () + return asNativeFlow(/* = tmp_24, */ scope = tmp_23) + } +@ObjCName(name = "nullableFlowAndValue") +val nullableFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_25: CoroutineScope? = null + val tmp_26: Flow? = () + return when { + EQEQ(arg0 = tmp_26, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_26, */ scope = tmp_25) + } } - operator fun component1(): T { - return .#value +@ObjCName(name = "nullableFlow") +val nullableFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_27: CoroutineScope? = null + val tmp_28: Flow? = () + return when { + EQEQ(arg0 = tmp_28, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_28, */ scope = tmp_27) + } } - fun copy(value: T = .#value): MyGenericClass1 { - return MyGenericClass1(value = value) +@ObjCName(name = "nullableFlowValue") +val nullableFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_29: CoroutineScope? = null + val tmp_30: Flow = () + return asNativeFlow(/* = tmp_30, */ scope = tmp_29) } - override operator fun equals(other: Any?): Boolean { - when { - EQEQEQ(arg0 = , arg1 = other) -> return true - } - when { - other !is MyGenericClass1 -> return false - } - val tmp_0: MyGenericClass1 = other /*as MyGenericClass1 */ - when { - EQEQ(arg0 = .#value, arg1 = tmp_0.#value).not() -> return false +@ObjCName(name = "nullableSharedFlowAndValue") +val nullableSharedFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_31: CoroutineScope? = null + val tmp_32: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_32, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_32, */ scope = tmp_31) } - return true } - override fun hashCode(): Int { +val nullableSharedFlowAndValueReplayCache: List? + get(): List? { + val tmp_33: SharedFlow? = () return when { - EQEQ(arg0 = .#value, arg1 = null) -> 0 - else -> .#value.hashCode() + EQEQ(arg0 = tmp_33, arg1 = null) -> null + else -> tmp_33.() } } - override fun toString(): String { - return "MyGenericClass1(" + "value=" + .#value + ")" +@ObjCName(name = "nullableSharedFlow") +val nullableSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_34: CoroutineScope? = null + val tmp_35: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_35, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_35, */ scope = tmp_34) + } } -} - -class MyGenericClass2 { - private val value: T - field = value - private get - - @NativeCoroutines - val genericFlow: Flow - field = flowOf(value = .()) - get - - @NativeCoroutines - val genericSharedFlow: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = .()) /*~> Unit */ +val nullableSharedFlowReplayCache: List? + get(): List? { + val tmp_36: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_36, arg1 = null) -> null + else -> tmp_36.() } -) - get - - @NativeCoroutines - val genericStateFlow: StateFlow - field = MutableStateFlow(value = .()) - get + } - constructor(value: T) /* primary */ { - super/*Any*/() - /* () */ +@ObjCName(name = "nullableSharedFlowValue") +val nullableSharedFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_37: CoroutineScope? = null + val tmp_38: SharedFlow = () + return asNativeFlow(/* = tmp_38, */ scope = tmp_37) + } +val nullableSharedFlowValueReplayCache: List + get(): List { + val tmp_39: SharedFlow = () + return tmp_39.() } - @ObjCName(name = "genericFlow") - val genericFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_1: CoroutineScope? = null - val tmp_2: Flow = .() - return asNativeFlow(/* = tmp_2, */ scope = tmp_1) +@ObjCName(name = "nullableStateFlowAndValue") +val nullableStateFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_40: CoroutineScope? = null + val tmp_41: StateFlow? = () + return when { + EQEQ(arg0 = tmp_41, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_41, */ scope = tmp_40) } + } - @ObjCName(name = "genericSharedFlow") - val genericSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_3: CoroutineScope? = null - val tmp_4: SharedFlow = .() - return asNativeFlow(/* = tmp_4, */ scope = tmp_3) +val nullableStateFlowAndValueValue: String? + get(): String? { + val tmp_42: StateFlow? = () + return when { + EQEQ(arg0 = tmp_42, arg1 = null) -> null + else -> tmp_42.() } + } - val genericSharedFlowReplayCache: List - get(): List { - val tmp_5: SharedFlow = .() - return tmp_5.() +@ObjCName(name = "nullableStateFlowProperty") +val nullableStateFlowPropertyNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { + val tmp_43: CoroutineScope? = null + val tmp_44: StateFlow? = () + return when { + EQEQ(arg0 = tmp_44, arg1 = null) -> null + else -> asNativeFlow(/* = tmp_44, */ scope = tmp_43) } + } - @ObjCName(name = "genericStateFlow") - val genericStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_6: CoroutineScope? = null - val tmp_7: StateFlow = .() - return asNativeFlow(/* = tmp_7, */ scope = tmp_6) +val nullableStateFlowPropertyValue: String? + get(): String? { + val tmp_45: StateFlow? = () + return when { + EQEQ(arg0 = tmp_45, arg1 = null) -> null + else -> tmp_45.() } + } - val genericStateFlowValue: T - get(): T { - val tmp_8: StateFlow = .() - return tmp_8.() - } +@ObjCName(name = "nullableStateFlowValue") +val nullableStateFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_46: CoroutineScope? = null + val tmp_47: StateFlow = () + return asNativeFlow(/* = tmp_47, */ scope = tmp_46) + } -} +val nullableStateFlowValueValue: String? + get(): String? { + val tmp_48: StateFlow = () + return tmp_48.() + } -interface MyInterface28 { - @ObjCName(name = "interfaceFlowValue") - val interfaceFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_9: CoroutineScope? = null - val tmp_10: Flow = .() - return asNativeFlow(/* = tmp_10, */ scope = tmp_9) - } +@ObjCName(name = "refinedFlow") +@ShouldRefineInSwift +val refinedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_49: CoroutineScope? = null + val tmp_50: Flow = () + return asNativeFlow(/* = tmp_50, */ scope = tmp_49) + } - @NativeCoroutines - abstract val interfaceFlowValue: Flow - abstract get +@ShouldRefineInSwift +val refinedStateFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_51: CoroutineScope? = null + val tmp_52: StateFlow = () + return asNativeFlow(/* = tmp_52, */ scope = tmp_51) + } -} +@ObjCName(name = "refinedState") +@ShouldRefineInSwift +val refinedStateValue: String + get(): String { + val tmp_53: StateFlow = () + return tmp_53.() + } -fun box(): String { - return runBoxTest(action = local suspend fun BoxTest.() { - $this$runBoxTest.collect(nativeFlow = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.values(values = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.values(values = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK14") */)) - $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK15") */), maxValues = 1) - $this$runBoxTest.values(values = (/* = MyGenericClass1(value = "OK15") */)) - $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK16") */), maxValues = 1) - $this$runBoxTest.value(value = (/* = MyGenericClass1(value = "OK16") */)) - $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK17").()) - $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK18").(), maxValues = 1) - $this$runBoxTest.values(values = MyGenericClass2(value = "OK18").()) - $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK19").(), maxValues = 1) - $this$runBoxTest.value(value = MyGenericClass2(value = "OK19").()) - $this$runBoxTest.collect(nativeFlow = (/* = "OK20" */)) - $this$runBoxTest.collect(nativeFlow = (/* = "OK21" */), maxValues = 1) - $this$runBoxTest.values(values = (/* = "OK21" */)) - $this$runBoxTest.collect(nativeFlow = (/* = "OK22" */), maxValues = 1) - $this$runBoxTest.value(value = (/* = "OK22" */)) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.collect(nativeFlow = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(nativeFlow = CHECK_NOT_NULL, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>>(arg0 = ()), maxValues = 1) - $this$runBoxTest.collect(nativeFlow = MyClass28().()) - $this$runBoxTest.collect(nativeFlow = ()) +val statePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_54: CoroutineScope? = null + val tmp_55: StateFlow = () + return asNativeFlow(/* = tmp_55, */ scope = tmp_54) } -) -} -@NativeCoroutines -val customFlowValue: MyFlow29 - get(): MyFlow29 { - return MyFlow29(value1 = 29, value2 = "OK29") +@ObjCName(name = "stateProperty") +val statePropertyValue: String + get(): String { + val tmp_56: StateFlow = () + return tmp_56.() } -@NativeCoroutines -val String.extensionFlow: Flow - get(): Flow { - return flowOf(value = ) +@ObjCName(name = "topLevelFlow") +val topLevelFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_57: CoroutineScope? = null + val tmp_58: Flow = () + return asNativeFlow(/* = tmp_58, */ scope = tmp_57) } -@NativeCoroutines -val String.extensionSharedFlow: SharedFlow - get(): SharedFlow { - return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = ) /*~> Unit */ - } -) +@ObjCName(name = "topLevelMutableStateFlow") +val topLevelMutableStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_59: CoroutineScope? = null + val tmp_60: MutableStateFlow = () + return asNativeFlow(/* = tmp_60, */ scope = tmp_59) } -@NativeCoroutines -val String.extensionStateFlow: StateFlow - get(): StateFlow { - return MutableStateFlow(value = ) +@ObjCName(name = "topLevelSharedFlow") +val topLevelSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_61: CoroutineScope? = null + val tmp_62: SharedFlow = () + return asNativeFlow(/* = tmp_62, */ scope = tmp_61) } -@NativeCoroutines -val MyGenericClass1.genericFlow: Flow - get(): Flow { - return flowOf(value = .()) +val topLevelSharedFlowReplayCache: List + get(): List { + val tmp_63: SharedFlow = () + return tmp_63.() } -@NativeCoroutines -val MyGenericClass1.genericSharedFlow: SharedFlow - get(): SharedFlow { - return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = .()) /*~> Unit */ - } -) +@ObjCName(name = "topLevelStateFlow") +val topLevelStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_64: CoroutineScope? = null + val tmp_65: StateFlow = () + return asNativeFlow(/* = tmp_65, */ scope = tmp_64) } -@NativeCoroutines -val MyGenericClass1.genericStateFlow: StateFlow - get(): StateFlow { - return MutableStateFlow(value = .()) +val topLevelStateFlowValue: String + get(): String { + val tmp_66: StateFlow = () + return tmp_66.() } +// FILE: properties.kt + @NativeCoroutines -val nullableFlow: Flow? - get(): Flow? { - return null - } +val topLevelFlow: Flow + field = flowOf(value = "OK1") + get @NativeCoroutines -val nullableFlowAndValue: Flow? - get(): Flow? { - return null +val topLevelSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = "OK2") /*~> Unit */ } +) + get @NativeCoroutines -val nullableSharedFlow: SharedFlow? - get(): SharedFlow? { - return null - } +val topLevelStateFlow: StateFlow + field = MutableStateFlow(value = "OK3") + get @NativeCoroutines -val nullableSharedFlowAndValue: SharedFlow? - get(): SharedFlow? { - return null - } +val topLevelMutableStateFlow: MutableStateFlow + field = MutableStateFlow(value = "OK4") + get @NativeCoroutines -val nullableStateFlowAndValue: StateFlow? - get(): StateFlow? { - return null +val nullableFlowValue: Flow + field = flowOf(value = null) + get + +@NativeCoroutines +val nullableSharedFlowValue: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = null) /*~> Unit */ } +) + get + +@NativeCoroutines +val nullableStateFlowValue: StateFlow + field = MutableStateFlow(value = null) + get + +@NativeCoroutinesState +val stateProperty: StateFlow + field = MutableStateFlow(value = "OK23") + get + +@NativeCoroutinesState +val mutableStateProperty: MutableStateFlow + field = MutableStateFlow(value = "OK24") + get -@NativeCoroutines -val nullableStateFlowProperty: StateFlow? - get(): StateFlow? { - return null - } +@NativeCoroutinesRefined +val refinedFlow: Flow + field = flowOf(value = "OK25") + get -// FILE: __GENERATED DECLARATIONS__.kt +@NativeCoroutinesRefinedState +val refinedState: StateFlow + field = MutableStateFlow(value = "OK26") + get -var topLevelMutableStateFlowValue: String - get(): String { - val tmp_0: MutableStateFlow = () - return tmp_0.() - } - set(value: String) { - return ().( = value) - } +@NativeCoroutinesState +val mutableNullableStateProperty: MutableStateFlow? + field = MutableStateFlow(value = "OK27") + get -@ObjCName(name = "mutableStateProperty") -var mutableStatePropertyValue: String - get(): String { - val tmp_1: MutableStateFlow = () - return tmp_1.() - } - set(value: String) { - return ().( = value) - } +class MyClass28 : MyInterface28 { + @NativeCoroutines + override val interfaceFlowValue: Flow + field = flowOf(value = "OK28") + override get -@ObjCName(name = "customFlowValue") -val customFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_2: CoroutineScope? = null - val tmp_3: MyFlow29 = () - return asNativeFlow(/* = tmp_3, */ scope = tmp_2) - } + constructor() /* primary */ { + super/*Any*/() + /* () */ -@ObjCName(name = "extensionFlow") -val String.extensionFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_4: CoroutineScope? = null - val tmp_5: Flow = (/* = */) - return asNativeFlow(/* = tmp_5, */ scope = tmp_4) } -@ObjCName(name = "extensionSharedFlow") -val String.extensionSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_6: CoroutineScope? = null - val tmp_7: SharedFlow = (/* = */) - return asNativeFlow(/* = tmp_7, */ scope = tmp_6) - } +} -val String.extensionSharedFlowReplayCache: List - get(): List { - val tmp_8: SharedFlow = (/* = */) - return tmp_8.() - } +class MyFlow29 : Flow { + private /* final field */ val $$delegate_0: Flow = flowOf(value = null) + constructor(value1: T1, value2: T2) /* primary */ { + super/*Any*/() + /* () */ -@ObjCName(name = "extensionStateFlow") -val String.extensionStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_9: CoroutineScope? = null - val tmp_10: StateFlow = (/* = */) - return asNativeFlow(/* = tmp_10, */ scope = tmp_9) } -val String.extensionStateFlowValue: String - get(): String { - val tmp_11: StateFlow = (/* = */) - return tmp_11.() + override suspend fun collect(collector: FlowCollector) { + .#$$delegate_0.collect(collector = collector) } -@ObjCName(name = "genericFlow") -val MyGenericClass1.genericFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_12: CoroutineScope? = null - val tmp_13: Flow = (/* = */) - return asNativeFlow(/* = tmp_13, */ scope = tmp_12) - } +} -@ObjCName(name = "genericSharedFlow") -val MyGenericClass1.genericSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_14: CoroutineScope? = null - val tmp_15: SharedFlow = (/* = */) - return asNativeFlow(/* = tmp_15, */ scope = tmp_14) - } +data class MyGenericClass1 { + val value: T + field = value + get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ -val MyGenericClass1.genericSharedFlowReplayCache: List - get(): List { - val tmp_16: SharedFlow = (/* = */) - return tmp_16.() } -@ObjCName(name = "genericStateFlow") -val MyGenericClass1.genericStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_17: CoroutineScope? = null - val tmp_18: StateFlow = (/* = */) - return asNativeFlow(/* = tmp_18, */ scope = tmp_17) + operator fun component1(): T { + return .#value } -val MyGenericClass1.genericStateFlowValue: T - get(): T { - val tmp_19: StateFlow = (/* = */) - return tmp_19.() + fun copy(value: T = .#value): MyGenericClass1 { + return MyGenericClass1(value = value) } -val mutableNullableStatePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_20: CoroutineScope? = null - val tmp_21: MutableStateFlow? = () - return when { - EQEQ(arg0 = tmp_21, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_21, */ scope = tmp_20) + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is MyGenericClass1 -> return false + } + val tmp_0: MyGenericClass1 = other /*as MyGenericClass1 */ + when { + EQEQ(arg0 = .#value, arg1 = tmp_0.#value).not() -> return false } + return true } -@ObjCName(name = "mutableNullableStateProperty") -val mutableNullableStatePropertyValue: String? - get(): String? { - val tmp_22: MutableStateFlow? = () + override fun hashCode(): Int { return when { - EQEQ(arg0 = tmp_22, arg1 = null) -> null - else -> tmp_22.() + EQEQ(arg0 = .#value, arg1 = null) -> 0 + else -> .#value.hashCode() } } -val mutableStatePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_23: CoroutineScope? = null - val tmp_24: MutableStateFlow = () - return asNativeFlow(/* = tmp_24, */ scope = tmp_23) + override fun toString(): String { + return "MyGenericClass1(" + "value=" + .#value + ")" } -@ObjCName(name = "nullableFlowAndValue") -val nullableFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_25: CoroutineScope? = null - val tmp_26: Flow? = () - return when { - EQEQ(arg0 = tmp_26, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_26, */ scope = tmp_25) - } - } +} -@ObjCName(name = "nullableFlow") -val nullableFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_27: CoroutineScope? = null - val tmp_28: Flow? = () - return when { - EQEQ(arg0 = tmp_28, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_28, */ scope = tmp_27) - } - } +class MyGenericClass2 { + private val value: T + field = value + private get -@ObjCName(name = "nullableFlowValue") -val nullableFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_29: CoroutineScope? = null - val tmp_30: Flow = () - return asNativeFlow(/* = tmp_30, */ scope = tmp_29) - } + @NativeCoroutines + val genericFlow: Flow + field = flowOf(value = .()) + get -@ObjCName(name = "nullableSharedFlowAndValue") -val nullableSharedFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_31: CoroutineScope? = null - val tmp_32: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_32, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_32, */ scope = tmp_31) + @NativeCoroutines + val genericSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ } - } +) + get -val nullableSharedFlowAndValueReplayCache: List? - get(): List? { - val tmp_33: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_33, arg1 = null) -> null - else -> tmp_33.() - } - } + @NativeCoroutines + val genericStateFlow: StateFlow + field = MutableStateFlow(value = .()) + get -@ObjCName(name = "nullableSharedFlow") -val nullableSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_34: CoroutineScope? = null - val tmp_35: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_35, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_35, */ scope = tmp_34) - } - } + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ -val nullableSharedFlowReplayCache: List? - get(): List? { - val tmp_36: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_36, arg1 = null) -> null - else -> tmp_36.() - } } -@ObjCName(name = "nullableSharedFlowValue") -val nullableSharedFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_37: CoroutineScope? = null - val tmp_38: SharedFlow = () - return asNativeFlow(/* = tmp_38, */ scope = tmp_37) - } + @ObjCName(name = "genericFlow") + val genericFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_1: CoroutineScope? = null + val tmp_2: Flow = .() + return asNativeFlow(/* = tmp_2, */ scope = tmp_1) + } -val nullableSharedFlowValueReplayCache: List - get(): List { - val tmp_39: SharedFlow = () - return tmp_39.() - } + @ObjCName(name = "genericSharedFlow") + val genericSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_3: CoroutineScope? = null + val tmp_4: SharedFlow = .() + return asNativeFlow(/* = tmp_4, */ scope = tmp_3) + } -@ObjCName(name = "nullableStateFlowAndValue") -val nullableStateFlowAndValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_40: CoroutineScope? = null - val tmp_41: StateFlow? = () - return when { - EQEQ(arg0 = tmp_41, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_41, */ scope = tmp_40) + val genericSharedFlowReplayCache: List + get(): List { + val tmp_5: SharedFlow = .() + return tmp_5.() } - } -val nullableStateFlowAndValueValue: String? - get(): String? { - val tmp_42: StateFlow? = () - return when { - EQEQ(arg0 = tmp_42, arg1 = null) -> null - else -> tmp_42.() + @ObjCName(name = "genericStateFlow") + val genericStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_6: CoroutineScope? = null + val tmp_7: StateFlow = .() + return asNativeFlow(/* = tmp_7, */ scope = tmp_6) } - } -@ObjCName(name = "nullableStateFlowProperty") -val nullableStateFlowPropertyNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>? { - val tmp_43: CoroutineScope? = null - val tmp_44: StateFlow? = () - return when { - EQEQ(arg0 = tmp_44, arg1 = null) -> null - else -> asNativeFlow(/* = tmp_44, */ scope = tmp_43) + val genericStateFlowValue: T + get(): T { + val tmp_8: StateFlow = .() + return tmp_8.() } - } -val nullableStateFlowPropertyValue: String? - get(): String? { - val tmp_45: StateFlow? = () - return when { - EQEQ(arg0 = tmp_45, arg1 = null) -> null - else -> tmp_45.() +} + +interface MyInterface28 { + @ObjCName(name = "interfaceFlowValue") + val interfaceFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> + get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_9: CoroutineScope? = null + val tmp_10: Flow = .() + return asNativeFlow(/* = tmp_10, */ scope = tmp_9) } + + @NativeCoroutines + abstract val interfaceFlowValue: Flow + abstract get + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.collect(nativeFlow = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK14") */)) + $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK15") */), maxValues = 1) + $this$runBoxTest.values(values = (/* = MyGenericClass1(value = "OK15") */)) + $this$runBoxTest.collect(nativeFlow = (/* = MyGenericClass1(value = "OK16") */), maxValues = 1) + $this$runBoxTest.value(value = (/* = MyGenericClass1(value = "OK16") */)) + $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK17").()) + $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK18").(), maxValues = 1) + $this$runBoxTest.values(values = MyGenericClass2(value = "OK18").()) + $this$runBoxTest.collect(nativeFlow = MyGenericClass2(value = "OK19").(), maxValues = 1) + $this$runBoxTest.value(value = MyGenericClass2(value = "OK19").()) + $this$runBoxTest.collect(nativeFlow = (/* = "OK20" */)) + $this$runBoxTest.collect(nativeFlow = (/* = "OK21" */), maxValues = 1) + $this$runBoxTest.values(values = (/* = "OK21" */)) + $this$runBoxTest.collect(nativeFlow = (/* = "OK22" */), maxValues = 1) + $this$runBoxTest.value(value = (/* = "OK22" */)) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.collect(nativeFlow = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(nativeFlow = CHECK_NOT_NULL, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0>>(arg0 = ()), maxValues = 1) + $this$runBoxTest.collect(nativeFlow = MyClass28().()) + $this$runBoxTest.collect(nativeFlow = ()) } +) +} -@ObjCName(name = "nullableStateFlowValue") -val nullableStateFlowValueNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_46: CoroutineScope? = null - val tmp_47: StateFlow = () - return asNativeFlow(/* = tmp_47, */ scope = tmp_46) +@NativeCoroutines +val customFlowValue: MyFlow29 + get(): MyFlow29 { + return MyFlow29(value1 = 29, value2 = "OK29") } -val nullableStateFlowValueValue: String? - get(): String? { - val tmp_48: StateFlow = () - return tmp_48.() +@NativeCoroutines +val String.extensionFlow: Flow + get(): Flow { + return flowOf(value = ) } -@ObjCName(name = "refinedFlow") -@ShouldRefineInSwift -val refinedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_49: CoroutineScope? = null - val tmp_50: Flow = () - return asNativeFlow(/* = tmp_50, */ scope = tmp_49) +@NativeCoroutines +val String.extensionSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = ) /*~> Unit */ + } +) } -@ShouldRefineInSwift -val refinedStateFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_51: CoroutineScope? = null - val tmp_52: StateFlow = () - return asNativeFlow(/* = tmp_52, */ scope = tmp_51) +@NativeCoroutines +val String.extensionStateFlow: StateFlow + get(): StateFlow { + return MutableStateFlow(value = ) } -@ObjCName(name = "refinedState") -@ShouldRefineInSwift -val refinedStateValue: String - get(): String { - val tmp_53: StateFlow = () - return tmp_53.() +@NativeCoroutines +val MyGenericClass1.genericFlow: Flow + get(): Flow { + return flowOf(value = .()) } -val statePropertyFlow: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_54: CoroutineScope? = null - val tmp_55: StateFlow = () - return asNativeFlow(/* = tmp_55, */ scope = tmp_54) +@NativeCoroutines +val MyGenericClass1.genericSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ + } +) } -@ObjCName(name = "stateProperty") -val statePropertyValue: String - get(): String { - val tmp_56: StateFlow = () - return tmp_56.() +@NativeCoroutines +val MyGenericClass1.genericStateFlow: StateFlow + get(): StateFlow { + return MutableStateFlow(value = .()) } -@ObjCName(name = "topLevelFlow") -val topLevelFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_57: CoroutineScope? = null - val tmp_58: Flow = () - return asNativeFlow(/* = tmp_58, */ scope = tmp_57) +@NativeCoroutines +val nullableFlow: Flow? + get(): Flow? { + return null } -@ObjCName(name = "topLevelMutableStateFlow") -val topLevelMutableStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_59: CoroutineScope? = null - val tmp_60: MutableStateFlow = () - return asNativeFlow(/* = tmp_60, */ scope = tmp_59) +@NativeCoroutines +val nullableFlowAndValue: Flow? + get(): Flow? { + return null } -@ObjCName(name = "topLevelSharedFlow") -val topLevelSharedFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_61: CoroutineScope? = null - val tmp_62: SharedFlow = () - return asNativeFlow(/* = tmp_62, */ scope = tmp_61) +@NativeCoroutines +val nullableSharedFlow: SharedFlow? + get(): SharedFlow? { + return null } -val topLevelSharedFlowReplayCache: List - get(): List { - val tmp_63: SharedFlow = () - return tmp_63.() +@NativeCoroutines +val nullableSharedFlowAndValue: SharedFlow? + get(): SharedFlow? { + return null } -@ObjCName(name = "topLevelStateFlow") -val topLevelStateFlowNative: Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> - get(): Function3<@ParameterName(name = "onItem") Function3, Unit, Unit>, @ParameterName(name = "onComplete") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_64: CoroutineScope? = null - val tmp_65: StateFlow = () - return asNativeFlow(/* = tmp_65, */ scope = tmp_64) +@NativeCoroutines +val nullableStateFlowAndValue: StateFlow? + get(): StateFlow? { + return null } -val topLevelStateFlowValue: String - get(): String { - val tmp_66: StateFlow = () - return tmp_66.() +@NativeCoroutines +val nullableStateFlowProperty: StateFlow? + get(): StateFlow? { + return null } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.txt index 47f95af7..15d68e08 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/properties.fir.txt @@ -232,7 +232,7 @@ FILE: properties.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(topLevelFlow)) public final val topLevelFlowNative: R|com/rickclephas/kmp/nativecoroutines/NativeFlow| public get(): R|com/rickclephas/kmp/nativecoroutines/NativeFlow| { ::R|/topLevelFlow| diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.ir.txt index 4abbfdc8..ce012bf3 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.ir.txt @@ -1,3 +1,183 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4Value type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 1", replaceWith = , level = ) + ObjCName(name = "deprecatedFunction1", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedFunction2", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 3", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedFunction3", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction1Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction2", swiftName = "objCNameFunction2Swift", exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction2Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction3Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunctionParameterNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "valueObjC", swiftName = , exact = ) + annotations: + ObjCName(name = "objCNameFunctionParameter", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.String declared in ' + CALL 'public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameterNative' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 4", replaceWith = , level = ) + ObjCName(name = "deprecatedProperty1", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedProperty2", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 6", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedProperty3", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "deprecatedProperty4", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty1ObjCValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_13: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty2ObjCFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_15: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null FILE fqName: fileName:/annotations.kt annotations: Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"] type=kotlin.Array varargElementType=kotlin.String) @@ -235,183 +415,3 @@ FILE fqName: fileName:/annotations.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameter' type=kotlin.String origin=null -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] - FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4Value type:kotlin.String visibility:private [static] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - annotations: - Deprecated(message = "This is deprecated 7", replaceWith = , level = ) - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - annotations: - Deprecated(message = "This is deprecated 7", replaceWith = , level = ) - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' - CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null - ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - Deprecated(message = "This is deprecated 1", replaceWith = , level = ) - ObjCName(name = "deprecatedFunction1", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1Native (): kotlin.String declared in ' - CALL 'public final fun deprecatedFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) - ObjCName(name = "deprecatedFunction2", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2Native (): kotlin.String declared in ' - CALL 'public final fun deprecatedFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - Deprecated(message = "This is deprecated 3", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) - ObjCName(name = "deprecatedFunction3", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3Native (): kotlin.String declared in ' - CALL 'public final fun deprecatedFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun objCNameFunction1Native (): kotlin.String declared in ' - CALL 'public final fun objCNameFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "objCNameFunction2", swiftName = "objCNameFunction2Swift", exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun objCNameFunction2Native (): kotlin.String declared in ' - CALL 'public final fun objCNameFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun objCNameFunction3Native (): kotlin.String declared in ' - CALL 'public final fun objCNameFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunctionParameterNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - annotations: - ObjCName(name = "valueObjC", swiftName = , exact = ) - annotations: - ObjCName(name = "objCNameFunctionParameter", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.String declared in ' - CALL 'public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG value: GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameterNative' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] - annotations: - Deprecated(message = "This is deprecated 4", replaceWith = , level = ) - ObjCName(name = "deprecatedProperty1", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] - annotations: - Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) - ObjCName(name = "deprecatedProperty2", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] - annotations: - Deprecated(message = "This is deprecated 6", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) - ObjCName(name = "deprecatedProperty3", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "deprecatedProperty4", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - annotations: - Deprecated(message = "This is deprecated 7", replaceWith = , level = ) - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "objCNameProperty1ObjCValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_13: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "objCNameProperty2ObjCFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_15: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.kt.txt index d4ac43dd..270dbd65 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.kt.txt @@ -1,128 +1,4 @@ -// FILE: annotations.kt -@file:Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"]) - -@NativeCoroutines -@Deprecated(message = "This is deprecated 4") -val deprecatedProperty1: Flow - field = flowOf(value = "OK4") - get - -@NativeCoroutines -@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) -val deprecatedProperty2: Flow - field = flowOf(value = "OK5") - get - -@NativeCoroutines -@Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = []), level = DeprecationLevel.ERROR) -val deprecatedProperty3: Flow - field = flowOf(value = "OK6") - get - -@NativeCoroutines -val deprecatedProperty4: MutableStateFlow - field = MutableStateFlow(value = "OK7") - @Deprecated(message = "This is deprecated 7") - get - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameProperty1ObjC") -val objCNameProperty1: StateFlow - field = MutableStateFlow(value = "OK11") - get - -@NativeCoroutinesState -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameProperty2ObjC") -val objCNameProperty2: StateFlow - field = MutableStateFlow(value = "OK12") - get - -fun box(): String { - return runBoxTest(action = local suspend fun BoxTest.() { - $this$runBoxTest.await(result = local suspend fun (): String { - return deprecatedFunction1Native() - } -) - $this$runBoxTest.await(result = local suspend fun (): String { - return deprecatedFunction2Native() - } -) - $this$runBoxTest.collect(flow = ()) - $this$runBoxTest.collect(flow = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.await(result = local suspend fun (): String { - return objCNameFunction1Native() - } -) - $this$runBoxTest.await(result = local suspend fun (): String { - return objCNameFunction2Native() - } -) - $this$runBoxTest.await(result = local suspend fun (): String { - return objCNameFunction3Native() - } -) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.await(result = local suspend fun (): String { - return objCNameFunctionParameterNative(value = "OK13") - } -) - } -) -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 1") -suspend fun deprecatedFunction1(): String { - return "OK1" -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) -suspend fun deprecatedFunction2(): String { - return "OK2" -} - -@NativeCoroutines -@Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = []), level = DeprecationLevel.ERROR) -suspend fun deprecatedFunction3(): String { - return "OK3" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameFunction1ObjC") -suspend fun objCNameFunction1(): String { - return "OK8" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(swiftName = "objCNameFunction2Swift") -suspend fun objCNameFunction2(): String { - return "OK9" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") -suspend fun objCNameFunction3(): String { - return "OK10" -} - -@NativeCoroutines -@OptIn(markerClass = [ExperimentalObjCName::class]) -suspend fun objCNameFunctionParameter(@ObjCName(name = "valueObjC") value: String): String { - return value -} - -// FILE: __GENERATED DECLARATIONS__.kt +// FILE: __GENERATED__CALLABLES__.kt var deprecatedProperty4Value: String @Deprecated(message = "This is deprecated 7") @@ -246,3 +122,127 @@ val objCNameProperty2Value: String val tmp_15: StateFlow = () return tmp_15.() } + +// FILE: annotations.kt +@file:Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"]) + +@NativeCoroutines +@Deprecated(message = "This is deprecated 4") +val deprecatedProperty1: Flow + field = flowOf(value = "OK4") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) +val deprecatedProperty2: Flow + field = flowOf(value = "OK5") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = []), level = DeprecationLevel.ERROR) +val deprecatedProperty3: Flow + field = flowOf(value = "OK6") + get + +@NativeCoroutines +val deprecatedProperty4: MutableStateFlow + field = MutableStateFlow(value = "OK7") + @Deprecated(message = "This is deprecated 7") + get + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty1ObjC") +val objCNameProperty1: StateFlow + field = MutableStateFlow(value = "OK11") + get + +@NativeCoroutinesState +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty2ObjC") +val objCNameProperty2: StateFlow + field = MutableStateFlow(value = "OK12") + get + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return deprecatedFunction1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return deprecatedFunction2Native() + } +) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction2Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction3Native() + } +) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunctionParameterNative(value = "OK13") + } +) + } +) +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 1") +suspend fun deprecatedFunction1(): String { + return "OK1" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) +suspend fun deprecatedFunction2(): String { + return "OK2" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = []), level = DeprecationLevel.ERROR) +suspend fun deprecatedFunction3(): String { + return "OK3" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction1ObjC") +suspend fun objCNameFunction1(): String { + return "OK8" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(swiftName = "objCNameFunction2Swift") +suspend fun objCNameFunction2(): String { + return "OK9" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") +suspend fun objCNameFunction3(): String { + return "OK10" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +suspend fun objCNameFunctionParameter(@ObjCName(name = "valueObjC") value: String): String { + return value +} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.txt index d47c6106..1734ee42 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/annotations.fir.txt @@ -70,7 +70,7 @@ FILE: annotations.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/Deprecated|(message = String(This is deprecated 1)) @R|kotlin/native/ObjCName|(name = String(deprecatedFunction1)) @R|kotlin/Throws|(exceptionClasses = vararg((Q|kotlin/Exception|))) public final suspend fun deprecatedFunction1Native(): R|kotlin/String| { ::R|/deprecatedFunction1| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.ir.txt index 78383af0..e5c7d1b5 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.ir.txt @@ -1,3 +1,59 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 + annotations: + ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.String declared in ' + CALL 'public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass6 declared in .returnExtSuspendValueNative' type=.MyClass6 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty1", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty2", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null FILE fqName: fileName:/coroutinescope1.kt PROPERTY name:coroutineScope1 visibility:internal modality:FINAL [val] annotations: @@ -559,59 +615,3 @@ FILE fqName: fileName:/coroutinescope2.kt CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null TYPE_ARG T: kotlin.String ARG value: CONST String type=kotlin.String value="OK8" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 - annotations: - ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.String declared in ' - CALL 'public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyClass6 declared in .returnExtSuspendValueNative' type=.MyClass6 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "returnSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowExtProperty1", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowExtProperty2", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "flowProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.kt.txt index 69e7c51d..64b24e9e 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.kt.txt @@ -1,3 +1,40 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnExtSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun MyClass6.returnExtSuspendValueNative(): String { + val tmp_0: CoroutineScope? = null + return returnExtSuspendValue(/* = */) +} + +@ObjCName(name = "returnSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendValueNative(): String { + val tmp_1: CoroutineScope = () + return returnSuspendValue() +} + +@ObjCName(name = "flowExtProperty1") +val MyClass3.flowExtProperty1Native: Flow + get(): Flow { + val tmp_2: CoroutineScope = () + return (/* = */) + } + +@ObjCName(name = "flowExtProperty2") +val MyClass3.flowExtProperty2Native: Flow + get(): Flow { + val tmp_3: CoroutineScope = .() + return (/* = */) + } + +@ObjCName(name = "flowProperty") +val flowPropertyNative: Flow + get(): Flow { + val tmp_4: CoroutineScope = () + return () + } + // FILE: coroutinescope1.kt @NativeCoroutineScope @@ -243,40 +280,3 @@ val MyClass3.flowExtProperty2: Flow get(): Flow { return flowOf(value = "OK8") } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnExtSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun MyClass6.returnExtSuspendValueNative(): String { - val tmp_0: CoroutineScope? = null - return returnExtSuspendValue(/* = */) -} - -@ObjCName(name = "returnSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendValueNative(): String { - val tmp_1: CoroutineScope = () - return returnSuspendValue() -} - -@ObjCName(name = "flowExtProperty1") -val MyClass3.flowExtProperty1Native: Flow - get(): Flow { - val tmp_2: CoroutineScope = () - return (/* = */) - } - -@ObjCName(name = "flowExtProperty2") -val MyClass3.flowExtProperty2Native: Flow - get(): Flow { - val tmp_3: CoroutineScope = .() - return (/* = */) - } - -@ObjCName(name = "flowProperty") -val flowPropertyNative: Flow - get(): Flow { - val tmp_4: CoroutineScope = () - return () - } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.txt index 5a7d4e16..d3865554 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/coroutinescope.fir.txt @@ -179,7 +179,7 @@ FILE: coroutinescope2.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) @R|kotlin/Throws|(exceptionClasses = vararg((Q|kotlin/Exception|))) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { ::R|/returnSuspendValue| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.ir.txt index 711853f8..6f764405 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.ir.txt @@ -1,3 +1,178 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL returnType:.MyFlow23 + annotations: + ObjCName(name = "returnCustomFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): .MyFlow23 declared in ' + CALL 'public final fun returnCustomFlowValue (): .MyFlow23 declared in ' type=.MyFlow23 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + annotations: + ObjCName(name = "returnExtensionValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': kotlin.String declared in .returnExtensionValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + ObjCName(name = "returnFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:T of .returnGenericSuspendValueNative [suspend] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnGenericSuspendValueNative + annotations: + ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): T of .returnGenericSuspendValueNative declared in ' + CALL 'public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' type=T of .returnGenericSuspendValue origin=null + TYPE_ARG T: T of .returnGenericSuspendValueNative + ARG value: GET_VAR 'value: T of .returnGenericSuspendValueNative declared in .returnGenericSuspendValueNative' type=T of .returnGenericSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL returnType:T of .returnInlineSuspendValueNative [inline,suspend] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnInlineSuspendValueNative + annotations: + ObjCName(name = "returnInlineSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): T of .returnInlineSuspendValueNative declared in ' + CALL 'public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' type=T of .returnInlineSuspendValue origin=null + TYPE_ARG T: T of .returnInlineSuspendValueNative + ARG value: GET_VAR 'value: T of .returnInlineSuspendValueNative declared in .returnInlineSuspendValueNative' type=T of .returnInlineSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + ObjCName(name = "returnNullableFlowAndValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + ObjCName(name = "returnNullableFlow", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + ObjCName(name = "returnNullableFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] + annotations: + ObjCName(name = "returnNullableSuspendFlow", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String? [suspend] + annotations: + ObjCName(name = "returnNullableSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.String? declared in ' + CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in ' type=kotlin.String? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnRefinedSuspendValue", swiftName = , exact = ) + ShouldRefineInSwift + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + annotations: + ObjCName(name = "returnStateFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] + annotations: + ObjCName(name = "returnSuspendFlowValue", swiftName = , exact = ) + ShouldRefineInSwift + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Int [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.Int + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + ARG value: GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValueNative' type=kotlin.Int origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + annotations: + ObjCName(name = "returnSuspendVarargValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG values: GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValueNative' type=kotlin.Array origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnThrowsSuspendValue", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null FILE fqName: fileName:/functions.kt CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any] thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass14.MyClass14> @@ -659,178 +834,3 @@ FILE fqName: fileName:/functions.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValue (): kotlin.String declared in ' CONST String type=kotlin.String value="OK10" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL returnType:.MyFlow23 - annotations: - ObjCName(name = "returnCustomFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): .MyFlow23 declared in ' - CALL 'public final fun returnCustomFlowValue (): .MyFlow23 declared in ' type=.MyFlow23 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - annotations: - ObjCName(name = "returnExtensionValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (: kotlin.String): kotlin.String declared in ' - CALL 'public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': kotlin.String declared in .returnExtensionValueNative' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - annotations: - ObjCName(name = "returnFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:T of .returnGenericSuspendValueNative [suspend] - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnGenericSuspendValueNative - annotations: - ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): T of .returnGenericSuspendValueNative declared in ' - CALL 'public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' type=T of .returnGenericSuspendValue origin=null - TYPE_ARG T: T of .returnGenericSuspendValueNative - ARG value: GET_VAR 'value: T of .returnGenericSuspendValueNative declared in .returnGenericSuspendValueNative' type=T of .returnGenericSuspendValueNative origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL returnType:T of .returnInlineSuspendValueNative [inline,suspend] - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnInlineSuspendValueNative - annotations: - ObjCName(name = "returnInlineSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): T of .returnInlineSuspendValueNative declared in ' - CALL 'public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' type=T of .returnInlineSuspendValue origin=null - TYPE_ARG T: T of .returnInlineSuspendValueNative - ARG value: GET_VAR 'value: T of .returnInlineSuspendValueNative declared in .returnInlineSuspendValueNative' type=T of .returnInlineSuspendValueNative origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - annotations: - ObjCName(name = "returnNullableFlowAndValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlinx.coroutines.flow.Flow? declared in ' - CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - annotations: - ObjCName(name = "returnNullableFlow", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' - CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - annotations: - ObjCName(name = "returnNullableFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] - annotations: - ObjCName(name = "returnNullableSuspendFlow", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' - CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String? [suspend] - annotations: - ObjCName(name = "returnNullableSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.String? declared in ' - CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in ' type=kotlin.String? origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "returnRefinedSuspendValue", swiftName = , exact = ) - ShouldRefineInSwift - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.String declared in ' - CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - annotations: - ObjCName(name = "returnStateFlowValue", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] - annotations: - ObjCName(name = "returnSuspendFlowValue", swiftName = , exact = ) - ShouldRefineInSwift - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Int [suspend] - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.Int - annotations: - ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Int declared in ' - CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null - ARG value: GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValueNative' type=kotlin.Int origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - annotations: - ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.String declared in ' - CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG value: GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValueNative' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "returnSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] - annotations: - ObjCName(name = "returnSuspendVarargValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.String declared in ' - CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null - ARG values: GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValueNative' type=kotlin.Array origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] - annotations: - ObjCName(name = "returnThrowsSuspendValue", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.String declared in ' - CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.kt.txt index dd86bdf4..7d3c7877 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.kt.txt @@ -1,3 +1,127 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnCustomFlowValue") +fun returnCustomFlowValueNative(): MyFlow23 { + val tmp_0: CoroutineScope? = null + return returnCustomFlowValue() +} + +@ObjCName(name = "returnExtensionValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun String.returnExtensionValueNative(): String { + val tmp_1: CoroutineScope? = null + return returnExtensionValue(/* = */) +} + +@ObjCName(name = "returnFlowValue") +fun returnFlowValueNative(): Flow { + val tmp_2: CoroutineScope? = null + return returnFlowValue() +} + +@ObjCName(name = "returnGenericSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnGenericSuspendValueNative(value: T): T { + val tmp_3: CoroutineScope? = null + return returnGenericSuspendValue(value = value) +} + +@ObjCName(name = "returnInlineSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend inline fun returnInlineSuspendValueNative(value: T): T { + val tmp_4: CoroutineScope? = null + return returnInlineSuspendValue(value = value) +} + +@ObjCName(name = "returnNullableFlowAndValue") +fun returnNullableFlowAndValueNative(): Flow? { + val tmp_5: CoroutineScope? = null + return returnNullableFlowAndValue() +} + +@ObjCName(name = "returnNullableFlow") +fun returnNullableFlowNative(): Flow? { + val tmp_6: CoroutineScope? = null + return returnNullableFlow() +} + +@ObjCName(name = "returnNullableFlowValue") +fun returnNullableFlowValueNative(): Flow { + val tmp_7: CoroutineScope? = null + return returnNullableFlowValue() +} + +@ObjCName(name = "returnNullableSuspendFlow") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnNullableSuspendFlowNative(): Flow? { + val tmp_8: CoroutineScope? = null + return returnNullableSuspendFlow() +} + +@ObjCName(name = "returnNullableSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnNullableSuspendValueNative(): String? { + val tmp_9: CoroutineScope? = null + return returnNullableSuspendValue() +} + +@ObjCName(name = "returnRefinedSuspendValue") +@ShouldRefineInSwift +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnRefinedSuspendValueNative(): String { + val tmp_10: CoroutineScope? = null + return returnRefinedSuspendValue() +} + +@ObjCName(name = "returnStateFlowValue") +fun returnStateFlowValueNative(): StateFlow { + val tmp_11: CoroutineScope? = null + return returnStateFlowValue() +} + +@ObjCName(name = "returnSuspendFlowValue") +@ShouldRefineInSwift +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendFlowValueNative(): Flow { + val tmp_12: CoroutineScope? = null + return returnSuspendFlowValue() +} + +@ObjCName(name = "returnSuspendParameterValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendParameterValueNative(value: Int): Int { + val tmp_13: CoroutineScope? = null + return returnSuspendParameterValue(value = value) +} + +@ObjCName(name = "returnSuspendParameterValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendParameterValueNative(value: String): String { + val tmp_14: CoroutineScope? = null + return returnSuspendParameterValue(value = value) +} + +@ObjCName(name = "returnSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendValueNative(): String { + val tmp_15: CoroutineScope? = null + return returnSuspendValue() +} + +@ObjCName(name = "returnSuspendVarargValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnSuspendVarargValueNative(vararg values: String): String { + val tmp_16: CoroutineScope? = null + return returnSuspendVarargValue(values = values) +} + +@ObjCName(name = "returnThrowsSuspendValue") +@Throws(exceptionClasses = [Exception::class]) +suspend fun returnThrowsSuspendValueNative(): String { + val tmp_17: CoroutineScope? = null + return returnThrowsSuspendValue() +} + // FILE: functions.kt class MyClass14 { @@ -326,127 +450,3 @@ suspend fun returnSuspendVarargValue(vararg values: String): String { suspend fun returnThrowsSuspendValue(): String { return "OK10" } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnCustomFlowValue") -fun returnCustomFlowValueNative(): MyFlow23 { - val tmp_0: CoroutineScope? = null - return returnCustomFlowValue() -} - -@ObjCName(name = "returnExtensionValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun String.returnExtensionValueNative(): String { - val tmp_1: CoroutineScope? = null - return returnExtensionValue(/* = */) -} - -@ObjCName(name = "returnFlowValue") -fun returnFlowValueNative(): Flow { - val tmp_2: CoroutineScope? = null - return returnFlowValue() -} - -@ObjCName(name = "returnGenericSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnGenericSuspendValueNative(value: T): T { - val tmp_3: CoroutineScope? = null - return returnGenericSuspendValue(value = value) -} - -@ObjCName(name = "returnInlineSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend inline fun returnInlineSuspendValueNative(value: T): T { - val tmp_4: CoroutineScope? = null - return returnInlineSuspendValue(value = value) -} - -@ObjCName(name = "returnNullableFlowAndValue") -fun returnNullableFlowAndValueNative(): Flow? { - val tmp_5: CoroutineScope? = null - return returnNullableFlowAndValue() -} - -@ObjCName(name = "returnNullableFlow") -fun returnNullableFlowNative(): Flow? { - val tmp_6: CoroutineScope? = null - return returnNullableFlow() -} - -@ObjCName(name = "returnNullableFlowValue") -fun returnNullableFlowValueNative(): Flow { - val tmp_7: CoroutineScope? = null - return returnNullableFlowValue() -} - -@ObjCName(name = "returnNullableSuspendFlow") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnNullableSuspendFlowNative(): Flow? { - val tmp_8: CoroutineScope? = null - return returnNullableSuspendFlow() -} - -@ObjCName(name = "returnNullableSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnNullableSuspendValueNative(): String? { - val tmp_9: CoroutineScope? = null - return returnNullableSuspendValue() -} - -@ObjCName(name = "returnRefinedSuspendValue") -@ShouldRefineInSwift -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnRefinedSuspendValueNative(): String { - val tmp_10: CoroutineScope? = null - return returnRefinedSuspendValue() -} - -@ObjCName(name = "returnStateFlowValue") -fun returnStateFlowValueNative(): StateFlow { - val tmp_11: CoroutineScope? = null - return returnStateFlowValue() -} - -@ObjCName(name = "returnSuspendFlowValue") -@ShouldRefineInSwift -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendFlowValueNative(): Flow { - val tmp_12: CoroutineScope? = null - return returnSuspendFlowValue() -} - -@ObjCName(name = "returnSuspendParameterValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendParameterValueNative(value: Int): Int { - val tmp_13: CoroutineScope? = null - return returnSuspendParameterValue(value = value) -} - -@ObjCName(name = "returnSuspendParameterValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendParameterValueNative(value: String): String { - val tmp_14: CoroutineScope? = null - return returnSuspendParameterValue(value = value) -} - -@ObjCName(name = "returnSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendValueNative(): String { - val tmp_15: CoroutineScope? = null - return returnSuspendValue() -} - -@ObjCName(name = "returnSuspendVarargValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnSuspendVarargValueNative(vararg values: String): String { - val tmp_16: CoroutineScope? = null - return returnSuspendVarargValue(values = values) -} - -@ObjCName(name = "returnThrowsSuspendValue") -@Throws(exceptionClasses = [Exception::class]) -suspend fun returnThrowsSuspendValueNative(): String { - val tmp_17: CoroutineScope? = null - return returnThrowsSuspendValue() -} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.txt index 24476c35..d4dc32fd 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/functions.fir.txt @@ -244,7 +244,7 @@ FILE: functions.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) @R|kotlin/Throws|(exceptionClasses = vararg((Q|kotlin/Exception|))) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { ::R|/returnSuspendValue| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.ir.txt index c7565294..2b6886da 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.ir.txt @@ -1,1450 +1,1450 @@ -FILE fqName: fileName:/properties.kt - PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK1" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlowValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlin.String - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .topLevelSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: CONST String type=kotlin.String value="OK2" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK3" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + ObjCName(name = "mutableStateProperty", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:mutableStatePropertyValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK4" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_1: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String? - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + ObjCName(name = "customFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:.MyFlow29 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' + CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlin.String? - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .nullableSharedFlowValue.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] + ObjCName(name = "extensionFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String? - ARG value: CONST Null type=kotlin.Nothing? value=null - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + ObjCName(name = "extensionSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:stateProperty visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK23" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:stateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK24" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] + ObjCName(name = "extensionStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY name:refinedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutinesRefined - FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK25" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY name:refinedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY name:refinedState visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutinesRefinedState - FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK26" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY name:refinedState visibility:public modality:FINAL [val] + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutinesState - FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK27" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? - correspondingProperty: PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass28 - PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] - annotations: - NativeCoroutines - overridden: - public abstract interfaceFlowValue: kotlinx.coroutines.flow.Flow declared in .MyInterface28 - FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK28" - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass28 - correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] - overridden: - public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 - BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null - receiver: GET_VAR ': .MyClass28 declared in .MyClass28.' type=.MyClass28 origin=null - CONSTRUCTOR visibility:public returnType:.MyClass28 [primary] - BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28]' type=kotlin.Unit - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface28 - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in .MyInterface28 - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in .MyInterface28 - PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] - annotations: - ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) - overridden: - public open interfaceFlowValueNative: kotlinx.coroutines.flow.Flow declared in .MyInterface28 - FUN FAKE_OVERRIDE name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] - overridden: - public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 - CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow29.MyFlow29, T2 of .MyFlow29> - TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false - TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false - FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null - TYPE_ARG T: T2 of .MyFlow29? - ARG value: CONST Null type=kotlin.Nothing? value=null - CONSTRUCTOR visibility:public returnType:.MyFlow29.MyFlow29, T2 of .MyFlow29> [primary] - VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow29 - VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow29 - BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>]' type=kotlin.Unit - FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow29.MyFlow29, T2 of .MyFlow29> - VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow29?> - overridden: - public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null - ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] declared in .MyFlow29' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null - receiver: GET_VAR ': .MyFlow29.MyFlow29, T2 of .MyFlow29> declared in .MyFlow29.collect' type=.MyFlow29.MyFlow29, T2 of .MyFlow29> origin=null - ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow29?> declared in .MyFlow29.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow29?> origin=null - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow - CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass1.MyGenericClass1> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - PROPERTY name:value visibility:public modality:FINAL [val] - FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final] - EXPRESSION_BODY - GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.' type=T of .MyGenericClass1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:T of .MyGenericClass1 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.' type=.MyGenericClass1.MyGenericClass1> origin=null - CONSTRUCTOR visibility:public returnType:.MyGenericClass1.MyGenericClass1> [primary] - VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass1 + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' type=kotlin.Unit - FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL returnType:T of .MyGenericClass1 [operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.SharedFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun component1 (): T of .MyGenericClass1 declared in .MyGenericClass1' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.component1' type=.MyGenericClass1.MyGenericClass1> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL returnType:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:Regular name:value index:1 type:T of .MyGenericClass1 - EXPRESSION_BODY - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.copy' type=.MyGenericClass1.MyGenericClass1> origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of . + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun copy (value: T of .MyGenericClass1): .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1' - CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1.MyGenericClass1> origin=null - TYPE_ARG (of class) T: T of .MyGenericClass1 - ARG value: GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.copy' type=T of .MyGenericClass1 origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.StateFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): T of . declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_12: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - WHEN type=kotlin.Unit origin=null - BRANCH - if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ - ARG arg0: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - ARG arg1: GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=true - WHEN type=kotlin.Unit origin=null - BRANCH - if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.MyGenericClass1.MyGenericClass1> - GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=false - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.MyGenericClass1.MyGenericClass1> [val] - TYPE_OP type=.MyGenericClass1.MyGenericClass1> origin=IMPLICIT_CAST typeOperand=.MyGenericClass1.MyGenericClass1> - GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null - WHEN type=kotlin.Unit origin=null - BRANCH - if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ - ARG : CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ - ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - ARG arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR 'val tmp_0: .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null - then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=false - RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' - CONST Boolean type=kotlin.Boolean value=true - FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN returnType:kotlin.Int - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "mutableNullableStateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .MyGenericClass1' - WHEN type=kotlin.Int origin=null + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.MutableStateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Int type=kotlin.Int value=0 + then: CONST Null type=kotlin.String? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null - ARG : GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null - FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN returnType:kotlin.String - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .MyGenericClass1' - STRING_CONCATENATION type=kotlin.String - CONST String type=kotlin.String value="MyGenericClass1(" - CONST String type=kotlin.String value="value=" - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null - receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.toString' type=.MyGenericClass1.MyGenericClass1> origin=null - CONST String type=kotlin.String value=")" - CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass2.MyGenericClass2> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - PROPERTY name:value visibility:private modality:FINAL [val] - FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final] - EXPRESSION_BODY - GET_VAR 'value: T of .MyGenericClass2 declared in .MyGenericClass2.' type=T of .MyGenericClass2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyGenericClass2 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final]' type=T of .MyGenericClass2 origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.MyGenericClass2>, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> declared in .MyGenericClass2.genericSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=IMPLICIT_ARGUMENT - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final] - EXPRESSION_BODY - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.MyGenericClass2> origin=null - TYPE_ARG T: T of .MyGenericClass2 - ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' - GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - CONSTRUCTOR visibility:public returnType:.MyGenericClass2.MyGenericClass2> [primary] - VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass2 + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' - INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of .MyGenericClass2 origin=null - ARG : GET_VAR 'val tmp_3: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - annotations: - ObjCName(name = "genericStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of .MyGenericClass2 - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null - RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of .MyGenericClass2 origin=null - ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null - CLASS INTERFACE name:MyInterface28 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] - thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface28 - FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? - overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any - FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any - FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any - overridden: - public open fun toString (): kotlin.String declared in kotlin.Any - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] - annotations: - ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' - CALL 'public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': .MyInterface28 declared in .MyInterface28.' type=.MyInterface28 origin=null - PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] - annotations: - NativeCoroutines - FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 - correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] - FUN name:box visibility:public modality:FINAL returnType:kotlin.String - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' - CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null - ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest - BLOCK_BODY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.Flow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.collections.List? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.Flow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.collections.List? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK14" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK15" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' type=kotlin.collections.List origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK15" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK16" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (: .MyGenericClass1.>): T of . declared in ' type=kotlin.String origin=GET_PROPERTY - TYPE_ARG T: kotlin.String - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK16" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK17" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK18" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' type=kotlin.collections.List origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK18" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK19" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=kotlin.String origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null - TYPE_ARG (of class) T: kotlin.String - ARG value: CONST String type=kotlin.String value="OK19" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK20" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK21" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG values: CALL 'public final fun (: kotlin.String): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK21" - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK22" - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - ARG : CONST String type=kotlin.String value="OK22" - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlinx.coroutines.flow.MutableStateFlow origin=EXCLEXCL - TYPE_ARG T0: kotlinx.coroutines.flow.MutableStateFlow - ARG arg0: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=GET_PROPERTY - ARG maxValues: CONST Int type=kotlin.Int value=1 - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY - ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass28' type=.MyClass28 origin=null - CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null - TYPE_ARG T: kotlin.String? - ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT - ARG flow: CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=GET_PROPERTY - PROPERTY name:customFlowValue visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:.MyFlow29 - correspondingProperty: PROPERTY name:customFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' - CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow29, value2: T2 of .MyFlow29) declared in .MyFlow29' type=.MyFlow29 origin=null - TYPE_ARG (of class) T1: kotlin.Int - TYPE_ARG (of class) T2: kotlin.String - ARG value1: CONST Int type=kotlin.Int value=29 - ARG value2: CONST String type=kotlin.String value="OK29" - PROPERTY name:extensionFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null - TYPE_ARG T: kotlin.String - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null - TYPE_ARG T: kotlin.String - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - TYPE_ARG T: kotlin.String - ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY name:genericFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' - CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.> origin=null - TYPE_ARG T: T of . - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' - CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null - TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.> - ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null - TYPE_ARG T: T of . - ARG replay: CONST Int type=kotlin.Int value=1 - ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.>, kotlin.Unit> origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.> - BLOCK_BODY - TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit - CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null - ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.> declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=IMPLICIT_ARGUMENT - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] - annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> - TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' - CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.> origin=null - TYPE_ARG T: T of . - ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT - PROPERTY name:nullableFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY name:nullableFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableSharedFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_24: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "nullableStateFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_30: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + ObjCName(name = "refinedFlow", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null - PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] annotations: - NativeCoroutines - FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CONST Null type=kotlin.Nothing? value=null -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] - FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlowValue type:kotlin.String visibility:private [static] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "refinedState", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + ARG : GET_VAR 'val tmp_33: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' - CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null - ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "mutableStateProperty", swiftName = , exact = ) - FIELD PROPERTY_BACKING_FIELD name:mutableStatePropertyValue type:kotlin.String visibility:private [static] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + ObjCName(name = "stateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.flow.MutableStateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_1: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit - VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] - BLOCK_BODY - RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' - CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null - ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_35: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "customFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:.MyFlow29 - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' - CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelMutableStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.collections.List declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_39: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] annotations: - ObjCName(name = "extensionStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + ObjCName(name = "topLevelStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlinx.coroutines.CoroutineScope? [val] CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null - RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.String declared in ' + VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + ARG : GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null +FILE fqName: fileName:/properties.kt + PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .topLevelSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST String type=kotlin.String value="OK2" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.SharedFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of . origin=null - ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "genericStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of . - TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.StateFlow.> [val] - CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null - TYPE_ARG T: T of . - ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null - RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): T of . declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of . origin=null - ARG : GET_VAR 'val tmp_12: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK3" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "mutableNullableStateProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.MutableStateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String? + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .nullableSharedFlowValue.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:stateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableSharedFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK23" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:stateProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' - WHEN type=kotlin.collections.List? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.collections.List? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK24" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.flow.SharedFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' - WHEN type=kotlin.collections.List? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.collections.List? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:refinedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableSharedFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + NativeCoroutinesRefined + FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK25" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:refinedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_24: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:refinedState visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableStateFlowAndValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + NativeCoroutinesRefinedState + FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK26" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:refinedState visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableStateFlowProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK27" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? + correspondingProperty: PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlinx.coroutines.flow.StateFlow? [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - WHEN type=kotlin.String? origin=null - BRANCH - if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ - ARG arg0: GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - ARG arg1: CONST Null type=kotlin.Nothing? value=null - then: CONST Null type=kotlin.String? value=null - BRANCH - if: CONST Boolean type=kotlin.Boolean value=true - then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass28 + PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + annotations: + NativeCoroutines + overridden: + public abstract interfaceFlowValue: kotlinx.coroutines.flow.Flow declared in .MyInterface28 + FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK28" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null + receiver: GET_VAR ': .MyClass28 declared in .MyClass28.' type=.MyClass28 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass28 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface28 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyInterface28 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyInterface28 + PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + overridden: + public open interfaceFlowValueNative: kotlinx.coroutines.flow.Flow declared in .MyInterface28 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 + CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + TYPE_ARG T: T2 of .MyFlow29? + ARG value: CONST Null type=kotlin.Nothing? value=null + CONSTRUCTOR visibility:public returnType:.MyFlow29.MyFlow29, T2 of .MyFlow29> [primary] + VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow29 + VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow29 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>]' type=kotlin.Unit + FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow29?> + overridden: + public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow + BLOCK_BODY + CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null + ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] declared in .MyFlow29' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + receiver: GET_VAR ': .MyFlow29.MyFlow29, T2 of .MyFlow29> declared in .MyFlow29.collect' type=.MyFlow29.MyFlow29, T2 of .MyFlow29> origin=null + ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow29?> declared in .MyFlow29.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow29?> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow + CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass1.MyGenericClass1> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.' type=T of .MyGenericClass1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:T of .MyGenericClass1 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.' type=.MyGenericClass1.MyGenericClass1> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass1.MyGenericClass1> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass1 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' type=kotlin.Unit + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL returnType:T of .MyGenericClass1 [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.component1' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL returnType:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:value index:1 type:T of .MyGenericClass1 + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.copy' type=.MyGenericClass1.MyGenericClass1> origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (value: T of .MyGenericClass1): .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1' + CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1.MyGenericClass1> origin=null + TYPE_ARG (of class) T: T of .MyGenericClass1 + ARG value: GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.copy' type=T of .MyGenericClass1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + ARG arg0: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.MyGenericClass1.MyGenericClass1> [val] + TYPE_OP type=.MyGenericClass1.MyGenericClass1> origin=IMPLICIT_CAST typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + ARG : CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR 'val tmp_0: .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN returnType:kotlin.Int + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .MyGenericClass1' + WHEN type=kotlin.Int origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Int type=kotlin.Int value=0 + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + ARG : GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN returnType:kotlin.String + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .MyGenericClass1' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="MyGenericClass1(" + CONST String type=kotlin.String value="value=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.toString' type=.MyGenericClass1.MyGenericClass1> origin=null + CONST String type=kotlin.String value=")" + CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass2.MyGenericClass2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass2 declared in .MyGenericClass2.' type=T of .MyGenericClass2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final]' type=T of .MyGenericClass2 origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.MyGenericClass2>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> declared in .MyGenericClass2.genericSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass2.MyGenericClass2> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass2 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_3: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + CLASS INTERFACE name:MyInterface28 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface28 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' + CALL 'public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyInterface28 declared in .MyInterface28.' type=.MyInterface28 origin=null + PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + annotations: + NativeCoroutines + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK14" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' type=kotlin.collections.List origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: .MyGenericClass1.>): T of . declared in ' type=kotlin.String origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK17" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=kotlin.String origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK20" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: kotlin.String): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlinx.coroutines.flow.MutableStateFlow origin=EXCLEXCL + TYPE_ARG T0: kotlinx.coroutines.flow.MutableStateFlow + ARG arg0: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass28' type=.MyClass28 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=GET_PROPERTY + PROPERTY name:customFlowValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "nullableStateFlowValue", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:.MyFlow29 + correspondingProperty: PROPERTY name:customFlowValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' + CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow29, value2: T2 of .MyFlow29) declared in .MyFlow29' type=.MyFlow29 origin=null + TYPE_ARG (of class) T1: kotlin.Int + TYPE_ARG (of class) T2: kotlin.String + ARG value1: CONST Int type=kotlin.Int value=29 + ARG value2: CONST String type=kotlin.String value="OK29" + PROPERTY name:extensionFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null - ARG : GET_VAR 'val tmp_30: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "refinedFlow", swiftName = , exact = ) - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] annotations: - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "refinedState", swiftName = , exact = ) - ShouldRefineInSwift - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_33: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: T of . + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.> declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "stateProperty", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_35: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:nullableFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelMutableStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelSharedFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlinx.coroutines.flow.SharedFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' - CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_39: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] annotations: - ObjCName(name = "topLevelStateFlow", swiftName = , exact = ) - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlinx.coroutines.CoroutineScope? [val] - CONST Null type=kotlinx.coroutines.CoroutineScope? value=null - RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String - correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlinx.coroutines.flow.StateFlow [val] - CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null - RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' - CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null - ARG : GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.kt.txt index 6d68075e..76bc52f8 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.kt.txt @@ -1,660 +1,660 @@ -// FILE: properties.kt - -@NativeCoroutines -val topLevelFlow: Flow - field = flowOf(value = "OK1") - get +// FILE: __GENERATED__CALLABLES__.kt -@NativeCoroutines -val topLevelSharedFlow: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = "OK2") /*~> Unit */ +var topLevelMutableStateFlowValue: String + get(): String { + val tmp_0: MutableStateFlow = () + return tmp_0.() } -) - get - -@NativeCoroutines -val topLevelStateFlow: StateFlow - field = MutableStateFlow(value = "OK3") - get - -@NativeCoroutines -val topLevelMutableStateFlow: MutableStateFlow - field = MutableStateFlow(value = "OK4") - get - -@NativeCoroutines -val nullableFlowValue: Flow - field = flowOf(value = null) - get - -@NativeCoroutines -val nullableSharedFlowValue: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = null) /*~> Unit */ + set(value: String) { + return ().( = value) } -) - get -@NativeCoroutines -val nullableStateFlowValue: StateFlow - field = MutableStateFlow(value = null) - get +@ObjCName(name = "mutableStateProperty") +var mutableStatePropertyValue: String + get(): String { + val tmp_1: MutableStateFlow = () + return tmp_1.() + } + set(value: String) { + return ().( = value) + } -@NativeCoroutinesState -val stateProperty: StateFlow - field = MutableStateFlow(value = "OK23") - get +@ObjCName(name = "customFlowValue") +val customFlowValueNative: MyFlow29 + get(): MyFlow29 { + val tmp_2: CoroutineScope? = null + return () + } -@NativeCoroutinesState -val mutableStateProperty: MutableStateFlow - field = MutableStateFlow(value = "OK24") - get +@ObjCName(name = "extensionFlow") +val String.extensionFlowNative: Flow + get(): Flow { + val tmp_3: CoroutineScope? = null + return (/* = */) + } -@NativeCoroutinesRefined -val refinedFlow: Flow - field = flowOf(value = "OK25") - get +@ObjCName(name = "extensionSharedFlow") +val String.extensionSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_4: CoroutineScope? = null + return (/* = */) + } -@NativeCoroutinesRefinedState -val refinedState: StateFlow - field = MutableStateFlow(value = "OK26") - get +val String.extensionSharedFlowReplayCache: List + get(): List { + val tmp_5: SharedFlow = (/* = */) + return tmp_5.() + } -@NativeCoroutinesState -val mutableNullableStateProperty: MutableStateFlow? - field = MutableStateFlow(value = "OK27") - get +@ObjCName(name = "extensionStateFlow") +val String.extensionStateFlowNative: StateFlow + get(): StateFlow { + val tmp_6: CoroutineScope? = null + return (/* = */) + } -class MyClass28 : MyInterface28 { - @NativeCoroutines - override val interfaceFlowValue: Flow - field = flowOf(value = "OK28") - override get +val String.extensionStateFlowValue: String + get(): String { + val tmp_7: StateFlow = (/* = */) + return tmp_7.() + } - constructor() /* primary */ { - super/*Any*/() - /* () */ +@ObjCName(name = "genericFlow") +val MyGenericClass1.genericFlowNative: Flow + get(): Flow { + val tmp_8: CoroutineScope? = null + return (/* = */) + } +@ObjCName(name = "genericSharedFlow") +val MyGenericClass1.genericSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_9: CoroutineScope? = null + return (/* = */) } -} +val MyGenericClass1.genericSharedFlowReplayCache: List + get(): List { + val tmp_10: SharedFlow = (/* = */) + return tmp_10.() + } -class MyFlow29 : Flow { - private /* final field */ val $$delegate_0: Flow = flowOf(value = null) - constructor(value1: T1, value2: T2) /* primary */ { - super/*Any*/() - /* () */ +@ObjCName(name = "genericStateFlow") +val MyGenericClass1.genericStateFlowNative: StateFlow + get(): StateFlow { + val tmp_11: CoroutineScope? = null + return (/* = */) + } +val MyGenericClass1.genericStateFlowValue: T + get(): T { + val tmp_12: StateFlow = (/* = */) + return tmp_12.() } - override suspend fun collect(collector: FlowCollector) { - .#$$delegate_0.collect(collector = collector) +val mutableNullableStatePropertyFlow: MutableStateFlow? + get(): MutableStateFlow? { + val tmp_13: CoroutineScope? = null + return () } -} +@ObjCName(name = "mutableNullableStateProperty") +val mutableNullableStatePropertyValue: String? + get(): String? { + val tmp_14: MutableStateFlow? = () + return when { + EQEQ(arg0 = tmp_14, arg1 = null) -> null + else -> tmp_14.() + } + } -data class MyGenericClass1 { - val value: T - field = value - get +val mutableStatePropertyFlow: MutableStateFlow + get(): MutableStateFlow { + val tmp_15: CoroutineScope? = null + return () + } - constructor(value: T) /* primary */ { - super/*Any*/() - /* () */ +@ObjCName(name = "nullableFlowAndValue") +val nullableFlowAndValueNative: Flow? + get(): Flow? { + val tmp_16: CoroutineScope? = null + return () + } +@ObjCName(name = "nullableFlow") +val nullableFlowNative: Flow? + get(): Flow? { + val tmp_17: CoroutineScope? = null + return () } - operator fun component1(): T { - return .#value +@ObjCName(name = "nullableFlowValue") +val nullableFlowValueNative: Flow + get(): Flow { + val tmp_18: CoroutineScope? = null + return () } - fun copy(value: T = .#value): MyGenericClass1 { - return MyGenericClass1(value = value) +@ObjCName(name = "nullableSharedFlowAndValue") +val nullableSharedFlowAndValueNative: SharedFlow? + get(): SharedFlow? { + val tmp_19: CoroutineScope? = null + return () } - override operator fun equals(other: Any?): Boolean { - when { - EQEQEQ(arg0 = , arg1 = other) -> return true - } - when { - other !is MyGenericClass1 -> return false - } - val tmp_0: MyGenericClass1 = other /*as MyGenericClass1 */ - when { - EQEQ(arg0 = .#value, arg1 = tmp_0.#value).not() -> return false +val nullableSharedFlowAndValueReplayCache: List? + get(): List? { + val tmp_20: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_20, arg1 = null) -> null + else -> tmp_20.() } - return true } - override fun hashCode(): Int { +@ObjCName(name = "nullableSharedFlow") +val nullableSharedFlowNative: SharedFlow? + get(): SharedFlow? { + val tmp_21: CoroutineScope? = null + return () + } + +val nullableSharedFlowReplayCache: List? + get(): List? { + val tmp_22: SharedFlow? = () return when { - EQEQ(arg0 = .#value, arg1 = null) -> 0 - else -> .#value.hashCode() + EQEQ(arg0 = tmp_22, arg1 = null) -> null + else -> tmp_22.() } } - override fun toString(): String { - return "MyGenericClass1(" + "value=" + .#value + ")" +@ObjCName(name = "nullableSharedFlowValue") +val nullableSharedFlowValueNative: SharedFlow + get(): SharedFlow { + val tmp_23: CoroutineScope? = null + return () } -} +val nullableSharedFlowValueReplayCache: List + get(): List { + val tmp_24: SharedFlow = () + return tmp_24.() + } -class MyGenericClass2 { - private val value: T - field = value - private get +@ObjCName(name = "nullableStateFlowAndValue") +val nullableStateFlowAndValueNative: StateFlow? + get(): StateFlow? { + val tmp_25: CoroutineScope? = null + return () + } - @NativeCoroutines - val genericFlow: Flow - field = flowOf(value = .()) - get - - @NativeCoroutines - val genericSharedFlow: SharedFlow - field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = .()) /*~> Unit */ +val nullableStateFlowAndValueValue: String? + get(): String? { + val tmp_26: StateFlow? = () + return when { + EQEQ(arg0 = tmp_26, arg1 = null) -> null + else -> tmp_26.() } -) - get - - @NativeCoroutines - val genericStateFlow: StateFlow - field = MutableStateFlow(value = .()) - get - - constructor(value: T) /* primary */ { - super/*Any*/() - /* () */ - } - @ObjCName(name = "genericFlow") - val genericFlowNative: Flow - get(): Flow { - val tmp_1: CoroutineScope? = null - return .() - } - - @ObjCName(name = "genericSharedFlow") - val genericSharedFlowNative: SharedFlow - get(): SharedFlow { - val tmp_2: CoroutineScope? = null - return .() - } - - val genericSharedFlowReplayCache: List - get(): List { - val tmp_3: SharedFlow = .() - return tmp_3.() - } +@ObjCName(name = "nullableStateFlowProperty") +val nullableStateFlowPropertyNative: StateFlow? + get(): StateFlow? { + val tmp_27: CoroutineScope? = null + return () + } - @ObjCName(name = "genericStateFlow") - val genericStateFlowNative: StateFlow - get(): StateFlow { - val tmp_4: CoroutineScope? = null - return .() +val nullableStateFlowPropertyValue: String? + get(): String? { + val tmp_28: StateFlow? = () + return when { + EQEQ(arg0 = tmp_28, arg1 = null) -> null + else -> tmp_28.() } + } - val genericStateFlowValue: T - get(): T { - val tmp_5: StateFlow = .() - return tmp_5.() - } +@ObjCName(name = "nullableStateFlowValue") +val nullableStateFlowValueNative: StateFlow + get(): StateFlow { + val tmp_29: CoroutineScope? = null + return () + } -} +val nullableStateFlowValueValue: String? + get(): String? { + val tmp_30: StateFlow = () + return tmp_30.() + } -interface MyInterface28 { - @ObjCName(name = "interfaceFlowValue") - val interfaceFlowValueNative: Flow - get(): Flow { - val tmp_6: CoroutineScope? = null - return .() - } +@ObjCName(name = "refinedFlow") +@ShouldRefineInSwift +val refinedFlowNative: Flow + get(): Flow { + val tmp_31: CoroutineScope? = null + return () + } - @NativeCoroutines - abstract val interfaceFlowValue: Flow - abstract get +@ShouldRefineInSwift +val refinedStateFlow: StateFlow + get(): StateFlow { + val tmp_32: CoroutineScope? = null + return () + } -} +@ObjCName(name = "refinedState") +@ShouldRefineInSwift +val refinedStateValue: String + get(): String { + val tmp_33: StateFlow = () + return tmp_33.() + } -fun box(): String { - return runBoxTest(action = local suspend fun BoxTest.() { - $this$runBoxTest.collect(flow = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.values(values = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.values(values = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value?>(value = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK14") */)) - $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK15") */), maxValues = 1) - $this$runBoxTest.values(values = (/* = MyGenericClass1(value = "OK15") */)) - $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK16") */), maxValues = 1) - $this$runBoxTest.value(value = (/* = MyGenericClass1(value = "OK16") */)) - $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK17").()) - $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK18").(), maxValues = 1) - $this$runBoxTest.values(values = MyGenericClass2(value = "OK18").()) - $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK19").(), maxValues = 1) - $this$runBoxTest.value(value = MyGenericClass2(value = "OK19").()) - $this$runBoxTest.collect(flow = (/* = "OK20" */)) - $this$runBoxTest.collect(flow = (/* = "OK21" */), maxValues = 1) - $this$runBoxTest.values(values = (/* = "OK21" */)) - $this$runBoxTest.collect(flow = (/* = "OK22" */), maxValues = 1) - $this$runBoxTest.value(value = (/* = "OK22" */)) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.collect(flow = ()) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = (), maxValues = 1) - $this$runBoxTest.value(value = ()) - $this$runBoxTest.collect(flow = CHECK_NOT_NULL>(arg0 = ()), maxValues = 1) - $this$runBoxTest.collect(flow = MyClass28().()) - $this$runBoxTest.collect(flow = ()) +val statePropertyFlow: StateFlow + get(): StateFlow { + val tmp_34: CoroutineScope? = null + return () } -) -} -@NativeCoroutines -val customFlowValue: MyFlow29 - get(): MyFlow29 { - return MyFlow29(value1 = 29, value2 = "OK29") +@ObjCName(name = "stateProperty") +val statePropertyValue: String + get(): String { + val tmp_35: StateFlow = () + return tmp_35.() } -@NativeCoroutines -val String.extensionFlow: Flow +@ObjCName(name = "topLevelFlow") +val topLevelFlowNative: Flow get(): Flow { - return flowOf(value = ) + val tmp_36: CoroutineScope? = null + return () } -@NativeCoroutines -val String.extensionSharedFlow: SharedFlow +@ObjCName(name = "topLevelMutableStateFlow") +val topLevelMutableStateFlowNative: MutableStateFlow + get(): MutableStateFlow { + val tmp_37: CoroutineScope? = null + return () + } + +@ObjCName(name = "topLevelSharedFlow") +val topLevelSharedFlowNative: SharedFlow get(): SharedFlow { - return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = ) /*~> Unit */ - } -) + val tmp_38: CoroutineScope? = null + return () } -@NativeCoroutines -val String.extensionStateFlow: StateFlow - get(): StateFlow { - return MutableStateFlow(value = ) +val topLevelSharedFlowReplayCache: List + get(): List { + val tmp_39: SharedFlow = () + return tmp_39.() } -@NativeCoroutines -val MyGenericClass1.genericFlow: Flow - get(): Flow { - return flowOf(value = .()) +@ObjCName(name = "topLevelStateFlow") +val topLevelStateFlowNative: StateFlow + get(): StateFlow { + val tmp_40: CoroutineScope? = null + return () } -@NativeCoroutines -val MyGenericClass1.genericSharedFlow: SharedFlow - get(): SharedFlow { - return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { - $this$apply.tryEmit(value = .()) /*~> Unit */ - } -) +val topLevelStateFlowValue: String + get(): String { + val tmp_41: StateFlow = () + return tmp_41.() } +// FILE: properties.kt + @NativeCoroutines -val MyGenericClass1.genericStateFlow: StateFlow - get(): StateFlow { - return MutableStateFlow(value = .()) - } +val topLevelFlow: Flow + field = flowOf(value = "OK1") + get @NativeCoroutines -val nullableFlow: Flow? - get(): Flow? { - return null +val topLevelSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = "OK2") /*~> Unit */ } +) + get @NativeCoroutines -val nullableFlowAndValue: Flow? - get(): Flow? { - return null - } +val topLevelStateFlow: StateFlow + field = MutableStateFlow(value = "OK3") + get @NativeCoroutines -val nullableSharedFlow: SharedFlow? - get(): SharedFlow? { - return null - } +val topLevelMutableStateFlow: MutableStateFlow + field = MutableStateFlow(value = "OK4") + get @NativeCoroutines -val nullableSharedFlowAndValue: SharedFlow? - get(): SharedFlow? { - return null - } +val nullableFlowValue: Flow + field = flowOf(value = null) + get @NativeCoroutines -val nullableStateFlowAndValue: StateFlow? - get(): StateFlow? { - return null +val nullableSharedFlowValue: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = null) /*~> Unit */ } +) + get @NativeCoroutines -val nullableStateFlowProperty: StateFlow? - get(): StateFlow? { - return null - } +val nullableStateFlowValue: StateFlow + field = MutableStateFlow(value = null) + get -// FILE: __GENERATED DECLARATIONS__.kt +@NativeCoroutinesState +val stateProperty: StateFlow + field = MutableStateFlow(value = "OK23") + get -var topLevelMutableStateFlowValue: String - get(): String { - val tmp_0: MutableStateFlow = () - return tmp_0.() - } - set(value: String) { - return ().( = value) - } +@NativeCoroutinesState +val mutableStateProperty: MutableStateFlow + field = MutableStateFlow(value = "OK24") + get -@ObjCName(name = "mutableStateProperty") -var mutableStatePropertyValue: String - get(): String { - val tmp_1: MutableStateFlow = () - return tmp_1.() - } - set(value: String) { - return ().( = value) - } +@NativeCoroutinesRefined +val refinedFlow: Flow + field = flowOf(value = "OK25") + get -@ObjCName(name = "customFlowValue") -val customFlowValueNative: MyFlow29 - get(): MyFlow29 { - val tmp_2: CoroutineScope? = null - return () - } +@NativeCoroutinesRefinedState +val refinedState: StateFlow + field = MutableStateFlow(value = "OK26") + get -@ObjCName(name = "extensionFlow") -val String.extensionFlowNative: Flow - get(): Flow { - val tmp_3: CoroutineScope? = null - return (/* = */) - } +@NativeCoroutinesState +val mutableNullableStateProperty: MutableStateFlow? + field = MutableStateFlow(value = "OK27") + get -@ObjCName(name = "extensionSharedFlow") -val String.extensionSharedFlowNative: SharedFlow - get(): SharedFlow { - val tmp_4: CoroutineScope? = null - return (/* = */) - } +class MyClass28 : MyInterface28 { + @NativeCoroutines + override val interfaceFlowValue: Flow + field = flowOf(value = "OK28") + override get -val String.extensionSharedFlowReplayCache: List - get(): List { - val tmp_5: SharedFlow = (/* = */) - return tmp_5.() - } + constructor() /* primary */ { + super/*Any*/() + /* () */ -@ObjCName(name = "extensionStateFlow") -val String.extensionStateFlowNative: StateFlow - get(): StateFlow { - val tmp_6: CoroutineScope? = null - return (/* = */) } -val String.extensionStateFlowValue: String - get(): String { - val tmp_7: StateFlow = (/* = */) - return tmp_7.() - } +} -@ObjCName(name = "genericFlow") -val MyGenericClass1.genericFlowNative: Flow - get(): Flow { - val tmp_8: CoroutineScope? = null - return (/* = */) - } +class MyFlow29 : Flow { + private /* final field */ val $$delegate_0: Flow = flowOf(value = null) + constructor(value1: T1, value2: T2) /* primary */ { + super/*Any*/() + /* () */ -@ObjCName(name = "genericSharedFlow") -val MyGenericClass1.genericSharedFlowNative: SharedFlow - get(): SharedFlow { - val tmp_9: CoroutineScope? = null - return (/* = */) } -val MyGenericClass1.genericSharedFlowReplayCache: List - get(): List { - val tmp_10: SharedFlow = (/* = */) - return tmp_10.() + override suspend fun collect(collector: FlowCollector) { + .#$$delegate_0.collect(collector = collector) } -@ObjCName(name = "genericStateFlow") -val MyGenericClass1.genericStateFlowNative: StateFlow - get(): StateFlow { - val tmp_11: CoroutineScope? = null - return (/* = */) +} + +data class MyGenericClass1 { + val value: T + field = value + get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ + } -val MyGenericClass1.genericStateFlowValue: T - get(): T { - val tmp_12: StateFlow = (/* = */) - return tmp_12.() + operator fun component1(): T { + return .#value } -val mutableNullableStatePropertyFlow: MutableStateFlow? - get(): MutableStateFlow? { - val tmp_13: CoroutineScope? = null - return () + fun copy(value: T = .#value): MyGenericClass1 { + return MyGenericClass1(value = value) } -@ObjCName(name = "mutableNullableStateProperty") -val mutableNullableStatePropertyValue: String? - get(): String? { - val tmp_14: MutableStateFlow? = () - return when { - EQEQ(arg0 = tmp_14, arg1 = null) -> null - else -> tmp_14.() + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is MyGenericClass1 -> return false + } + val tmp_0: MyGenericClass1 = other /*as MyGenericClass1 */ + when { + EQEQ(arg0 = .#value, arg1 = tmp_0.#value).not() -> return false } + return true } -val mutableStatePropertyFlow: MutableStateFlow - get(): MutableStateFlow { - val tmp_15: CoroutineScope? = null - return () + override fun hashCode(): Int { + return when { + EQEQ(arg0 = .#value, arg1 = null) -> 0 + else -> .#value.hashCode() + } } -@ObjCName(name = "nullableFlowAndValue") -val nullableFlowAndValueNative: Flow? - get(): Flow? { - val tmp_16: CoroutineScope? = null - return () + override fun toString(): String { + return "MyGenericClass1(" + "value=" + .#value + ")" } -@ObjCName(name = "nullableFlow") -val nullableFlowNative: Flow? - get(): Flow? { - val tmp_17: CoroutineScope? = null - return () - } +} -@ObjCName(name = "nullableFlowValue") -val nullableFlowValueNative: Flow - get(): Flow { - val tmp_18: CoroutineScope? = null - return () - } +class MyGenericClass2 { + private val value: T + field = value + private get -@ObjCName(name = "nullableSharedFlowAndValue") -val nullableSharedFlowAndValueNative: SharedFlow? - get(): SharedFlow? { - val tmp_19: CoroutineScope? = null - return () - } + @NativeCoroutines + val genericFlow: Flow + field = flowOf(value = .()) + get -val nullableSharedFlowAndValueReplayCache: List? - get(): List? { - val tmp_20: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_20, arg1 = null) -> null - else -> tmp_20.() + @NativeCoroutines + val genericSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ } - } +) + get + + @NativeCoroutines + val genericStateFlow: StateFlow + field = MutableStateFlow(value = .()) + get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ -@ObjCName(name = "nullableSharedFlow") -val nullableSharedFlowNative: SharedFlow? - get(): SharedFlow? { - val tmp_21: CoroutineScope? = null - return () } -val nullableSharedFlowReplayCache: List? - get(): List? { - val tmp_22: SharedFlow? = () - return when { - EQEQ(arg0 = tmp_22, arg1 = null) -> null - else -> tmp_22.() + @ObjCName(name = "genericFlow") + val genericFlowNative: Flow + get(): Flow { + val tmp_1: CoroutineScope? = null + return .() } - } -@ObjCName(name = "nullableSharedFlowValue") -val nullableSharedFlowValueNative: SharedFlow - get(): SharedFlow { - val tmp_23: CoroutineScope? = null - return () - } + @ObjCName(name = "genericSharedFlow") + val genericSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_2: CoroutineScope? = null + return .() + } -val nullableSharedFlowValueReplayCache: List - get(): List { - val tmp_24: SharedFlow = () - return tmp_24.() - } + val genericSharedFlowReplayCache: List + get(): List { + val tmp_3: SharedFlow = .() + return tmp_3.() + } -@ObjCName(name = "nullableStateFlowAndValue") -val nullableStateFlowAndValueNative: StateFlow? - get(): StateFlow? { - val tmp_25: CoroutineScope? = null - return () - } + @ObjCName(name = "genericStateFlow") + val genericStateFlowNative: StateFlow + get(): StateFlow { + val tmp_4: CoroutineScope? = null + return .() + } -val nullableStateFlowAndValueValue: String? - get(): String? { - val tmp_26: StateFlow? = () - return when { - EQEQ(arg0 = tmp_26, arg1 = null) -> null - else -> tmp_26.() + val genericStateFlowValue: T + get(): T { + val tmp_5: StateFlow = .() + return tmp_5.() } - } -@ObjCName(name = "nullableStateFlowProperty") -val nullableStateFlowPropertyNative: StateFlow? - get(): StateFlow? { - val tmp_27: CoroutineScope? = null - return () - } +} -val nullableStateFlowPropertyValue: String? - get(): String? { - val tmp_28: StateFlow? = () - return when { - EQEQ(arg0 = tmp_28, arg1 = null) -> null - else -> tmp_28.() +interface MyInterface28 { + @ObjCName(name = "interfaceFlowValue") + val interfaceFlowValueNative: Flow + get(): Flow { + val tmp_6: CoroutineScope? = null + return .() } - } -@ObjCName(name = "nullableStateFlowValue") -val nullableStateFlowValueNative: StateFlow - get(): StateFlow { - val tmp_29: CoroutineScope? = null - return () + @NativeCoroutines + abstract val interfaceFlowValue: Flow + abstract get + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK14") */)) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK15") */), maxValues = 1) + $this$runBoxTest.values(values = (/* = MyGenericClass1(value = "OK15") */)) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK16") */), maxValues = 1) + $this$runBoxTest.value(value = (/* = MyGenericClass1(value = "OK16") */)) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK17").()) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK18").(), maxValues = 1) + $this$runBoxTest.values(values = MyGenericClass2(value = "OK18").()) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK19").(), maxValues = 1) + $this$runBoxTest.value(value = MyGenericClass2(value = "OK19").()) + $this$runBoxTest.collect(flow = (/* = "OK20" */)) + $this$runBoxTest.collect(flow = (/* = "OK21" */), maxValues = 1) + $this$runBoxTest.values(values = (/* = "OK21" */)) + $this$runBoxTest.collect(flow = (/* = "OK22" */), maxValues = 1) + $this$runBoxTest.value(value = (/* = "OK22" */)) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = CHECK_NOT_NULL>(arg0 = ()), maxValues = 1) + $this$runBoxTest.collect(flow = MyClass28().()) + $this$runBoxTest.collect(flow = ()) } +) +} -val nullableStateFlowValueValue: String? - get(): String? { - val tmp_30: StateFlow = () - return tmp_30.() +@NativeCoroutines +val customFlowValue: MyFlow29 + get(): MyFlow29 { + return MyFlow29(value1 = 29, value2 = "OK29") } -@ObjCName(name = "refinedFlow") -@ShouldRefineInSwift -val refinedFlowNative: Flow +@NativeCoroutines +val String.extensionFlow: Flow get(): Flow { - val tmp_31: CoroutineScope? = null - return () + return flowOf(value = ) } -@ShouldRefineInSwift -val refinedStateFlow: StateFlow +@NativeCoroutines +val String.extensionSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = ) /*~> Unit */ + } +) + } + +@NativeCoroutines +val String.extensionStateFlow: StateFlow get(): StateFlow { - val tmp_32: CoroutineScope? = null - return () + return MutableStateFlow(value = ) } -@ObjCName(name = "refinedState") -@ShouldRefineInSwift -val refinedStateValue: String - get(): String { - val tmp_33: StateFlow = () - return tmp_33.() +@NativeCoroutines +val MyGenericClass1.genericFlow: Flow + get(): Flow { + return flowOf(value = .()) } -val statePropertyFlow: StateFlow - get(): StateFlow { - val tmp_34: CoroutineScope? = null - return () +@NativeCoroutines +val MyGenericClass1.genericSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ + } +) } -@ObjCName(name = "stateProperty") -val statePropertyValue: String - get(): String { - val tmp_35: StateFlow = () - return tmp_35.() +@NativeCoroutines +val MyGenericClass1.genericStateFlow: StateFlow + get(): StateFlow { + return MutableStateFlow(value = .()) } -@ObjCName(name = "topLevelFlow") -val topLevelFlowNative: Flow - get(): Flow { - val tmp_36: CoroutineScope? = null - return () +@NativeCoroutines +val nullableFlow: Flow? + get(): Flow? { + return null } -@ObjCName(name = "topLevelMutableStateFlow") -val topLevelMutableStateFlowNative: MutableStateFlow - get(): MutableStateFlow { - val tmp_37: CoroutineScope? = null - return () +@NativeCoroutines +val nullableFlowAndValue: Flow? + get(): Flow? { + return null } -@ObjCName(name = "topLevelSharedFlow") -val topLevelSharedFlowNative: SharedFlow - get(): SharedFlow { - val tmp_38: CoroutineScope? = null - return () +@NativeCoroutines +val nullableSharedFlow: SharedFlow? + get(): SharedFlow? { + return null } -val topLevelSharedFlowReplayCache: List - get(): List { - val tmp_39: SharedFlow = () - return tmp_39.() +@NativeCoroutines +val nullableSharedFlowAndValue: SharedFlow? + get(): SharedFlow? { + return null } -@ObjCName(name = "topLevelStateFlow") -val topLevelStateFlowNative: StateFlow - get(): StateFlow { - val tmp_40: CoroutineScope? = null - return () +@NativeCoroutines +val nullableStateFlowAndValue: StateFlow? + get(): StateFlow? { + return null } -val topLevelStateFlowValue: String - get(): String { - val tmp_41: StateFlow = () - return tmp_41.() +@NativeCoroutines +val nullableStateFlowProperty: StateFlow? + get(): StateFlow? { + return null } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.txt index 6d8300d0..20185110 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/properties.fir.txt @@ -232,7 +232,7 @@ FILE: properties.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(topLevelFlow)) public final val topLevelFlowNative: R|kotlinx/coroutines/flow/Flow| public get(): R|kotlinx/coroutines/flow/Flow| { ::R|/topLevelFlow| diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.ir.txt index ba4c2f56..e1bf9bbd 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.ir.txt @@ -1,3 +1,54 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null FILE fqName:androidx.lifecycle fileName:/androidxviewmodel.kt CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[kotlin.Any] thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:androidx.lifecycle.ViewModel @@ -407,54 +458,3 @@ FILE fqName: fileName:/viewmodelscope.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' CONST String type=kotlin.String value="OK8" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null - ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - Throws(exceptionClasses = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:Exception modality:OPEN visibility:public superTypes:[kotlin.Throwable]' type=kotlin.reflect.KClass] type=kotlin.Array varargElementType=kotlin.Throwable) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null - ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.String declared in ' - CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.kt.txt index 1433b6e4..b0c26446 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.kt.txt @@ -1,3 +1,33 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnSuspendValue2") +@Throws(exceptionClasses = [Exception::class]) +suspend fun MyAndroidXViewModel1.returnSuspendValue2Native(): String { + val tmp_0: CoroutineScope = (/* = */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +@Throws(exceptionClasses = [Exception::class]) +suspend fun MyAndroidXViewModel2.returnSuspendValue2Native(): String { + val tmp_1: CoroutineScope = (/* = */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +@Throws(exceptionClasses = [Exception::class]) +suspend fun MyObservableViewModel1.returnSuspendValue2Native(): String { + val tmp_2: CoroutineScope = (/* = .() */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +@Throws(exceptionClasses = [Exception::class]) +suspend fun MyObservableViewModel2.returnSuspendValue2Native(): String { + val tmp_3: CoroutineScope = (/* = .() */) + return returnSuspendValue2(/* = */) +} + // FILE: androidxviewmodel.kt package androidx.lifecycle @@ -203,33 +233,3 @@ suspend fun MyObservableViewModel1.returnSuspendValue2(): String { suspend fun MyObservableViewModel2.returnSuspendValue2(): String { return "OK8" } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnSuspendValue2") -@Throws(exceptionClasses = [Exception::class]) -suspend fun MyAndroidXViewModel1.returnSuspendValue2Native(): String { - val tmp_0: CoroutineScope = (/* = */) - return returnSuspendValue2(/* = */) -} - -@ObjCName(name = "returnSuspendValue2") -@Throws(exceptionClasses = [Exception::class]) -suspend fun MyAndroidXViewModel2.returnSuspendValue2Native(): String { - val tmp_1: CoroutineScope = (/* = */) - return returnSuspendValue2(/* = */) -} - -@ObjCName(name = "returnSuspendValue2") -@Throws(exceptionClasses = [Exception::class]) -suspend fun MyObservableViewModel1.returnSuspendValue2Native(): String { - val tmp_2: CoroutineScope = (/* = .() */) - return returnSuspendValue2(/* = */) -} - -@ObjCName(name = "returnSuspendValue2") -@Throws(exceptionClasses = [Exception::class]) -suspend fun MyObservableViewModel2.returnSuspendValue2Native(): String { - val tmp_3: CoroutineScope = (/* = .() */) - return returnSuspendValue2(/* = */) -} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.txt index 95113e22..45d5c43e 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift1/viewmodelscope.fir.txt @@ -151,7 +151,7 @@ FILE: viewmodelscope.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) @R|kotlin/Throws|(exceptionClasses = vararg((Q|kotlin/Exception|))) public final suspend fun R|MyAndroidXViewModel1|.returnSuspendValue2Native(): R|kotlin/String| { ::R|/returnSuspendValue2| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.box.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.box.txt new file mode 120000 index 00000000..082c17d0 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.box.txt @@ -0,0 +1 @@ +../annotations.box.txt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.ir.txt new file mode 100644 index 00000000..09932e2f --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.ir.txt @@ -0,0 +1,410 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4Value type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Value visibility:public modality:FINAL [var] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 1", replaceWith = , level = ) + ObjCName(name = "deprecatedFunction1", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedFunction2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + Deprecated(message = "This is deprecated 3", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedFunction3", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3Native (): kotlin.String declared in ' + CALL 'public final fun deprecatedFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction1Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction1 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction2", swiftName = "objCNameFunction2Swift", exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction2Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction2 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunction3Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunction3Native (): kotlin.String declared in ' + CALL 'public final fun objCNameFunction3 (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameFunctionParameterNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "valueObjC", swiftName = , exact = ) + annotations: + ObjCName(name = "objCNameFunctionParameter", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.String declared in ' + CALL 'public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameterNative' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 4", replaceWith = , level = ) + ObjCName(name = "deprecatedProperty1", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedProperty2", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty2Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] + annotations: + Deprecated(message = "This is deprecated 6", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + ObjCName(name = "deprecatedProperty3", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty3Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "deprecatedProperty4", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:deprecatedProperty4Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty1ObjCValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty1Value visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_13: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty2ObjCFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Flow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:objCNameProperty2Value visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_15: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null +FILE fqName: fileName:/annotations.kt + annotations: + Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"] type=kotlin.Array varargElementType=kotlin.String) + PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 4", replaceWith = , level = ) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty1 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty1 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 5", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK5" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty2 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty2 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK6" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:deprecatedProperty3 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty3 type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK7" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + annotations: + Deprecated(message = "This is deprecated 7", replaceWith = , level = ) + correspondingProperty: PROPERTY name:deprecatedProperty4 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:deprecatedProperty4 type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameProperty1ObjC", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK11" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:objCNameProperty1 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty1 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesState + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameProperty2ObjC", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK12" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:objCNameProperty2 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:objCNameProperty2 type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun deprecatedFunction1Native (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun deprecatedFunction2Native (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun objCNameFunction1Native (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun objCNameFunction2Native (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun objCNameFunction3Native (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun objCNameFunctionParameterNative (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: CONST String type=kotlin.String value="OK13" + FUN name:deprecatedFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 1", replaceWith = , level = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction1 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK1" + FUN name:deprecatedFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 2", replaceWith = , level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:WARNING' type=kotlin.DeprecationLevel) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction2 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK2" + FUN name:deprecatedFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = [] type=kotlin.Array varargElementType=kotlin.String), level = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:ERROR' type=kotlin.DeprecationLevel) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun deprecatedFunction3 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK3" + FUN name:objCNameFunction1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameFunction1ObjC", swiftName = , exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction1 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK8" + FUN name:objCNameFunction2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = , swiftName = "objCNameFunction2Swift", exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction2 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK9" + FUN name:objCNameFunction3 visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift", exact = ) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunction3 (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK10" + FUN name:objCNameFunctionParameter visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "valueObjC", swiftName = , exact = ) + annotations: + NativeCoroutines + OptIn(markerClass = [CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB ANNOTATION_CLASS name:ExperimentalObjCName modality:OPEN visibility:public superTypes:[kotlin.Annotation]' type=kotlin.reflect.KClass] type=kotlin.Array> varargElementType=kotlin.reflect.KClass) + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun objCNameFunctionParameter (value: kotlin.String): kotlin.String declared in ' + GET_VAR 'value: kotlin.String declared in .objCNameFunctionParameter' type=kotlin.String origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.kt.txt new file mode 100644 index 00000000..df3afaaf --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.kt.txt @@ -0,0 +1,241 @@ +// FILE: __GENERATED__CALLABLES__.kt + +var deprecatedProperty4Value: String + @Deprecated(message = "This is deprecated 7") + get(): String { + val tmp_0: MutableStateFlow = () + return tmp_0.() + } + @Deprecated(message = "This is deprecated 7") + set(value: String) { + return ().( = value) + } + +@Deprecated(message = "This is deprecated 1") +@ObjCName(name = "deprecatedFunction1") +suspend fun deprecatedFunction1Native(): String { + val tmp_1: CoroutineScope? = null + return deprecatedFunction1() +} + +@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) +@ObjCName(name = "deprecatedFunction2") +suspend fun deprecatedFunction2Native(): String { + val tmp_2: CoroutineScope? = null + return deprecatedFunction2() +} + +@Deprecated(message = "This is deprecated 3", level = DeprecationLevel.ERROR) +@ObjCName(name = "deprecatedFunction3") +suspend fun deprecatedFunction3Native(): String { + val tmp_3: CoroutineScope? = null + return deprecatedFunction3() +} + +@ObjCName(name = "objCNameFunction1ObjC") +suspend fun objCNameFunction1Native(): String { + val tmp_4: CoroutineScope? = null + return objCNameFunction1() +} + +@ObjCName(name = "objCNameFunction2", swiftName = "objCNameFunction2Swift") +suspend fun objCNameFunction2Native(): String { + val tmp_5: CoroutineScope? = null + return objCNameFunction2() +} + +@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") +suspend fun objCNameFunction3Native(): String { + val tmp_6: CoroutineScope? = null + return objCNameFunction3() +} + +@ObjCName(name = "objCNameFunctionParameter") +suspend fun objCNameFunctionParameterNative(@ObjCName(name = "valueObjC") value: String): String { + val tmp_7: CoroutineScope? = null + return objCNameFunctionParameter(value = value) +} + +@Deprecated(message = "This is deprecated 4") +@ObjCName(name = "deprecatedProperty1") +val deprecatedProperty1Native: Flow + get(): Flow { + val tmp_8: CoroutineScope? = null + return () + } + +@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) +@ObjCName(name = "deprecatedProperty2") +val deprecatedProperty2Native: Flow + get(): Flow { + val tmp_9: CoroutineScope? = null + return () + } + +@Deprecated(message = "This is deprecated 6", level = DeprecationLevel.ERROR) +@ObjCName(name = "deprecatedProperty3") +val deprecatedProperty3Native: Flow + get(): Flow { + val tmp_10: CoroutineScope? = null + return () + } + +@ObjCName(name = "deprecatedProperty4") +val deprecatedProperty4Native: MutableStateFlow + @Deprecated(message = "This is deprecated 7") + get(): MutableStateFlow { + val tmp_11: CoroutineScope? = null + return () + } + +@ObjCName(name = "objCNameProperty1ObjC") +val objCNameProperty1Native: StateFlow + get(): StateFlow { + val tmp_12: CoroutineScope? = null + return () + } + +@ObjCName(name = "objCNameProperty1ObjCValue") +val objCNameProperty1Value: String + get(): String { + val tmp_13: StateFlow = () + return tmp_13.() + } + +@ObjCName(name = "objCNameProperty2ObjCFlow") +val objCNameProperty2Flow: StateFlow + get(): StateFlow { + val tmp_14: CoroutineScope? = null + return () + } + +@ObjCName(name = "objCNameProperty2ObjC") +val objCNameProperty2Value: String + get(): String { + val tmp_15: StateFlow = () + return tmp_15.() + } + +// FILE: annotations.kt +@file:Suppress(names = ["OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"]) + +@NativeCoroutines +@Deprecated(message = "This is deprecated 4") +val deprecatedProperty1: Flow + field = flowOf(value = "OK4") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 5", level = DeprecationLevel.WARNING) +val deprecatedProperty2: Flow + field = flowOf(value = "OK5") + get + +@NativeCoroutines +@Deprecated(message = "This is deprecated 6", replaceWith = ReplaceWith(expression = "deprecatedProperty2", imports = []), level = DeprecationLevel.ERROR) +val deprecatedProperty3: Flow + field = flowOf(value = "OK6") + get + +@NativeCoroutines +val deprecatedProperty4: MutableStateFlow + field = MutableStateFlow(value = "OK7") + @Deprecated(message = "This is deprecated 7") + get + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty1ObjC") +val objCNameProperty1: StateFlow + field = MutableStateFlow(value = "OK11") + get + +@NativeCoroutinesState +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameProperty2ObjC") +val objCNameProperty2: StateFlow + field = MutableStateFlow(value = "OK12") + get + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return deprecatedFunction1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return deprecatedFunction2Native() + } +) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction2Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunction3Native() + } +) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.await(result = local suspend fun (): String { + return objCNameFunctionParameterNative(value = "OK13") + } +) + } +) +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 1") +suspend fun deprecatedFunction1(): String { + return "OK1" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 2", level = DeprecationLevel.WARNING) +suspend fun deprecatedFunction2(): String { + return "OK2" +} + +@NativeCoroutines +@Deprecated(message = "This is deprecated 3", replaceWith = ReplaceWith(expression = "deprecatedFunction2()", imports = []), level = DeprecationLevel.ERROR) +suspend fun deprecatedFunction3(): String { + return "OK3" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction1ObjC") +suspend fun objCNameFunction1(): String { + return "OK8" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(swiftName = "objCNameFunction2Swift") +suspend fun objCNameFunction2(): String { + return "OK9" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +@ObjCName(name = "objCNameFunction3ObjC", swiftName = "objCNameFunction3Swift") +suspend fun objCNameFunction3(): String { + return "OK10" +} + +@NativeCoroutines +@OptIn(markerClass = [ExperimentalObjCName::class]) +suspend fun objCNameFunctionParameter(@ObjCName(name = "valueObjC") value: String): String { + return value +} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.txt new file mode 100644 index 00000000..43b1a7b2 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.fir.txt @@ -0,0 +1,147 @@ +FILE: annotations.kt + @FILE:R|kotlin/Suppress|(names = vararg(String(OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE))) + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 1)) public final suspend fun deprecatedFunction1(): R|kotlin/String| { + ^deprecatedFunction1 String(OK1) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 2), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.WARNING|) public final suspend fun deprecatedFunction2(): R|kotlin/String| { + ^deprecatedFunction2 String(OK2) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 3), replaceWith = R|kotlin/ReplaceWith.ReplaceWith|(String(deprecatedFunction2())), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) public final suspend fun deprecatedFunction3(): R|kotlin/String| { + ^deprecatedFunction3 String(OK3) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 4)) public final val deprecatedProperty1: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK4)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 5), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.WARNING|) public final val deprecatedProperty2: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK5)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/Deprecated|(message = String(This is deprecated 6), replaceWith = R|kotlin/ReplaceWith.ReplaceWith|(String(deprecatedProperty2)), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) public final val deprecatedProperty3: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK6)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val deprecatedProperty4: R|kotlinx/coroutines/flow/MutableStateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK7)) + @PROPERTY_GETTER:R|kotlin/Deprecated|(message = String(This is deprecated 7)) public get(): R|kotlinx/coroutines/flow/MutableStateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) @R|kotlin/native/ObjCName|(name = String(objCNameFunction1ObjC)) public final suspend fun objCNameFunction1(): R|kotlin/String| { + ^objCNameFunction1 String(OK8) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) @R|kotlin/native/ObjCName|(swiftName = String(objCNameFunction2Swift)) public final suspend fun objCNameFunction2(): R|kotlin/String| { + ^objCNameFunction2 String(OK9) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) @R|kotlin/native/ObjCName|(name = String(objCNameFunction3ObjC), swiftName = String(objCNameFunction3Swift)) public final suspend fun objCNameFunction3(): R|kotlin/String| { + ^objCNameFunction3 String(OK10) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) @R|kotlin/native/ObjCName|(name = String(objCNameProperty1ObjC)) public final val objCNameProperty1: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK11)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesState|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) @R|kotlin/native/ObjCName|(name = String(objCNameProperty2ObjC)) public final val objCNameProperty2: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK12)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() @R|kotlin/OptIn|(markerClass = vararg((Q|kotlin/experimental/ExperimentalObjCName|))) public final suspend fun objCNameFunctionParameter(@R|kotlin/native/ObjCName|(name = String(valueObjC)) value: R|kotlin/String|): R|kotlin/String| { + ^objCNameFunctionParameter R|/value| + } + public final fun box(): R|kotlin/String| { + ^box R|com/rickclephas/kmp/nativecoroutines/runBoxTest|( = runBoxTest@fun R|com/rickclephas/kmp/nativecoroutines/BoxTest|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/deprecatedFunction1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/deprecatedFunction2Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/deprecatedProperty1Native|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/deprecatedProperty2Native|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/deprecatedProperty4Native|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/deprecatedProperty4Value|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/objCNameFunction1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/objCNameFunction2Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/objCNameFunction3Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/objCNameProperty1Native|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/objCNameProperty1Value|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/objCNameProperty2Flow|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/objCNameProperty2Value|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/objCNameFunctionParameterNative|(String(OK13)) + } + ) + } + ) + } +FILE: /__GENERATED__CALLABLES__.kt + @R|kotlin/Deprecated|(message = String(This is deprecated 1)) @R|kotlin/native/ObjCName|(name = String(deprecatedFunction1)) public final suspend fun deprecatedFunction1Native(): R|kotlin/String| { + ::R|/deprecatedFunction1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 2), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.WARNING|) @R|kotlin/native/ObjCName|(name = String(deprecatedFunction2)) public final suspend fun deprecatedFunction2Native(): R|kotlin/String| { + ::R|/deprecatedFunction2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 3), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) @R|kotlin/native/ObjCName|(name = String(deprecatedFunction3)) public final suspend fun deprecatedFunction3Native(): R|kotlin/String| { + ::R|/deprecatedFunction3| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 4)) @R|kotlin/native/ObjCName|(name = String(deprecatedProperty1)) public final val deprecatedProperty1Native: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/deprecatedProperty1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 5), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.WARNING|) @R|kotlin/native/ObjCName|(name = String(deprecatedProperty2)) public final val deprecatedProperty2Native: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/deprecatedProperty2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 6), level = Q|kotlin/DeprecationLevel|.R|kotlin/DeprecationLevel.ERROR|) @R|kotlin/native/ObjCName|(name = String(deprecatedProperty3)) public final val deprecatedProperty3Native: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/deprecatedProperty3| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(deprecatedProperty4)) public final val deprecatedProperty4Native: R|kotlinx/coroutines/flow/MutableStateFlow| + @R|kotlin/Deprecated|(message = String(This is deprecated 7)) public get(): R|kotlinx/coroutines/flow/MutableStateFlow| { + ::R|/deprecatedProperty4| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final var deprecatedProperty4Value: R|kotlin/String| + @R|kotlin/Deprecated|(message = String(This is deprecated 7)) public get(): R|kotlin/String| { + ::R|/deprecatedProperty4| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/Deprecated|(message = String(This is deprecated 7)) public set(value: R|kotlin/String|): R|kotlin/Unit| + @R|kotlin/native/ObjCName|(name = String(objCNameFunction1ObjC)) public final suspend fun objCNameFunction1Native(): R|kotlin/String| { + ::R|/objCNameFunction1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameFunction2), swiftName = String(objCNameFunction2Swift)) public final suspend fun objCNameFunction2Native(): R|kotlin/String| { + ::R|/objCNameFunction2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameFunction3ObjC), swiftName = String(objCNameFunction3Swift)) public final suspend fun objCNameFunction3Native(): R|kotlin/String| { + ::R|/objCNameFunction3| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameProperty1ObjC)) public final val objCNameProperty1Native: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/objCNameProperty1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameProperty1ObjCValue)) public final val objCNameProperty1Value: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/objCNameProperty1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameFunctionParameter)) public final suspend fun objCNameFunctionParameterNative(@R|kotlin/native/ObjCName|(name = String(valueObjC)) value: R|kotlin/String|): R|kotlin/String| { + ::R|/objCNameFunctionParameter| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameProperty2ObjC)) public final val objCNameProperty2Value: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/objCNameProperty2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(objCNameProperty2ObjCFlow)) public final val objCNameProperty2Flow: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/objCNameProperty2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.kt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.kt new file mode 120000 index 00000000..2711d4c5 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/annotations.kt @@ -0,0 +1 @@ +../annotations.kt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.box.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.box.txt new file mode 120000 index 00000000..4368a91b --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.box.txt @@ -0,0 +1 @@ +../coroutinescope.box.txt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.ir.txt new file mode 100644 index 00000000..5f7b2f26 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.ir.txt @@ -0,0 +1,606 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 + annotations: + ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.String declared in ' + CALL 'public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass6 declared in .returnExtSuspendValueNative' type=.MyClass6 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty1", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty1Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowExtProperty2", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowExtProperty2Native visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass3 declared in .' type=.MyClass3 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null +FILE fqName: fileName:/coroutinescope1.kt + PROPERTY name:coroutineScope1 visibility:internal modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:coroutineScope1 type:kotlinx.coroutines.CoroutineScope visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + correspondingProperty: PROPERTY name:coroutineScope1 visibility:internal modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:coroutineScope1 type:kotlinx.coroutines.CoroutineScope visibility:private [final,static]' type=kotlinx.coroutines.CoroutineScope origin=null + PROPERTY name:flowProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:flowProperty type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK2" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:flowProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:flowProperty type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + CLASS CLASS name:MyClass1 modality:OPEN visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass1 + PROPERTY name:coroutineScope2 visibility:protected modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:coroutineScope2 type:kotlinx.coroutines.CoroutineScope visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:protected modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + correspondingProperty: PROPERTY name:coroutineScope2 visibility:protected modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='protected final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:coroutineScope2 type:kotlinx.coroutines.CoroutineScope visibility:private [final]' type=kotlinx.coroutines.CoroutineScope origin=null + receiver: GET_VAR ': .MyClass1 declared in .MyClass1.' type=.MyClass1 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass1 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass1 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'protected final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass1' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass1 declared in .MyClass1.returnSuspendValueNative' type=.MyClass1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass1' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in .MyClass1' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass1 declared in .MyClass1.returnSuspendValueNative' type=.MyClass1 origin=null + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in .MyClass1' + CONST String type=kotlin.String value="OK3" + CLASS CLASS name:MyClass2 modality:FINAL visibility:public superTypes:[.MyClass1] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass2 + PROPERTY name:flowProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:flowProperty type:kotlinx.coroutines.flow.Flow visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass2 + correspondingProperty: PROPERTY name:flowProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in .MyClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:flowProperty type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null + receiver: GET_VAR ': .MyClass2 declared in .MyClass2.' type=.MyClass2 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .MyClass1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass2 modality:FINAL visibility:public superTypes:[.MyClass1]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyClass1 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyClass1 + FUN FAKE_OVERRIDE name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + NativeCoroutines + overridden: + public final fun returnSuspendValue (): kotlin.String declared in .MyClass1 + FUN FAKE_OVERRIDE name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + overridden: + public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass1 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyClass1 + PROPERTY FAKE_OVERRIDE name:coroutineScope2 visibility:protected modality:FINAL [fake_override,val] + annotations: + NativeCoroutineScope + overridden: + protected final coroutineScope2: kotlinx.coroutines.CoroutineScope declared in .MyClass1 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL returnType:kotlinx.coroutines.CoroutineScope [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:coroutineScope2 visibility:protected modality:FINAL [fake_override,val] + overridden: + protected final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass1 + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "flowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass2 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:flowPropertyNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'protected final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass2' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass2 declared in .MyClass2.' type=.MyClass2 origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in .MyClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in .MyClass2' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyClass2 declared in .MyClass2.' type=.MyClass2 origin=null + CLASS CLASS name:MyClass3 modality:FINAL visibility:public superTypes:[.MyClass1] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass3 + PROPERTY name:coroutineScope3 visibility:internal modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:coroutineScope3 type:kotlinx.coroutines.CoroutineScope visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY name:coroutineScope3 visibility:internal modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:coroutineScope3 type:kotlinx.coroutines.CoroutineScope visibility:private [final]' type=kotlinx.coroutines.CoroutineScope origin=null + receiver: GET_VAR ': .MyClass3 declared in .MyClass3.' type=.MyClass3 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass3 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .MyClass1' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass3 modality:FINAL visibility:public superTypes:[.MyClass1]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyClass1 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyClass1 + FUN FAKE_OVERRIDE name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + NativeCoroutines + overridden: + public final fun returnSuspendValue (): kotlin.String declared in .MyClass1 + FUN FAKE_OVERRIDE name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + overridden: + public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass1 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyClass1 + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnOtherSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass3 + annotations: + ObjCName(name = "returnOtherSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass3' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass3 declared in .MyClass3.returnOtherSuspendValueNative' type=.MyClass3 origin=null + RETURN type=kotlin.Nothing from='public final fun returnOtherSuspendValueNative (): kotlin.String declared in .MyClass3' + CALL 'public final fun returnOtherSuspendValue (): kotlin.String declared in .MyClass3' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass3 declared in .MyClass3.returnOtherSuspendValueNative' type=.MyClass3 origin=null + FUN name:returnOtherSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass3 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnOtherSuspendValue (): kotlin.String declared in .MyClass3' + CONST String type=kotlin.String value="OK5" + PROPERTY FAKE_OVERRIDE name:coroutineScope2 visibility:protected modality:FINAL [fake_override,val] + annotations: + NativeCoroutineScope + overridden: + protected final coroutineScope2: kotlinx.coroutines.CoroutineScope declared in .MyClass1 + FUN FAKE_OVERRIDE name: visibility:protected modality:FINAL returnType:kotlinx.coroutines.CoroutineScope [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass1 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:coroutineScope2 visibility:protected modality:FINAL [fake_override,val] + overridden: + protected final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass1 + CLASS CLASS name:MyClass4 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass4 + CONSTRUCTOR visibility:public returnType:.MyClass4 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass4 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass4 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:.MyClass1 + annotations: + ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' type=kotlinx.coroutines.CoroutineScope origin=null + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass1): kotlin.String declared in .MyClass4' + CALL 'public final fun returnExtSuspendValue (: .MyClass1): kotlin.String declared in .MyClass4' type=kotlin.String origin=null + ARG (index:0): GET_VAR '(index:0): .MyClass4 declared in .MyClass4.returnExtSuspendValueNative' type=.MyClass4 origin=null + ARG (index:1): GET_VAR '(index:1): .MyClass1 declared in .MyClass4.returnExtSuspendValueNative' type=.MyClass1 origin=null + FUN name:returnExtSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass4 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:.MyClass1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValue (: .MyClass1): kotlin.String declared in .MyClass4' + CONST String type=kotlin.String value="OK7" + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK1" + PROPERTY name:flowExtProperty1 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY name:flowExtProperty1 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK6" +FILE fqName: fileName:/coroutinescope2.kt + CLASS CLASS name:MyClass5 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass5 + CONSTRUCTOR visibility:public returnType:.MyClass5 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass5 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass5 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:.MyClass1 + annotations: + ObjCName(name = "returnExtSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValueNative (: .MyClass1): kotlin.String declared in .MyClass5' + CALL 'public final fun returnExtSuspendValue (: .MyClass1): kotlin.String declared in .MyClass5' type=kotlin.String origin=null + ARG (index:0): GET_VAR '(index:0): .MyClass5 declared in .MyClass5.returnExtSuspendValueNative' type=.MyClass5 origin=null + ARG (index:1): GET_VAR '(index:1): .MyClass1 declared in .MyClass5.returnExtSuspendValueNative' type=.MyClass1 origin=null + FUN name:returnExtSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass5 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:.MyClass1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValue (: .MyClass1): kotlin.String declared in .MyClass5' + CONST String type=kotlin.String value="OK9" + CLASS CLASS name:MyClass6 modality:OPEN visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass6 + PROPERTY name:coroutineScope4 visibility:private modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:coroutineScope4 type:kotlinx.coroutines.CoroutineScope visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass6 + correspondingProperty: PROPERTY name:coroutineScope4 visibility:private modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass6' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:coroutineScope4 type:kotlinx.coroutines.CoroutineScope visibility:private [final]' type=kotlinx.coroutines.CoroutineScope origin=null + receiver: GET_VAR ': .MyClass6 declared in .MyClass6.' type=.MyClass6 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass6 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass6 modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass6 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'private final fun (): kotlinx.coroutines.CoroutineScope declared in .MyClass6' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyClass6 declared in .MyClass6.returnSuspendValueNative' type=.MyClass6 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass6' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in .MyClass6' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass6 declared in .MyClass6.returnSuspendValueNative' type=.MyClass6 origin=null + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass6 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in .MyClass6' + CONST String type=kotlin.String value="OK10" + CLASS CLASS name:MyClass7 modality:FINAL visibility:public superTypes:[.MyClass6] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass7 + CONSTRUCTOR visibility:public returnType:.MyClass7 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in .MyClass6' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass7 modality:FINAL visibility:public superTypes:[.MyClass6]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyClass6 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyClass6 + FUN FAKE_OVERRIDE name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass6 + annotations: + NativeCoroutines + overridden: + public final fun returnSuspendValue (): kotlin.String declared in .MyClass6 + FUN FAKE_OVERRIDE name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass6 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + overridden: + public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass6 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyClass6 + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnOtherSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass7 + annotations: + ObjCName(name = "returnOtherSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnOtherSuspendValueNative (): kotlin.String declared in .MyClass7' + CALL 'public final fun returnOtherSuspendValue (): kotlin.String declared in .MyClass7' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass7 declared in .MyClass7.returnOtherSuspendValueNative' type=.MyClass7 origin=null + FUN name:returnOtherSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass7 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnOtherSuspendValue (): kotlin.String declared in .MyClass7' + CONST String type=kotlin.String value="OK12" + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValueNative (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass1' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass1' type=.MyClass1 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in .MyClass2' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass2' type=.MyClass2 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnOtherSuspendValueNative (): kotlin.String declared in .MyClass3' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass3' type=.MyClass3 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass3' type=.MyClass3 origin=null + CALL 'public final fun with (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null + TYPE_ARG T: .MyClass4 + TYPE_ARG R: kotlin.Unit + ARG receiver: CONSTRUCTOR_CALL 'public constructor () declared in .MyClass4' type=.MyClass4 origin=null + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.MyClass4, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:.MyClass4 + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box..' + CALL 'public final fun returnExtSuspendValueNative (: .MyClass1): kotlin.String declared in .MyClass4' type=kotlin.String origin=null + ARG (index:0): GET_VAR '$this$with: .MyClass4 declared in .box..' type=.MyClass4 origin=IMPLICIT_ARGUMENT + ARG (index:1): CONSTRUCTOR_CALL 'public constructor () declared in .MyClass1' type=.MyClass1 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass3' type=.MyClass3 origin=null + CALL 'public final fun with (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null + TYPE_ARG T: .MyClass5 + TYPE_ARG R: kotlin.Unit + ARG receiver: CONSTRUCTOR_CALL 'public constructor () declared in .MyClass5' type=.MyClass5 origin=null + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.MyClass5, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:.MyClass5 + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box..' + CALL 'public final fun returnExtSuspendValueNative (: .MyClass1): kotlin.String declared in .MyClass5' type=kotlin.String origin=null + ARG (index:0): GET_VAR '$this$with: .MyClass5 declared in .box..' type=.MyClass5 origin=IMPLICIT_ARGUMENT + ARG (index:1): CONSTRUCTOR_CALL 'public constructor () declared in .MyClass1' type=.MyClass1 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass6' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass6' type=.MyClass6 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnExtSuspendValueNative (: .MyClass6): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass6' type=.MyClass6 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnOtherSuspendValueNative (): kotlin.String declared in .MyClass7' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass7' type=.MyClass7 origin=null + FUN name:returnExtSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass6 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnExtSuspendValue (: .MyClass6): kotlin.String declared in ' + CONST String type=kotlin.String value="OK11" + PROPERTY name:flowExtProperty2 visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyClass3 + correspondingProperty: PROPERTY name:flowExtProperty2 visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: .MyClass3): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK8" diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.kt.txt new file mode 100644 index 00000000..2ad7007d --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.kt.txt @@ -0,0 +1,274 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnExtSuspendValue") +suspend fun MyClass6.returnExtSuspendValueNative(): String { + val tmp_0: CoroutineScope? = null + return returnExtSuspendValue(/* = */) +} + +@ObjCName(name = "returnSuspendValue") +suspend fun returnSuspendValueNative(): String { + val tmp_1: CoroutineScope = () + return returnSuspendValue() +} + +@ObjCName(name = "flowExtProperty1") +val MyClass3.flowExtProperty1Native: Flow + get(): Flow { + val tmp_2: CoroutineScope = () + return (/* = */) + } + +@ObjCName(name = "flowExtProperty2") +val MyClass3.flowExtProperty2Native: Flow + get(): Flow { + val tmp_3: CoroutineScope = .() + return (/* = */) + } + +@ObjCName(name = "flowProperty") +val flowPropertyNative: Flow + get(): Flow { + val tmp_4: CoroutineScope = () + return () + } + +// FILE: coroutinescope1.kt + +@NativeCoroutineScope +internal val coroutineScope1: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + internal get + +@NativeCoroutines +val flowProperty: Flow + field = flowOf(value = "OK2") + get + +open class MyClass1 { + @NativeCoroutineScope + protected val coroutineScope2: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + protected get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue") + suspend fun returnSuspendValueNative(): String { + val tmp_0: CoroutineScope = .() + return .returnSuspendValue() + } + + @NativeCoroutines + suspend fun returnSuspendValue(): String { + return "OK3" + } + +} + +class MyClass2 : MyClass1 { + @NativeCoroutines + val flowProperty: Flow + field = flowOf(value = "OK4") + get + + constructor() /* primary */ { + super/*MyClass1*/() + /* () */ + + } + + @ObjCName(name = "flowProperty") + val flowPropertyNative: Flow + get(): Flow { + val tmp_1: CoroutineScope = .() + return .() + } + +} + +class MyClass3 : MyClass1 { + @NativeCoroutineScope + internal val coroutineScope3: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + internal get + + constructor() /* primary */ { + super/*MyClass1*/() + /* () */ + + } + + @ObjCName(name = "returnOtherSuspendValue") + suspend fun returnOtherSuspendValueNative(): String { + val tmp_2: CoroutineScope = .() + return .returnOtherSuspendValue() + } + + @NativeCoroutines + suspend fun returnOtherSuspendValue(): String { + return "OK5" + } + +} + +class MyClass4 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnExtSuspendValue") + suspend fun MyClass1.returnExtSuspendValueNative(): String { + val tmp_3: CoroutineScope = () + return .returnExtSuspendValue(/* = */) + } + + @NativeCoroutines + suspend fun MyClass1.returnExtSuspendValue(): String { + return "OK7" + } + +} + +@NativeCoroutines +suspend fun returnSuspendValue(): String { + return "OK1" +} + +@NativeCoroutines +val MyClass3.flowExtProperty1: Flow + get(): Flow { + return flowOf(value = "OK6") + } + +// FILE: coroutinescope2.kt + +class MyClass5 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnExtSuspendValue") + suspend fun MyClass1.returnExtSuspendValueNative(): String { + val tmp_0: CoroutineScope? = null + return .returnExtSuspendValue(/* = */) + } + + @NativeCoroutines + suspend fun MyClass1.returnExtSuspendValue(): String { + return "OK9" + } + +} + +open class MyClass6 { + @NativeCoroutineScope + private val coroutineScope4: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + private get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue") + suspend fun returnSuspendValueNative(): String { + val tmp_1: CoroutineScope = .() + return .returnSuspendValue() + } + + @NativeCoroutines + suspend fun returnSuspendValue(): String { + return "OK10" + } + +} + +class MyClass7 : MyClass6 { + constructor() /* primary */ { + super/*MyClass6*/() + /* () */ + + } + + @ObjCName(name = "returnOtherSuspendValue") + suspend fun returnOtherSuspendValueNative(): String { + val tmp_2: CoroutineScope? = null + return .returnOtherSuspendValue() + } + + @NativeCoroutines + suspend fun returnOtherSuspendValue(): String { + return "OK12" + } + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValueNative() + } +) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass1().returnSuspendValueNative() + } +) + $this$runBoxTest.collect(flow = MyClass2().()) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass3().returnOtherSuspendValueNative() + } +) + $this$runBoxTest.collect(flow = (/* = MyClass3() */)) + with(receiver = MyClass4(), block = local fun MyClass4.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return $this$with.returnExtSuspendValueNative(/* = MyClass1() */) + } +) + } +) + $this$runBoxTest.collect(flow = (/* = MyClass3() */)) + with(receiver = MyClass5(), block = local fun MyClass5.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return $this$with.returnExtSuspendValueNative(/* = MyClass1() */) + } +) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass6().returnSuspendValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnExtSuspendValueNative(/* = MyClass6() */) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass7().returnOtherSuspendValueNative() + } +) + } +) +} + +@NativeCoroutines +suspend fun MyClass6.returnExtSuspendValue(): String { + return "OK11" +} + +@NativeCoroutines +val MyClass3.flowExtProperty2: Flow + get(): Flow { + return flowOf(value = "OK8") + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.txt new file mode 100644 index 00000000..b818a78b --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.fir.txt @@ -0,0 +1,205 @@ +FILE: coroutinescope1.kt + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() internal final val coroutineScope1: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + internal get(): R|kotlinx/coroutines/CoroutineScope| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue(): R|kotlin/String| { + ^returnSuspendValue String(OK1) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val flowProperty: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK2)) + public get(): R|kotlinx/coroutines/flow/Flow| + public open class MyClass1 : R|kotlin/Any| { + public constructor(): R|MyClass1| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() protected final val coroutineScope2: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + protected get(): R|kotlinx/coroutines/CoroutineScope| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue(): R|kotlin/String| { + ^returnSuspendValue String(OK3) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass1.returnSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final class MyClass2 : R|MyClass1| { + public constructor(): R|MyClass2| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val flowProperty: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK4)) + public get(): R|kotlinx/coroutines/flow/Flow| + + @R|kotlin/native/ObjCName|(name = String(flowProperty)) public final val flowPropertyNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/MyClass2.flowProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final class MyClass3 : R|MyClass1| { + public constructor(): R|MyClass3| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() internal final val coroutineScope3: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + internal get(): R|kotlinx/coroutines/CoroutineScope| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnOtherSuspendValue(): R|kotlin/String| { + ^returnOtherSuspendValue String(OK5) + } + + @R|kotlin/native/ObjCName|(name = String(returnOtherSuspendValue)) public final suspend fun returnOtherSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass3.returnOtherSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|MyClass3|.flowExtProperty1: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ^ R|kotlinx/coroutines/flow/flowOf|(String(OK6)) + } + public final class MyClass4 : R|kotlin/Any| { + public constructor(): R|MyClass4| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyClass1|.returnExtSuspendValue(): R|kotlin/String| { + ^returnExtSuspendValue String(OK7) + } + + @R|kotlin/native/ObjCName|(name = String(returnExtSuspendValue)) public final suspend fun R|MyClass1|.returnExtSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass4.returnExtSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } +FILE: coroutinescope2.kt + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|MyClass3|.flowExtProperty2: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ^ R|kotlinx/coroutines/flow/flowOf|(String(OK8)) + } + public final class MyClass5 : R|kotlin/Any| { + public constructor(): R|MyClass5| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyClass1|.returnExtSuspendValue(): R|kotlin/String| { + ^returnExtSuspendValue String(OK9) + } + + @R|kotlin/native/ObjCName|(name = String(returnExtSuspendValue)) public final suspend fun R|MyClass1|.returnExtSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass5.returnExtSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public open class MyClass6 : R|kotlin/Any| { + public constructor(): R|MyClass6| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() private final val coroutineScope4: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + private get(): R|kotlinx/coroutines/CoroutineScope| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue(): R|kotlin/String| { + ^returnSuspendValue String(OK10) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass6.returnSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyClass6|.returnExtSuspendValue(): R|kotlin/String| { + ^returnExtSuspendValue String(OK11) + } + public final class MyClass7 : R|MyClass6| { + public constructor(): R|MyClass7| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnOtherSuspendValue(): R|kotlin/String| { + ^returnOtherSuspendValue String(OK12) + } + + @R|kotlin/native/ObjCName|(name = String(returnOtherSuspendValue)) public final suspend fun returnOtherSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass7.returnOtherSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final fun box(): R|kotlin/String| { + ^box R|com/rickclephas/kmp/nativecoroutines/runBoxTest|( = runBoxTest@fun R|com/rickclephas/kmp/nativecoroutines/BoxTest|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/flowPropertyNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass1.MyClass1|().R|/MyClass1.returnSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyClass2.MyClass2|().R|/MyClass2.flowPropertyNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass3.MyClass3|().R|/MyClass3.returnOtherSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyClass3.MyClass3|().R|/flowExtProperty1Native|) + R|kotlin/with|(R|/MyClass4.MyClass4|(), = with@fun R|MyClass4|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ (this@R|special/anonymous|, R|/MyClass1.MyClass1|()).R|/MyClass4.returnExtSuspendValueNative|() + } + ) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyClass3.MyClass3|().R|/flowExtProperty2Native|) + R|kotlin/with|(R|/MyClass5.MyClass5|(), = with@fun R|MyClass5|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ (this@R|special/anonymous|, R|/MyClass1.MyClass1|()).R|/MyClass5.returnExtSuspendValueNative|() + } + ) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass6.MyClass6|().R|/MyClass6.returnSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass6.MyClass6|().R|/returnExtSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass7.MyClass7|().R|/MyClass7.returnOtherSuspendValueNative|() + } + ) + } + ) + } +FILE: /__GENERATED__CALLABLES__.kt + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { + ::R|/returnSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(flowProperty)) public final val flowPropertyNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/flowProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(flowExtProperty1)) public final val R|MyClass3|.flowExtProperty1Native: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/flowExtProperty1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(flowExtProperty2)) public final val R|MyClass3|.flowExtProperty2Native: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/flowExtProperty2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnExtSuspendValue)) public final suspend fun R|MyClass6|.returnExtSuspendValueNative(): R|kotlin/String| { + ::R|/returnExtSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.kt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.kt new file mode 120000 index 00000000..081b8262 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/coroutinescope.kt @@ -0,0 +1 @@ +../coroutinescope.kt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.box.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.box.txt new file mode 120000 index 00000000..e1ce6373 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.box.txt @@ -0,0 +1 @@ +../functions.box.txt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.ir.txt new file mode 100644 index 00000000..d82fefb9 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.ir.txt @@ -0,0 +1,817 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL returnType:.MyFlow23 + annotations: + ObjCName(name = "returnCustomFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): .MyFlow23 declared in ' + CALL 'public final fun returnCustomFlowValue (): .MyFlow23 declared in ' type=.MyFlow23 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + annotations: + ObjCName(name = "returnExtensionValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': kotlin.String declared in .returnExtensionValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + ObjCName(name = "returnFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:T of .returnGenericSuspendValueNative [suspend] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnGenericSuspendValueNative + annotations: + ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): T of .returnGenericSuspendValueNative declared in ' + CALL 'public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' type=T of .returnGenericSuspendValue origin=null + TYPE_ARG T: T of .returnGenericSuspendValueNative + ARG value: GET_VAR 'value: T of .returnGenericSuspendValueNative declared in .returnGenericSuspendValueNative' type=T of .returnGenericSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL returnType:T of .returnInlineSuspendValueNative [inline,suspend] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:T of .returnInlineSuspendValueNative + annotations: + ObjCName(name = "returnInlineSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): T of .returnInlineSuspendValueNative declared in ' + CALL 'public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' type=T of .returnInlineSuspendValue origin=null + TYPE_ARG T: T of .returnInlineSuspendValueNative + ARG value: GET_VAR 'value: T of .returnInlineSuspendValueNative declared in .returnInlineSuspendValueNative' type=T of .returnInlineSuspendValueNative origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + ObjCName(name = "returnNullableFlowAndValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + ObjCName(name = "returnNullableFlow", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + ObjCName(name = "returnNullableFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] + annotations: + ObjCName(name = "returnNullableSuspendFlow", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String? [suspend] + annotations: + ObjCName(name = "returnNullableSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.String? declared in ' + CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in ' type=kotlin.String? origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnRefinedSuspendValue", swiftName = , exact = ) + ShouldRefineInSwift + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + annotations: + ObjCName(name = "returnStateFlowValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] + annotations: + ObjCName(name = "returnSuspendFlowValue", swiftName = , exact = ) + ShouldRefineInSwift + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.Int [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.Int + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Int declared in ' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + ARG value: GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValueNative' type=kotlin.Int origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + annotations: + ObjCName(name = "returnSuspendParameterValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValueNative' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + annotations: + ObjCName(name = "returnSuspendVarargValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.String declared in ' + CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG values: GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValueNative' type=kotlin.Array origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + ObjCName(name = "returnThrowsSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.String declared in ' + CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in ' type=kotlin.String origin=null +FILE fqName: fileName:/functions.kt + CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass14.MyClass14> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyClass14 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyClass14 declared in .MyClass14.' type=T of .MyClass14 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyClass14 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass14.MyClass14> + correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): T of .MyClass14 declared in .MyClass14' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyClass14 visibility:private [final]' type=T of .MyClass14 origin=null + receiver: GET_VAR ': .MyClass14.MyClass14> declared in .MyClass14.' type=.MyClass14.MyClass14> origin=null + CONSTRUCTOR visibility:public returnType:.MyClass14.MyClass14> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyClass14 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL returnType:T of .MyClass14 [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass14.MyClass14> + annotations: + ObjCName(name = "returnGenericSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (): T of .MyClass14 declared in .MyClass14' + CALL 'public final fun returnGenericSuspendValue (): T of .MyClass14 declared in .MyClass14' type=T of .MyClass14 origin=null + ARG : GET_VAR ': .MyClass14.MyClass14> declared in .MyClass14.returnGenericSuspendValueNative' type=.MyClass14.MyClass14> origin=null + FUN name:returnGenericSuspendValue visibility:public modality:FINAL returnType:T of .MyClass14 [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass14.MyClass14> + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue (): T of .MyClass14 declared in .MyClass14' + CALL 'private final fun (): T of .MyClass14 declared in .MyClass14' type=T of .MyClass14 origin=GET_PROPERTY + ARG : GET_VAR ': .MyClass14.MyClass14> declared in .MyClass14.returnGenericSuspendValue' type=.MyClass14.MyClass14> origin=IMPLICIT_ARGUMENT + CLASS CLASS name:MyClass16 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass16 + CONSTRUCTOR visibility:public returnType:.MyClass16 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass16 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:functionWithGenericValuesNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T2 index:1 variance: superTypes:[T1 of .MyClass16.functionWithGenericValuesNative] reified:false + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass16 + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value1 index:1 type:T1 of .MyClass16.functionWithGenericValuesNative + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value2 index:2 type:T2 of .MyClass16.functionWithGenericValuesNative + annotations: + ObjCName(name = "functionWithGenericValues", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun functionWithGenericValuesNative (value1: T1 of .MyClass16.functionWithGenericValuesNative, value2: T2 of .MyClass16.functionWithGenericValuesNative): kotlin.String declared in .MyClass16' + CALL 'public final fun functionWithGenericValues (value1: T1 of .MyClass16.functionWithGenericValues, value2: T2 of .MyClass16.functionWithGenericValues): kotlin.String declared in .MyClass16' type=kotlin.String origin=null + TYPE_ARG T1: T1 of .MyClass16.functionWithGenericValuesNative + TYPE_ARG T2: T2 of .MyClass16.functionWithGenericValuesNative + ARG : GET_VAR ': .MyClass16 declared in .MyClass16.functionWithGenericValuesNative' type=.MyClass16 origin=null + ARG value1: GET_VAR 'value1: T1 of .MyClass16.functionWithGenericValuesNative declared in .MyClass16.functionWithGenericValuesNative' type=T1 of .MyClass16.functionWithGenericValuesNative origin=null + ARG value2: GET_VAR 'value2: T2 of .MyClass16.functionWithGenericValuesNative declared in .MyClass16.functionWithGenericValuesNative' type=T2 of .MyClass16.functionWithGenericValuesNative origin=null + FUN name:functionWithGenericValues visibility:public modality:FINAL returnType:kotlin.String [suspend] + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[T1 of .MyClass16.functionWithGenericValues] reified:false + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass16 + VALUE_PARAMETER kind:Regular name:value1 index:1 type:T1 of .MyClass16.functionWithGenericValues + VALUE_PARAMETER kind:Regular name:value2 index:2 type:T2 of .MyClass16.functionWithGenericValues + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun functionWithGenericValues (value1: T1 of .MyClass16.functionWithGenericValues, value2: T2 of .MyClass16.functionWithGenericValues): kotlin.String declared in .MyClass16' + CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS + ARG : CALL 'public final fun toString (: kotlin.Any?): kotlin.String declared in kotlin' type=kotlin.String origin=null + ARG : GET_VAR 'value1: T1 of .MyClass16.functionWithGenericValues declared in .MyClass16.functionWithGenericValues' type=T1 of .MyClass16.functionWithGenericValues origin=null + ARG other: CALL 'public final fun toString (: kotlin.Any?): kotlin.String declared in kotlin' type=kotlin.String origin=null + ARG : GET_VAR 'value2: T2 of .MyClass16.functionWithGenericValues declared in .MyClass16.functionWithGenericValues' type=T2 of .MyClass16.functionWithGenericValues origin=null + CLASS CLASS name:MyClass20 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass20 + CONSTRUCTOR visibility:public returnType:.MyClass20 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass20 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnClassExtensionValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass20 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:kotlin.String + annotations: + ObjCName(name = "returnClassExtensionValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnClassExtensionValueNative (: kotlin.String): kotlin.String declared in .MyClass20' + CALL 'public final fun returnClassExtensionValue (: kotlin.String): kotlin.String declared in .MyClass20' type=kotlin.String origin=null + ARG (index:0): GET_VAR '(index:0): .MyClass20 declared in .MyClass20.returnClassExtensionValueNative' type=.MyClass20 origin=null + ARG (index:1): GET_VAR '(index:1): kotlin.String declared in .MyClass20.returnClassExtensionValueNative' type=kotlin.String origin=null + FUN name:returnClassExtensionValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass20 + VALUE_PARAMETER kind:ExtensionReceiver name: index:1 type:kotlin.String + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnClassExtensionValue (: kotlin.String): kotlin.String declared in .MyClass20' + GET_VAR '(index:1): kotlin.String declared in .MyClass20.returnClassExtensionValue' type=kotlin.String origin=null + CLASS CLASS name:MyClass21 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass21.MyClass21> + TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false + CONSTRUCTOR visibility:public returnType:.MyClass21.MyClass21> [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass21 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericValueNative visibility:public modality:FINAL returnType:T of .MyClass21? [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass21.MyClass21> + annotations: + ObjCName(name = "returnGenericValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnGenericValueNative (): T of .MyClass21? declared in .MyClass21' + CALL 'public final fun returnGenericValue (): T of .MyClass21? declared in .MyClass21' type=T of .MyClass21? origin=null + ARG : GET_VAR ': .MyClass21.MyClass21> declared in .MyClass21.returnGenericValueNative' type=.MyClass21.MyClass21> origin=null + FUN name:returnGenericValue visibility:public modality:FINAL returnType:T of .MyClass21? [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass21.MyClass21> + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnGenericValue (): T of .MyClass21? declared in .MyClass21' + CONST Null type=kotlin.Nothing? value=null + CLASS CLASS name:MyClass22 modality:FINAL visibility:public superTypes:[.MyInterface22] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass22 + CONSTRUCTOR visibility:public returnType:.MyClass22 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass22 modality:FINAL visibility:public superTypes:[.MyInterface22]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface22 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyInterface22 + FUN FAKE_OVERRIDE name:returnInterfaceSuspendValueNative visibility:public modality:OPEN returnType:kotlin.String [suspend,fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface22 + annotations: + ObjCName(name = "returnInterfaceSuspendValue", swiftName = , exact = ) + overridden: + public open fun returnInterfaceSuspendValueNative (): kotlin.String declared in .MyInterface22 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyInterface22 + FUN name:returnInterfaceSuspendValue visibility:public modality:OPEN returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass22 + annotations: + NativeCoroutines + overridden: + public abstract fun returnInterfaceSuspendValue (): kotlin.String declared in .MyInterface22 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun returnInterfaceSuspendValue (): kotlin.String declared in .MyClass22' + CONST String type=kotlin.String value="OK22" + CLASS CLASS name:MyClass8 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass8 + CONSTRUCTOR visibility:public returnType:.MyClass8 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass8 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass8 + annotations: + ObjCName(name = "returnSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass8' + CALL 'public final fun returnSuspendValue (): kotlin.String declared in .MyClass8' type=kotlin.String origin=null + ARG : GET_VAR ': .MyClass8 declared in .MyClass8.returnSuspendValueNative' type=.MyClass8 origin=null + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass8 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in .MyClass8' + CONST String type=kotlin.String value="OK8" + CLASS CLASS name:MyFlow23 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow23>] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow23.MyFlow23, T2 of .MyFlow23> + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow23> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow23> origin=null + TYPE_ARG T: T2 of .MyFlow23 + ARG value: GET_VAR 'value2: T2 of .MyFlow23 declared in .MyFlow23.' type=T2 of .MyFlow23 origin=null + CONSTRUCTOR visibility:public returnType:.MyFlow23.MyFlow23, T2 of .MyFlow23> [primary] + VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow23 + VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow23 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow23 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow23>]' type=kotlin.Unit + FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow23.MyFlow23, T2 of .MyFlow23> + VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow23> + overridden: + public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow + BLOCK_BODY + CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null + ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow23> visibility:private [final] declared in .MyFlow23' type=kotlinx.coroutines.flow.Flow.MyFlow23> origin=null + receiver: GET_VAR ': .MyFlow23.MyFlow23, T2 of .MyFlow23> declared in .MyFlow23.collect' type=.MyFlow23.MyFlow23, T2 of .MyFlow23> origin=null + ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow23> declared in .MyFlow23.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow23> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow + CLASS INTERFACE name:MyInterface22 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface22 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInterfaceSuspendValueNative visibility:public modality:OPEN returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface22 + annotations: + ObjCName(name = "returnInterfaceSuspendValue", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public open fun returnInterfaceSuspendValueNative (): kotlin.String declared in .MyInterface22' + CALL 'public abstract fun returnInterfaceSuspendValue (): kotlin.String declared in .MyInterface22' type=kotlin.String origin=null + ARG : GET_VAR ': .MyInterface22 declared in .MyInterface22.returnInterfaceSuspendValueNative' type=.MyInterface22 origin=null + FUN name:returnInterfaceSuspendValue visibility:public modality:ABSTRACT returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface22 + annotations: + NativeCoroutines + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValueNative (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String? [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String? declared in .box.' + CALL 'public final fun returnNullableSuspendValueNative (): kotlin.String? declared in ' type=kotlin.String? origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun returnFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun returnNullableFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun returnNullableFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun returnNullableFlowAndValueNative (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun returnStateFlowValueNative (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValueNative (): kotlin.String declared in .MyClass8' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass8' type=.MyClass8 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG value: CONST String type=kotlin.String value="OK9" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.Int + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Int [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Int declared in .box.' + CALL 'public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Int declared in ' type=kotlin.Int origin=null + ARG value: CONST Int type=kotlin.Int value=9 + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnThrowsSuspendValueNative (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG values: VARARG type=kotlin.Array varargElementType=kotlin.String + CONST String type=kotlin.String value="OK11" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnGenericSuspendValueNative (): T of .MyClass14 declared in .MyClass14' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyClass14) declared in .MyClass14' type=.MyClass14 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK12" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnRefinedSuspendValueNative (): kotlin.String declared in ' type=kotlin.String origin=null + CALL 'public final fun awaitAndCollect (maxValues: kotlin.Int?, flow: kotlin.coroutines.SuspendFunction0>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: FUN_EXPR type=kotlin.coroutines.SuspendFunction0> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlinx.coroutines.flow.Flow declared in .box.' + CALL 'public final fun returnSuspendFlowValueNative (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnGenericSuspendValueNative (value: T of .returnGenericSuspendValueNative): T of .returnGenericSuspendValueNative declared in ' type=kotlin.String origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun functionWithGenericValuesNative (value1: T1 of .MyClass16.functionWithGenericValuesNative, value2: T2 of .MyClass16.functionWithGenericValuesNative): kotlin.String declared in .MyClass16' type=kotlin.String origin=null + TYPE_ARG T1: kotlin.CharSequence + TYPE_ARG T2: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass16' type=.MyClass16 origin=null + ARG value1: CONST String type=kotlin.String value="OK" + ARG value2: CONST String type=kotlin.String value="16" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnInlineSuspendValueNative (value: T of .returnInlineSuspendValueNative): T of .returnInlineSuspendValueNative declared in ' type=kotlin.String origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK17" + CALL 'public final fun awaitAndCollectNull (flow: kotlin.coroutines.SuspendFunction0?>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: FUN_EXPR type=kotlin.coroutines.SuspendFunction0?> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlinx.coroutines.flow.Flow? declared in .box.' + CALL 'public final fun returnNullableSuspendFlowNative (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnExtensionValueNative (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONST String type=kotlin.String value="OK19" + CALL 'public final fun with (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null + TYPE_ARG T: .MyClass20 + TYPE_ARG R: kotlin.Unit + ARG receiver: CONSTRUCTOR_CALL 'public constructor () declared in .MyClass20' type=.MyClass20 origin=null + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<.MyClass20, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:.MyClass20 + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box..' + CALL 'public final fun returnClassExtensionValueNative (: kotlin.String): kotlin.String declared in .MyClass20' type=kotlin.String origin=null + ARG (index:0): GET_VAR '$this$with: .MyClass20 declared in .box..' type=.MyClass20 origin=IMPLICIT_ARGUMENT + ARG (index:1): CONST String type=kotlin.String value="OK20" + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String? [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String? declared in .box.' + CALL 'public final fun returnGenericValueNative (): T of .MyClass21? declared in .MyClass21' type=kotlin.String? origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass21' type=.MyClass21 origin=null + TYPE_ARG (of class) T: kotlin.String + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public open fun returnInterfaceSuspendValueNative (): kotlin.String declared in .MyClass22' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass22' type=.MyClass22 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun returnCustomFlowValueNative (): .MyFlow23 declared in ' type=.MyFlow23 origin=null + FUN name:returnCustomFlowValue visibility:public modality:FINAL returnType:.MyFlow23 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValue (): .MyFlow23 declared in ' + CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow23, value2: T2 of .MyFlow23) declared in .MyFlow23' type=.MyFlow23 origin=null + TYPE_ARG (of class) T1: kotlin.Int + TYPE_ARG (of class) T2: kotlin.String + ARG value1: CONST Int type=kotlin.Int value=23 + ARG value2: CONST String type=kotlin.String value="OK23" + FUN name:returnExtensionValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnExtensionValue (: kotlin.String): kotlin.String declared in ' + GET_VAR ': kotlin.String declared in .returnExtensionValue' type=kotlin.String origin=null + FUN name:returnFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK3" + FUN name:returnGenericSuspendValue visibility:public modality:FINAL returnType:T of .returnGenericSuspendValue [suspend] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .returnGenericSuspendValue + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue (value: T of .returnGenericSuspendValue): T of .returnGenericSuspendValue declared in ' + GET_VAR 'value: T of .returnGenericSuspendValue declared in .returnGenericSuspendValue' type=T of .returnGenericSuspendValue origin=null + FUN name:returnInlineSuspendValue visibility:public modality:FINAL returnType:T of .returnInlineSuspendValue [inline,suspend] + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .returnInlineSuspendValue + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValue (value: T of .returnInlineSuspendValue): T of .returnInlineSuspendValue declared in ' + GET_VAR 'value: T of .returnInlineSuspendValue declared in .returnInlineSuspendValue' type=T of .returnInlineSuspendValue origin=null + FUN name:returnNullableFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableFlowAndValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableSuspendFlow visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnNullableSuspendValue visibility:public modality:FINAL returnType:kotlin.String? [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValue (): kotlin.String? declared in ' + CONST Null type=kotlin.Nothing? value=null + FUN name:returnRefinedSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutinesRefined + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK13" + FUN name:returnStateFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK7" + FUN name:returnSuspendFlowValue visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow [suspend] + annotations: + NativeCoroutinesRefined + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK14" + FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.Int [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.Int + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in ' + GET_VAR 'value: kotlin.Int declared in .returnSuspendParameterValue' type=kotlin.Int origin=null + FUN name:returnSuspendParameterValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:value index:0 type:kotlin.String + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in ' + GET_VAR 'value: kotlin.String declared in .returnSuspendParameterValue' type=kotlin.String origin=null + FUN name:returnSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK1" + FUN name:returnSuspendVarargValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:Regular name:values index:0 type:kotlin.Array varargElementType:kotlin.String [vararg] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in ' + CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT + ARG : GET_VAR 'values: kotlin.Array declared in .returnSuspendVarargValue' type=kotlin.Array origin=null + ARG index: CONST Int type=kotlin.Int value=0 + FUN name:returnThrowsSuspendValue visibility:public modality:FINAL returnType:kotlin.String [suspend] + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValue (): kotlin.String declared in ' + CONST String type=kotlin.String value="OK10" diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.kt.txt new file mode 100644 index 00000000..e38ed89c --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.kt.txt @@ -0,0 +1,434 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnCustomFlowValue") +fun returnCustomFlowValueNative(): MyFlow23 { + val tmp_0: CoroutineScope? = null + return returnCustomFlowValue() +} + +@ObjCName(name = "returnExtensionValue") +suspend fun String.returnExtensionValueNative(): String { + val tmp_1: CoroutineScope? = null + return returnExtensionValue(/* = */) +} + +@ObjCName(name = "returnFlowValue") +fun returnFlowValueNative(): Flow { + val tmp_2: CoroutineScope? = null + return returnFlowValue() +} + +@ObjCName(name = "returnGenericSuspendValue") +suspend fun returnGenericSuspendValueNative(value: T): T { + val tmp_3: CoroutineScope? = null + return returnGenericSuspendValue(value = value) +} + +@ObjCName(name = "returnInlineSuspendValue") +suspend inline fun returnInlineSuspendValueNative(value: T): T { + val tmp_4: CoroutineScope? = null + return returnInlineSuspendValue(value = value) +} + +@ObjCName(name = "returnNullableFlowAndValue") +fun returnNullableFlowAndValueNative(): Flow? { + val tmp_5: CoroutineScope? = null + return returnNullableFlowAndValue() +} + +@ObjCName(name = "returnNullableFlow") +fun returnNullableFlowNative(): Flow? { + val tmp_6: CoroutineScope? = null + return returnNullableFlow() +} + +@ObjCName(name = "returnNullableFlowValue") +fun returnNullableFlowValueNative(): Flow { + val tmp_7: CoroutineScope? = null + return returnNullableFlowValue() +} + +@ObjCName(name = "returnNullableSuspendFlow") +suspend fun returnNullableSuspendFlowNative(): Flow? { + val tmp_8: CoroutineScope? = null + return returnNullableSuspendFlow() +} + +@ObjCName(name = "returnNullableSuspendValue") +suspend fun returnNullableSuspendValueNative(): String? { + val tmp_9: CoroutineScope? = null + return returnNullableSuspendValue() +} + +@ObjCName(name = "returnRefinedSuspendValue") +@ShouldRefineInSwift +suspend fun returnRefinedSuspendValueNative(): String { + val tmp_10: CoroutineScope? = null + return returnRefinedSuspendValue() +} + +@ObjCName(name = "returnStateFlowValue") +fun returnStateFlowValueNative(): StateFlow { + val tmp_11: CoroutineScope? = null + return returnStateFlowValue() +} + +@ObjCName(name = "returnSuspendFlowValue") +@ShouldRefineInSwift +suspend fun returnSuspendFlowValueNative(): Flow { + val tmp_12: CoroutineScope? = null + return returnSuspendFlowValue() +} + +@ObjCName(name = "returnSuspendParameterValue") +suspend fun returnSuspendParameterValueNative(value: Int): Int { + val tmp_13: CoroutineScope? = null + return returnSuspendParameterValue(value = value) +} + +@ObjCName(name = "returnSuspendParameterValue") +suspend fun returnSuspendParameterValueNative(value: String): String { + val tmp_14: CoroutineScope? = null + return returnSuspendParameterValue(value = value) +} + +@ObjCName(name = "returnSuspendValue") +suspend fun returnSuspendValueNative(): String { + val tmp_15: CoroutineScope? = null + return returnSuspendValue() +} + +@ObjCName(name = "returnSuspendVarargValue") +suspend fun returnSuspendVarargValueNative(vararg values: String): String { + val tmp_16: CoroutineScope? = null + return returnSuspendVarargValue(values = values) +} + +@ObjCName(name = "returnThrowsSuspendValue") +suspend fun returnThrowsSuspendValueNative(): String { + val tmp_17: CoroutineScope? = null + return returnThrowsSuspendValue() +} + +// FILE: functions.kt + +class MyClass14 { + private val value: T + field = value + private get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnGenericSuspendValue") + suspend fun returnGenericSuspendValueNative(): T { + val tmp_0: CoroutineScope? = null + return .returnGenericSuspendValue() + } + + @NativeCoroutines + suspend fun returnGenericSuspendValue(): T { + return .() + } + +} + +class MyClass16 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "functionWithGenericValues") + suspend fun functionWithGenericValuesNative(value1: T1, value2: T2): String { + val tmp_1: CoroutineScope? = null + return .functionWithGenericValues(value1 = value1, value2 = value2) + } + + @NativeCoroutines + suspend fun functionWithGenericValues(value1: T1, value2: T2): String { + return toString(/* = value1 */).plus(other = toString(/* = value2 */)) + } + +} + +class MyClass20 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnClassExtensionValue") + suspend fun String.returnClassExtensionValueNative(): String { + val tmp_2: CoroutineScope? = null + return .returnClassExtensionValue(/* = */) + } + + @NativeCoroutines + suspend fun String.returnClassExtensionValue(): String { + return + } + +} + +class MyClass21 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnGenericValue") + suspend fun returnGenericValueNative(): T? { + val tmp_3: CoroutineScope? = null + return .returnGenericValue() + } + + @NativeCoroutines + suspend fun returnGenericValue(): T? { + return null + } + +} + +class MyClass22 : MyInterface22 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @NativeCoroutines + override suspend fun returnInterfaceSuspendValue(): String { + return "OK22" + } + +} + +class MyClass8 { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue") + suspend fun returnSuspendValueNative(): String { + val tmp_4: CoroutineScope? = null + return .returnSuspendValue() + } + + @NativeCoroutines + suspend fun returnSuspendValue(): String { + return "OK8" + } + +} + +class MyFlow23 : Flow { + private /* final field */ val $$delegate_0: Flow = flowOf(value = value2) + constructor(value1: T1, value2: T2) /* primary */ { + super/*Any*/() + /* () */ + + } + + override suspend fun collect(collector: FlowCollector) { + .#$$delegate_0.collect(collector = collector) + } + +} + +interface MyInterface22 { + @ObjCName(name = "returnInterfaceSuspendValue") + suspend fun returnInterfaceSuspendValueNative(): String { + val tmp_5: CoroutineScope? = null + return .returnInterfaceSuspendValue() + } + + @NativeCoroutines + abstract suspend fun returnInterfaceSuspendValue(): String + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String? { + return returnNullableSuspendValueNative() + } +) + $this$runBoxTest.collect(flow = returnFlowValueNative()) + $this$runBoxTest.collect(flow = returnNullableFlowValueNative()) + $this$runBoxTest.value?>(value = returnNullableFlowNative()) + $this$runBoxTest.value?>(value = returnNullableFlowAndValueNative()) + $this$runBoxTest.collect(flow = returnStateFlowValueNative(), maxValues = 1) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass8().returnSuspendValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendParameterValueNative(value = "OK9") + } +) + $this$runBoxTest.await(result = local suspend fun (): Int { + return returnSuspendParameterValueNative(value = 9) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnThrowsSuspendValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendVarargValueNative(values = ["OK11"]) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass14(value = "OK12").returnGenericSuspendValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnRefinedSuspendValueNative() + } +) + $this$runBoxTest.awaitAndCollect(flow = local suspend fun (): Flow { + return returnSuspendFlowValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnGenericSuspendValueNative(value = "OK15") + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass16().functionWithGenericValuesNative(value1 = "OK", value2 = "16") + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnInlineSuspendValueNative(value = "OK17") + } +) + $this$runBoxTest.awaitAndCollectNull(flow = local suspend fun (): Flow? { + return returnNullableSuspendFlowNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnExtensionValueNative(/* = "OK19" */) + } +) + with(receiver = MyClass20(), block = local fun MyClass20.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return $this$with.returnClassExtensionValueNative(/* = "OK20" */) + } +) + } +) + $this$runBoxTest.await(result = local suspend fun (): String? { + return MyClass21().returnGenericValueNative() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyClass22().returnInterfaceSuspendValueNative() + } +) + $this$runBoxTest.collect(flow = returnCustomFlowValueNative()) + } +) +} + +@NativeCoroutines +fun returnCustomFlowValue(): MyFlow23 { + return MyFlow23(value1 = 23, value2 = "OK23") +} + +@NativeCoroutines +suspend fun String.returnExtensionValue(): String { + return +} + +@NativeCoroutines +fun returnFlowValue(): Flow { + return flowOf(value = "OK3") +} + +@NativeCoroutines +suspend fun returnGenericSuspendValue(value: T): T { + return value +} + +@NativeCoroutines +suspend inline fun returnInlineSuspendValue(value: T): T { + return value +} + +@NativeCoroutines +fun returnNullableFlow(): Flow? { + return null +} + +@NativeCoroutines +fun returnNullableFlowAndValue(): Flow? { + return null +} + +@NativeCoroutines +fun returnNullableFlowValue(): Flow { + return flowOf(value = null) +} + +@NativeCoroutines +suspend fun returnNullableSuspendFlow(): Flow? { + return null +} + +@NativeCoroutines +suspend fun returnNullableSuspendValue(): String? { + return null +} + +@NativeCoroutinesRefined +suspend fun returnRefinedSuspendValue(): String { + return "OK13" +} + +@NativeCoroutines +fun returnStateFlowValue(): StateFlow { + return MutableStateFlow(value = "OK7") +} + +@NativeCoroutinesRefined +suspend fun returnSuspendFlowValue(): Flow { + return flowOf(value = "OK14") +} + +@NativeCoroutines +suspend fun returnSuspendParameterValue(value: Int): Int { + return value +} + +@NativeCoroutines +suspend fun returnSuspendParameterValue(value: String): String { + return value +} + +@NativeCoroutines +suspend fun returnSuspendValue(): String { + return "OK1" +} + +@NativeCoroutines +suspend fun returnSuspendVarargValue(vararg values: String): String { + return values.get(index = 0) +} + +@NativeCoroutines +suspend fun returnThrowsSuspendValue(): String { + return "OK10" +} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.txt new file mode 100644 index 00000000..969a855d --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.fir.txt @@ -0,0 +1,319 @@ +FILE: functions.kt + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue(): R|kotlin/String| { + ^returnSuspendValue String(OK1) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnNullableSuspendValue(): R|kotlin/String?| { + ^returnNullableSuspendValue Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnFlowValue(): R|kotlinx/coroutines/flow/Flow| { + ^returnFlowValue R|kotlinx/coroutines/flow/flowOf|(String(OK3)) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnNullableFlowValue(): R|kotlinx/coroutines/flow/Flow| { + ^returnNullableFlowValue R|kotlinx/coroutines/flow/flowOf|(Null(null)) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnNullableFlow(): R|kotlinx/coroutines/flow/Flow?| { + ^returnNullableFlow Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnNullableFlowAndValue(): R|kotlinx/coroutines/flow/Flow?| { + ^returnNullableFlowAndValue Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnStateFlowValue(): R|kotlinx/coroutines/flow/StateFlow| { + ^returnStateFlowValue R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK7)) + } + public final class MyClass8 : R|kotlin/Any| { + public constructor(): R|MyClass8| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue(): R|kotlin/String| { + ^returnSuspendValue String(OK8) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { + ::R|/MyClass8.returnSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendParameterValue(value: R|kotlin/String|): R|kotlin/String| { + ^returnSuspendParameterValue R|/value| + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendParameterValue(value: R|kotlin/Int|): R|kotlin/Int| { + ^returnSuspendParameterValue R|/value| + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnThrowsSuspendValue(): R|kotlin/String| { + ^returnThrowsSuspendValue String(OK10) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendVarargValue(vararg values: R|kotlin/Array|): R|kotlin/String| { + ^returnSuspendVarargValue R|/values|.R|SubstitutionOverride|(Int(0)) + } + public final class MyClass14 : R|kotlin/Any| { + public constructor(value: R|T|): R|MyClass14| { + super() + } + + private final val value: R|T| = R|/value| + private get(): R|T| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnGenericSuspendValue(): R|T| { + ^returnGenericSuspendValue this@R|/MyClass14|.R|/MyClass14.value| + } + + @R|kotlin/native/ObjCName|(name = String(returnGenericSuspendValue)) public final suspend fun returnGenericSuspendValueNative(): R|T| { + ::R|/MyClass14.returnGenericSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesRefined|() public final suspend fun returnRefinedSuspendValue(): R|kotlin/String| { + ^returnRefinedSuspendValue String(OK13) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesRefined|() public final suspend fun returnSuspendFlowValue(): R|kotlinx/coroutines/flow/Flow| { + ^returnSuspendFlowValue R|kotlinx/coroutines/flow/flowOf|(String(OK14)) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnGenericSuspendValue(value: R|T|): R|T| { + ^returnGenericSuspendValue R|/value| + } + public final class MyClass16 : R|kotlin/Any| { + public constructor(): R|MyClass16| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun functionWithGenericValues(value1: R|T1|, value2: R|T2|): R|kotlin/String| { + ^functionWithGenericValues R|/value1|.R|kotlin/toString|().R|kotlin/String.plus|(R|/value2|.R|kotlin/toString|()) + } + + @R|kotlin/native/ObjCName|(name = String(functionWithGenericValues)) public final suspend fun functionWithGenericValuesNative(value1: R|T1|, value2: R|T2|): R|kotlin/String| { + ::R|/MyClass16.functionWithGenericValues| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final inline suspend fun returnInlineSuspendValue(value: R|T|): R|T| { + ^returnInlineSuspendValue R|/value| + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnNullableSuspendFlow(): R|kotlinx/coroutines/flow/Flow?| { + ^returnNullableSuspendFlow Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|kotlin/String|.returnExtensionValue(): R|kotlin/String| { + ^returnExtensionValue this@R|/returnExtensionValue| + } + public final class MyClass20 : R|kotlin/Any| { + public constructor(): R|MyClass20| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|kotlin/String|.returnClassExtensionValue(): R|kotlin/String| { + ^returnClassExtensionValue this@R|/MyClass20.returnClassExtensionValue| + } + + @R|kotlin/native/ObjCName|(name = String(returnClassExtensionValue)) public final suspend fun R|kotlin/String|.returnClassExtensionValueNative(): R|kotlin/String| { + ::R|/MyClass20.returnClassExtensionValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final class MyClass21 : R|kotlin/Any| { + public constructor(): R|MyClass21| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnGenericValue(): R|T?| { + ^returnGenericValue Null(null) + } + + @R|kotlin/native/ObjCName|(name = String(returnGenericValue)) public final suspend fun returnGenericValueNative(): R|T?| { + ::R|/MyClass21.returnGenericValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public abstract interface MyInterface22 : R|kotlin/Any| { + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public abstract suspend fun returnInterfaceSuspendValue(): R|kotlin/String| + + @R|kotlin/native/ObjCName|(name = String(returnInterfaceSuspendValue)) public open suspend fun returnInterfaceSuspendValueNative(): R|kotlin/String| { + ::R|/MyInterface22.returnInterfaceSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final class MyClass22 : R|MyInterface22| { + public constructor(): R|MyClass22| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public open override suspend fun returnInterfaceSuspendValue(): R|kotlin/String| { + ^returnInterfaceSuspendValue String(OK22) + } + + } + public final class MyFlow23 : R|kotlinx/coroutines/flow/Flow| { + public constructor(value1: R|T1|, value2: R|T2|): R|MyFlow23| { + super() + } + + private final field $$delegate_0: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(R|/value2|) + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final fun returnCustomFlowValue(): R|MyFlow23| { + ^returnCustomFlowValue R|/MyFlow23.MyFlow23|(Int(23), String(OK23)) + } + public final fun box(): R|kotlin/String| { + ^box R|com/rickclephas/kmp/nativecoroutines/runBoxTest|( = runBoxTest@fun R|com/rickclephas/kmp/nativecoroutines/BoxTest|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String?| { + ^ R|/returnNullableSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/returnFlowValueNative|()) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/returnNullableFlowValueNative|()) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/returnNullableFlowNative|()) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/returnNullableFlowAndValueNative|()) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/returnStateFlowValueNative|(), Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass8.MyClass8|().R|/MyClass8.returnSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnSuspendParameterValueNative|(String(OK9)) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/Int| { + ^ R|/returnSuspendParameterValueNative|(Int(9)) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnThrowsSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnSuspendVarargValueNative|(vararg(String(OK11))) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass14.MyClass14|(String(OK12)).R|SubstitutionOverride|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnRefinedSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.awaitAndCollect|( = awaitAndCollect@fun (): R|kotlinx/coroutines/flow/Flow| { + ^ R|/returnSuspendFlowValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnGenericSuspendValueNative|(String(OK15)) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass16.MyClass16|().R|/MyClass16.functionWithGenericValuesNative|(String(OK), String(16)) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/returnInlineSuspendValueNative|(String(OK17)) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.awaitAndCollectNull|( = awaitAndCollectNull@fun (): R|kotlinx/coroutines/flow/Flow?| { + ^ R|/returnNullableSuspendFlowNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ String(OK19).R|/returnExtensionValueNative|() + } + ) + R|kotlin/with|(R|/MyClass20.MyClass20|(), = with@fun R|MyClass20|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ (this@R|special/anonymous|, String(OK20)).R|/MyClass20.returnClassExtensionValueNative|() + } + ) + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String?| { + ^ R|/MyClass21.MyClass21|().R|SubstitutionOverride|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyClass22.MyClass22|().R|/MyInterface22.returnInterfaceSuspendValueNative|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/returnCustomFlowValueNative|()) + } + ) + } +FILE: /__GENERATED__CALLABLES__.kt + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue)) public final suspend fun returnSuspendValueNative(): R|kotlin/String| { + ::R|/returnSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnNullableSuspendValue)) public final suspend fun returnNullableSuspendValueNative(): R|kotlin/String?| { + ::R|/returnNullableSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnFlowValue)) public final fun returnFlowValueNative(): R|kotlinx/coroutines/flow/Flow| { + ::R|/returnFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnNullableFlowValue)) public final fun returnNullableFlowValueNative(): R|kotlinx/coroutines/flow/Flow| { + ::R|/returnNullableFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnNullableFlow)) public final fun returnNullableFlowNative(): R|kotlinx/coroutines/flow/Flow?| { + ::R|/returnNullableFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnNullableFlowAndValue)) public final fun returnNullableFlowAndValueNative(): R|kotlinx/coroutines/flow/Flow?| { + ::R|/returnNullableFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnStateFlowValue)) public final fun returnStateFlowValueNative(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/returnStateFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendParameterValue)) public final suspend fun returnSuspendParameterValueNative(value: R|kotlin/String|): R|kotlin/String| { + ::R|/returnSuspendParameterValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendParameterValue)) public final suspend fun returnSuspendParameterValueNative(value: R|kotlin/Int|): R|kotlin/Int| { + ::R|/returnSuspendParameterValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnThrowsSuspendValue)) public final suspend fun returnThrowsSuspendValueNative(): R|kotlin/String| { + ::R|/returnThrowsSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendVarargValue)) public final suspend fun returnSuspendVarargValueNative(vararg values: R|kotlin/Array|): R|kotlin/String| { + ::R|/returnSuspendVarargValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnGenericSuspendValue)) public final suspend fun returnGenericSuspendValueNative(value: R|T|): R|T| { + ::R|/returnGenericSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnInlineSuspendValue)) public final inline suspend fun returnInlineSuspendValueNative(value: R|T|): R|T| { + ::R|/returnInlineSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnNullableSuspendFlow)) public final suspend fun returnNullableSuspendFlowNative(): R|kotlinx/coroutines/flow/Flow?| { + ::R|/returnNullableSuspendFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnExtensionValue)) public final suspend fun R|kotlin/String|.returnExtensionValueNative(): R|kotlin/String| { + ::R|/returnExtensionValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnCustomFlowValue)) public final fun returnCustomFlowValueNative(): R|MyFlow23| { + ::R|/returnCustomFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnRefinedSuspendValue)) @R|kotlin/native/ShouldRefineInSwift|() public final suspend fun returnRefinedSuspendValueNative(): R|kotlin/String| { + ::R|/returnRefinedSuspendValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendFlowValue)) @R|kotlin/native/ShouldRefineInSwift|() public final suspend fun returnSuspendFlowValueNative(): R|kotlinx/coroutines/flow/Flow| { + ::R|/returnSuspendFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.kt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.kt new file mode 120000 index 00000000..192f095a --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/functions.kt @@ -0,0 +1 @@ +../functions.kt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.box.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.box.txt new file mode 120000 index 00000000..dd8ca159 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.box.txt @@ -0,0 +1 @@ +../properties.box.txt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.ir.txt new file mode 100644 index 00000000..2b6886da --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.ir.txt @@ -0,0 +1,1450 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlowValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_0: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowValue visibility:public modality:FINAL [var] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + annotations: + ObjCName(name = "mutableStateProperty", swiftName = , exact = ) + FIELD PROPERTY_BACKING_FIELD name:mutableStatePropertyValue type:kotlin.String visibility:private [static] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.flow.MutableStateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_1: kotlinx.coroutines.flow.MutableStateFlow declared in .' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] kind:Regular name:value index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyValue visibility:public modality:FINAL [var] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (value: kotlin.String): kotlin.Unit declared in ' + CALL 'public abstract fun (: T of kotlinx.coroutines.flow.MutableStateFlow): kotlin.Unit declared in kotlinx.coroutines.flow.MutableStateFlow' type=kotlin.Unit origin=null + ARG : CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + ARG : GET_VAR 'value: kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "customFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:.MyFlow29 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:customFlowValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' + CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "extensionFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "extensionSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "extensionStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:extensionStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + ARG : GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_7: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.SharedFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_10: kotlinx.coroutines.flow.SharedFlow.> declared in .' type=kotlinx.coroutines.flow.SharedFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of . + TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.StateFlow.> [val] + CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow.> origin=null + TYPE_ARG T: T of . + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=null + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): T of . declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of . origin=null + ARG : GET_VAR 'val tmp_12: kotlinx.coroutines.flow.StateFlow.> declared in .' type=kotlinx.coroutines.flow.StateFlow.> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyFlow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "mutableNullableStateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableNullableStatePropertyValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.MutableStateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_14: kotlinx.coroutines.flow.MutableStateFlow? declared in .' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:mutableStatePropertyFlow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowAndValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableFlowValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableSharedFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowAndValueReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_20: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.flow.SharedFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List? declared in ' + WHEN type=kotlin.collections.List? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.collections.List? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_22: kotlinx.coroutines.flow.SharedFlow? declared in .' type=kotlinx.coroutines.flow.SharedFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableSharedFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableSharedFlowValueReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_24: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableStateFlowAndValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowAndValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_26 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_26: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableStateFlowProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_27 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowPropertyValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_28 type:kotlinx.coroutines.flow.StateFlow? [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + WHEN type=kotlin.String? origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Null type=kotlin.String? value=null + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_28: kotlinx.coroutines.flow.StateFlow? declared in .' type=kotlinx.coroutines.flow.StateFlow? origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "nullableStateFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_29 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String? + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:nullableStateFlowValueValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_30 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String? declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String? origin=null + ARG : GET_VAR 'val tmp_30: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "refinedFlow", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_31 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + annotations: + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_32 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "refinedState", swiftName = , exact = ) + ShouldRefineInSwift + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:refinedStateValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_33 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_33: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyFlow visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_34 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "stateProperty", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:statePropertyValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_35 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_35: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "topLevelFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_36 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "topLevelMutableStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelMutableStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_37 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "topLevelSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_38 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_39 type:kotlinx.coroutines.flow.SharedFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List declared in ' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_39: kotlinx.coroutines.flow.SharedFlow declared in .' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "topLevelStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_40 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.String + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:topLevelStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_41 type:kotlinx.coroutines.flow.StateFlow [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in ' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=kotlin.String origin=null + ARG : GET_VAR 'val tmp_41: kotlinx.coroutines.flow.StateFlow declared in .' type=kotlinx.coroutines.flow.StateFlow origin=null +FILE fqName: fileName:/properties.kt + PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK1" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:topLevelFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .topLevelSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST String type=kotlin.String value="OK2" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:topLevelSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelSharedFlow type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK3" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:topLevelStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelStateFlow type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK4" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:topLevelMutableStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:topLevelMutableStateFlow type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:nullableFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String? + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in .nullableSharedFlowValue.' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + correspondingProperty: PROPERTY name:nullableSharedFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableSharedFlowValue type:kotlinx.coroutines.flow.SharedFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.SharedFlow origin=null + PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String? + ARG value: CONST Null type=kotlin.Nothing? value=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:nullableStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:nullableStateFlowValue type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:stateProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK23" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:stateProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:stateProperty type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK24" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow + correspondingProperty: PROPERTY name:mutableStateProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + PROPERTY name:refinedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesRefined + FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK25" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + correspondingProperty: PROPERTY name:refinedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedFlow type:kotlinx.coroutines.flow.Flow visibility:private [final,static]' type=kotlinx.coroutines.flow.Flow origin=null + PROPERTY name:refinedState visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesRefinedState + FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK26" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + correspondingProperty: PROPERTY name:refinedState visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:refinedState type:kotlinx.coroutines.flow.StateFlow visibility:private [final,static]' type=kotlinx.coroutines.flow.StateFlow origin=null + PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutinesState + FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK27" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.MutableStateFlow? + correspondingProperty: PROPERTY name:mutableNullableStateProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:mutableNullableStateProperty type:kotlinx.coroutines.flow.MutableStateFlow? visibility:private [final,static]' type=kotlinx.coroutines.flow.MutableStateFlow? origin=null + CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyClass28 + PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + annotations: + NativeCoroutines + overridden: + public abstract interfaceFlowValue: kotlinx.coroutines.flow.Flow declared in .MyInterface28 + FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK28" + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyClass28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:OPEN [val] + overridden: + public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:interfaceFlowValue type:kotlinx.coroutines.flow.Flow visibility:private [final]' type=kotlinx.coroutines.flow.Flow origin=null + receiver: GET_VAR ': .MyClass28 declared in .MyClass28.' type=.MyClass28 origin=null + CONSTRUCTOR visibility:public returnType:.MyClass28 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass28 modality:FINAL visibility:public superTypes:[.MyInterface28]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyInterface28 + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in .MyInterface28 + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in .MyInterface28 + PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + overridden: + public open interfaceFlowValueNative: kotlinx.coroutines.flow.Flow declared in .MyInterface28 + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY FAKE_OVERRIDE name:interfaceFlowValueNative visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28 + CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false + TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false + FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + TYPE_ARG T: T2 of .MyFlow29? + ARG value: CONST Null type=kotlin.Nothing? value=null + CONSTRUCTOR visibility:public returnType:.MyFlow29.MyFlow29, T2 of .MyFlow29> [primary] + VALUE_PARAMETER kind:Regular name:value1 index:0 type:T1 of .MyFlow29 + VALUE_PARAMETER kind:Regular name:value2 index:1 type:T2 of .MyFlow29 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow29 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow.MyFlow29?>]' type=kotlin.Unit + FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyFlow29.MyFlow29, T2 of .MyFlow29> + VALUE_PARAMETER kind:Regular name:collector index:1 type:kotlinx.coroutines.flow.FlowCollector.MyFlow29?> + overridden: + public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow + BLOCK_BODY + CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null + ARG : GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow.MyFlow29?> visibility:private [final] declared in .MyFlow29' type=kotlinx.coroutines.flow.Flow.MyFlow29?> origin=null + receiver: GET_VAR ': .MyFlow29.MyFlow29, T2 of .MyFlow29> declared in .MyFlow29.collect' type=.MyFlow29.MyFlow29, T2 of .MyFlow29> origin=null + ARG collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector.MyFlow29?> declared in .MyFlow29.collect' type=kotlinx.coroutines.flow.FlowCollector.MyFlow29?> origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow + CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass1.MyGenericClass1> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.' type=T of .MyGenericClass1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:T of .MyGenericClass1 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.' type=.MyGenericClass1.MyGenericClass1> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass1.MyGenericClass1> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass1 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass1 modality:FINAL visibility:public [data] superTypes:[kotlin.Any]' type=kotlin.Unit + FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL returnType:T of .MyGenericClass1 [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun component1 (): T of .MyGenericClass1 declared in .MyGenericClass1' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.component1' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL returnType:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:value index:1 type:T of .MyGenericClass1 + EXPRESSION_BODY + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.copy' type=.MyGenericClass1.MyGenericClass1> origin=null + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun copy (value: T of .MyGenericClass1): .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1' + CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1.MyGenericClass1> origin=null + TYPE_ARG (of class) T: T of .MyGenericClass1 + ARG value: GET_VAR 'value: T of .MyGenericClass1 declared in .MyGenericClass1.copy' type=T of .MyGenericClass1 origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + BLOCK_BODY + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun EQEQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQEQ + ARG arg0: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + WHEN type=kotlin.Unit origin=null + BRANCH + if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:.MyGenericClass1.MyGenericClass1> [val] + TYPE_OP type=.MyGenericClass1.MyGenericClass1> origin=IMPLICIT_CAST typeOperand=.MyGenericClass1.MyGenericClass1> + GET_VAR 'other: kotlin.Any? declared in .MyGenericClass1.equals' type=kotlin.Any? origin=null + WHEN type=kotlin.Unit origin=null + BRANCH + if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ + ARG : CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR 'val tmp_0: .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.equals' type=.MyGenericClass1.MyGenericClass1> origin=null + then: RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=false + RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in .MyGenericClass1' + CONST Boolean type=kotlin.Boolean value=true + FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN returnType:kotlin.Int + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in .MyGenericClass1' + WHEN type=kotlin.Int origin=null + BRANCH + if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ + ARG arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + ARG arg1: CONST Null type=kotlin.Nothing? value=null + then: CONST Int type=kotlin.Int value=0 + BRANCH + if: CONST Boolean type=kotlin.Boolean value=true + then: CALL 'public open fun hashCode (): kotlin.Int declared in kotlin.Any' type=kotlin.Int origin=null + ARG : GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.hashCode' type=.MyGenericClass1.MyGenericClass1> origin=null + FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN returnType:kotlin.String + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass1.MyGenericClass1> + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in .MyGenericClass1' + STRING_CONCATENATION type=kotlin.String + CONST String type=kotlin.String value="MyGenericClass1(" + CONST String type=kotlin.String value="value=" + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass1 visibility:private [final]' type=T of .MyGenericClass1 origin=null + receiver: GET_VAR ': .MyGenericClass1.MyGenericClass1> declared in .MyGenericClass1.toString' type=.MyGenericClass1.MyGenericClass1> origin=null + CONST String type=kotlin.String value=")" + CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyGenericClass2.MyGenericClass2> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + PROPERTY name:value visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final] + EXPRESSION_BODY + GET_VAR 'value: T of .MyGenericClass2 declared in .MyGenericClass2.' type=T of .MyGenericClass2 origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of .MyGenericClass2 visibility:private [final]' type=T of .MyGenericClass2 origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericFlow type:kotlinx.coroutines.flow.Flow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.MyGenericClass2>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> declared in .MyGenericClass2.genericSharedFlow.' type=kotlinx.coroutines.flow.MutableSharedFlow.MyGenericClass2> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericSharedFlow type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.MyGenericClass2> origin=null + TYPE_ARG T: T of .MyGenericClass2 + ARG value: CALL 'private final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=T of .MyGenericClass2 origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2' type=.MyGenericClass2.MyGenericClass2> origin=IMPLICIT_ARGUMENT + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:genericStateFlow type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> visibility:private [final]' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + receiver: GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + CONSTRUCTOR visibility:public returnType:.MyGenericClass2.MyGenericClass2> [primary] + VALUE_PARAMETER kind:Regular name:value index:0 type:T of .MyGenericClass2 + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyGenericClass2 modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericSharedFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlin.collections.List.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericSharedFlowReplayCache visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public abstract fun (): kotlin.collections.List declared in kotlinx.coroutines.flow.SharedFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_3: kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + annotations: + ObjCName(name = "genericStateFlow", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowNative visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:FINAL returnType:T of .MyGenericClass2 + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyGenericClass2.MyGenericClass2> + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:genericStateFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.flow.StateFlow.MyGenericClass2> [val] + CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + ARG : GET_VAR ': .MyGenericClass2.MyGenericClass2> declared in .MyGenericClass2.' type=.MyGenericClass2.MyGenericClass2> origin=null + RETURN type=kotlin.Nothing from='public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' + CALL 'public abstract fun (): T of kotlinx.coroutines.flow.StateFlow declared in kotlinx.coroutines.flow.StateFlow' type=T of .MyGenericClass2 origin=null + ARG : GET_VAR 'val tmp_5: kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2.' type=kotlinx.coroutines.flow.StateFlow.MyGenericClass2> origin=null + CLASS INTERFACE name:MyInterface28 modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyInterface28 + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + annotations: + ObjCName(name = "interfaceFlowValue", swiftName = , exact = ) + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name: visibility:public modality:OPEN returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:interfaceFlowValueNative visibility:public modality:OPEN [val] + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val] + CONST Null type=kotlinx.coroutines.CoroutineScope? value=null + RETURN type=kotlin.Nothing from='public open fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' + CALL 'public abstract fun (): kotlinx.coroutines.flow.Flow declared in .MyInterface28' type=kotlinx.coroutines.flow.Flow origin=null + ARG : GET_VAR ': .MyInterface28 declared in .MyInterface28.' type=.MyInterface28 origin=null + PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + annotations: + NativeCoroutines + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyInterface28 + correspondingProperty: PROPERTY name:interfaceFlowValue visibility:public modality:ABSTRACT [val] + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.Flow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.Flow? declared in ' type=kotlinx.coroutines.flow.Flow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.SharedFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' type=kotlinx.coroutines.flow.SharedFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.collections.List? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.collections.List? declared in ' type=kotlin.collections.List? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlinx.coroutines.flow.StateFlow? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' type=kotlinx.coroutines.flow.StateFlow? origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK14" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: .MyGenericClass1.>): kotlin.collections.List.> declared in ' type=kotlin.collections.List origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK15" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: .MyGenericClass1.>): T of . declared in ' type=kotlin.String origin=GET_PROPERTY + TYPE_ARG T: kotlin.String + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass1) declared in .MyGenericClass1' type=.MyGenericClass1 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK16" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK17" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.SharedFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (): kotlin.collections.List.MyGenericClass2> declared in .MyGenericClass2' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK18" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow.MyGenericClass2> declared in .MyGenericClass2' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass2 declared in .MyGenericClass2' type=kotlin.String origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor (value: T of .MyGenericClass2) declared in .MyGenericClass2' type=.MyGenericClass2 origin=null + TYPE_ARG (of class) T: kotlin.String + ARG value: CONST String type=kotlin.String value="OK19" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK20" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' type=kotlinx.coroutines.flow.SharedFlow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun values (values: kotlin.collections.List): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG values: CALL 'public final fun (: kotlin.String): kotlin.collections.List declared in ' type=kotlin.collections.List origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK21" + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (: kotlin.String): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + ARG : CONST String type=kotlin.String value="OK22" + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow declared in ' type=kotlinx.coroutines.flow.MutableStateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.Flow declared in ' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String declared in ' type=kotlin.String origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): kotlinx.coroutines.flow.StateFlow declared in ' type=kotlinx.coroutines.flow.StateFlow origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun value (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): kotlin.String? declared in ' type=kotlin.String? origin=GET_PROPERTY + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun CHECK_NOT_NULL (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=kotlinx.coroutines.flow.MutableStateFlow origin=EXCLEXCL + TYPE_ARG T0: kotlinx.coroutines.flow.MutableStateFlow + ARG arg0: CALL 'public final fun (): kotlinx.coroutines.flow.MutableStateFlow? declared in ' type=kotlinx.coroutines.flow.MutableStateFlow? origin=GET_PROPERTY + ARG maxValues: CONST Int type=kotlin.Int value=1 + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public open fun (): kotlinx.coroutines.flow.Flow declared in .MyClass28' type=kotlinx.coroutines.flow.Flow origin=GET_PROPERTY + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyClass28' type=.MyClass28 origin=null + CALL 'public final fun collect (flow: kotlinx.coroutines.flow.Flow, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String? + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG flow: CALL 'public final fun (): .MyFlow29 declared in ' type=.MyFlow29 origin=GET_PROPERTY + PROPERTY name:customFlowValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:.MyFlow29 + correspondingProperty: PROPERTY name:customFlowValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): .MyFlow29 declared in ' + CONSTRUCTOR_CALL 'public constructor (value1: T1 of .MyFlow29, value2: T2 of .MyFlow29) declared in .MyFlow29' type=.MyFlow29 origin=null + TYPE_ARG (of class) T1: kotlin.Int + TYPE_ARG (of class) T2: kotlin.String + ARG value1: CONST Int type=kotlin.Int value=29 + ARG value2: CONST String type=kotlin.String value="OK29" + PROPERTY name:extensionFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.Flow declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow origin=null + TYPE_ARG T: kotlin.String + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.SharedFlow declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow origin=null + TYPE_ARG T: kotlin.String + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow origin=IMPLICIT_ARGUMENT + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:kotlin.String + correspondingProperty: PROPERTY name:extensionStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: kotlin.String): kotlinx.coroutines.flow.StateFlow declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow origin=null + TYPE_ARG T: kotlin.String + ARG value: GET_VAR ': kotlin.String declared in .' type=kotlin.String origin=null + PROPERTY name:genericFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.Flow.> declared in ' + CALL 'public final fun flowOf (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.SharedFlow.> declared in ' + CALL 'public final fun apply (: T of kotlin.apply, block: @[ExtensionFunctionType] kotlin.Function1): T of kotlin.apply declared in kotlin' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: kotlinx.coroutines.flow.MutableSharedFlow.> + ARG : CALL 'public final fun MutableSharedFlow (replay: kotlin.Int, extraBufferCapacity: kotlin.Int, onBufferOverflow: kotlinx.coroutines.channels.BufferOverflow): kotlinx.coroutines.flow.MutableSharedFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=null + TYPE_ARG T: T of . + ARG replay: CONST Int type=kotlin.Int value=1 + ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit + VALUE_PARAMETER kind:ExtensionReceiver name:$this$apply index:0 type:kotlinx.coroutines.flow.MutableSharedFlow.> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun tryEmit (value: T of kotlinx.coroutines.flow.MutableSharedFlow): kotlin.Boolean declared in kotlinx.coroutines.flow.MutableSharedFlow' type=kotlin.Boolean origin=null + ARG : GET_VAR '$this$apply: kotlinx.coroutines.flow.MutableSharedFlow.> declared in ..' type=kotlinx.coroutines.flow.MutableSharedFlow.> origin=IMPLICIT_ARGUMENT + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow.> + TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyGenericClass1.> + correspondingProperty: PROPERTY name:genericStateFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: .MyGenericClass1.>): kotlinx.coroutines.flow.StateFlow.> declared in ' + CALL 'public final fun MutableStateFlow (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow.> origin=null + TYPE_ARG T: T of . + ARG value: CALL 'public final fun (): T of .MyGenericClass1 declared in .MyGenericClass1' type=T of . origin=GET_PROPERTY + ARG : GET_VAR ': .MyGenericClass1.> declared in .' type=.MyGenericClass1.> origin=IMPLICIT_ARGUMENT + PROPERTY name:nullableFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.Flow? + correspondingProperty: PROPERTY name:nullableFlowAndValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.Flow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlow visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.SharedFlow? + correspondingProperty: PROPERTY name:nullableSharedFlowAndValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.SharedFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowAndValue visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null + PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + annotations: + NativeCoroutines + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.flow.StateFlow? + correspondingProperty: PROPERTY name:nullableStateFlowProperty visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlinx.coroutines.flow.StateFlow? declared in ' + CONST Null type=kotlin.Nothing? value=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.kt.txt new file mode 100644 index 00000000..76bc52f8 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.kt.txt @@ -0,0 +1,660 @@ +// FILE: __GENERATED__CALLABLES__.kt + +var topLevelMutableStateFlowValue: String + get(): String { + val tmp_0: MutableStateFlow = () + return tmp_0.() + } + set(value: String) { + return ().( = value) + } + +@ObjCName(name = "mutableStateProperty") +var mutableStatePropertyValue: String + get(): String { + val tmp_1: MutableStateFlow = () + return tmp_1.() + } + set(value: String) { + return ().( = value) + } + +@ObjCName(name = "customFlowValue") +val customFlowValueNative: MyFlow29 + get(): MyFlow29 { + val tmp_2: CoroutineScope? = null + return () + } + +@ObjCName(name = "extensionFlow") +val String.extensionFlowNative: Flow + get(): Flow { + val tmp_3: CoroutineScope? = null + return (/* = */) + } + +@ObjCName(name = "extensionSharedFlow") +val String.extensionSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_4: CoroutineScope? = null + return (/* = */) + } + +val String.extensionSharedFlowReplayCache: List + get(): List { + val tmp_5: SharedFlow = (/* = */) + return tmp_5.() + } + +@ObjCName(name = "extensionStateFlow") +val String.extensionStateFlowNative: StateFlow + get(): StateFlow { + val tmp_6: CoroutineScope? = null + return (/* = */) + } + +val String.extensionStateFlowValue: String + get(): String { + val tmp_7: StateFlow = (/* = */) + return tmp_7.() + } + +@ObjCName(name = "genericFlow") +val MyGenericClass1.genericFlowNative: Flow + get(): Flow { + val tmp_8: CoroutineScope? = null + return (/* = */) + } + +@ObjCName(name = "genericSharedFlow") +val MyGenericClass1.genericSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_9: CoroutineScope? = null + return (/* = */) + } + +val MyGenericClass1.genericSharedFlowReplayCache: List + get(): List { + val tmp_10: SharedFlow = (/* = */) + return tmp_10.() + } + +@ObjCName(name = "genericStateFlow") +val MyGenericClass1.genericStateFlowNative: StateFlow + get(): StateFlow { + val tmp_11: CoroutineScope? = null + return (/* = */) + } + +val MyGenericClass1.genericStateFlowValue: T + get(): T { + val tmp_12: StateFlow = (/* = */) + return tmp_12.() + } + +val mutableNullableStatePropertyFlow: MutableStateFlow? + get(): MutableStateFlow? { + val tmp_13: CoroutineScope? = null + return () + } + +@ObjCName(name = "mutableNullableStateProperty") +val mutableNullableStatePropertyValue: String? + get(): String? { + val tmp_14: MutableStateFlow? = () + return when { + EQEQ(arg0 = tmp_14, arg1 = null) -> null + else -> tmp_14.() + } + } + +val mutableStatePropertyFlow: MutableStateFlow + get(): MutableStateFlow { + val tmp_15: CoroutineScope? = null + return () + } + +@ObjCName(name = "nullableFlowAndValue") +val nullableFlowAndValueNative: Flow? + get(): Flow? { + val tmp_16: CoroutineScope? = null + return () + } + +@ObjCName(name = "nullableFlow") +val nullableFlowNative: Flow? + get(): Flow? { + val tmp_17: CoroutineScope? = null + return () + } + +@ObjCName(name = "nullableFlowValue") +val nullableFlowValueNative: Flow + get(): Flow { + val tmp_18: CoroutineScope? = null + return () + } + +@ObjCName(name = "nullableSharedFlowAndValue") +val nullableSharedFlowAndValueNative: SharedFlow? + get(): SharedFlow? { + val tmp_19: CoroutineScope? = null + return () + } + +val nullableSharedFlowAndValueReplayCache: List? + get(): List? { + val tmp_20: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_20, arg1 = null) -> null + else -> tmp_20.() + } + } + +@ObjCName(name = "nullableSharedFlow") +val nullableSharedFlowNative: SharedFlow? + get(): SharedFlow? { + val tmp_21: CoroutineScope? = null + return () + } + +val nullableSharedFlowReplayCache: List? + get(): List? { + val tmp_22: SharedFlow? = () + return when { + EQEQ(arg0 = tmp_22, arg1 = null) -> null + else -> tmp_22.() + } + } + +@ObjCName(name = "nullableSharedFlowValue") +val nullableSharedFlowValueNative: SharedFlow + get(): SharedFlow { + val tmp_23: CoroutineScope? = null + return () + } + +val nullableSharedFlowValueReplayCache: List + get(): List { + val tmp_24: SharedFlow = () + return tmp_24.() + } + +@ObjCName(name = "nullableStateFlowAndValue") +val nullableStateFlowAndValueNative: StateFlow? + get(): StateFlow? { + val tmp_25: CoroutineScope? = null + return () + } + +val nullableStateFlowAndValueValue: String? + get(): String? { + val tmp_26: StateFlow? = () + return when { + EQEQ(arg0 = tmp_26, arg1 = null) -> null + else -> tmp_26.() + } + } + +@ObjCName(name = "nullableStateFlowProperty") +val nullableStateFlowPropertyNative: StateFlow? + get(): StateFlow? { + val tmp_27: CoroutineScope? = null + return () + } + +val nullableStateFlowPropertyValue: String? + get(): String? { + val tmp_28: StateFlow? = () + return when { + EQEQ(arg0 = tmp_28, arg1 = null) -> null + else -> tmp_28.() + } + } + +@ObjCName(name = "nullableStateFlowValue") +val nullableStateFlowValueNative: StateFlow + get(): StateFlow { + val tmp_29: CoroutineScope? = null + return () + } + +val nullableStateFlowValueValue: String? + get(): String? { + val tmp_30: StateFlow = () + return tmp_30.() + } + +@ObjCName(name = "refinedFlow") +@ShouldRefineInSwift +val refinedFlowNative: Flow + get(): Flow { + val tmp_31: CoroutineScope? = null + return () + } + +@ShouldRefineInSwift +val refinedStateFlow: StateFlow + get(): StateFlow { + val tmp_32: CoroutineScope? = null + return () + } + +@ObjCName(name = "refinedState") +@ShouldRefineInSwift +val refinedStateValue: String + get(): String { + val tmp_33: StateFlow = () + return tmp_33.() + } + +val statePropertyFlow: StateFlow + get(): StateFlow { + val tmp_34: CoroutineScope? = null + return () + } + +@ObjCName(name = "stateProperty") +val statePropertyValue: String + get(): String { + val tmp_35: StateFlow = () + return tmp_35.() + } + +@ObjCName(name = "topLevelFlow") +val topLevelFlowNative: Flow + get(): Flow { + val tmp_36: CoroutineScope? = null + return () + } + +@ObjCName(name = "topLevelMutableStateFlow") +val topLevelMutableStateFlowNative: MutableStateFlow + get(): MutableStateFlow { + val tmp_37: CoroutineScope? = null + return () + } + +@ObjCName(name = "topLevelSharedFlow") +val topLevelSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_38: CoroutineScope? = null + return () + } + +val topLevelSharedFlowReplayCache: List + get(): List { + val tmp_39: SharedFlow = () + return tmp_39.() + } + +@ObjCName(name = "topLevelStateFlow") +val topLevelStateFlowNative: StateFlow + get(): StateFlow { + val tmp_40: CoroutineScope? = null + return () + } + +val topLevelStateFlowValue: String + get(): String { + val tmp_41: StateFlow = () + return tmp_41.() + } + +// FILE: properties.kt + +@NativeCoroutines +val topLevelFlow: Flow + field = flowOf(value = "OK1") + get + +@NativeCoroutines +val topLevelSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = "OK2") /*~> Unit */ + } +) + get + +@NativeCoroutines +val topLevelStateFlow: StateFlow + field = MutableStateFlow(value = "OK3") + get + +@NativeCoroutines +val topLevelMutableStateFlow: MutableStateFlow + field = MutableStateFlow(value = "OK4") + get + +@NativeCoroutines +val nullableFlowValue: Flow + field = flowOf(value = null) + get + +@NativeCoroutines +val nullableSharedFlowValue: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = null) /*~> Unit */ + } +) + get + +@NativeCoroutines +val nullableStateFlowValue: StateFlow + field = MutableStateFlow(value = null) + get + +@NativeCoroutinesState +val stateProperty: StateFlow + field = MutableStateFlow(value = "OK23") + get + +@NativeCoroutinesState +val mutableStateProperty: MutableStateFlow + field = MutableStateFlow(value = "OK24") + get + +@NativeCoroutinesRefined +val refinedFlow: Flow + field = flowOf(value = "OK25") + get + +@NativeCoroutinesRefinedState +val refinedState: StateFlow + field = MutableStateFlow(value = "OK26") + get + +@NativeCoroutinesState +val mutableNullableStateProperty: MutableStateFlow? + field = MutableStateFlow(value = "OK27") + get + +class MyClass28 : MyInterface28 { + @NativeCoroutines + override val interfaceFlowValue: Flow + field = flowOf(value = "OK28") + override get + + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +class MyFlow29 : Flow { + private /* final field */ val $$delegate_0: Flow = flowOf(value = null) + constructor(value1: T1, value2: T2) /* primary */ { + super/*Any*/() + /* () */ + + } + + override suspend fun collect(collector: FlowCollector) { + .#$$delegate_0.collect(collector = collector) + } + +} + +data class MyGenericClass1 { + val value: T + field = value + get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + operator fun component1(): T { + return .#value + } + + fun copy(value: T = .#value): MyGenericClass1 { + return MyGenericClass1(value = value) + } + + override operator fun equals(other: Any?): Boolean { + when { + EQEQEQ(arg0 = , arg1 = other) -> return true + } + when { + other !is MyGenericClass1 -> return false + } + val tmp_0: MyGenericClass1 = other /*as MyGenericClass1 */ + when { + EQEQ(arg0 = .#value, arg1 = tmp_0.#value).not() -> return false + } + return true + } + + override fun hashCode(): Int { + return when { + EQEQ(arg0 = .#value, arg1 = null) -> 0 + else -> .#value.hashCode() + } + } + + override fun toString(): String { + return "MyGenericClass1(" + "value=" + .#value + ")" + } + +} + +class MyGenericClass2 { + private val value: T + field = value + private get + + @NativeCoroutines + val genericFlow: Flow + field = flowOf(value = .()) + get + + @NativeCoroutines + val genericSharedFlow: SharedFlow + field = apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ + } +) + get + + @NativeCoroutines + val genericStateFlow: StateFlow + field = MutableStateFlow(value = .()) + get + + constructor(value: T) /* primary */ { + super/*Any*/() + /* () */ + + } + + @ObjCName(name = "genericFlow") + val genericFlowNative: Flow + get(): Flow { + val tmp_1: CoroutineScope? = null + return .() + } + + @ObjCName(name = "genericSharedFlow") + val genericSharedFlowNative: SharedFlow + get(): SharedFlow { + val tmp_2: CoroutineScope? = null + return .() + } + + val genericSharedFlowReplayCache: List + get(): List { + val tmp_3: SharedFlow = .() + return tmp_3.() + } + + @ObjCName(name = "genericStateFlow") + val genericStateFlowNative: StateFlow + get(): StateFlow { + val tmp_4: CoroutineScope? = null + return .() + } + + val genericStateFlowValue: T + get(): T { + val tmp_5: StateFlow = .() + return tmp_5.() + } + +} + +interface MyInterface28 { + @ObjCName(name = "interfaceFlowValue") + val interfaceFlowValueNative: Flow + get(): Flow { + val tmp_6: CoroutineScope? = null + return .() + } + + @NativeCoroutines + abstract val interfaceFlowValue: Flow + abstract get + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.values(values = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value?>(value = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK14") */)) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK15") */), maxValues = 1) + $this$runBoxTest.values(values = (/* = MyGenericClass1(value = "OK15") */)) + $this$runBoxTest.collect(flow = (/* = MyGenericClass1(value = "OK16") */), maxValues = 1) + $this$runBoxTest.value(value = (/* = MyGenericClass1(value = "OK16") */)) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK17").()) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK18").(), maxValues = 1) + $this$runBoxTest.values(values = MyGenericClass2(value = "OK18").()) + $this$runBoxTest.collect(flow = MyGenericClass2(value = "OK19").(), maxValues = 1) + $this$runBoxTest.value(value = MyGenericClass2(value = "OK19").()) + $this$runBoxTest.collect(flow = (/* = "OK20" */)) + $this$runBoxTest.collect(flow = (/* = "OK21" */), maxValues = 1) + $this$runBoxTest.values(values = (/* = "OK21" */)) + $this$runBoxTest.collect(flow = (/* = "OK22" */), maxValues = 1) + $this$runBoxTest.value(value = (/* = "OK22" */)) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.collect(flow = ()) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = (), maxValues = 1) + $this$runBoxTest.value(value = ()) + $this$runBoxTest.collect(flow = CHECK_NOT_NULL>(arg0 = ()), maxValues = 1) + $this$runBoxTest.collect(flow = MyClass28().()) + $this$runBoxTest.collect(flow = ()) + } +) +} + +@NativeCoroutines +val customFlowValue: MyFlow29 + get(): MyFlow29 { + return MyFlow29(value1 = 29, value2 = "OK29") + } + +@NativeCoroutines +val String.extensionFlow: Flow + get(): Flow { + return flowOf(value = ) + } + +@NativeCoroutines +val String.extensionSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = ) /*~> Unit */ + } +) + } + +@NativeCoroutines +val String.extensionStateFlow: StateFlow + get(): StateFlow { + return MutableStateFlow(value = ) + } + +@NativeCoroutines +val MyGenericClass1.genericFlow: Flow + get(): Flow { + return flowOf(value = .()) + } + +@NativeCoroutines +val MyGenericClass1.genericSharedFlow: SharedFlow + get(): SharedFlow { + return apply>(/* = MutableSharedFlow(replay = 1), */ block = local fun MutableSharedFlow.() { + $this$apply.tryEmit(value = .()) /*~> Unit */ + } +) + } + +@NativeCoroutines +val MyGenericClass1.genericStateFlow: StateFlow + get(): StateFlow { + return MutableStateFlow(value = .()) + } + +@NativeCoroutines +val nullableFlow: Flow? + get(): Flow? { + return null + } + +@NativeCoroutines +val nullableFlowAndValue: Flow? + get(): Flow? { + return null + } + +@NativeCoroutines +val nullableSharedFlow: SharedFlow? + get(): SharedFlow? { + return null + } + +@NativeCoroutines +val nullableSharedFlowAndValue: SharedFlow? + get(): SharedFlow? { + return null + } + +@NativeCoroutines +val nullableStateFlowAndValue: StateFlow? + get(): StateFlow? { + return null + } + +@NativeCoroutines +val nullableStateFlowProperty: StateFlow? + get(): StateFlow? { + return null + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.txt new file mode 100644 index 00000000..20185110 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.fir.txt @@ -0,0 +1,447 @@ +FILE: properties.kt + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val topLevelFlow: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK1)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val topLevelSharedFlow: R|kotlinx/coroutines/flow/SharedFlow| = R|kotlinx/coroutines/flow/MutableSharedFlow|(Int(1)).R|kotlin/apply||>( = apply@fun R|kotlinx/coroutines/flow/MutableSharedFlow|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(OK2)) + } + ) + public get(): R|kotlinx/coroutines/flow/SharedFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val topLevelStateFlow: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK3)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val topLevelMutableStateFlow: R|kotlinx/coroutines/flow/MutableStateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK4)) + public get(): R|kotlinx/coroutines/flow/MutableStateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableFlowValue: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(Null(null)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableSharedFlowValue: R|kotlinx/coroutines/flow/SharedFlow| = R|kotlinx/coroutines/flow/MutableSharedFlow|(Int(1)).R|kotlin/apply||>( = apply@fun R|kotlinx/coroutines/flow/MutableSharedFlow|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(Null(null)) + } + ) + public get(): R|kotlinx/coroutines/flow/SharedFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableStateFlowValue: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(Null(null)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableFlow: R|kotlinx/coroutines/flow/Flow?| + public get(): R|kotlinx/coroutines/flow/Flow?| { + ^ Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableSharedFlow: R|kotlinx/coroutines/flow/SharedFlow?| + public get(): R|kotlinx/coroutines/flow/SharedFlow?| { + ^ Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableStateFlowProperty: R|kotlinx/coroutines/flow/StateFlow?| + public get(): R|kotlinx/coroutines/flow/StateFlow?| { + ^ Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableFlowAndValue: R|kotlinx/coroutines/flow/Flow?| + public get(): R|kotlinx/coroutines/flow/Flow?| { + ^ Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableSharedFlowAndValue: R|kotlinx/coroutines/flow/SharedFlow?| + public get(): R|kotlinx/coroutines/flow/SharedFlow?| { + ^ Null(null) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val nullableStateFlowAndValue: R|kotlinx/coroutines/flow/StateFlow?| + public get(): R|kotlinx/coroutines/flow/StateFlow?| { + ^ Null(null) + } + public final data class MyGenericClass1 : R|kotlin/Any| { + public constructor(value: R|T|): R|MyGenericClass1| { + super() + } + + public final val value: R|T| = R|/value| + public get(): R|T| + + public final operator fun component1(): R|T| + + public final fun copy(value: R|T| = this@R|/MyGenericClass1|.R|/MyGenericClass1.value|): R|MyGenericClass1| + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|MyGenericClass1|.genericFlow: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ^ R|kotlinx/coroutines/flow/flowOf|(this@R|/genericFlow|.R|SubstitutionOverride|) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|MyGenericClass1|.genericSharedFlow: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ^ R|kotlinx/coroutines/flow/MutableSharedFlow|(Int(1)).R|kotlin/apply||>( = apply@fun R|kotlinx/coroutines/flow/MutableSharedFlow|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|/genericSharedFlow|.R|SubstitutionOverride|) + } + ) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|MyGenericClass1|.genericStateFlow: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ^ R|kotlinx/coroutines/flow/MutableStateFlow|(this@R|/genericStateFlow|.R|SubstitutionOverride|) + } + public final class MyGenericClass2 : R|kotlin/Any| { + public constructor(value: R|T|): R|MyGenericClass2| { + super() + } + + private final val value: R|T| = R|/value| + private get(): R|T| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val genericFlow: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(this@R|/MyGenericClass2|.R|/MyGenericClass2.value|) + public get(): R|kotlinx/coroutines/flow/Flow| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val genericSharedFlow: R|kotlinx/coroutines/flow/SharedFlow| = R|kotlinx/coroutines/flow/MutableSharedFlow|(Int(1)).R|kotlin/apply||>( = apply@fun R|kotlinx/coroutines/flow/MutableSharedFlow|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|/MyGenericClass2|.R|/MyGenericClass2.value|) + } + ) + public get(): R|kotlinx/coroutines/flow/SharedFlow| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val genericStateFlow: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(this@R|/MyGenericClass2|.R|/MyGenericClass2.value|) + public get(): R|kotlinx/coroutines/flow/StateFlow| + + @R|kotlin/native/ObjCName|(name = String(genericFlow)) public final val genericFlowNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/MyGenericClass2.genericFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + @R|kotlin/native/ObjCName|(name = String(genericSharedFlow)) public final val genericSharedFlowNative: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ::R|/MyGenericClass2.genericSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + public final val genericSharedFlowReplayCache: R|kotlin/collections/List| + public get(): R|kotlin/collections/List| { + ::R|/MyGenericClass2.genericSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + @R|kotlin/native/ObjCName|(name = String(genericStateFlow)) public final val genericStateFlowNative: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/MyGenericClass2.genericStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + public final val genericStateFlowValue: R|T| + public get(): R|T| { + ::R|/MyGenericClass2.genericStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|kotlin/String|.extensionFlow: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ^ R|kotlinx/coroutines/flow/flowOf|(this@R|/extensionFlow|) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|kotlin/String|.extensionSharedFlow: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ^ R|kotlinx/coroutines/flow/MutableSharedFlow|(Int(1)).R|kotlin/apply||>( = apply@fun R|kotlinx/coroutines/flow/MutableSharedFlow|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|/extensionSharedFlow|) + } + ) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val R|kotlin/String|.extensionStateFlow: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ^ R|kotlinx/coroutines/flow/MutableStateFlow|(this@R|/extensionStateFlow|) + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesState|() public final val stateProperty: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK23)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesState|() public final val mutableStateProperty: R|kotlinx/coroutines/flow/MutableStateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK24)) + public get(): R|kotlinx/coroutines/flow/MutableStateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesRefined|() public final val refinedFlow: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK25)) + public get(): R|kotlinx/coroutines/flow/Flow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesRefinedState|() public final val refinedState: R|kotlinx/coroutines/flow/StateFlow| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK26)) + public get(): R|kotlinx/coroutines/flow/StateFlow| + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutinesState|() public final val mutableNullableStateProperty: R|kotlinx/coroutines/flow/MutableStateFlow?| = R|kotlinx/coroutines/flow/MutableStateFlow|(String(OK27)) + public get(): R|kotlinx/coroutines/flow/MutableStateFlow?| + public abstract interface MyInterface28 : R|kotlin/Any| { + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public abstract val interfaceFlowValue: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| + + @R|kotlin/native/ObjCName|(name = String(interfaceFlowValue)) public open val interfaceFlowValueNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/MyInterface28.interfaceFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + public final class MyClass28 : R|MyInterface28| { + public constructor(): R|MyClass28| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public open override val interfaceFlowValue: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(String(OK28)) + public get(): R|kotlinx/coroutines/flow/Flow| + + } + public final class MyFlow29 : R|kotlinx/coroutines/flow/Flow| { + public constructor(value1: R|T1|, value2: R|T2|): R|MyFlow29| { + super() + } + + private final field $$delegate_0: R|kotlinx/coroutines/flow/Flow| = R|kotlinx/coroutines/flow/flowOf|(Null(null)) + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final val customFlowValue: R|MyFlow29| + public get(): R|MyFlow29| { + ^ R|/MyFlow29.MyFlow29|(Int(29), String(OK29)) + } + public final fun box(): R|kotlin/String| { + ^box R|com/rickclephas/kmp/nativecoroutines/runBoxTest|( = runBoxTest@fun R|com/rickclephas/kmp/nativecoroutines/BoxTest|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/topLevelFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/topLevelSharedFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.values|(R|/topLevelSharedFlowReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/topLevelStateFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/topLevelStateFlowValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/topLevelMutableStateFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/topLevelMutableStateFlowValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/nullableFlowValueNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/nullableSharedFlowValueNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.values|(R|/nullableSharedFlowValueReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/nullableStateFlowValueNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/nullableStateFlowValueValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableSharedFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableSharedFlowReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableStateFlowPropertyNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/nullableStateFlowPropertyValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableFlowAndValueNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableSharedFlowAndValueNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableSharedFlowAndValueReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|?|>(R|/nullableStateFlowAndValueNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/nullableStateFlowAndValueValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass1.MyGenericClass1|(String(OK14)).R|/genericFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass1.MyGenericClass1|(String(OK15)).R|/genericSharedFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.values|(R|/MyGenericClass1.MyGenericClass1|(String(OK15)).R|/genericSharedFlowReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass1.MyGenericClass1|(String(OK16)).R|/genericStateFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/MyGenericClass1.MyGenericClass1|(String(OK16)).R|/genericStateFlowValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass2.MyGenericClass2|(String(OK17)).R|SubstitutionOverride|>|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass2.MyGenericClass2|(String(OK18)).R|SubstitutionOverride|>|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.values|(R|/MyGenericClass2.MyGenericClass2|(String(OK18)).R|SubstitutionOverride|>|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyGenericClass2.MyGenericClass2|(String(OK19)).R|SubstitutionOverride|>|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/MyGenericClass2.MyGenericClass2|(String(OK19)).R|SubstitutionOverride|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(String(OK20).R|/extensionFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(String(OK21).R|/extensionSharedFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.values|(String(OK21).R|/extensionSharedFlowReplayCache|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(String(OK22).R|/extensionStateFlowNative|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(String(OK22).R|/extensionStateFlowValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/statePropertyValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/statePropertyFlow|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/mutableStatePropertyValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/mutableStatePropertyFlow|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/refinedFlowNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/refinedStateValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/refinedStateFlow|, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.value|(R|/mutableNullableStatePropertyValue|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/mutableNullableStatePropertyFlow|!!, Int(1)) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/MyClass28.MyClass28|().R|/MyInterface28.interfaceFlowValueNative|) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.collect|(R|/customFlowValueNative|) + } + ) + } +FILE: /__GENERATED__CALLABLES__.kt + @R|kotlin/native/ObjCName|(name = String(topLevelFlow)) public final val topLevelFlowNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/topLevelFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(topLevelSharedFlow)) public final val topLevelSharedFlowNative: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ::R|/topLevelSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val topLevelSharedFlowReplayCache: R|kotlin/collections/List| + public get(): R|kotlin/collections/List| { + ::R|/topLevelSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(topLevelStateFlow)) public final val topLevelStateFlowNative: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/topLevelStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val topLevelStateFlowValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/topLevelStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(topLevelMutableStateFlow)) public final val topLevelMutableStateFlowNative: R|kotlinx/coroutines/flow/MutableStateFlow| + public get(): R|kotlinx/coroutines/flow/MutableStateFlow| { + ::R|/topLevelMutableStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final var topLevelMutableStateFlowValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/topLevelMutableStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public set(value: R|kotlin/String|): R|kotlin/Unit| + @R|kotlin/native/ObjCName|(name = String(nullableFlowValue)) public final val nullableFlowValueNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/nullableFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableSharedFlowValue)) public final val nullableSharedFlowValueNative: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ::R|/nullableSharedFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableSharedFlowValueReplayCache: R|kotlin/collections/List| + public get(): R|kotlin/collections/List| { + ::R|/nullableSharedFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableStateFlowValue)) public final val nullableStateFlowValueNative: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/nullableStateFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableStateFlowValueValue: R|kotlin/String?| + public get(): R|kotlin/String?| { + ::R|/nullableStateFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableFlow)) public final val nullableFlowNative: R|kotlinx/coroutines/flow/Flow?| + public get(): R|kotlinx/coroutines/flow/Flow?| { + ::R|/nullableFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableSharedFlow)) public final val nullableSharedFlowNative: R|kotlinx/coroutines/flow/SharedFlow?| + public get(): R|kotlinx/coroutines/flow/SharedFlow?| { + ::R|/nullableSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableSharedFlowReplayCache: R|kotlin/collections/List?| + public get(): R|kotlin/collections/List?| { + ::R|/nullableSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableStateFlowProperty)) public final val nullableStateFlowPropertyNative: R|kotlinx/coroutines/flow/StateFlow?| + public get(): R|kotlinx/coroutines/flow/StateFlow?| { + ::R|/nullableStateFlowProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableStateFlowPropertyValue: R|kotlin/String?| + public get(): R|kotlin/String?| { + ::R|/nullableStateFlowProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableFlowAndValue)) public final val nullableFlowAndValueNative: R|kotlinx/coroutines/flow/Flow?| + public get(): R|kotlinx/coroutines/flow/Flow?| { + ::R|/nullableFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableSharedFlowAndValue)) public final val nullableSharedFlowAndValueNative: R|kotlinx/coroutines/flow/SharedFlow?| + public get(): R|kotlinx/coroutines/flow/SharedFlow?| { + ::R|/nullableSharedFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableSharedFlowAndValueReplayCache: R|kotlin/collections/List?| + public get(): R|kotlin/collections/List?| { + ::R|/nullableSharedFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(nullableStateFlowAndValue)) public final val nullableStateFlowAndValueNative: R|kotlinx/coroutines/flow/StateFlow?| + public get(): R|kotlinx/coroutines/flow/StateFlow?| { + ::R|/nullableStateFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val nullableStateFlowAndValueValue: R|kotlin/String?| + public get(): R|kotlin/String?| { + ::R|/nullableStateFlowAndValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(genericFlow)) public final val R|MyGenericClass1|.genericFlowNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/genericFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(genericSharedFlow)) public final val R|MyGenericClass1|.genericSharedFlowNative: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ::R|/genericSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val R|MyGenericClass1|.genericSharedFlowReplayCache: R|kotlin/collections/List| + public get(): R|kotlin/collections/List| { + ::R|/genericSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(genericStateFlow)) public final val R|MyGenericClass1|.genericStateFlowNative: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/genericStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val R|MyGenericClass1|.genericStateFlowValue: R|T| + public get(): R|T| { + ::R|/genericStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(extensionFlow)) public final val R|kotlin/String|.extensionFlowNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/extensionFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(extensionSharedFlow)) public final val R|kotlin/String|.extensionSharedFlowNative: R|kotlinx/coroutines/flow/SharedFlow| + public get(): R|kotlinx/coroutines/flow/SharedFlow| { + ::R|/extensionSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val R|kotlin/String|.extensionSharedFlowReplayCache: R|kotlin/collections/List| + public get(): R|kotlin/collections/List| { + ::R|/extensionSharedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(extensionStateFlow)) public final val R|kotlin/String|.extensionStateFlowNative: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/extensionStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val R|kotlin/String|.extensionStateFlowValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/extensionStateFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(customFlowValue)) public final val customFlowValueNative: R|MyFlow29| + public get(): R|MyFlow29| { + ::R|/customFlowValue| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(refinedFlow)) @R|kotlin/native/ShouldRefineInSwift|() public final val refinedFlowNative: R|kotlinx/coroutines/flow/Flow| + public get(): R|kotlinx/coroutines/flow/Flow| { + ::R|/refinedFlow| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(refinedState)) @R|kotlin/native/ShouldRefineInSwift|() public final val refinedStateValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/refinedState| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ShouldRefineInSwift|() public final val refinedStateFlow: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/refinedState| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(stateProperty)) public final val statePropertyValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/stateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val statePropertyFlow: R|kotlinx/coroutines/flow/StateFlow| + public get(): R|kotlinx/coroutines/flow/StateFlow| { + ::R|/stateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(mutableStateProperty)) public final var mutableStatePropertyValue: R|kotlin/String| + public get(): R|kotlin/String| { + ::R|/mutableStateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public set(value: R|kotlin/String|): R|kotlin/Unit| + public final val mutableStatePropertyFlow: R|kotlinx/coroutines/flow/MutableStateFlow| + public get(): R|kotlinx/coroutines/flow/MutableStateFlow| { + ::R|/mutableStateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(mutableNullableStateProperty)) public final val mutableNullableStatePropertyValue: R|kotlin/String?| + public get(): R|kotlin/String?| { + ::R|/mutableNullableStateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + public final val mutableNullableStatePropertyFlow: R|kotlinx/coroutines/flow/MutableStateFlow?| + public get(): R|kotlinx/coroutines/flow/MutableStateFlow?| { + ::R|/mutableNullableStateProperty| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.kt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.kt new file mode 120000 index 00000000..23f2717d --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/properties.kt @@ -0,0 +1 @@ +../properties.kt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.box.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.box.txt new file mode 120000 index 00000000..8a49f49f --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.box.txt @@ -0,0 +1 @@ +../viewmodelscope.box.txt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.ir.txt new file mode 100644 index 00000000..02957e67 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.ir.txt @@ -0,0 +1,452 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.String declared in ' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null +FILE fqName:androidx.lifecycle fileName:/androidxviewmodel.kt + CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:androidx.lifecycle.ViewModel + CONSTRUCTOR visibility:public returnType:androidx.lifecycle.ViewModel [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY name:viewModelScope visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:androidx.lifecycle.ViewModel + correspondingProperty: PROPERTY name:viewModelScope visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers +FILE fqName:com.rickclephas.kmp.observableviewmodel fileName:/observableviewmodel.kt + CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[androidx.lifecycle.ViewModel] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:com.rickclephas.kmp.observableviewmodel.ViewModel + PROPERTY name:viewModelScope visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:viewModelScope type:com.rickclephas.kmp.observableviewmodel.ViewModelScope visibility:private [final] + EXPRESSION_BODY + CONSTRUCTOR_CALL 'public constructor () declared in com.rickclephas.kmp.observableviewmodel.ViewModelScope' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL returnType:com.rickclephas.kmp.observableviewmodel.ViewModelScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:com.rickclephas.kmp.observableviewmodel.ViewModel + correspondingProperty: PROPERTY name:viewModelScope visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:viewModelScope type:com.rickclephas.kmp.observableviewmodel.ViewModelScope visibility:private [final]' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + receiver: GET_VAR ': com.rickclephas.kmp.observableviewmodel.ViewModel declared in com.rickclephas.kmp.observableviewmodel.ViewModel.' type=com.rickclephas.kmp.observableviewmodel.ViewModel origin=null + CONSTRUCTOR visibility:public returnType:com.rickclephas.kmp.observableviewmodel.ViewModel [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in androidx.lifecycle.ViewModel' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[androidx.lifecycle.ViewModel]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in androidx.lifecycle.ViewModel + CLASS CLASS name:ViewModelScope modality:FINAL visibility:public superTypes:[kotlin.Any] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:com.rickclephas.kmp.observableviewmodel.ViewModelScope + CONSTRUCTOR visibility:public returnType:com.rickclephas.kmp.observableviewmodel.ViewModelScope [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:ViewModelScope modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + PROPERTY name:coroutineScope visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:com.rickclephas.kmp.observableviewmodel.ViewModelScope + correspondingProperty: PROPERTY name:coroutineScope visibility:public modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers +FILE fqName: fileName:/viewmodelscope.kt + PROPERTY name:unusedCoroutineScope visibility:internal modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:unusedCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final,static] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + correspondingProperty: PROPERTY name:unusedCoroutineScope visibility:internal modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.coroutines.CoroutineScope declared in ' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:unusedCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final,static]' type=kotlinx.coroutines.CoroutineScope origin=null + CLASS CLASS name:MyAndroidXViewModel1 modality:FINAL visibility:public superTypes:[androidx.lifecycle.ViewModel] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyAndroidXViewModel1 + CONSTRUCTOR visibility:public returnType:.MyAndroidXViewModel1 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in androidx.lifecycle.ViewModel' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyAndroidXViewModel1 modality:FINAL visibility:public superTypes:[androidx.lifecycle.ViewModel]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in androidx.lifecycle.ViewModel + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + ObjCName(name = "returnSuspendValue1", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .MyAndroidXViewModel1.returnSuspendValue1Native' type=.MyAndroidXViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1Native (): kotlin.String declared in .MyAndroidXViewModel1' + CALL 'public final fun returnSuspendValue1 (): kotlin.String declared in .MyAndroidXViewModel1' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .MyAndroidXViewModel1.returnSuspendValue1Native' type=.MyAndroidXViewModel1 origin=null + FUN name:returnSuspendValue1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1 (): kotlin.String declared in .MyAndroidXViewModel1' + CONST String type=kotlin.String value="OK1" + CLASS CLASS name:MyAndroidXViewModel2 modality:FINAL visibility:public superTypes:[androidx.lifecycle.ViewModel] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyAndroidXViewModel2 + PROPERTY name:customCoroutineScope visibility:internal modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:customCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyAndroidXViewModel2 + correspondingProperty: PROPERTY name:customCoroutineScope visibility:internal modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyAndroidXViewModel2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:customCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final]' type=kotlinx.coroutines.CoroutineScope origin=null + receiver: GET_VAR ': .MyAndroidXViewModel2 declared in .MyAndroidXViewModel2.' type=.MyAndroidXViewModel2 origin=null + CONSTRUCTOR visibility:public returnType:.MyAndroidXViewModel2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in androidx.lifecycle.ViewModel' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyAndroidXViewModel2 modality:FINAL visibility:public superTypes:[androidx.lifecycle.ViewModel]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in androidx.lifecycle.ViewModel + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in androidx.lifecycle.ViewModel + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + ObjCName(name = "returnSuspendValue1", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyAndroidXViewModel2' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .MyAndroidXViewModel2.returnSuspendValue1Native' type=.MyAndroidXViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1Native (): kotlin.String declared in .MyAndroidXViewModel2' + CALL 'public final fun returnSuspendValue1 (): kotlin.String declared in .MyAndroidXViewModel2' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .MyAndroidXViewModel2.returnSuspendValue1Native' type=.MyAndroidXViewModel2 origin=null + FUN name:returnSuspendValue1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1 (): kotlin.String declared in .MyAndroidXViewModel2' + CONST String type=kotlin.String value="OK5" + CLASS CLASS name:MyObservableViewModel1 modality:FINAL visibility:public superTypes:[com.rickclephas.kmp.observableviewmodel.ViewModel] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyObservableViewModel1 + CONSTRUCTOR visibility:public returnType:.MyObservableViewModel1 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in com.rickclephas.kmp.observableviewmodel.ViewModel' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyObservableViewModel1 modality:FINAL visibility:public superTypes:[com.rickclephas.kmp.observableviewmodel.ViewModel]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + ObjCName(name = "returnSuspendValue1", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .MyObservableViewModel1.returnSuspendValue1Native' type=.MyObservableViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1Native (): kotlin.String declared in .MyObservableViewModel1' + CALL 'public final fun returnSuspendValue1 (): kotlin.String declared in .MyObservableViewModel1' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .MyObservableViewModel1.returnSuspendValue1Native' type=.MyObservableViewModel1 origin=null + FUN name:returnSuspendValue1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1 (): kotlin.String declared in .MyObservableViewModel1' + CONST String type=kotlin.String value="OK3" + PROPERTY FAKE_OVERRIDE name:viewModelScope visibility:public modality:FINAL [fake_override,val] + overridden: + public final viewModelScope: com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL returnType:com.rickclephas.kmp.observableviewmodel.ViewModelScope [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:com.rickclephas.kmp.observableviewmodel.ViewModel + correspondingProperty: PROPERTY FAKE_OVERRIDE name:viewModelScope visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel + CLASS CLASS name:MyObservableViewModel2 modality:FINAL visibility:public superTypes:[com.rickclephas.kmp.observableviewmodel.ViewModel] + thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:.MyObservableViewModel2 + PROPERTY name:customCoroutineScope visibility:internal modality:FINAL [val] + annotations: + NativeCoroutineScope + FIELD PROPERTY_BACKING_FIELD name:customCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun CoroutineScope (context: kotlin.coroutines.CoroutineContext): kotlinx.coroutines.CoroutineScope declared in kotlinx.coroutines' type=kotlinx.coroutines.CoroutineScope origin=null + ARG context: CALL 'public final fun (): kotlinx.coroutines.CoroutineDispatcher declared in kotlinx.coroutines.Dispatchers' type=kotlinx.coroutines.CoroutineDispatcher origin=GET_PROPERTY + ARG : GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Dispatchers modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlinx.coroutines.Dispatchers + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:internal modality:FINAL returnType:kotlinx.coroutines.CoroutineScope + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyObservableViewModel2 + correspondingProperty: PROPERTY name:customCoroutineScope visibility:internal modality:FINAL [val] + BLOCK_BODY + RETURN type=kotlin.Nothing from='internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyObservableViewModel2' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:customCoroutineScope type:kotlinx.coroutines.CoroutineScope visibility:private [final]' type=kotlinx.coroutines.CoroutineScope origin=null + receiver: GET_VAR ': .MyObservableViewModel2 declared in .MyObservableViewModel2.' type=.MyObservableViewModel2 origin=null + CONSTRUCTOR visibility:public returnType:.MyObservableViewModel2 [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () declared in com.rickclephas.kmp.observableviewmodel.ViewModel' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyObservableViewModel2 modality:FINAL visibility:public superTypes:[com.rickclephas.kmp.observableviewmodel.ViewModel]' type=kotlin.Unit + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any? + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun hashCode (): kotlin.Int declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:kotlin.Any + overridden: + public open fun toString (): kotlin.String declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue1Native visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + ObjCName(name = "returnSuspendValue1", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'internal final fun (): kotlinx.coroutines.CoroutineScope declared in .MyObservableViewModel2' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .MyObservableViewModel2.returnSuspendValue1Native' type=.MyObservableViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1Native (): kotlin.String declared in .MyObservableViewModel2' + CALL 'public final fun returnSuspendValue1 (): kotlin.String declared in .MyObservableViewModel2' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .MyObservableViewModel2.returnSuspendValue1Native' type=.MyObservableViewModel2 origin=null + FUN name:returnSuspendValue1 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue1 (): kotlin.String declared in .MyObservableViewModel2' + CONST String type=kotlin.String value="OK7" + PROPERTY FAKE_OVERRIDE name:viewModelScope visibility:public modality:FINAL [fake_override,val] + overridden: + public final viewModelScope: com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL returnType:com.rickclephas.kmp.observableviewmodel.ViewModelScope [fake_override] + VALUE_PARAMETER kind:DispatchReceiver name: index:0 type:com.rickclephas.kmp.observableviewmodel.ViewModel + correspondingProperty: PROPERTY FAKE_OVERRIDE name:viewModelScope visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel + FUN name:box visibility:public modality:FINAL returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null + ARG action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.Unit [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name:$this$runBoxTest index:0 type:com.rickclephas.kmp.nativecoroutines.BoxTest + BLOCK_BODY + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue1Native (): kotlin.String declared in .MyAndroidXViewModel1' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyAndroidXViewModel1' type=.MyAndroidXViewModel1 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyAndroidXViewModel1' type=.MyAndroidXViewModel1 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue1Native (): kotlin.String declared in .MyObservableViewModel1' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyObservableViewModel1' type=.MyObservableViewModel1 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyObservableViewModel1' type=.MyObservableViewModel1 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue1Native (): kotlin.String declared in .MyAndroidXViewModel2' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyAndroidXViewModel2' type=.MyAndroidXViewModel2 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyAndroidXViewModel2' type=.MyAndroidXViewModel2 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue1Native (): kotlin.String declared in .MyObservableViewModel2' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyObservableViewModel2' type=.MyObservableViewModel2 origin=null + CALL 'public final fun await (result: kotlin.coroutines.SuspendFunction0): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null + TYPE_ARG T: kotlin.String + ARG : GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in .box.' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=IMPLICIT_ARGUMENT + ARG result: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .box.' + CALL 'public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : CONSTRUCTOR_CALL 'public constructor () declared in .MyObservableViewModel2' type=.MyObservableViewModel2 origin=null + FUN name:returnSuspendValue2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' + CONST String type=kotlin.String value="OK2" + FUN name:returnSuspendValue2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' + CONST String type=kotlin.String value="OK6" + FUN name:returnSuspendValue2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' + CONST String type=kotlin.String value="OK4" + FUN name:returnSuspendValue2 visibility:public modality:FINAL returnType:kotlin.String [suspend] + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + NativeCoroutines + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' + CONST String type=kotlin.String value="OK8" diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.kt.txt new file mode 100644 index 00000000..517b77b4 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.kt.txt @@ -0,0 +1,227 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnSuspendValue2") +suspend fun MyAndroidXViewModel1.returnSuspendValue2Native(): String { + val tmp_0: CoroutineScope = (/* = */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +suspend fun MyAndroidXViewModel2.returnSuspendValue2Native(): String { + val tmp_1: CoroutineScope = (/* = */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +suspend fun MyObservableViewModel1.returnSuspendValue2Native(): String { + val tmp_2: CoroutineScope = (/* = .() */) + return returnSuspendValue2(/* = */) +} + +@ObjCName(name = "returnSuspendValue2") +suspend fun MyObservableViewModel2.returnSuspendValue2Native(): String { + val tmp_3: CoroutineScope = (/* = .() */) + return returnSuspendValue2(/* = */) +} + +// FILE: androidxviewmodel.kt +package androidx.lifecycle + +open class ViewModel { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +val ViewModel.viewModelScope: CoroutineScope + get(): CoroutineScope { + return CoroutineScope(context = Dispatchers.()) + } + +// FILE: observableviewmodel.kt +package com.rickclephas.kmp.observableviewmodel + +open class ViewModel : ViewModel { + val viewModelScope: ViewModelScope + field = ViewModelScope() + get + + constructor() /* primary */ { + super/*ViewModel*/() + /* () */ + + } + +} + +class ViewModelScope { + constructor() /* primary */ { + super/*Any*/() + /* () */ + + } + +} + +val ViewModelScope.coroutineScope: CoroutineScope + get(): CoroutineScope { + return CoroutineScope(context = Dispatchers.()) + } + +// FILE: viewmodelscope.kt + +@NativeCoroutineScope +internal val unusedCoroutineScope: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + internal get + +class MyAndroidXViewModel1 : ViewModel { + constructor() /* primary */ { + super/*ViewModel*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue1") + suspend fun returnSuspendValue1Native(): String { + val tmp_0: CoroutineScope = (/* = */) + return .returnSuspendValue1() + } + + @NativeCoroutines + suspend fun returnSuspendValue1(): String { + return "OK1" + } + +} + +class MyAndroidXViewModel2 : ViewModel { + @NativeCoroutineScope + internal val customCoroutineScope: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + internal get + + constructor() /* primary */ { + super/*ViewModel*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue1") + suspend fun returnSuspendValue1Native(): String { + val tmp_1: CoroutineScope = .() + return .returnSuspendValue1() + } + + @NativeCoroutines + suspend fun returnSuspendValue1(): String { + return "OK5" + } + +} + +class MyObservableViewModel1 : ViewModel { + constructor() /* primary */ { + super/*ViewModel*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue1") + suspend fun returnSuspendValue1Native(): String { + val tmp_2: CoroutineScope = (/* = .() */) + return .returnSuspendValue1() + } + + @NativeCoroutines + suspend fun returnSuspendValue1(): String { + return "OK3" + } + +} + +class MyObservableViewModel2 : ViewModel { + @NativeCoroutineScope + internal val customCoroutineScope: CoroutineScope + field = CoroutineScope(context = Dispatchers.()) + internal get + + constructor() /* primary */ { + super/*ViewModel*/() + /* () */ + + } + + @ObjCName(name = "returnSuspendValue1") + suspend fun returnSuspendValue1Native(): String { + val tmp_3: CoroutineScope = .() + return .returnSuspendValue1() + } + + @NativeCoroutines + suspend fun returnSuspendValue1(): String { + return "OK7" + } + +} + +fun box(): String { + return runBoxTest(action = local suspend fun BoxTest.() { + $this$runBoxTest.await(result = local suspend fun (): String { + return MyAndroidXViewModel1().returnSuspendValue1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValue2Native(/* = MyAndroidXViewModel1() */) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyObservableViewModel1().returnSuspendValue1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValue2Native(/* = MyObservableViewModel1() */) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyAndroidXViewModel2().returnSuspendValue1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValue2Native(/* = MyAndroidXViewModel2() */) + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return MyObservableViewModel2().returnSuspendValue1Native() + } +) + $this$runBoxTest.await(result = local suspend fun (): String { + return returnSuspendValue2Native(/* = MyObservableViewModel2() */) + } +) + } +) +} + +@NativeCoroutines +suspend fun MyAndroidXViewModel1.returnSuspendValue2(): String { + return "OK2" +} + +@NativeCoroutines +suspend fun MyAndroidXViewModel2.returnSuspendValue2(): String { + return "OK6" +} + +@NativeCoroutines +suspend fun MyObservableViewModel1.returnSuspendValue2(): String { + return "OK4" +} + +@NativeCoroutines +suspend fun MyObservableViewModel2.returnSuspendValue2(): String { + return "OK8" +} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.txt new file mode 100644 index 00000000..a359f383 --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.fir.txt @@ -0,0 +1,170 @@ +FILE: androidxviewmodel.kt + package androidx.lifecycle + + public open class ViewModel : R|kotlin/Any| { + public constructor(): R|androidx/lifecycle/ViewModel| { + super() + } + + } + public final val R|androidx/lifecycle/ViewModel|.viewModelScope: R|kotlinx/coroutines/CoroutineScope| + public get(): R|kotlinx/coroutines/CoroutineScope| { + ^ R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + } +FILE: observableviewmodel.kt + package com.rickclephas.kmp.observableviewmodel + + public final class ViewModelScope : R|kotlin/Any| { + public constructor(): R|com/rickclephas/kmp/observableviewmodel/ViewModelScope| { + super() + } + + } + public final val R|com/rickclephas/kmp/observableviewmodel/ViewModelScope|.coroutineScope: R|kotlinx/coroutines/CoroutineScope| + public get(): R|kotlinx/coroutines/CoroutineScope| { + ^ R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + } + public open class ViewModel : R|androidx/lifecycle/ViewModel| { + public constructor(): R|com/rickclephas/kmp/observableviewmodel/ViewModel| { + super() + } + + public final val viewModelScope: R|com/rickclephas/kmp/observableviewmodel/ViewModelScope| = R|com/rickclephas/kmp/observableviewmodel/ViewModelScope.ViewModelScope|() + public get(): R|com/rickclephas/kmp/observableviewmodel/ViewModelScope| + + } +FILE: viewmodelscope.kt + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() internal final val unusedCoroutineScope: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + internal get(): R|kotlinx/coroutines/CoroutineScope| + public final class MyAndroidXViewModel1 : R|androidx/lifecycle/ViewModel| { + public constructor(): R|MyAndroidXViewModel1| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue1(): R|kotlin/String| { + ^returnSuspendValue1 String(OK1) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue1)) public final suspend fun returnSuspendValue1Native(): R|kotlin/String| { + ::R|/MyAndroidXViewModel1.returnSuspendValue1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyAndroidXViewModel1|.returnSuspendValue2(): R|kotlin/String| { + ^returnSuspendValue2 String(OK2) + } + public final class MyObservableViewModel1 : R|com/rickclephas/kmp/observableviewmodel/ViewModel| { + public constructor(): R|MyObservableViewModel1| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue1(): R|kotlin/String| { + ^returnSuspendValue1 String(OK3) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue1)) public final suspend fun returnSuspendValue1Native(): R|kotlin/String| { + ::R|/MyObservableViewModel1.returnSuspendValue1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyObservableViewModel1|.returnSuspendValue2(): R|kotlin/String| { + ^returnSuspendValue2 String(OK4) + } + public final class MyAndroidXViewModel2 : R|androidx/lifecycle/ViewModel| { + public constructor(): R|MyAndroidXViewModel2| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() internal final val customCoroutineScope: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + internal get(): R|kotlinx/coroutines/CoroutineScope| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue1(): R|kotlin/String| { + ^returnSuspendValue1 String(OK5) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue1)) public final suspend fun returnSuspendValue1Native(): R|kotlin/String| { + ::R|/MyAndroidXViewModel2.returnSuspendValue1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyAndroidXViewModel2|.returnSuspendValue2(): R|kotlin/String| { + ^returnSuspendValue2 String(OK6) + } + public final class MyObservableViewModel2 : R|com/rickclephas/kmp/observableviewmodel/ViewModel| { + public constructor(): R|MyObservableViewModel2| { + super() + } + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutineScope|() internal final val customCoroutineScope: R|kotlinx/coroutines/CoroutineScope| = R|kotlinx/coroutines/CoroutineScope|(Q|kotlinx/coroutines/Dispatchers|.R|kotlinx/coroutines/Dispatchers.Default|) + internal get(): R|kotlinx/coroutines/CoroutineScope| + + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun returnSuspendValue1(): R|kotlin/String| { + ^returnSuspendValue1 String(OK7) + } + + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue1)) public final suspend fun returnSuspendValue1Native(): R|kotlin/String| { + ::R|/MyObservableViewModel2.returnSuspendValue1| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + + } + @R|com/rickclephas/kmp/nativecoroutines/NativeCoroutines|() public final suspend fun R|MyObservableViewModel2|.returnSuspendValue2(): R|kotlin/String| { + ^returnSuspendValue2 String(OK8) + } + public final fun box(): R|kotlin/String| { + ^box R|com/rickclephas/kmp/nativecoroutines/runBoxTest|( = runBoxTest@fun R|com/rickclephas/kmp/nativecoroutines/BoxTest|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyAndroidXViewModel1.MyAndroidXViewModel1|().R|/MyAndroidXViewModel1.returnSuspendValue1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyAndroidXViewModel1.MyAndroidXViewModel1|().R|/returnSuspendValue2Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyObservableViewModel1.MyObservableViewModel1|().R|/MyObservableViewModel1.returnSuspendValue1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyObservableViewModel1.MyObservableViewModel1|().R|/returnSuspendValue2Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyAndroidXViewModel2.MyAndroidXViewModel2|().R|/MyAndroidXViewModel2.returnSuspendValue1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyAndroidXViewModel2.MyAndroidXViewModel2|().R|/returnSuspendValue2Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyObservableViewModel2.MyObservableViewModel2|().R|/MyObservableViewModel2.returnSuspendValue1Native|() + } + ) + this@R|special/anonymous|.R|com/rickclephas/kmp/nativecoroutines/BoxTest.await|( = await@fun (): R|kotlin/String| { + ^ R|/MyObservableViewModel2.MyObservableViewModel2|().R|/returnSuspendValue2Native|() + } + ) + } + ) + } +FILE: /__GENERATED__CALLABLES__.kt + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) public final suspend fun R|MyAndroidXViewModel1|.returnSuspendValue2Native(): R|kotlin/String| { + ::R|/returnSuspendValue2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) public final suspend fun R|MyObservableViewModel1|.returnSuspendValue2Native(): R|kotlin/String| { + ::R|/returnSuspendValue2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) public final suspend fun R|MyAndroidXViewModel2|.returnSuspendValue2Native(): R|kotlin/String| { + ::R|/returnSuspendValue2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } + @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) public final suspend fun R|MyObservableViewModel2|.returnSuspendValue2Native(): R|kotlin/String| { + ::R|/returnSuspendValue2| + R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) + } diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.kt b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.kt new file mode 120000 index 00000000..eb585a5e --- /dev/null +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/swift3/viewmodelscope.kt @@ -0,0 +1 @@ +../viewmodelscope.kt \ No newline at end of file diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.ir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.ir.txt index 9d6b3e11..c386c550 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.ir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.ir.txt @@ -1,3 +1,78 @@ +FILE fqName: fileName:/__GENERATED__CALLABLES__.kt + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' + CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null + FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> + VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 + annotations: + ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) + BLOCK_BODY + VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] + CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null + ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null + RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' + CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null + TYPE_ARG T: kotlin.String + ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null + ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] + BLOCK_BODY + RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' + CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null + ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null FILE fqName:androidx.lifecycle fileName:/androidxviewmodel.kt CLASS CLASS name:ViewModel modality:OPEN visibility:public superTypes:[kotlin.Any] thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name: type:androidx.lifecycle.ViewModel @@ -431,78 +506,3 @@ FILE fqName: fileName:/viewmodelscope.kt BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' CONST String type=kotlin.String value="OK8" -FILE fqName: fileName:__GENERATED DECLARATIONS__.kt - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel1 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel1): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' - CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel1): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyAndroidXViewModel1 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel1 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyAndroidXViewModel2 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: androidx.lifecycle.ViewModel): kotlinx.coroutines.CoroutineScope declared in androidx.lifecycle' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyAndroidXViewModel2): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' - CALL 'public final fun returnSuspendValue2 (: .MyAndroidXViewModel2): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyAndroidXViewModel2 declared in .returnSuspendValue2Native' type=.MyAndroidXViewModel2 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel1 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null - ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel1): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' - CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel1): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyObservableViewModel1 declared in .returnSuspendValue2Native' type=.MyObservableViewModel1 origin=null - FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValue2Native visibility:public modality:FINAL returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> - VALUE_PARAMETER kind:ExtensionReceiver name: index:0 type:.MyObservableViewModel2 - annotations: - ObjCName(name = "returnSuspendValue2", swiftName = , exact = ) - BLOCK_BODY - VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope [val] - CALL 'public final fun (: com.rickclephas.kmp.observableviewmodel.ViewModelScope): kotlinx.coroutines.CoroutineScope declared in com.rickclephas.kmp.observableviewmodel' type=kotlinx.coroutines.CoroutineScope origin=null - ARG : CALL 'public final fun (): com.rickclephas.kmp.observableviewmodel.ViewModelScope declared in com.rickclephas.kmp.observableviewmodel.ViewModel' type=com.rickclephas.kmp.observableviewmodel.ViewModelScope origin=null - ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null - RETURN type=kotlin.Nothing from='public final fun returnSuspendValue2Native (: .MyObservableViewModel2): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in ' - CALL 'public final fun nativeSuspend (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2, @[ParameterName(name = "onError")] kotlin.Function2, @[ParameterName(name = "onCancelled")] kotlin.Function2, kotlin.Function0> origin=null - TYPE_ARG T: kotlin.String - ARG scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope declared in .returnSuspendValue2Native' type=kotlinx.coroutines.CoroutineScope origin=null - ARG block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0 origin=LAMBDA - FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL returnType:kotlin.String [suspend] - BLOCK_BODY - RETURN type=kotlin.Nothing from='local final fun (): kotlin.String declared in .returnSuspendValue2Native' - CALL 'public final fun returnSuspendValue2 (: .MyObservableViewModel2): kotlin.String declared in ' type=kotlin.String origin=null - ARG : GET_VAR ': .MyObservableViewModel2 declared in .returnSuspendValue2Native' type=.MyObservableViewModel2 origin=null diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.kt.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.kt.txt index fe6c6f78..59804758 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.kt.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.kt.txt @@ -1,3 +1,41 @@ +// FILE: __GENERATED__CALLABLES__.kt + +@ObjCName(name = "returnSuspendValue2") +fun MyAndroidXViewModel1.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_0: CoroutineScope = (/* = */) + return nativeSuspend(scope = tmp_0, block = local suspend fun (): String { + return returnSuspendValue2(/* = */) + } +) +} + +@ObjCName(name = "returnSuspendValue2") +fun MyAndroidXViewModel2.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_1: CoroutineScope = (/* = */) + return nativeSuspend(scope = tmp_1, block = local suspend fun (): String { + return returnSuspendValue2(/* = */) + } +) +} + +@ObjCName(name = "returnSuspendValue2") +fun MyObservableViewModel1.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_2: CoroutineScope = (/* = .() */) + return nativeSuspend(scope = tmp_2, block = local suspend fun (): String { + return returnSuspendValue2(/* = */) + } +) +} + +@ObjCName(name = "returnSuspendValue2") +fun MyObservableViewModel2.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { + val tmp_3: CoroutineScope = (/* = .() */) + return nativeSuspend(scope = tmp_3, block = local suspend fun (): String { + return returnSuspendValue2(/* = */) + } +) +} + // FILE: androidxviewmodel.kt package androidx.lifecycle @@ -211,41 +249,3 @@ suspend fun MyObservableViewModel1.returnSuspendValue2(): String { suspend fun MyObservableViewModel2.returnSuspendValue2(): String { return "OK8" } - -// FILE: __GENERATED DECLARATIONS__.kt - -@ObjCName(name = "returnSuspendValue2") -fun MyAndroidXViewModel1.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_0: CoroutineScope = (/* = */) - return nativeSuspend(scope = tmp_0, block = local suspend fun (): String { - return returnSuspendValue2(/* = */) - } -) -} - -@ObjCName(name = "returnSuspendValue2") -fun MyAndroidXViewModel2.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_1: CoroutineScope = (/* = */) - return nativeSuspend(scope = tmp_1, block = local suspend fun (): String { - return returnSuspendValue2(/* = */) - } -) -} - -@ObjCName(name = "returnSuspendValue2") -fun MyObservableViewModel1.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_2: CoroutineScope = (/* = .() */) - return nativeSuspend(scope = tmp_2, block = local suspend fun (): String { - return returnSuspendValue2(/* = */) - } -) -} - -@ObjCName(name = "returnSuspendValue2") -fun MyObservableViewModel2.returnSuspendValue2Native(): Function3<@ParameterName(name = "onResult") Function2, @ParameterName(name = "onError") Function2, @ParameterName(name = "onCancelled") Function2, Function0> { - val tmp_3: CoroutineScope = (/* = .() */) - return nativeSuspend(scope = tmp_3, block = local suspend fun (): String { - return returnSuspendValue2(/* = */) - } -) -} diff --git a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.txt b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.txt index 85df6921..e60d3d93 100644 --- a/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.txt +++ b/kmp-nativecoroutines-compiler/src/testData/codegen/viewmodelscope.fir.txt @@ -151,7 +151,7 @@ FILE: viewmodelscope.kt } ) } -FILE: __GENERATED DECLARATIONS__.kt +FILE: /__GENERATED__CALLABLES__.kt @R|kotlin/native/ObjCName|(name = String(returnSuspendValue2)) public final fun R|MyAndroidXViewModel1|.returnSuspendValue2Native(): R|com/rickclephas/kmp/nativecoroutines/NativeSuspend| { ::R|/returnSuspendValue2| R|kotlin/TODO|(String(KMP-NativeCoroutines generated declaration must be implemented in IR)) diff --git a/kmp-nativecoroutines-gradle-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/gradle/KmpNativeCoroutinesExtension.kt b/kmp-nativecoroutines-gradle-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/gradle/KmpNativeCoroutinesExtension.kt index 98cad406..6fa71b96 100644 --- a/kmp-nativecoroutines-gradle-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/gradle/KmpNativeCoroutinesExtension.kt +++ b/kmp-nativecoroutines-gradle-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/gradle/KmpNativeCoroutinesExtension.kt @@ -44,7 +44,7 @@ public open class KmpNativeCoroutinesExtension { /** * The compatibility version of Swift export used by the plugin. */ - public val swiftExportVersion: Long = 0b1 + public val swiftExportVersion: Long = 0b11 } public enum class ExposedSeverity { diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 0e7215b9..16b25277 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -698,10 +698,10 @@ engine.io@~6.5.2: engine.io-parser "~5.2.1" ws "~8.11.0" -enhanced-resolve@^5.17.2: - version "5.18.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz#7903c5b32ffd4b2143eeb4b92472bd68effd5464" - integrity sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ== +enhanced-resolve@^5.17.3: + version "5.18.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" + integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1168,10 +1168,9 @@ karma-webpack@5.0.1: minimatch "^9.0.3" webpack-merge "^4.1.5" -karma@6.4.4: +"karma@github:Kotlin/karma#6.4.5": version "6.4.4" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492" - integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== + resolved "https://codeload.github.com/Kotlin/karma/tar.gz/239a8fc984584f0d96b1dd750e7a5e2c79da93a6" dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1203,10 +1202,10 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kotlin-web-helpers@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.1.0.tgz#6cd4b0f0dc3baea163929c8638155b8d19c55a74" - integrity sha512-NAJhiNB84tnvJ5EQx7iER3GWw7rsTZkX9HVHZpe7E3dDBD/dhTzqgSwNU3MfQjniy2rB04bP24WM9Z32ntUWRg== +kotlin-web-helpers@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-3.0.0.tgz#3ed6b48f694f74bb60a737a9d7e2c0e3b29abdb9" + integrity sha512-kdQO4AJQkUPvpLh9aglkXDRyN+CfXO7pKq+GESEnxooBFkQpytLrqZis3ABvmFN1cGw/ZQ/K38u5sRGW+NfBnw== dependencies: format-util "^1.0.5" @@ -1323,10 +1322,10 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@11.7.1: - version "11.7.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.1.tgz#91948fecd624fb4bd154ed260b7e1ad3910d7c7a" - integrity sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A== +mocha@11.7.2: + version "11.7.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.2.tgz#3c0079fe5cc2f8ea86d99124debcc42bb1ab22b5" + integrity sha512-lkqVJPmqqG/w5jmmFtiRvtA2jkDyNVUcefFJKb2uyX4dekk8Okgqop3cgbFiaIvj8uCRJVTP5x9dfxGyXm2jvQ== dependencies: browser-stdout "^1.3.1" chokidar "^4.0.1" @@ -1938,10 +1937,10 @@ webpack-sources@^3.3.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== -webpack@5.100.2: - version "5.100.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.100.2.tgz#e2341facf9f7de1d702147c91bcb65b693adf9e8" - integrity sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw== +webpack@5.101.3: + version "5.101.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.101.3.tgz#3633b2375bb29ea4b06ffb1902734d977bc44346" + integrity sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -1953,7 +1952,7 @@ webpack@5.100.2: acorn-import-phases "^1.0.3" browserslist "^4.24.0" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.2" + enhanced-resolve "^5.17.3" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" diff --git a/sample/Async/AsyncFunctionIntegrationTests.swift b/sample/Async/AsyncFunctionIntegrationTests.swift index a36ecf3b..8cfe67d4 100644 --- a/sample/Async/AsyncFunctionIntegrationTests.swift +++ b/sample/Async/AsyncFunctionIntegrationTests.swift @@ -11,26 +11,32 @@ import NativeCoroutinesSampleShared class AsyncFunctionIntegrationTests: XCTestCase { - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testValueReceived() async throws { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() let sendValue = randomInt() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let value = try await asyncFunction(for: integrationTests.returnValueNative(value: sendValue, delay: 1000)) + XCTAssertEqual(value, sendValue, "Received incorrect value") + #else let value = try await asyncFunction(for: integrationTests.returnValue(value: sendValue, delay: 1000)) XCTAssertEqual(value.int32Value, sendValue, "Received incorrect value") + #endif await assertJobCompleted(integrationTests) } - #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNilValueReceived() async throws { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let value = try await asyncFunction(for: integrationTests.returnNullNative(delay: 1000)) + #else let value = try await asyncFunction(for: integrationTests.returnNull(delay: 1000)) + #endif XCTAssertNil(value, "Value should be nil") await assertJobCompleted(integrationTests) } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testExceptionReceived() async { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -48,6 +54,7 @@ class AsyncFunctionIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testErrorReceived() async { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -65,16 +72,26 @@ class AsyncFunctionIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Cancellation isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80970 func testCancellation() async { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() let handle = Task { + #if NATIVE_COROUTINES_SWIFT_EXPORT + return try await asyncFunction(for: integrationTests.returnFromCallbackNative(delay: 3000) { + XCTFail("Callback shouldn't be invoked") + return 1 + }) + #else return try await asyncFunction(for: integrationTests.returnFromCallback(delay: 3000) { XCTFail("Callback shouldn't be invoked") return KotlinInt(int: 1) }) + #endif } DispatchQueue.global().asyncAfter(deadline: .now() + 1) { + #if !NATIVE_COROUTINES_SWIFT_EXPORT XCTAssertEqual(integrationTests.activeJobCount, 1, "There should be 1 active job") + #endif handle.cancel() } let result = await handle.result @@ -88,6 +105,7 @@ class AsyncFunctionIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Suspend functions returning Unit aren't supported yet, see https://youtrack.jetbrains.com/issue/KT-81593 func testUnitReturnType() async throws { let integrationTests = SuspendIntegrationTests() try await asyncFunction(for: integrationTests.returnUnit(delay: 100)) diff --git a/sample/Async/AsyncResultIntegrationTests.swift b/sample/Async/AsyncResultIntegrationTests.swift index 6efdeaa1..96aefbab 100644 --- a/sample/Async/AsyncResultIntegrationTests.swift +++ b/sample/Async/AsyncResultIntegrationTests.swift @@ -11,24 +11,33 @@ import NativeCoroutinesSampleShared class AsyncResultIntegrationTests: XCTestCase { - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testValueReceived() async { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() let sendValue = randomInt() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let result = await asyncResult(for: await integrationTests.returnValueNative(value: sendValue, delay: 1000)) + #else let result = await asyncResult(for: integrationTests.returnValue(value: sendValue, delay: 1000)) + #endif guard case let .success(value) = result else { XCTFail("Function should complete without an error") return } + #if NATIVE_COROUTINES_SWIFT_EXPORT + XCTAssertEqual(value, sendValue, "Received incorrect value") + #else XCTAssertEqual(value.int32Value, sendValue, "Received incorrect value") + #endif await assertJobCompleted(integrationTests) } - #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNilValueReceived() async { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let result = await asyncResult(for: await integrationTests.returnNullNative(delay: 1000)) + #else let result = await asyncResult(for: integrationTests.returnNull(delay: 1000)) + #endif guard case let .success(value) = result else { XCTFail("Function should complete without an error") return @@ -36,9 +45,9 @@ class AsyncResultIntegrationTests: XCTestCase { XCTAssertNil(value, "Value should be nil") await assertJobCompleted(integrationTests) } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testExceptionReceived() async { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -56,6 +65,7 @@ class AsyncResultIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testErrorReceived() async { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -73,6 +83,7 @@ class AsyncResultIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Cancellation isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80970 func testCancellation() async { let integrationTests = SuspendIntegrationTests() let handle = Task { @@ -100,6 +111,7 @@ class AsyncResultIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Suspend functions returning Unit aren't supported yet, see https://youtrack.jetbrains.com/issue/KT-81593 func testUnitReturnType() async throws { let integrationTests = SuspendIntegrationTests() let result = await asyncResult(for: integrationTests.returnUnit(delay: 100)) diff --git a/sample/Async/RandomLettersAsyncViewModel.swift b/sample/Async/RandomLettersAsyncViewModel.swift index 1f2f8558..2761923e 100644 --- a/sample/Async/RandomLettersAsyncViewModel.swift +++ b/sample/Async/RandomLettersAsyncViewModel.swift @@ -18,18 +18,20 @@ class RandomLettersAsyncViewModel: RandomLettersViewModel { private let randomLettersGenerator = RandomLettersGenerator.shared func loadRandomLetters(throwException: Bool) { - #if !NATIVE_COROUTINES_SWIFT_EXPORT Task { isLoading = true result = nil do { + #if NATIVE_COROUTINES_SWIFT_EXPORT + let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLettersNative(throwException: throwException)) + #else let letters = try await asyncFunction(for: randomLettersGenerator.getRandomLetters(throwException: throwException)) + #endif result = .success(letters) } catch { result = .failure(error) } isLoading = false } - #endif } } diff --git a/sample/Async/SwiftUIAsyncTest.swift b/sample/Async/SwiftUIAsyncTest.swift index 5dbdb805..6a49ecd8 100644 --- a/sample/Async/SwiftUIAsyncTest.swift +++ b/sample/Async/SwiftUIAsyncTest.swift @@ -19,24 +19,28 @@ struct SwiftUIAsyncTest: View { }.refreshable { print("Refreshable started") - #if !NATIVE_COROUTINES_SWIFT_EXPORT do { + #if NATIVE_COROUTINES_SWIFT_EXPORT + let result = try await asyncFunction(for: tests.returnValueNative(value: 20, delay: 10000)) + #else let result = try await asyncFunction(for: tests.returnValue(value: 20, delay: 10000)) + #endif print("Refreshable result: \(result)") } catch { print("Refreshable error: \(error)") } - #endif }.task { print("Task started") - #if !NATIVE_COROUTINES_SWIFT_EXPORT do { + #if NATIVE_COROUTINES_SWIFT_EXPORT + let result = try await asyncFunction(for: tests.returnValueNative(value: 2, delay: 10000)) + #else let result = try await asyncFunction(for: tests.returnValue(value: 2, delay: 10000)) + #endif print("Task result: \(result)") } catch { print("Task error: \(error)") } - #endif } } diff --git a/sample/Combine/CombineFutureIntegrationTests.swift b/sample/Combine/CombineFutureIntegrationTests.swift index c844b592..e3e20da4 100644 --- a/sample/Combine/CombineFutureIntegrationTests.swift +++ b/sample/Combine/CombineFutureIntegrationTests.swift @@ -11,11 +11,14 @@ import NativeCoroutinesSampleShared class CombineFutureIntegrationTests: XCTestCase { - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testValueReceived() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() let sendValue = randomInt() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let future = createFuture(for: { await integrationTests.returnValueNative(value: sendValue, delay: 1000) }) + #else let future = createFuture(for: integrationTests.returnValue(value: sendValue, delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let completionExpectation = expectation(description: "Waiting for completion") let cancellable = future.sink { completion in @@ -24,21 +27,29 @@ class CombineFutureIntegrationTests: XCTestCase { } completionExpectation.fulfill() } receiveValue: { value in + #if NATIVE_COROUTINES_SWIFT_EXPORT + XCTAssertEqual(value, sendValue, "Received incorrect value") + #else XCTAssertEqual(value.int32Value, sendValue, "Received incorrect value") + #endif valueExpectation.fulfill() } _ = cancellable // This is just to remove the unused variable warning + #if !NATIVE_COROUTINES_SWIFT_EXPORT XCTAssertEqual(integrationTests.uncompletedJobCount, 1, "There should be 1 uncompleted job") + #endif wait(for: [valueExpectation, completionExpectation], timeout: 3) delay(1) // Delay is needed else the job isn't completed yet XCTAssertEqual(integrationTests.uncompletedJobCount, 0, "The job should have completed by now") } - #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNilValueReceived() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let future = createFuture(for: { await integrationTests.returnNullNative(delay: 1000) }) + #else let future = createFuture(for: integrationTests.returnNull(delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let completionExpectation = expectation(description: "Waiting for completion") let cancellable = future.sink { completion in @@ -51,14 +62,16 @@ class CombineFutureIntegrationTests: XCTestCase { valueExpectation.fulfill() } _ = cancellable // This is just to remove the unused variable warning + #if !NATIVE_COROUTINES_SWIFT_EXPORT XCTAssertEqual(integrationTests.uncompletedJobCount, 1, "There should be 1 uncompleted job") + #endif wait(for: [valueExpectation, completionExpectation], timeout: 3) delay(1) // Delay is needed else the job isn't completed yet XCTAssertEqual(integrationTests.uncompletedJobCount, 0, "The job should have completed by now") } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testExceptionReceived() { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -87,6 +100,7 @@ class CombineFutureIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testErrorReceived() { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -114,10 +128,13 @@ class CombineFutureIntegrationTests: XCTestCase { } #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNotOnMainThread() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let future = createFuture(for: { await integrationTests.returnValueNative(value: 1, delay: 1000) }) + #else let future = createFuture(for: integrationTests.returnValue(value: 1, delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let completionExpectation = expectation(description: "Waiting for completion") XCTAssertTrue(Thread.isMainThread, "Test should run on the main thread") @@ -131,9 +148,9 @@ class CombineFutureIntegrationTests: XCTestCase { _ = cancellable // This is just to remove the unused variable warning wait(for: [valueExpectation, completionExpectation], timeout: 3) } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Cancellation isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80970 func testCancellation() { let integrationTests = SuspendIntegrationTests() let callbackExpectation = expectation(description: "Waiting for callback not to get called") @@ -189,6 +206,7 @@ class CombineFutureIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Suspend functions returning Unit aren't supported yet, see https://youtrack.jetbrains.com/issue/KT-81593 func testUnitReturnType() { let integrationTests = SuspendIntegrationTests() let future = createFuture(for: integrationTests.returnUnit(delay: 100)) diff --git a/sample/Combine/RandomLettersCombineViewModel.swift b/sample/Combine/RandomLettersCombineViewModel.swift index 24908789..f92d1b15 100644 --- a/sample/Combine/RandomLettersCombineViewModel.swift +++ b/sample/Combine/RandomLettersCombineViewModel.swift @@ -22,10 +22,13 @@ class RandomLettersCombineViewModel: RandomLettersViewModel { func loadRandomLetters(throwException: Bool) { isLoading = true result = nil - #if !NATIVE_COROUTINES_SWIFT_EXPORT - createFuture(for: randomLettersGenerator.getRandomLetters(throwException: throwException)) + #if NATIVE_COROUTINES_SWIFT_EXPORT + let future = createFuture(for: { await self.randomLettersGenerator.getRandomLettersNative(throwException: throwException) }) + #else + let future = createFuture(for: randomLettersGenerator.getRandomLetters(throwException: throwException)) + #endif // Update the UI on the main thread - .receive(on: DispatchQueue.main) + future.receive(on: DispatchQueue.main) .sink { [weak self] completion in if case let .failure(error) = completion { self?.result = .failure(error) @@ -34,6 +37,5 @@ class RandomLettersCombineViewModel: RandomLettersViewModel { } receiveValue: { [weak self] word in self?.result = .success(word) }.store(in: &cancellables) - #endif } } diff --git a/sample/KMPNativeCoroutinesSample.xcodeproj/project.pbxproj b/sample/KMPNativeCoroutinesSample.xcodeproj/project.pbxproj index d9947e3a..cce6e840 100644 --- a/sample/KMPNativeCoroutinesSample.xcodeproj/project.pbxproj +++ b/sample/KMPNativeCoroutinesSample.xcodeproj/project.pbxproj @@ -1510,7 +1510,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 14.0; }; name = Debug; }; @@ -1578,7 +1578,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 14.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1652,7 +1652,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 14.0; }; name = Debug; }; @@ -1718,7 +1718,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 14.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -1917,7 +1917,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 6.0; + WATCHOS_DEPLOYMENT_TARGET = 7.0; }; name = Debug; }; @@ -1983,7 +1983,7 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; VALIDATE_PRODUCT = YES; - WATCHOS_DEPLOYMENT_TARGET = 6.0; + WATCHOS_DEPLOYMENT_TARGET = 7.0; }; name = Release; }; @@ -2202,7 +2202,7 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; - WATCHOS_DEPLOYMENT_TARGET = 6.0; + WATCHOS_DEPLOYMENT_TARGET = 7.0; }; name = Debug; }; @@ -2269,7 +2269,7 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 4; VALIDATE_PRODUCT = YES; - WATCHOS_DEPLOYMENT_TARGET = 6.0; + WATCHOS_DEPLOYMENT_TARGET = 7.0; }; name = Release; }; @@ -2475,7 +2475,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = "iOS App/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2544,7 +2544,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = "iOS App/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2752,7 +2752,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2818,7 +2818,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/sample/RxSwift/RandomLettersRxSwiftViewModel.swift b/sample/RxSwift/RandomLettersRxSwiftViewModel.swift index b13c64ff..114c28bd 100644 --- a/sample/RxSwift/RandomLettersRxSwiftViewModel.swift +++ b/sample/RxSwift/RandomLettersRxSwiftViewModel.swift @@ -21,10 +21,13 @@ class RandomLettersRxSwiftViewModel: RandomLettersViewModel { func loadRandomLetters(throwException: Bool) { isLoading = true result = nil - #if !NATIVE_COROUTINES_SWIFT_EXPORT - _ = createSingle(for: randomLettersGenerator.getRandomLetters(throwException: throwException)) + #if NATIVE_COROUTINES_SWIFT_EXPORT + let single = createSingle(for: { await self.randomLettersGenerator.getRandomLettersNative(throwException: throwException) }) + #else + let single = createSingle(for: randomLettersGenerator.getRandomLetters(throwException: throwException)) + #endif // Update the UI on the main thread - .observe(on: MainScheduler.instance) + _ = single.observe(on: MainScheduler.instance) .subscribe(onSuccess: { [weak self] word in self?.result = .success(word) }, onFailure: { [weak self] error in @@ -32,6 +35,5 @@ class RandomLettersRxSwiftViewModel: RandomLettersViewModel { }, onDisposed: { [weak self] in self?.isLoading = false }) - #endif } } diff --git a/sample/RxSwift/RxSwiftSingleIntegrationTests.swift b/sample/RxSwift/RxSwiftSingleIntegrationTests.swift index dd374dda..52c4692e 100644 --- a/sample/RxSwift/RxSwiftSingleIntegrationTests.swift +++ b/sample/RxSwift/RxSwiftSingleIntegrationTests.swift @@ -11,15 +11,22 @@ import NativeCoroutinesSampleShared class RxSwiftSingleIntegrationTests: XCTestCase { - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testValueReceived() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() let sendValue = randomInt() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let single = createSingle(for: { await integrationTests.returnValueNative(value: sendValue, delay: 1000) }) + #else let single = createSingle(for: integrationTests.returnValue(value: sendValue, delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let disposedExpectation = expectation(description: "Waiting for dispose") let disposable = single.subscribe(onSuccess: { value in + #if NATIVE_COROUTINES_SWIFT_EXPORT + XCTAssertEqual(value, sendValue, "Received incorrect value") + #else XCTAssertEqual(value.int32Value, sendValue, "Received incorrect value") + #endif valueExpectation.fulfill() }, onFailure: { _ in XCTFail("Single shouldn't fail") @@ -27,17 +34,21 @@ class RxSwiftSingleIntegrationTests: XCTestCase { disposedExpectation.fulfill() }) _ = disposable // This is just to remove the unused variable warning + #if !NATIVE_COROUTINES_SWIFT_EXPORT XCTAssertEqual(integrationTests.uncompletedJobCount, 1, "There should be 1 uncompleted job") + #endif wait(for: [valueExpectation, disposedExpectation], timeout: 3) delay(1) // Delay is needed else the job isn't completed yet XCTAssertEqual(integrationTests.uncompletedJobCount, 0, "The job should have completed by now") } - #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNilValueReceived() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let single = createSingle(for: { await integrationTests.returnNullNative(delay: 1000) }) + #else let single = createSingle(for: integrationTests.returnNull(delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let disposedExpectation = expectation(description: "Waiting for dispose") let disposable = single.subscribe(onSuccess: { value in @@ -49,14 +60,16 @@ class RxSwiftSingleIntegrationTests: XCTestCase { disposedExpectation.fulfill() }) _ = disposable // This is just to remove the unused variable warning + #if !NATIVE_COROUTINES_SWIFT_EXPORT XCTAssertEqual(integrationTests.uncompletedJobCount, 1, "There should be 1 uncompleted job") + #endif wait(for: [valueExpectation, disposedExpectation], timeout: 3) delay(1) // Delay is needed else the job isn't completed yet XCTAssertEqual(integrationTests.uncompletedJobCount, 0, "The job should have completed by now") } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testExceptionReceived() { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -84,6 +97,7 @@ class RxSwiftSingleIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Exception throwing isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80971 func testErrorReceived() { let integrationTests = SuspendIntegrationTests() let sendMessage = randomString() @@ -110,10 +124,13 @@ class RxSwiftSingleIntegrationTests: XCTestCase { } #endif - #if !NATIVE_COROUTINES_SWIFT_EXPORT func testNotOnMainThread() { - let integrationTests = SuspendIntegrationTests() + let integrationTests = KotlinSuspendIntegrationTests() + #if NATIVE_COROUTINES_SWIFT_EXPORT + let single = createSingle(for: { await integrationTests.returnValueNative(value: 1, delay: 1000) }) + #else let single = createSingle(for: integrationTests.returnValue(value: 1, delay: 1000)) + #endif let valueExpectation = expectation(description: "Waiting for value") let disposedExpectation = expectation(description: "Waiting for dispose") XCTAssertTrue(Thread.isMainThread, "Test should run on the main thread") @@ -127,9 +144,9 @@ class RxSwiftSingleIntegrationTests: XCTestCase { _ = disposable // This is just to remove the unused variable warning wait(for: [valueExpectation, disposedExpectation], timeout: 3) } - #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Cancellation isn't supported yet, see https://youtrack.jetbrains.com/issue/KT-80970 func testCancellation() { let integrationTests = SuspendIntegrationTests() let callbackExpectation = expectation(description: "Waiting for callback not to get called") @@ -190,6 +207,7 @@ class RxSwiftSingleIntegrationTests: XCTestCase { #endif #if !NATIVE_COROUTINES_SWIFT_EXPORT + /// Suspend functions returning Unit aren't supported yet, see https://youtrack.jetbrains.com/issue/KT-81593 func testUnitReturnType() { let integrationTests = SuspendIntegrationTests() let single = createSingle(for: integrationTests.returnUnit(delay: 1000)) diff --git a/sample/shared/build.gradle.kts b/sample/shared/build.gradle.kts index 77e95cba..f9239eb4 100644 --- a/sample/shared/build.gradle.kts +++ b/sample/shared/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.plugin.mpp.apple.swiftexport.SWIFT_EXPORT_COROUTINES_SUPPORT_TURNED_ON + plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.plugin.serialization) @@ -50,6 +52,9 @@ kotlin { swiftExport { moduleName = "NativeCoroutinesSampleShared" flattenPackage = "com.rickclephas.kmp.nativecoroutines.sample" + configure { + settings.put(SWIFT_EXPORT_COROUTINES_SUPPORT_TURNED_ON, "true") + } } } diff --git a/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/NativeCoroutinesObjCExport.kt b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/NativeCoroutinesObjCExport.kt new file mode 100644 index 00000000..f6d9941a --- /dev/null +++ b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/NativeCoroutinesObjCExport.kt @@ -0,0 +1,9 @@ +package com.rickclephas.kmp.nativecoroutines.sample + +/** + * Marks sample declarations that are only supported with the ObjC export + */ +@Target(AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION) +@Retention(AnnotationRetention.BINARY) +@MustBeDocumented +public annotation class NativeCoroutinesObjCExport diff --git a/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/CompilerIntegrationTests.kt b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/CompilerIntegrationTests.kt index c6f35891..867c0de7 100644 --- a/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/CompilerIntegrationTests.kt +++ b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/CompilerIntegrationTests.kt @@ -2,6 +2,7 @@ package com.rickclephas.kmp.nativecoroutines.sample.tests import com.rickclephas.kmp.nativecoroutines.NativeCoroutines import com.rickclephas.kmp.nativecoroutines.NativeCoroutinesIgnore +import com.rickclephas.kmp.nativecoroutines.sample.NativeCoroutinesObjCExport import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow @@ -36,6 +37,7 @@ public class CompilerIntegrationTests: IntegrationTests() { } @NativeCoroutines + @NativeCoroutinesObjCExport // https://youtrack.jetbrains.com/issue/KT-82282 public suspend fun returnGenericVarargValues(vararg values: T): Array { return values } diff --git a/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/SuspendIntegrationTests.kt b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/SuspendIntegrationTests.kt index 8f0f741c..b1a89f16 100644 --- a/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/SuspendIntegrationTests.kt +++ b/sample/shared/src/commonMain/kotlin/com/rickclephas/kmp/nativecoroutines/sample/tests/SuspendIntegrationTests.kt @@ -1,6 +1,7 @@ package com.rickclephas.kmp.nativecoroutines.sample.tests import com.rickclephas.kmp.nativecoroutines.NativeCoroutines +import com.rickclephas.kmp.nativecoroutines.sample.NativeCoroutinesObjCExport import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow @@ -49,6 +50,7 @@ public class SuspendIntegrationTests: IntegrationTests() { } @NativeCoroutines + @NativeCoroutinesObjCExport // https://youtrack.jetbrains.com/issue/KT-81593 public suspend fun returnUnit(delay: Long) { delay(delay) }