From 4a6b001b89cbb646125a7bf6b11720b069d65d76 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Fri, 27 Oct 2023 10:46:26 -0700 Subject: [PATCH 1/5] space --- .../example/app/ios/Runner/Messages.g.swift | 4 +- packages/pigeon/lib/swift_generator.dart | 4 +- .../ios/Classes/CoreTests.gen.swift | 104 +++++++++--------- .../macos/Classes/CoreTests.gen.swift | 104 +++++++++--------- 4 files changed, 108 insertions(+), 108 deletions(-) diff --git a/packages/pigeon/example/app/ios/Runner/Messages.g.swift b/packages/pigeon/example/app/ios/Runner/Messages.g.swift index ef38ee5849c..ae45905a758 100644 --- a/packages/pigeon/example/app/ios/Runner/Messages.g.swift +++ b/packages/pigeon/example/app/ios/Runner/Messages.g.swift @@ -175,14 +175,14 @@ class ExampleHostApiSetup { } /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol MessageFlutterApiProtocol { - func flutterMethod(aString aStringArg: String?, completion: @escaping (Result) -> Void) + func flutterMethod(aString aStringArg: String?, completion: @escaping (Result) -> Void) } class MessageFlutterApi: MessageFlutterApiProtocol { private let binaryMessenger: FlutterBinaryMessenger init(binaryMessenger: FlutterBinaryMessenger){ self.binaryMessenger = binaryMessenger } - func flutterMethod(aString aStringArg: String?, completion: @escaping (Result) -> Void) { + func flutterMethod(aString aStringArg: String?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_example_package.MessageFlutterApi.flutterMethod", binaryMessenger: binaryMessenger) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { diff --git a/packages/pigeon/lib/swift_generator.dart b/packages/pigeon/lib/swift_generator.dart index af96efd0205..762b318c067 100644 --- a/packages/pigeon/lib/swift_generator.dart +++ b/packages/pigeon/lib/swift_generator.dart @@ -882,7 +882,7 @@ String _getMethodSignature(Method func) { : _nullsafeSwiftTypeForDartType(func.returnType); if (func.arguments.isEmpty) { - return 'func ${func.name}(completion: @escaping (Result<$returnType, FlutterError>) -> Void) '; + return 'func ${func.name}(completion: @escaping (Result<$returnType, FlutterError>) -> Void)'; } else { final Iterable argTypes = func.arguments .map((NamedType e) => _nullsafeSwiftTypeForDartType(e.type)); @@ -895,7 +895,7 @@ String _getMethodSignature(Method func) { final String argsSignature = map3(argTypes, argLabels, argNames, (String type, String label, String name) => '$label $name: $type') .join(', '); - return 'func ${components.name}($argsSignature, completion: @escaping (Result<$returnType, FlutterError>) -> Void) '; + return 'func ${components.name}($argsSignature, completion: @escaping (Result<$returnType, FlutterError>) -> Void)'; } } diff --git a/packages/pigeon/platform_tests/test_plugin/ios/Classes/CoreTests.gen.swift b/packages/pigeon/platform_tests/test_plugin/ios/Classes/CoreTests.gen.swift index 8b83e3d1771..3beab718895 100644 --- a/packages/pigeon/platform_tests/test_plugin/ios/Classes/CoreTests.gen.swift +++ b/packages/pigeon/platform_tests/test_plugin/ios/Classes/CoreTests.gen.swift @@ -1743,56 +1743,56 @@ class FlutterIntegrationCoreApiCodec: FlutterStandardMessageCodec { protocol FlutterIntegrationCoreApiProtocol { /// A no-op function taking no arguments and returning no value, to sanity /// test basic calling. - func noop(completion: @escaping (Result) -> Void) + func noop(completion: @escaping (Result) -> Void) /// Responds with an error from an async function returning a value. - func throwError(completion: @escaping (Result) -> Void) + func throwError(completion: @escaping (Result) -> Void) /// Responds with an error from an async void function. - func throwErrorFromVoid(completion: @escaping (Result) -> Void) + func throwErrorFromVoid(completion: @escaping (Result) -> Void) /// Returns the passed object, to test serialization and deserialization. - func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) + func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) /// Returns the passed object, to test serialization and deserialization. - func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) + func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) /// Returns passed in arguments of multiple types. /// /// Tests multiple-arity FlutterApi handling. - func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) + func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) /// Returns the passed boolean, to test serialization and deserialization. - func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) + func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) /// Returns the passed int, to test serialization and deserialization. - func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) + func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) /// Returns the passed double, to test serialization and deserialization. - func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) + func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) /// Returns the passed string, to test serialization and deserialization. - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) /// Returns the passed byte list, to test serialization and deserialization. - func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) + func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) /// Returns the passed list, to test serialization and deserialization. - func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) + func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) /// Returns the passed map, to test serialization and deserialization. - func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) + func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) /// Returns the passed enum to test serialization and deserialization. - func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) + func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) /// Returns the passed boolean, to test serialization and deserialization. - func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) + func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) /// Returns the passed int, to test serialization and deserialization. - func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) + func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) /// Returns the passed double, to test serialization and deserialization. - func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) + func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) /// Returns the passed string, to test serialization and deserialization. - func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) + func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) /// Returns the passed byte list, to test serialization and deserialization. - func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) + func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) /// Returns the passed list, to test serialization and deserialization. - func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) + func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) /// Returns the passed map, to test serialization and deserialization. - func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) + func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) /// Returns the passed enum to test serialization and deserialization. - func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) + func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) /// A no-op function taking no arguments and returning no value, to sanity /// test basic asynchronous calling. - func noopAsync(completion: @escaping (Result) -> Void) + func noopAsync(completion: @escaping (Result) -> Void) /// Returns the passed in generic Object asynchronously. - func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) } class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { private let binaryMessenger: FlutterBinaryMessenger @@ -1804,14 +1804,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } /// A no-op function taking no arguments and returning no value, to sanity /// test basic calling. - func noop(completion: @escaping (Result) -> Void) { + func noop(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noop", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Responds with an error from an async function returning a value. - func throwError(completion: @escaping (Result) -> Void) { + func throwError(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwError", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { response in guard let listResponse = response as? [Any?] else { @@ -1830,14 +1830,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Responds with an error from an async void function. - func throwErrorFromVoid(completion: @escaping (Result) -> Void) { + func throwErrorFromVoid(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwErrorFromVoid", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Returns the passed object, to test serialization and deserialization. - func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) { + func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([everythingArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1858,7 +1858,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed object, to test serialization and deserialization. - func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) { + func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllNullableTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([everythingArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1879,7 +1879,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { /// Returns passed in arguments of multiple types. /// /// Tests multiple-arity FlutterApi handling. - func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) { + func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.sendMultipleNullableTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aNullableBoolArg, aNullableIntArg, aNullableStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1900,7 +1900,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed boolean, to test serialization and deserialization. - func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) { + func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoBool", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aBoolArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1921,7 +1921,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed int, to test serialization and deserialization. - func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) { + func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoInt", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anIntArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1942,7 +1942,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed double, to test serialization and deserialization. - func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) { + func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoDouble", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aDoubleArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1963,7 +1963,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed string, to test serialization and deserialization. - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1984,7 +1984,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed byte list, to test serialization and deserialization. - func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { + func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoUint8List", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2005,7 +2005,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed list, to test serialization and deserialization. - func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) { + func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2026,7 +2026,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed map, to test serialization and deserialization. - func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) { + func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoMap", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aMapArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2047,7 +2047,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed enum to test serialization and deserialization. - func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) { + func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnum", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anEnumArg.rawValue] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2068,7 +2068,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed boolean, to test serialization and deserialization. - func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableBool", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aBoolArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2087,7 +2087,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed int, to test serialization and deserialization. - func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) { + func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableInt", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anIntArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2106,7 +2106,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed double, to test serialization and deserialization. - func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableDouble", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aDoubleArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2125,7 +2125,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed string, to test serialization and deserialization. - func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2144,7 +2144,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed byte list, to test serialization and deserialization. - func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableUint8List", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2163,7 +2163,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed list, to test serialization and deserialization. - func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) { + func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2182,7 +2182,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed map, to test serialization and deserialization. - func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) { + func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableMap", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aMapArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2201,7 +2201,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed enum to test serialization and deserialization. - func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) { + func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnum", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anEnumArg?.rawValue] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2221,14 +2221,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } /// A no-op function taking no arguments and returning no value, to sanity /// test basic asynchronous calling. - func noopAsync(completion: @escaping (Result) -> Void) { + func noopAsync(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noopAsync", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Returns the passed in generic Object asynchronously. - func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAsyncString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2363,8 +2363,8 @@ class FlutterSmallApiCodec: FlutterStandardMessageCodec { /// /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol FlutterSmallApiProtocol { - func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) } class FlutterSmallApi: FlutterSmallApiProtocol { private let binaryMessenger: FlutterBinaryMessenger @@ -2374,7 +2374,7 @@ class FlutterSmallApi: FlutterSmallApiProtocol { var codec: FlutterStandardMessageCodec { return FlutterSmallApiCodec.shared } - func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) { + func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoWrappedList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([msgArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2394,7 +2394,7 @@ class FlutterSmallApi: FlutterSmallApiProtocol { } } } - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { diff --git a/packages/pigeon/platform_tests/test_plugin/macos/Classes/CoreTests.gen.swift b/packages/pigeon/platform_tests/test_plugin/macos/Classes/CoreTests.gen.swift index 8b83e3d1771..3beab718895 100644 --- a/packages/pigeon/platform_tests/test_plugin/macos/Classes/CoreTests.gen.swift +++ b/packages/pigeon/platform_tests/test_plugin/macos/Classes/CoreTests.gen.swift @@ -1743,56 +1743,56 @@ class FlutterIntegrationCoreApiCodec: FlutterStandardMessageCodec { protocol FlutterIntegrationCoreApiProtocol { /// A no-op function taking no arguments and returning no value, to sanity /// test basic calling. - func noop(completion: @escaping (Result) -> Void) + func noop(completion: @escaping (Result) -> Void) /// Responds with an error from an async function returning a value. - func throwError(completion: @escaping (Result) -> Void) + func throwError(completion: @escaping (Result) -> Void) /// Responds with an error from an async void function. - func throwErrorFromVoid(completion: @escaping (Result) -> Void) + func throwErrorFromVoid(completion: @escaping (Result) -> Void) /// Returns the passed object, to test serialization and deserialization. - func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) + func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) /// Returns the passed object, to test serialization and deserialization. - func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) + func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) /// Returns passed in arguments of multiple types. /// /// Tests multiple-arity FlutterApi handling. - func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) + func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) /// Returns the passed boolean, to test serialization and deserialization. - func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) + func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) /// Returns the passed int, to test serialization and deserialization. - func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) + func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) /// Returns the passed double, to test serialization and deserialization. - func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) + func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) /// Returns the passed string, to test serialization and deserialization. - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) /// Returns the passed byte list, to test serialization and deserialization. - func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) + func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) /// Returns the passed list, to test serialization and deserialization. - func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) + func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) /// Returns the passed map, to test serialization and deserialization. - func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) + func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) /// Returns the passed enum to test serialization and deserialization. - func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) + func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) /// Returns the passed boolean, to test serialization and deserialization. - func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) + func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) /// Returns the passed int, to test serialization and deserialization. - func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) + func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) /// Returns the passed double, to test serialization and deserialization. - func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) + func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) /// Returns the passed string, to test serialization and deserialization. - func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) + func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) /// Returns the passed byte list, to test serialization and deserialization. - func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) + func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) /// Returns the passed list, to test serialization and deserialization. - func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) + func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) /// Returns the passed map, to test serialization and deserialization. - func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) + func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) /// Returns the passed enum to test serialization and deserialization. - func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) + func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) /// A no-op function taking no arguments and returning no value, to sanity /// test basic asynchronous calling. - func noopAsync(completion: @escaping (Result) -> Void) + func noopAsync(completion: @escaping (Result) -> Void) /// Returns the passed in generic Object asynchronously. - func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) } class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { private let binaryMessenger: FlutterBinaryMessenger @@ -1804,14 +1804,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } /// A no-op function taking no arguments and returning no value, to sanity /// test basic calling. - func noop(completion: @escaping (Result) -> Void) { + func noop(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noop", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Responds with an error from an async function returning a value. - func throwError(completion: @escaping (Result) -> Void) { + func throwError(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwError", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { response in guard let listResponse = response as? [Any?] else { @@ -1830,14 +1830,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Responds with an error from an async void function. - func throwErrorFromVoid(completion: @escaping (Result) -> Void) { + func throwErrorFromVoid(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwErrorFromVoid", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Returns the passed object, to test serialization and deserialization. - func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) { + func echo(_ everythingArg: AllTypes, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([everythingArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1858,7 +1858,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed object, to test serialization and deserialization. - func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) { + func echoNullable(_ everythingArg: AllNullableTypes?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAllNullableTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([everythingArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1879,7 +1879,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { /// Returns passed in arguments of multiple types. /// /// Tests multiple-arity FlutterApi handling. - func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) { + func sendMultipleNullableTypes(aBool aNullableBoolArg: Bool?, anInt aNullableIntArg: Int64?, aString aNullableStringArg: String?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.sendMultipleNullableTypes", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aNullableBoolArg, aNullableIntArg, aNullableStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1900,7 +1900,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed boolean, to test serialization and deserialization. - func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) { + func echo(_ aBoolArg: Bool, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoBool", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aBoolArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1921,7 +1921,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed int, to test serialization and deserialization. - func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) { + func echo(_ anIntArg: Int64, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoInt", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anIntArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1942,7 +1942,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed double, to test serialization and deserialization. - func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) { + func echo(_ aDoubleArg: Double, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoDouble", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aDoubleArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1963,7 +1963,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed string, to test serialization and deserialization. - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -1984,7 +1984,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed byte list, to test serialization and deserialization. - func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { + func echo(_ aListArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoUint8List", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2005,7 +2005,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed list, to test serialization and deserialization. - func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) { + func echo(_ aListArg: [Any?], completion: @escaping (Result<[Any?], FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2026,7 +2026,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed map, to test serialization and deserialization. - func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) { + func echo(_ aMapArg: [String?: Any?], completion: @escaping (Result<[String?: Any?], FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoMap", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aMapArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2047,7 +2047,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed enum to test serialization and deserialization. - func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) { + func echo(_ anEnumArg: AnEnum, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnum", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anEnumArg.rawValue] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2068,7 +2068,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed boolean, to test serialization and deserialization. - func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aBoolArg: Bool?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableBool", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aBoolArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2087,7 +2087,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed int, to test serialization and deserialization. - func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) { + func echoNullable(_ anIntArg: Int64?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableInt", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anIntArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2106,7 +2106,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed double, to test serialization and deserialization. - func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aDoubleArg: Double?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableDouble", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aDoubleArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2125,7 +2125,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed string, to test serialization and deserialization. - func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aStringArg: String?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2144,7 +2144,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed byte list, to test serialization and deserialization. - func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) { + func echoNullable(_ aListArg: FlutterStandardTypedData?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableUint8List", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2163,7 +2163,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed list, to test serialization and deserialization. - func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) { + func echoNullable(_ aListArg: [Any?]?, completion: @escaping (Result<[Any?]?, FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aListArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2182,7 +2182,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed map, to test serialization and deserialization. - func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) { + func echoNullable(_ aMapArg: [String?: Any?]?, completion: @escaping (Result<[String?: Any?]?, FlutterError>) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableMap", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aMapArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2201,7 +2201,7 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } } /// Returns the passed enum to test serialization and deserialization. - func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) { + func echoNullable(_ anEnumArg: AnEnum?, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnum", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([anEnumArg?.rawValue] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2221,14 +2221,14 @@ class FlutterIntegrationCoreApi: FlutterIntegrationCoreApiProtocol { } /// A no-op function taking no arguments and returning no value, to sanity /// test basic asynchronous calling. - func noopAsync(completion: @escaping (Result) -> Void) { + func noopAsync(completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noopAsync", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage(nil) { _ in completion(.success(Void())) } } /// Returns the passed in generic Object asynchronously. - func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echoAsync(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoAsyncString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2363,8 +2363,8 @@ class FlutterSmallApiCodec: FlutterStandardMessageCodec { /// /// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. protocol FlutterSmallApiProtocol { - func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) + func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) } class FlutterSmallApi: FlutterSmallApiProtocol { private let binaryMessenger: FlutterBinaryMessenger @@ -2374,7 +2374,7 @@ class FlutterSmallApi: FlutterSmallApiProtocol { var codec: FlutterStandardMessageCodec { return FlutterSmallApiCodec.shared } - func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) { + func echo(_ msgArg: TestMessage, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoWrappedList", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([msgArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { @@ -2394,7 +2394,7 @@ class FlutterSmallApi: FlutterSmallApiProtocol { } } } - func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { + func echo(_ aStringArg: String, completion: @escaping (Result) -> Void) { let channel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.pigeon_integration_tests.FlutterSmallApi.echoString", binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([aStringArg] as [Any?]) { response in guard let listResponse = response as? [Any?] else { From 3645bcc741ee4ea2c2ca01f1045ff4b0fe719dd1 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Tue, 2 Jan 2024 16:09:24 -0800 Subject: [PATCH 2/5] fix java void return type --- packages/pigeon/lib/java_generator.dart | 12 +++++-- .../AlternateLanguageTestPlugin.java | 8 ++--- .../CoreTests.java | 36 +++++++++---------- .../AsyncTest.java | 4 +-- packages/pigeon/test/java_generator_test.dart | 4 +-- 5 files changed, 35 insertions(+), 29 deletions(-) diff --git a/packages/pigeon/lib/java_generator.dart b/packages/pigeon/lib/java_generator.dart index 55866c7d59d..27c5a258187 100644 --- a/packages/pigeon/lib/java_generator.dart +++ b/packages/pigeon/lib/java_generator.dart @@ -449,7 +449,9 @@ class JavaGenerator extends StructuredGenerator { for (final Method func in api.methods) { final String resultType = - func.returnType.isNullable ? 'NullableResult' : 'Result'; + func.returnType.isNullable || func.returnType.isVoid + ? 'NullableResult' + : 'Result'; final String returnType = func.returnType.isVoid ? 'Void' : _javaTypeForDartType(func.returnType); @@ -634,7 +636,9 @@ class JavaGenerator extends StructuredGenerator { void _writeInterfaceMethod(JavaOptions generatorOptions, Root root, Indent indent, Api api, final Method method) { final String resultType = - method.returnType.isNullable ? 'NullableResult' : 'Result'; + method.returnType.isNullable || method.returnType.isVoid + ? 'NullableResult' + : 'Result'; final String nullableType = method.isAsynchronous ? '' : _nullabilityAnnotationFromType(method.returnType); @@ -749,7 +753,9 @@ class JavaGenerator extends StructuredGenerator { : '.index'; } final String resultType = - method.returnType.isNullable ? 'NullableResult' : 'Result'; + method.returnType.isNullable || method.returnType.isVoid + ? 'NullableResult' + : 'Result'; const String resultName = 'resultCallback'; indent.format(''' $resultType<$returnType> $resultName = diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java index 21037c5e99c..cc9ffe0ff14 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java @@ -208,7 +208,7 @@ public void throwErrorFromVoid() { } @Override - public void noopAsync(@NonNull Result result) { + public void noopAsync(@NonNull NullableResult result) { result.success(null); } @@ -218,7 +218,7 @@ public void throwAsyncError(@NonNull NullableResult result) { } @Override - public void throwAsyncErrorFromVoid(@NonNull Result result) { + public void throwAsyncErrorFromVoid(@NonNull NullableResult result) { result.error(new RuntimeException("An error")); } @@ -338,7 +338,7 @@ public void echoAsyncNullableEnum( } @Override - public void callFlutterNoop(@NonNull Result result) { + public void callFlutterNoop(@NonNull NullableResult result) { flutterApi.noop(result); } @@ -348,7 +348,7 @@ public void callFlutterThrowError(@NonNull NullableResult result) { } @Override - public void callFlutterThrowErrorFromVoid(@NonNull Result result) { + public void callFlutterThrowErrorFromVoid(@NonNull NullableResult result) { flutterApi.throwErrorFromVoid(result); } diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java index b6a72835e4a..fae6d3d289b 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java @@ -1139,7 +1139,7 @@ AllNullableTypes sendMultipleNullableTypes( * A no-op function taking no arguments and returning no value, to sanity test basic * asynchronous calling. */ - void noopAsync(@NonNull Result result); + void noopAsync(@NonNull NullableResult result); /** Returns passed in int asynchronously. */ void echoAsyncInt(@NonNull Long anInt, @NonNull Result result); /** Returns passed in double asynchronously. */ @@ -1162,7 +1162,7 @@ void echoAsyncMap( /** Responds with an error from an async function returning a value. */ void throwAsyncError(@NonNull NullableResult result); /** Responds with an error from an async void function. */ - void throwAsyncErrorFromVoid(@NonNull Result result); + void throwAsyncErrorFromVoid(@NonNull NullableResult result); /** Responds with a Flutter error from an async function returning a value. */ void throwAsyncFlutterError(@NonNull NullableResult result); /** Returns the passed object, to test async serialization and deserialization. */ @@ -1192,11 +1192,11 @@ void echoAsyncNullableMap( /** Returns the passed enum, to test asynchronous serialization and deserialization. */ void echoAsyncNullableEnum(@Nullable AnEnum anEnum, @NonNull NullableResult result); - void callFlutterNoop(@NonNull Result result); + void callFlutterNoop(@NonNull NullableResult result); void callFlutterThrowError(@NonNull NullableResult result); - void callFlutterThrowErrorFromVoid(@NonNull Result result); + void callFlutterThrowErrorFromVoid(@NonNull NullableResult result); void callFlutterEchoAllTypes(@NonNull AllTypes everything, @NonNull Result result); @@ -2097,8 +2097,8 @@ static void setUp( channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - Result resultCallback = - new Result() { + NullableResult resultCallback = + new NullableResult() { public void success(Void result) { wrapped.add(0, null); reply.reply(wrapped); @@ -2434,8 +2434,8 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - Result resultCallback = - new Result() { + NullableResult resultCallback = + new NullableResult() { public void success(Void result) { wrapped.add(0, null); reply.reply(wrapped); @@ -2834,8 +2834,8 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - Result resultCallback = - new Result() { + NullableResult resultCallback = + new NullableResult() { public void success(Void result) { wrapped.add(0, null); reply.reply(wrapped); @@ -2892,8 +2892,8 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - Result resultCallback = - new Result() { + NullableResult resultCallback = + new NullableResult() { public void success(Void result) { wrapped.add(0, null); reply.reply(wrapped); @@ -3574,7 +3574,7 @@ public FlutterIntegrationCoreApi(@NonNull BinaryMessenger argBinaryMessenger) { /** * A no-op function taking no arguments and returning no value, to sanity test basic calling. */ - public void noop(@NonNull Result result) { + public void noop(@NonNull NullableResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noop"; BasicMessageChannel channel = @@ -3626,7 +3626,7 @@ public void throwError(@NonNull NullableResult result) { }); } /** Responds with an error from an async void function. */ - public void throwErrorFromVoid(@NonNull Result result) { + public void throwErrorFromVoid(@NonNull NullableResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwErrorFromVoid"; BasicMessageChannel channel = @@ -4251,7 +4251,7 @@ public void echoNullableEnum( * A no-op function taking no arguments and returning no value, to sanity test basic * asynchronous calling. */ - public void noopAsync(@NonNull Result result) { + public void noopAsync(@NonNull NullableResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noopAsync"; BasicMessageChannel channel = @@ -4358,7 +4358,7 @@ public interface HostSmallApi { void echo(@NonNull String aString, @NonNull Result result); - void voidVoid(@NonNull Result result); + void voidVoid(@NonNull NullableResult result); /** The codec used by HostSmallApi. */ static @NonNull MessageCodec getCodec() { @@ -4407,8 +4407,8 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - Result resultCallback = - new Result() { + NullableResult resultCallback = + new NullableResult() { public void success(Void result) { wrapped.add(0, null); reply.reply(wrapped); diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java index 3eefea01e9d..819b2b37487 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java @@ -24,7 +24,7 @@ public void echo(@NonNull String value, Result result) { } @Override - public void voidVoid(Result result) { + public void voidVoid(NullableResult result) { result.success(null); } } @@ -36,7 +36,7 @@ public void echo(@NonNull String value, Result result) { } @Override - public void voidVoid(Result result) { + public void voidVoid(NullableResult result) { result.error(new Exception("error")); } } diff --git a/packages/pigeon/test/java_generator_test.dart b/packages/pigeon/test/java_generator_test.dart index 1cae5f664a5..3754d3f2b04 100644 --- a/packages/pigeon/test/java_generator_test.dart +++ b/packages/pigeon/test/java_generator_test.dart @@ -397,7 +397,7 @@ void main() { expect( code, contains( - 'public void doSomething(@NonNull Input arg0Arg, @NonNull Result result)')); + 'public void doSomething(@NonNull Input arg0Arg, @NonNull NullableResult result)')); expect(code, contains('result.success(null);')); }); @@ -1307,7 +1307,7 @@ void main() { expect( code, contains( - 'public void doit(@Nullable Long fooArg, @NonNull Result result) {')); + 'public void doit(@Nullable Long fooArg, @NonNull NullableResult result) {')); }); test('background platform channel', () { From 87147c25b616215b9f0421d017118f51cefa3ebe Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Tue, 2 Jan 2024 16:12:52 -0800 Subject: [PATCH 3/5] changelog --- packages/pigeon/CHANGELOG.md | 4 ++++ packages/pigeon/lib/generator_tools.dart | 2 +- packages/pigeon/pubspec.yaml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index 54a50c319ef..932f2fca60d 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,3 +1,7 @@ +## 15.0.3 + +* [java] Fixes `Void` result type bug. + ## 15.0.2 * Prevents optional and non-positional parameters in Flutter APIs. diff --git a/packages/pigeon/lib/generator_tools.dart b/packages/pigeon/lib/generator_tools.dart index a510b55bd74..fcf255bb8bf 100644 --- a/packages/pigeon/lib/generator_tools.dart +++ b/packages/pigeon/lib/generator_tools.dart @@ -13,7 +13,7 @@ import 'ast.dart'; /// The current version of pigeon. /// /// This must match the version in pubspec.yaml. -const String pigeonVersion = '15.0.2'; +const String pigeonVersion = '15.0.3'; /// Read all the content from [stdin] to a String. String readStdin() { diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index 67f7fa73e69..09b82181453 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: 15.0.2 # This must match the version in lib/generator_tools.dart +version: 15.0.3 # This must match the version in lib/generator_tools.dart environment: sdk: ">=3.0.0 <4.0.0" From 59010883425736479c1891e496dd889ca0351f15 Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Wed, 3 Jan 2024 21:10:28 -0800 Subject: [PATCH 4/5] VoidResult --- packages/pigeon/CHANGELOG.md | 6 +- packages/pigeon/lib/generator_tools.dart | 2 +- packages/pigeon/lib/java_generator.dart | 64 ++++++++++++------- .../AlternateLanguageTestPlugin.java | 11 ++-- .../CoreTests.java | 60 +++++++++-------- .../AsyncTest.java | 6 +- packages/pigeon/pubspec.yaml | 2 +- packages/pigeon/test/java_generator_test.dart | 6 +- 8 files changed, 92 insertions(+), 65 deletions(-) diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md index 932f2fca60d..dd717d8d9f0 100644 --- a/packages/pigeon/CHANGELOG.md +++ b/packages/pigeon/CHANGELOG.md @@ -1,6 +1,8 @@ -## 15.0.3 +## 16.0.0 + +* [java] Adds `VoidResult` type for `Void` returns. +* **Breaking Change** [java] Updates all `Void` return types to use new `VoidResult`. -* [java] Fixes `Void` result type bug. ## 15.0.2 diff --git a/packages/pigeon/lib/generator_tools.dart b/packages/pigeon/lib/generator_tools.dart index fcf255bb8bf..ba32f720a2a 100644 --- a/packages/pigeon/lib/generator_tools.dart +++ b/packages/pigeon/lib/generator_tools.dart @@ -13,7 +13,7 @@ import 'ast.dart'; /// The current version of pigeon. /// /// This must match the version in pubspec.yaml. -const String pigeonVersion = '15.0.3'; +const String pigeonVersion = '16.0.0'; /// Read all the content from [stdin] to a String. String readStdin() { diff --git a/packages/pigeon/lib/java_generator.dart b/packages/pigeon/lib/java_generator.dart index 27c5a258187..43b42c40e90 100644 --- a/packages/pigeon/lib/java_generator.dart +++ b/packages/pigeon/lib/java_generator.dart @@ -448,10 +448,7 @@ class JavaGenerator extends StructuredGenerator { }); for (final Method func in api.methods) { - final String resultType = - func.returnType.isNullable || func.returnType.isVoid - ? 'NullableResult' - : 'Result'; + final String resultType = _getResultType(func.returnType); final String returnType = func.returnType.isVoid ? 'Void' : _javaTypeForDartType(func.returnType); @@ -459,8 +456,8 @@ class JavaGenerator extends StructuredGenerator { addDocumentationComments( indent, func.documentationComments, _docCommentSpec); if (func.parameters.isEmpty) { - indent.write( - 'public void ${func.name}(@NonNull $resultType<$returnType> result) '); + indent + .write('public void ${func.name}(@NonNull $resultType result) '); sendArgument = 'null'; } else { final Iterable argTypes = func.parameters @@ -480,7 +477,7 @@ class JavaGenerator extends StructuredGenerator { map2(argTypes, argNames, (String x, String y) => '$x $y') .join(', '); indent.write( - 'public void ${func.name}($argsSignature, @NonNull $resultType<$returnType> result) '); + 'public void ${func.name}($argsSignature, @NonNull $resultType result) '); } indent.addScoped('{', '}', () { const String channel = 'channel'; @@ -515,7 +512,7 @@ class JavaGenerator extends StructuredGenerator { } indent.addScoped('else {', '}', () { if (func.returnType.isVoid) { - indent.writeln('result.success(null);'); + indent.writeln('result.success();'); } else { const String output = 'output'; final String outputExpression; @@ -635,10 +632,7 @@ class JavaGenerator extends StructuredGenerator { /// int add(int x, int y); void _writeInterfaceMethod(JavaOptions generatorOptions, Root root, Indent indent, Api api, final Method method) { - final String resultType = - method.returnType.isNullable || method.returnType.isVoid - ? 'NullableResult' - : 'Result'; + final String resultType = _getResultType(method.returnType); final String nullableType = method.isAsynchronous ? '' : _nullabilityAnnotationFromType(method.returnType); @@ -657,10 +651,7 @@ class JavaGenerator extends StructuredGenerator { })); } if (method.isAsynchronous) { - final String returnType = method.returnType.isVoid - ? 'Void' - : _javaTypeForDartType(method.returnType); - argSignature.add('@NonNull $resultType<$returnType> result'); + argSignature.add('@NonNull $resultType result'); } if (method.documentationComments.isNotEmpty) { addDocumentationComments( @@ -752,16 +743,17 @@ class JavaGenerator extends StructuredGenerator { ? ' == null ? null : $resultValue.index' : '.index'; } - final String resultType = - method.returnType.isNullable || method.returnType.isVoid - ? 'NullableResult' - : 'Result'; + final String resultType = _getResultType(method.returnType); + final String resultParam = + method.returnType.isVoid ? '' : '$returnType result'; + final String addResultArg = + method.returnType.isVoid ? 'null' : '$resultValue$enumTag'; const String resultName = 'resultCallback'; indent.format(''' -$resultType<$returnType> $resultName = -\t\tnew $resultType<$returnType>() { -\t\t\tpublic void success($returnType result) { -\t\t\t\twrapped.add(0, $resultValue$enumTag); +$resultType $resultName = +\t\tnew $resultType() { +\t\t\tpublic void success($resultParam) { +\t\t\t\twrapped.add(0, $addResultArg); \t\t\t\treply.reply(wrapped); \t\t\t} @@ -901,6 +893,19 @@ $resultType<$returnType> $resultName = .writeln('/** Failure case callback method for handling errors. */'); indent.writeln('void error(@NonNull Throwable error);'); }); + + indent.writeln( + '/** Asynchronous error handling return type for void API method returns. */'); + indent.write('public interface VoidResult '); + indent.addScoped('{', '}', () { + indent + .writeln('/** Success case callback method for handling returns. */'); + indent.writeln('void success();'); + indent.newln(); + indent + .writeln('/** Failure case callback method for handling errors. */'); + indent.writeln('void error(@NonNull Throwable error);'); + }); } void _writeErrorClass(Indent indent) { @@ -1108,3 +1113,14 @@ String _castObject(NamedType field, String varName) { return _cast(varName, javaType: hostDatatype.datatype); } } + +/// Returns string of Result class type for method based on [TypeDeclaration]. +String _getResultType(TypeDeclaration type) { + if (type.isVoid) { + return 'VoidResult'; + } + if (type.isNullable) { + return 'NullableResult<${_javaTypeForDartType(type)}>'; + } + return 'Result<${_javaTypeForDartType(type)}>'; +} diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java index cc9ffe0ff14..a99aa2ef913 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/AlternateLanguageTestPlugin.java @@ -14,6 +14,7 @@ import com.example.alternate_language_test_plugin.CoreTests.HostIntegrationCoreApi; import com.example.alternate_language_test_plugin.CoreTests.NullableResult; import com.example.alternate_language_test_plugin.CoreTests.Result; +import com.example.alternate_language_test_plugin.CoreTests.VoidResult; import io.flutter.embedding.engine.plugins.FlutterPlugin; import java.util.List; import java.util.Map; @@ -208,8 +209,8 @@ public void throwErrorFromVoid() { } @Override - public void noopAsync(@NonNull NullableResult result) { - result.success(null); + public void noopAsync(@NonNull VoidResult result) { + result.success(); } @Override @@ -218,7 +219,7 @@ public void throwAsyncError(@NonNull NullableResult result) { } @Override - public void throwAsyncErrorFromVoid(@NonNull NullableResult result) { + public void throwAsyncErrorFromVoid(@NonNull VoidResult result) { result.error(new RuntimeException("An error")); } @@ -338,7 +339,7 @@ public void echoAsyncNullableEnum( } @Override - public void callFlutterNoop(@NonNull NullableResult result) { + public void callFlutterNoop(@NonNull VoidResult result) { flutterApi.noop(result); } @@ -348,7 +349,7 @@ public void callFlutterThrowError(@NonNull NullableResult result) { } @Override - public void callFlutterThrowErrorFromVoid(@NonNull NullableResult result) { + public void callFlutterThrowErrorFromVoid(@NonNull VoidResult result) { flutterApi.throwErrorFromVoid(result); } diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java index fae6d3d289b..8585b13315a 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/main/java/com/example/alternate_language_test_plugin/CoreTests.java @@ -980,6 +980,14 @@ public interface NullableResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for void API method returns. */ + public interface VoidResult { + /** Success case callback method for handling returns. */ + void success(); + + /** Failure case callback method for handling errors. */ + void error(@NonNull Throwable error); + } private static class HostIntegrationCoreApiCodec extends StandardMessageCodec { public static final HostIntegrationCoreApiCodec INSTANCE = new HostIntegrationCoreApiCodec(); @@ -1139,7 +1147,7 @@ AllNullableTypes sendMultipleNullableTypes( * A no-op function taking no arguments and returning no value, to sanity test basic * asynchronous calling. */ - void noopAsync(@NonNull NullableResult result); + void noopAsync(@NonNull VoidResult result); /** Returns passed in int asynchronously. */ void echoAsyncInt(@NonNull Long anInt, @NonNull Result result); /** Returns passed in double asynchronously. */ @@ -1162,7 +1170,7 @@ void echoAsyncMap( /** Responds with an error from an async function returning a value. */ void throwAsyncError(@NonNull NullableResult result); /** Responds with an error from an async void function. */ - void throwAsyncErrorFromVoid(@NonNull NullableResult result); + void throwAsyncErrorFromVoid(@NonNull VoidResult result); /** Responds with a Flutter error from an async function returning a value. */ void throwAsyncFlutterError(@NonNull NullableResult result); /** Returns the passed object, to test async serialization and deserialization. */ @@ -1192,11 +1200,11 @@ void echoAsyncNullableMap( /** Returns the passed enum, to test asynchronous serialization and deserialization. */ void echoAsyncNullableEnum(@Nullable AnEnum anEnum, @NonNull NullableResult result); - void callFlutterNoop(@NonNull NullableResult result); + void callFlutterNoop(@NonNull VoidResult result); void callFlutterThrowError(@NonNull NullableResult result); - void callFlutterThrowErrorFromVoid(@NonNull NullableResult result); + void callFlutterThrowErrorFromVoid(@NonNull VoidResult result); void callFlutterEchoAllTypes(@NonNull AllTypes everything, @NonNull Result result); @@ -2097,9 +2105,9 @@ static void setUp( channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - NullableResult resultCallback = - new NullableResult() { - public void success(Void result) { + VoidResult resultCallback = + new VoidResult() { + public void success() { wrapped.add(0, null); reply.reply(wrapped); } @@ -2434,9 +2442,9 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - NullableResult resultCallback = - new NullableResult() { - public void success(Void result) { + VoidResult resultCallback = + new VoidResult() { + public void success() { wrapped.add(0, null); reply.reply(wrapped); } @@ -2834,9 +2842,9 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - NullableResult resultCallback = - new NullableResult() { - public void success(Void result) { + VoidResult resultCallback = + new VoidResult() { + public void success() { wrapped.add(0, null); reply.reply(wrapped); } @@ -2892,9 +2900,9 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - NullableResult resultCallback = - new NullableResult() { - public void success(Void result) { + VoidResult resultCallback = + new VoidResult() { + public void success() { wrapped.add(0, null); reply.reply(wrapped); } @@ -3574,7 +3582,7 @@ public FlutterIntegrationCoreApi(@NonNull BinaryMessenger argBinaryMessenger) { /** * A no-op function taking no arguments and returning no value, to sanity test basic calling. */ - public void noop(@NonNull NullableResult result) { + public void noop(@NonNull VoidResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noop"; BasicMessageChannel channel = @@ -3591,7 +3599,7 @@ public void noop(@NonNull NullableResult result) { (String) listReply.get(1), (String) listReply.get(2))); } else { - result.success(null); + result.success(); } } else { result.error(createConnectionError(channelName)); @@ -3626,7 +3634,7 @@ public void throwError(@NonNull NullableResult result) { }); } /** Responds with an error from an async void function. */ - public void throwErrorFromVoid(@NonNull NullableResult result) { + public void throwErrorFromVoid(@NonNull VoidResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.throwErrorFromVoid"; BasicMessageChannel channel = @@ -3643,7 +3651,7 @@ public void throwErrorFromVoid(@NonNull NullableResult result) { (String) listReply.get(1), (String) listReply.get(2))); } else { - result.success(null); + result.success(); } } else { result.error(createConnectionError(channelName)); @@ -4251,7 +4259,7 @@ public void echoNullableEnum( * A no-op function taking no arguments and returning no value, to sanity test basic * asynchronous calling. */ - public void noopAsync(@NonNull NullableResult result) { + public void noopAsync(@NonNull VoidResult result) { final String channelName = "dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.noopAsync"; BasicMessageChannel channel = @@ -4268,7 +4276,7 @@ public void noopAsync(@NonNull NullableResult result) { (String) listReply.get(1), (String) listReply.get(2))); } else { - result.success(null); + result.success(); } } else { result.error(createConnectionError(channelName)); @@ -4358,7 +4366,7 @@ public interface HostSmallApi { void echo(@NonNull String aString, @NonNull Result result); - void voidVoid(@NonNull NullableResult result); + void voidVoid(@NonNull VoidResult result); /** The codec used by HostSmallApi. */ static @NonNull MessageCodec getCodec() { @@ -4407,9 +4415,9 @@ public void error(Throwable error) { channel.setMessageHandler( (message, reply) -> { ArrayList wrapped = new ArrayList(); - NullableResult resultCallback = - new NullableResult() { - public void success(Void result) { + VoidResult resultCallback = + new VoidResult() { + public void success() { wrapped.add(0, null); reply.reply(wrapped); } diff --git a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java index 819b2b37487..188c1d49aad 100644 --- a/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java +++ b/packages/pigeon/platform_tests/alternate_language_test_plugin/android/src/test/java/com/example/alternate_language_test_plugin/AsyncTest.java @@ -24,8 +24,8 @@ public void echo(@NonNull String value, Result result) { } @Override - public void voidVoid(NullableResult result) { - result.success(null); + public void voidVoid(VoidResult result) { + result.success(); } } @@ -36,7 +36,7 @@ public void echo(@NonNull String value, Result result) { } @Override - public void voidVoid(NullableResult result) { + public void voidVoid(VoidResult result) { result.error(new Exception("error")); } } diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml index 09b82181453..c820df9256f 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: 15.0.3 # This must match the version in lib/generator_tools.dart +version: 16.0.0 # This must match the version in lib/generator_tools.dart environment: sdk: ">=3.0.0 <4.0.0" diff --git a/packages/pigeon/test/java_generator_test.dart b/packages/pigeon/test/java_generator_test.dart index 3754d3f2b04..cba2d702255 100644 --- a/packages/pigeon/test/java_generator_test.dart +++ b/packages/pigeon/test/java_generator_test.dart @@ -397,8 +397,8 @@ void main() { expect( code, contains( - 'public void doSomething(@NonNull Input arg0Arg, @NonNull NullableResult result)')); - expect(code, contains('result.success(null);')); + 'public void doSomething(@NonNull Input arg0Arg, @NonNull VoidResult result)')); + expect(code, contains('result.success();')); }); test('gen host void argument api', () { @@ -1307,7 +1307,7 @@ void main() { expect( code, contains( - 'public void doit(@Nullable Long fooArg, @NonNull NullableResult result) {')); + 'public void doit(@Nullable Long fooArg, @NonNull VoidResult result) {')); }); test('background platform channel', () { From ad3bd09a74f524145bed489b3dcbd821c3c8d3eb Mon Sep 17 00:00:00 2001 From: tarrinneal Date: Wed, 3 Jan 2024 21:27:26 -0800 Subject: [PATCH 5/5] gen --- .../app/src/main/java/io/flutter/plugins/Messages.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/pigeon/example/app/android/app/src/main/java/io/flutter/plugins/Messages.java b/packages/pigeon/example/app/android/app/src/main/java/io/flutter/plugins/Messages.java index 5d1b693b823..1167e53d5fb 100644 --- a/packages/pigeon/example/app/android/app/src/main/java/io/flutter/plugins/Messages.java +++ b/packages/pigeon/example/app/android/app/src/main/java/io/flutter/plugins/Messages.java @@ -216,6 +216,14 @@ public interface NullableResult { /** Failure case callback method for handling errors. */ void error(@NonNull Throwable error); } + /** Asynchronous error handling return type for void API method returns. */ + public interface VoidResult { + /** Success case callback method for handling returns. */ + void success(); + + /** Failure case callback method for handling errors. */ + void error(@NonNull Throwable error); + } private static class ExampleHostApiCodec extends StandardMessageCodec { public static final ExampleHostApiCodec INSTANCE = new ExampleHostApiCodec();