diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index 8057c17d314..626aa205c37 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,3 +1,8 @@ +## 26.1.4 + +* [swift][kotlin] Fixes crash that occurs when an object that is removed from the instance manager + calls to Dart. + ## 26.1.3 * [dart] Fixes error from constructor parameter sharing name with attached field for a ProxyApi. diff --git a/packages/pigeon/lib/src/generator_tools.dart b/packages/pigeon/lib/src/generator_tools.dart index c0ab83cbedf..cb8aa5435db 100644 --- a/packages/pigeon/lib/src/generator_tools.dart +++ b/packages/pigeon/lib/src/generator_tools.dart @@ -15,7 +15,7 @@ import 'generator.dart'; /// The current version of pigeon. /// /// This must match the version in pubspec.yaml. -const String pigeonVersion = '26.1.3'; +const String pigeonVersion = '26.1.4'; /// Read all the content from [stdin] to a String. String readStdin() { diff --git a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart index 8b687c50f8a..479fdaddcc4 100644 --- a/packages/pigeon/lib/src/kotlin/kotlin_generator.dart +++ b/packages/pigeon/lib/src/kotlin/kotlin_generator.dart @@ -2241,6 +2241,18 @@ fun deepEquals(a: Any?, b: Any?): Boolean { $errorClassName("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return'''); }, + addTrailingNewline: false, + ); + indent.writeScoped( + ' else if (!pigeonRegistrar.instanceManager.containsInstance(${classMemberNamePrefix}instanceArg)) {', + '}', + () { + indent.format(''' + callback( + Result.failure( + $errorClassName("missing-instance-error", "Callback to `${api.name}.${method.name}` failed because native instance was not in the instance manager.", ""))) + return'''); + }, ); indent.writeln( 'val binaryMessenger = pigeonRegistrar.binaryMessenger', diff --git a/packages/pigeon/lib/src/swift/swift_generator.dart b/packages/pigeon/lib/src/swift/swift_generator.dart index 310a463d587..220f0ba8d6d 100644 --- a/packages/pigeon/lib/src/swift/swift_generator.dart +++ b/packages/pigeon/lib/src/swift/swift_generator.dart @@ -2692,7 +2692,26 @@ func deepHash${generatorOptions.fileSpecificClassNameComponent}(value: Any?, has code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return'''); - }); + }, addTrailingNewline: false); + + final String instanceArgName = _getSafeArgumentName( + 0, + NamedType(name: 'pigeonInstance', type: apiAsTypeDeclaration), + ); + indent.writeScoped( + ' else if !pigeonRegistrar.instanceManager.containsInstance($instanceArgName as AnyObject) {', + '}', + () { + indent.format(''' + completion( + .failure( + ${_getErrorClassName(generatorOptions)}( + code: "missing-instance-error", + message: "Callback to `${api.name}.${method.name}` failed because native instance was not in the instance manager.", details: ""))) + return'''); + }, + ); + indent.writeln( 'let binaryMessenger = pigeonRegistrar.binaryMessenger', ); diff --git a/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTestApiImpls.kt b/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTestApiImpls.kt index ddf5b81888c..d58c351d0e7 100644 --- a/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTestApiImpls.kt +++ b/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTestApiImpls.kt @@ -15,7 +15,7 @@ interface ProxyApiInterface @RequiresApi(25) class ClassWithApiRequirement -class ProxyApiRegistrar(binaryMessenger: BinaryMessenger) : +open class ProxyApiRegistrar(binaryMessenger: BinaryMessenger) : ProxyApiTestsPigeonProxyApiRegistrar(binaryMessenger) { override fun getPigeonApiProxyApiTestClass(): PigeonApiProxyApiTestClass { return ProxyApiTestClassApi(this) diff --git a/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTests.gen.kt b/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTests.gen.kt index 97eb95d69d8..ab979311a10 100644 --- a/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTests.gen.kt +++ b/packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/ProxyApiTests.gen.kt @@ -3133,6 +3133,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterNoop` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3160,6 +3168,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterThrowError` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3192,6 +3208,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterThrowErrorFromVoid` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3224,6 +3248,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoBool` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3264,6 +3296,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoInt` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3303,6 +3343,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoDouble` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3343,6 +3391,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoString` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3383,6 +3439,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoUint8List` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3423,6 +3487,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoList` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3463,6 +3535,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoProxyApiList` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3503,6 +3583,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoMap` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3542,6 +3630,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoProxyApiMap` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3582,6 +3678,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoEnum` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3622,6 +3726,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoProxyApi` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3662,6 +3774,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableBool` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3695,6 +3815,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableInt` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3728,6 +3856,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableDouble` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3761,6 +3897,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableString` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3794,6 +3938,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableUint8List` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3827,6 +3979,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableList` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3860,6 +4020,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableMap` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3893,6 +4061,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableEnum` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3926,6 +4102,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoNullableProxyApi` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3958,6 +4142,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterNoopAsync` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -3990,6 +4182,14 @@ abstract class PigeonApiProxyApiTestClass( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiTestClass.flutterEchoAsyncString` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec @@ -4174,6 +4374,14 @@ open class PigeonApiProxyApiInterface( Result.failure( ProxyApiTestsError("ignore-calls-error", "Calls to Dart are being ignored.", ""))) return + } else if (!pigeonRegistrar.instanceManager.containsInstance(pigeon_instanceArg)) { + callback( + Result.failure( + ProxyApiTestsError( + "missing-instance-error", + "Callback to `ProxyApiInterface.anInterfaceMethod` failed because native instance was not in the instance manager.", + ""))) + return } val binaryMessenger = pigeonRegistrar.binaryMessenger val codec = pigeonRegistrar.codec diff --git a/packages/pigeon/platform_tests/test_plugin/android/src/test/kotlin/com/example/test_plugin/ProxyApiTest.kt b/packages/pigeon/platform_tests/test_plugin/android/src/test/kotlin/com/example/test_plugin/ProxyApiTest.kt new file mode 100644 index 00000000000..1a370133fa0 --- /dev/null +++ b/packages/pigeon/platform_tests/test_plugin/android/src/test/kotlin/com/example/test_plugin/ProxyApiTest.kt @@ -0,0 +1,30 @@ +// Copyright 2013 The Flutter Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package com.example.test_plugin + +import io.flutter.plugin.common.StandardMessageCodec +import junit.framework.TestCase.assertEquals +import org.junit.Test + +class ProxyApiTest { + @Test + fun callsToDartFailIfTheInstanceIsNotInTheInstanceManager() { + val testObject = ProxyApiTestClass() + + val api = ProxyApiTestClassApi(TestProxyApiRegistrar()) + api.pigeonRegistrar.instanceManager.addHostCreatedInstance(testObject) + api.pigeonRegistrar.instanceManager.clear() + + var b: Throwable? = null + api.flutterNoop(testObject) { b = it.exceptionOrNull() } + + assertEquals( + b?.message, + "Callback to `ProxyApiTestClass.flutterNoop` failed because native instance was not in the instance manager.") + } +} + +/** Test implementation of `ProxyApiRegistrar` that provides a test binary messenger. */ +class TestProxyApiRegistrar : ProxyApiRegistrar(EchoBinaryMessenger(StandardMessageCodec())) diff --git a/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/ProxyApiTests.gen.swift b/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/ProxyApiTests.gen.swift index 56de32c5cf1..3e392185d44 100644 --- a/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/ProxyApiTests.gen.swift +++ b/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/ProxyApiTests.gen.swift @@ -2850,6 +2850,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterNoop` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -2885,6 +2894,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterThrowError` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -2921,6 +2939,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterThrowErrorFromVoid` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -2956,6 +2983,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoBool` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -2998,6 +3034,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoInt` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3040,6 +3085,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoDouble` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3082,6 +3136,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoString` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3124,6 +3187,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoUint8List` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3166,6 +3238,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoList` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3209,6 +3290,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoProxyApiList` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3251,6 +3341,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoMap` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3295,6 +3394,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoProxyApiMap` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3337,6 +3445,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoEnum` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3379,6 +3496,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoProxyApi` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3421,6 +3547,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableBool` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3457,6 +3592,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableInt` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3493,6 +3637,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableDouble` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3529,6 +3682,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableString` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3565,6 +3727,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableUint8List` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3601,6 +3772,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableList` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3637,6 +3817,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableMap` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3673,6 +3862,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableEnum` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3710,6 +3908,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoNullableProxyApi` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3747,6 +3954,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterNoopAsync` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3782,6 +3998,15 @@ final class PigeonApiProxyApiTestClass: PigeonApiProtocolProxyApiTestClass { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiTestClass.flutterEchoAsyncString` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec @@ -3987,6 +4212,15 @@ final class PigeonApiProxyApiInterface: PigeonApiProtocolProxyApiInterface { code: "ignore-calls-error", message: "Calls to Dart are being ignored.", details: ""))) return + } else if !pigeonRegistrar.instanceManager.containsInstance(pigeonInstanceArg as AnyObject) { + completion( + .failure( + ProxyApiTestsError( + code: "missing-instance-error", + message: + "Callback to `ProxyApiInterface.anInterfaceMethod` failed because native instance was not in the instance manager.", + details: ""))) + return } let binaryMessenger = pigeonRegistrar.binaryMessenger let codec = pigeonRegistrar.codec diff --git a/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/TestPlugin.swift b/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/TestPlugin.swift index a6e538b1618..fec48857175 100644 --- a/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/TestPlugin.swift +++ b/packages/pigeon/platform_tests/test_plugin/darwin/test_plugin/Sources/test_plugin/TestPlugin.swift @@ -1329,871 +1329,871 @@ class SendConsistentNumbers: StreamConsistentNumbersStreamHandler { } } -class ProxyApiDelegate: ProxyApiTestsPigeonProxyApiDelegate { - func pigeonApiProxyApiTestClass(_ registrar: ProxyApiTestsPigeonProxyApiRegistrar) - -> PigeonApiProxyApiTestClass +class ProxyApiTestClassDelegate: PigeonApiDelegateProxyApiTestClass { + func pigeonDefaultConstructor( + pigeonApi: PigeonApiProxyApiTestClass, aBool: Bool, anInt: Int64, aDouble: Double, + aString: String, aUint8List: FlutterStandardTypedData, aList: [Any?], aMap: [String?: Any?], + anEnum: ProxyApiTestEnum, aProxyApi: ProxyApiSuperClass, aNullableBool: Bool?, + aNullableInt: Int64?, aNullableDouble: Double?, aNullableString: String?, + aNullableUint8List: FlutterStandardTypedData?, aNullableList: [Any?]?, + aNullableMap: [String?: Any?]?, aNullableEnum: ProxyApiTestEnum?, + aNullableProxyApi: ProxyApiSuperClass?, boolParam: Bool, intParam: Int64, + doubleParam: Double, stringParam: String, aUint8ListParam: FlutterStandardTypedData, + listParam: [Any?], mapParam: [String?: Any?], enumParam: ProxyApiTestEnum, + proxyApiParam: ProxyApiSuperClass, nullableBoolParam: Bool?, nullableIntParam: Int64?, + nullableDoubleParam: Double?, nullableStringParam: String?, + nullableUint8ListParam: FlutterStandardTypedData?, nullableListParam: [Any?]?, + nullableMapParam: [String?: Any?]?, nullableEnumParam: ProxyApiTestEnum?, + nullableProxyApiParam: ProxyApiSuperClass? + ) throws -> ProxyApiTestClass { + return ProxyApiTestClass() + } + + func namedConstructor( + pigeonApi: PigeonApiProxyApiTestClass, aBool: Bool, anInt: Int64, aDouble: Double, + aString: String, aUint8List: FlutterStandardTypedData, aList: [Any?], aMap: [String?: Any?], + anEnum: ProxyApiTestEnum, aProxyApi: ProxyApiSuperClass, aNullableBool: Bool?, + aNullableInt: Int64?, aNullableDouble: Double?, aNullableString: String?, + aNullableUint8List: FlutterStandardTypedData?, aNullableList: [Any?]?, + aNullableMap: [String?: Any?]?, aNullableEnum: ProxyApiTestEnum?, + aNullableProxyApi: ProxyApiSuperClass? + ) throws -> ProxyApiTestClass { + return ProxyApiTestClass() + } + + func attachedField(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> ProxyApiSuperClass { - class ProxyApiTestClassDelegate: PigeonApiDelegateProxyApiTestClass { - func pigeonDefaultConstructor( - pigeonApi: PigeonApiProxyApiTestClass, aBool: Bool, anInt: Int64, aDouble: Double, - aString: String, aUint8List: FlutterStandardTypedData, aList: [Any?], aMap: [String?: Any?], - anEnum: ProxyApiTestEnum, aProxyApi: ProxyApiSuperClass, aNullableBool: Bool?, - aNullableInt: Int64?, aNullableDouble: Double?, aNullableString: String?, - aNullableUint8List: FlutterStandardTypedData?, aNullableList: [Any?]?, - aNullableMap: [String?: Any?]?, aNullableEnum: ProxyApiTestEnum?, - aNullableProxyApi: ProxyApiSuperClass?, boolParam: Bool, intParam: Int64, - doubleParam: Double, stringParam: String, aUint8ListParam: FlutterStandardTypedData, - listParam: [Any?], mapParam: [String?: Any?], enumParam: ProxyApiTestEnum, - proxyApiParam: ProxyApiSuperClass, nullableBoolParam: Bool?, nullableIntParam: Int64?, - nullableDoubleParam: Double?, nullableStringParam: String?, - nullableUint8ListParam: FlutterStandardTypedData?, nullableListParam: [Any?]?, - nullableMapParam: [String?: Any?]?, nullableEnumParam: ProxyApiTestEnum?, - nullableProxyApiParam: ProxyApiSuperClass? - ) throws -> ProxyApiTestClass { - return ProxyApiTestClass() - } - - func namedConstructor( - pigeonApi: PigeonApiProxyApiTestClass, aBool: Bool, anInt: Int64, aDouble: Double, - aString: String, aUint8List: FlutterStandardTypedData, aList: [Any?], aMap: [String?: Any?], - anEnum: ProxyApiTestEnum, aProxyApi: ProxyApiSuperClass, aNullableBool: Bool?, - aNullableInt: Int64?, aNullableDouble: Double?, aNullableString: String?, - aNullableUint8List: FlutterStandardTypedData?, aNullableList: [Any?]?, - aNullableMap: [String?: Any?]?, aNullableEnum: ProxyApiTestEnum?, - aNullableProxyApi: ProxyApiSuperClass? - ) throws -> ProxyApiTestClass { - return ProxyApiTestClass() - } - - func attachedField(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> ProxyApiSuperClass - { - return ProxyApiSuperClass() - } + return ProxyApiSuperClass() + } - func staticAttachedField(pigeonApi: PigeonApiProxyApiTestClass) throws -> ProxyApiSuperClass { - return ProxyApiSuperClass() - } + func staticAttachedField(pigeonApi: PigeonApiProxyApiTestClass) throws -> ProxyApiSuperClass { + return ProxyApiSuperClass() + } - func aBool(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> Bool - { - return true - } + func aBool(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> Bool + { + return true + } - func anInt(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> Int64 - { - return 0 - } + func anInt(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> Int64 + { + return 0 + } - func aDouble(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> Double - { - return 0.0 - } + func aDouble(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> Double + { + return 0.0 + } - func aString(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> String - { - return "" - } + func aString(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> String + { + return "" + } - func aUint8List(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> FlutterStandardTypedData - { - return FlutterStandardTypedData(bytes: Data()) - } + func aUint8List(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> FlutterStandardTypedData + { + return FlutterStandardTypedData(bytes: Data()) + } - func aList(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> [Any?] - { - return [] - } + func aList(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> [Any?] + { + return [] + } - func aMap(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> [String?: Any?] - { - return [:] - } + func aMap(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> [String?: Any?] + { + return [:] + } - func anEnum(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws - -> ProxyApiTestEnum - { - return ProxyApiTestEnum.one - } + func anEnum(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws + -> ProxyApiTestEnum + { + return ProxyApiTestEnum.one + } - func aProxyApi(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> ProxyApiSuperClass - { - return ProxyApiSuperClass() - } + func aProxyApi(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> ProxyApiSuperClass + { + return ProxyApiSuperClass() + } - func aNullableBool(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> Bool? - { - return nil - } + func aNullableBool(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> Bool? + { + return nil + } - func aNullableInt(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> Int64? - { - return nil - } + func aNullableInt(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> Int64? + { + return nil + } - func aNullableDouble(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> Double? - { - return nil - } + func aNullableDouble(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> Double? + { + return nil + } - func aNullableString(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> String? - { - return nil - } + func aNullableString(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> String? + { + return nil + } - func aNullableUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass - ) throws -> FlutterStandardTypedData? { - return nil - } + func aNullableUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass + ) throws -> FlutterStandardTypedData? { + return nil + } - func aNullableList(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> [Any?]? - { - return nil - } + func aNullableList(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> [Any?]? + { + return nil + } - func aNullableMap(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> [String?: Any?]? - { - return nil - } + func aNullableMap(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> [String?: Any?]? + { + return nil + } - func aNullableEnum(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> ProxyApiTestEnum? - { - return nil - } + func aNullableEnum(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> ProxyApiTestEnum? + { + return nil + } - func aNullableProxyApi( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass - ) throws -> ProxyApiSuperClass? { - return nil - } + func aNullableProxyApi( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass + ) throws -> ProxyApiSuperClass? { + return nil + } - func noop(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws { - } + func noop(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) throws { + } - func throwError(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) - throws -> Any? - { - throw ProxyApiTestsError(code: "code", message: "message", details: "details") - } + func throwError(pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass) + throws -> Any? + { + throw ProxyApiTestsError(code: "code", message: "message", details: "details") + } - func throwErrorFromVoid( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass - ) throws { - throw ProxyApiTestsError(code: "code", message: "message", details: "details") - } + func throwErrorFromVoid( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass + ) throws { + throw ProxyApiTestsError(code: "code", message: "message", details: "details") + } - func throwFlutterError( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass - ) throws -> Any? { - throw ProxyApiTestsError(code: "code", message: "message", details: "details") - } + func throwFlutterError( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass + ) throws -> Any? { + throw ProxyApiTestsError(code: "code", message: "message", details: "details") + } - func echoInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64 - ) throws -> Int64 { - return anInt - } + func echoInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64 + ) throws -> Int64 { + return anInt + } - func echoDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double - ) throws -> Double { - return aDouble - } + func echoDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double + ) throws -> Double { + return aDouble + } - func echoBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool - ) throws -> Bool { - return aBool - } + func echoBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool + ) throws -> Bool { + return aBool + } - func echoString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String - ) throws -> String { - return aString - } + func echoString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String + ) throws -> String { + return aString + } - func echoUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aUint8List: FlutterStandardTypedData - ) throws -> FlutterStandardTypedData { - return aUint8List - } + func echoUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aUint8List: FlutterStandardTypedData + ) throws -> FlutterStandardTypedData { + return aUint8List + } - func echoObject( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any - ) throws -> Any { - return anObject - } + func echoObject( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any + ) throws -> Any { + return anObject + } - func echoList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?] - ) throws -> [Any?] { - return aList - } + func echoList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?] + ) throws -> [Any?] { + return aList + } - func echoProxyApiList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aList: [ProxyApiTestClass] - ) throws -> [ProxyApiTestClass] { - return aList - } + func echoProxyApiList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aList: [ProxyApiTestClass] + ) throws -> [ProxyApiTestClass] { + return aList + } - func echoMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: Any?] - ) throws -> [String?: Any?] { - return aMap - } + func echoMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: Any?] + ) throws -> [String?: Any?] { + return aMap + } - func echoProxyApiMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String: ProxyApiTestClass] - ) throws -> [String: ProxyApiTestClass] { - return aMap - } + func echoProxyApiMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String: ProxyApiTestClass] + ) throws -> [String: ProxyApiTestClass] { + return aMap + } - func echoEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - anEnum: ProxyApiTestEnum - ) throws -> ProxyApiTestEnum { - return anEnum - } + func echoEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + anEnum: ProxyApiTestEnum + ) throws -> ProxyApiTestEnum { + return anEnum + } - func echoProxyApi( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aProxyApi: ProxyApiSuperClass - ) throws -> ProxyApiSuperClass { - return aProxyApi - } + func echoProxyApi( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aProxyApi: ProxyApiSuperClass + ) throws -> ProxyApiSuperClass { + return aProxyApi + } - func echoNullableInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableInt: Int64? - ) throws -> Int64? { - return aNullableInt - } + func echoNullableInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableInt: Int64? + ) throws -> Int64? { + return aNullableInt + } - func echoNullableDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableDouble: Double? - ) throws -> Double? { - return aNullableDouble - } + func echoNullableDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableDouble: Double? + ) throws -> Double? { + return aNullableDouble + } - func echoNullableBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableBool: Bool? - ) throws -> Bool? { - return aNullableBool - } + func echoNullableBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableBool: Bool? + ) throws -> Bool? { + return aNullableBool + } - func echoNullableString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableString: String? - ) throws -> String? { - return aNullableString - } + func echoNullableString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableString: String? + ) throws -> String? { + return aNullableString + } - func echoNullableUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableUint8List: FlutterStandardTypedData? - ) throws -> FlutterStandardTypedData? { - return aNullableUint8List - } + func echoNullableUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableUint8List: FlutterStandardTypedData? + ) throws -> FlutterStandardTypedData? { + return aNullableUint8List + } - func echoNullableObject( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableObject: Any? - ) throws -> Any? { - return aNullableObject - } + func echoNullableObject( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableObject: Any? + ) throws -> Any? { + return aNullableObject + } - func echoNullableList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableList: [Any?]? - ) throws -> [Any?]? { - return aNullableList - } + func echoNullableList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableList: [Any?]? + ) throws -> [Any?]? { + return aNullableList + } - func echoNullableMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableMap: [String?: Any?]? - ) throws -> [String?: Any?]? { - return aNullableMap - } + func echoNullableMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableMap: [String?: Any?]? + ) throws -> [String?: Any?]? { + return aNullableMap + } - func echoNullableEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableEnum: ProxyApiTestEnum? - ) throws -> ProxyApiTestEnum? { - return aNullableEnum - } + func echoNullableEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableEnum: ProxyApiTestEnum? + ) throws -> ProxyApiTestEnum? { + return aNullableEnum + } - func echoNullableProxyApi( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aNullableProxyApi: ProxyApiSuperClass? - ) throws -> ProxyApiSuperClass? { - return aNullableProxyApi - } + func echoNullableProxyApi( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aNullableProxyApi: ProxyApiSuperClass? + ) throws -> ProxyApiSuperClass? { + return aNullableProxyApi + } - func noopAsync( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - completion(.success(Void())) - } + func noopAsync( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + completion(.success(Void())) + } - func echoAsyncInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64, - completion: @escaping (Result) -> Void - ) { - completion(.success(anInt)) - } + func echoAsyncInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64, + completion: @escaping (Result) -> Void + ) { + completion(.success(anInt)) + } - func echoAsyncDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double, - completion: @escaping (Result) -> Void - ) { - completion(.success(aDouble)) - } + func echoAsyncDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double, + completion: @escaping (Result) -> Void + ) { + completion(.success(aDouble)) + } - func echoAsyncBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool, - completion: @escaping (Result) -> Void - ) { - completion(.success(aBool)) - } + func echoAsyncBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool, + completion: @escaping (Result) -> Void + ) { + completion(.success(aBool)) + } - func echoAsyncString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, - completion: @escaping (Result) -> Void - ) { - completion(.success(aString)) - } + func echoAsyncString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, + completion: @escaping (Result) -> Void + ) { + completion(.success(aString)) + } - func echoAsyncUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aUint8List: FlutterStandardTypedData, - completion: @escaping (Result) -> Void - ) { - completion(.success(aUint8List)) - } + func echoAsyncUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aUint8List: FlutterStandardTypedData, + completion: @escaping (Result) -> Void + ) { + completion(.success(aUint8List)) + } - func echoAsyncObject( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any, - completion: @escaping (Result) -> Void - ) { - completion(.success(anObject)) - } + func echoAsyncObject( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any, + completion: @escaping (Result) -> Void + ) { + completion(.success(anObject)) + } - func echoAsyncList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?], - completion: @escaping (Result<[Any?], Error>) -> Void - ) { - completion(.success(aList)) - } + func echoAsyncList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?], + completion: @escaping (Result<[Any?], Error>) -> Void + ) { + completion(.success(aList)) + } - func echoAsyncMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: Any?], completion: @escaping (Result<[String?: Any?], Error>) -> Void - ) { - completion(.success(aMap)) - } + func echoAsyncMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: Any?], completion: @escaping (Result<[String?: Any?], Error>) -> Void + ) { + completion(.success(aMap)) + } - func echoAsyncEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - anEnum: ProxyApiTestEnum, completion: @escaping (Result) -> Void - ) { - completion(.success(anEnum)) - } + func echoAsyncEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + anEnum: ProxyApiTestEnum, completion: @escaping (Result) -> Void + ) { + completion(.success(anEnum)) + } - func throwAsyncError( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - completion( - .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) - } + func throwAsyncError( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + completion( + .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) + } - func throwAsyncErrorFromVoid( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - completion( - .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) - } + func throwAsyncErrorFromVoid( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + completion( + .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) + } - func throwAsyncFlutterError( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - completion( - .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) - } + func throwAsyncFlutterError( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + completion( + .failure(ProxyApiTestsError(code: "code", message: "message", details: "details"))) + } - func echoAsyncNullableInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64?, - completion: @escaping (Result) -> Void - ) { - completion(.success(anInt)) - } + func echoAsyncNullableInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64?, + completion: @escaping (Result) -> Void + ) { + completion(.success(anInt)) + } - func echoAsyncNullableDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double?, - completion: @escaping (Result) -> Void - ) { - completion(.success(aDouble)) - } + func echoAsyncNullableDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double?, + completion: @escaping (Result) -> Void + ) { + completion(.success(aDouble)) + } - func echoAsyncNullableBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool?, - completion: @escaping (Result) -> Void - ) { - completion(.success(aBool)) - } + func echoAsyncNullableBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool?, + completion: @escaping (Result) -> Void + ) { + completion(.success(aBool)) + } - func echoAsyncNullableString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String?, - completion: @escaping (Result) -> Void - ) { - completion(.success(aString)) - } + func echoAsyncNullableString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String?, + completion: @escaping (Result) -> Void + ) { + completion(.success(aString)) + } - func echoAsyncNullableUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aUint8List: FlutterStandardTypedData?, - completion: @escaping (Result) -> Void - ) { - completion(.success(aUint8List)) - } + func echoAsyncNullableUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aUint8List: FlutterStandardTypedData?, + completion: @escaping (Result) -> Void + ) { + completion(.success(aUint8List)) + } - func echoAsyncNullableObject( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any?, - completion: @escaping (Result) -> Void - ) { - completion(.success(anObject)) - } + func echoAsyncNullableObject( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anObject: Any?, + completion: @escaping (Result) -> Void + ) { + completion(.success(anObject)) + } - func echoAsyncNullableList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?]?, - completion: @escaping (Result<[Any?]?, Error>) -> Void - ) { - completion(.success(aList)) - } + func echoAsyncNullableList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?]?, + completion: @escaping (Result<[Any?]?, Error>) -> Void + ) { + completion(.success(aList)) + } - func echoAsyncNullableMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, Error>) -> Void - ) { - completion(.success(aMap)) - } + func echoAsyncNullableMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, Error>) -> Void + ) { + completion(.success(aMap)) + } - func echoAsyncNullableEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - anEnum: ProxyApiTestEnum?, completion: @escaping (Result) -> Void - ) { - completion(.success(anEnum)) - } + func echoAsyncNullableEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + anEnum: ProxyApiTestEnum?, completion: @escaping (Result) -> Void + ) { + completion(.success(anEnum)) + } - func staticNoop(pigeonApi: PigeonApiProxyApiTestClass) throws { + func staticNoop(pigeonApi: PigeonApiProxyApiTestClass) throws { - } + } - func echoStaticString(pigeonApi: PigeonApiProxyApiTestClass, aString: String) throws -> String - { - return aString - } + func echoStaticString(pigeonApi: PigeonApiProxyApiTestClass, aString: String) throws -> String { + return aString + } - func staticAsyncNoop( - pigeonApi: PigeonApiProxyApiTestClass, completion: @escaping (Result) -> Void - ) { - completion(.success(Void())) - } + func staticAsyncNoop( + pigeonApi: PigeonApiProxyApiTestClass, completion: @escaping (Result) -> Void + ) { + completion(.success(Void())) + } - func callFlutterNoop( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterNoop(pigeonInstance: pigeonInstance) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterNoop( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterNoop(pigeonInstance: pigeonInstance) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterThrowError( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterThrowError(pigeonInstance: pigeonInstance) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterThrowError( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterThrowError(pigeonInstance: pigeonInstance) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterThrowErrorFromVoid( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterThrowErrorFromVoid(pigeonInstance: pigeonInstance) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterThrowErrorFromVoid( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterThrowErrorFromVoid(pigeonInstance: pigeonInstance) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoBool(pigeonInstance: pigeonInstance, aBool: aBool) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoBool(pigeonInstance: pigeonInstance, aBool: aBool) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoInt(pigeonInstance: pigeonInstance, anInt: anInt) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoInt(pigeonInstance: pigeonInstance, anInt: anInt) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoDouble(pigeonInstance: pigeonInstance, aDouble: aDouble) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoDouble(pigeonInstance: pigeonInstance, aDouble: aDouble) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoString(pigeonInstance: pigeonInstance, aString: aString) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoString(pigeonInstance: pigeonInstance, aString: aString) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aUint8List: FlutterStandardTypedData, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoUint8List(pigeonInstance: pigeonInstance, aList: aUint8List) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aUint8List: FlutterStandardTypedData, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoUint8List(pigeonInstance: pigeonInstance, aList: aUint8List) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?], - completion: @escaping (Result<[Any?], Error>) -> Void - ) { - pigeonApi.flutterEchoList(pigeonInstance: pigeonInstance, aList: aList) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?], + completion: @escaping (Result<[Any?], Error>) -> Void + ) { + pigeonApi.flutterEchoList(pigeonInstance: pigeonInstance, aList: aList) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoProxyApiList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aList: [ProxyApiTestClass?], - completion: @escaping (Result<[ProxyApiTestClass?], Error>) -> Void - ) { - pigeonApi.flutterEchoProxyApiList(pigeonInstance: pigeonInstance, aList: aList) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoProxyApiList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aList: [ProxyApiTestClass?], + completion: @escaping (Result<[ProxyApiTestClass?], Error>) -> Void + ) { + pigeonApi.flutterEchoProxyApiList(pigeonInstance: pigeonInstance, aList: aList) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: Any?], completion: @escaping (Result<[String?: Any?], Error>) -> Void - ) { - pigeonApi.flutterEchoMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: Any?], completion: @escaping (Result<[String?: Any?], Error>) -> Void + ) { + pigeonApi.flutterEchoMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoProxyApiMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: ProxyApiTestClass?], - completion: @escaping (Result<[String?: ProxyApiTestClass?], Error>) -> Void - ) { - pigeonApi.flutterEchoProxyApiMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoProxyApiMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: ProxyApiTestClass?], + completion: @escaping (Result<[String?: ProxyApiTestClass?], Error>) -> Void + ) { + pigeonApi.flutterEchoProxyApiMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - anEnum: ProxyApiTestEnum, completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoEnum(pigeonInstance: pigeonInstance, anEnum: anEnum) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + anEnum: ProxyApiTestEnum, completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoEnum(pigeonInstance: pigeonInstance, anEnum: anEnum) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoProxyApi( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aProxyApi: ProxyApiSuperClass, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoProxyApi(pigeonInstance: pigeonInstance, aProxyApi: aProxyApi) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoProxyApi( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aProxyApi: ProxyApiSuperClass, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoProxyApi(pigeonInstance: pigeonInstance, aProxyApi: aProxyApi) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableBool( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableBool(pigeonInstance: pigeonInstance, aBool: aBool) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableBool( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aBool: Bool?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableBool(pigeonInstance: pigeonInstance, aBool: aBool) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableInt( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableInt(pigeonInstance: pigeonInstance, anInt: anInt) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableInt( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, anInt: Int64?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableInt(pigeonInstance: pigeonInstance, anInt: anInt) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableDouble( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableDouble(pigeonInstance: pigeonInstance, aDouble: aDouble) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableDouble( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aDouble: Double?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableDouble(pigeonInstance: pigeonInstance, aDouble: aDouble) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableString(pigeonInstance: pigeonInstance, aString: aString) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableString(pigeonInstance: pigeonInstance, aString: aString) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableUint8List( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aUint8List: FlutterStandardTypedData?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableUint8List(pigeonInstance: pigeonInstance, aList: aUint8List) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableUint8List( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aUint8List: FlutterStandardTypedData?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableUint8List(pigeonInstance: pigeonInstance, aList: aUint8List) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableList( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?]?, - completion: @escaping (Result<[Any?]?, Error>) -> Void - ) { - pigeonApi.flutterEchoNullableList(pigeonInstance: pigeonInstance, aList: aList) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableList( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aList: [Any?]?, + completion: @escaping (Result<[Any?]?, Error>) -> Void + ) { + pigeonApi.flutterEchoNullableList(pigeonInstance: pigeonInstance, aList: aList) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableMap( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aMap: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, Error>) -> Void - ) { - pigeonApi.flutterEchoNullableMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableMap( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aMap: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, Error>) -> Void + ) { + pigeonApi.flutterEchoNullableMap(pigeonInstance: pigeonInstance, aMap: aMap) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableEnum( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - anEnum: ProxyApiTestEnum?, completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableEnum(pigeonInstance: pigeonInstance, anEnum: anEnum) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableEnum( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + anEnum: ProxyApiTestEnum?, completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableEnum(pigeonInstance: pigeonInstance, anEnum: anEnum) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoNullableProxyApi( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - aProxyApi: ProxyApiSuperClass?, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoNullableProxyApi(pigeonInstance: pigeonInstance, aProxyApi: aProxyApi) - { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoNullableProxyApi( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + aProxyApi: ProxyApiSuperClass?, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoNullableProxyApi(pigeonInstance: pigeonInstance, aProxyApi: aProxyApi) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterNoopAsync( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterNoopAsync(pigeonInstance: pigeonInstance) { response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterNoopAsync( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterNoopAsync(pigeonInstance: pigeonInstance) { response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } + } + } - func callFlutterEchoAsyncString( - pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, - completion: @escaping (Result) -> Void - ) { - pigeonApi.flutterEchoAsyncString(pigeonInstance: pigeonInstance, aString: aString) { - response in - switch response { - case .success(let res): - completion(.success(res)) - case .failure(let error): - completion(.failure(error)) - } - } + func callFlutterEchoAsyncString( + pigeonApi: PigeonApiProxyApiTestClass, pigeonInstance: ProxyApiTestClass, aString: String, + completion: @escaping (Result) -> Void + ) { + pigeonApi.flutterEchoAsyncString(pigeonInstance: pigeonInstance, aString: aString) { + response in + switch response { + case .success(let res): + completion(.success(res)) + case .failure(let error): + completion(.failure(error)) } - } + } + +} + +class ProxyApiDelegate: ProxyApiTestsPigeonProxyApiDelegate { + func pigeonApiProxyApiTestClass(_ registrar: ProxyApiTestsPigeonProxyApiRegistrar) + -> PigeonApiProxyApiTestClass + { return PigeonApiProxyApiTestClass( pigeonRegistrar: registrar, delegate: ProxyApiTestClassDelegate()) } diff --git a/packages/pigeon/platform_tests/test_plugin/example/ios/RunnerTests/ProxyApiTests.swift b/packages/pigeon/platform_tests/test_plugin/example/ios/RunnerTests/ProxyApiTests.swift new file mode 100644 index 00000000000..33b37f11937 --- /dev/null +++ b/packages/pigeon/platform_tests/test_plugin/example/ios/RunnerTests/ProxyApiTests.swift @@ -0,0 +1,37 @@ +// Copyright 2013 The Flutter Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import Flutter +import XCTest + +@testable import test_plugin + +class ProxyApiTests: XCTestCase { + func testCallsToDartFailIfTheInstanceIsNotInTheInstanceManager() { + let testObject = ProxyApiTestClass() + + let binaryMessenger = MockBinaryMessenger( + codec: FlutterStandardMessageCodec.sharedInstance()) + let registrar = ProxyApiTestsPigeonProxyApiRegistrar( + binaryMessenger: binaryMessenger, apiDelegate: ProxyApiDelegate()) + + _ = registrar.instanceManager.addHostCreatedInstance(testObject) + try? registrar.instanceManager.removeAllObjects() + + let api = PigeonApiProxyApiTestClass( + pigeonRegistrar: registrar, delegate: ProxyApiTestClassDelegate()) + + var error: String? = nil + api.flutterNoop(pigeonInstance: testObject) { response in + if case .failure(let response) = response { + error = response.message + } + } + + XCTAssertEqual( + error, + "Callback to `ProxyApiTestClass.flutterNoop` failed because native instance was not in the instance manager." + ) + } +} diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index 1158ddcab09..a6f1bd0d92a 100644 --- a/packages/pigeon/pubspec.yaml +++ b/packages/pigeon/pubspec.yaml @@ -2,7 +2,7 @@ name: pigeon description: Code generator tool to make communication between Flutter and the host platform type-safe and easier. repository: https://github.com/flutter/packages/tree/main/packages/pigeon issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pigeon%22 -version: 26.1.3 # This must match the version in lib/src/generator_tools.dart +version: 26.1.4 # This must match the version in lib/src/generator_tools.dart environment: sdk: ^3.9.0